{"version":3,"sources":["app/src/sonovate.models.ts","app/src/PageStateQueryBuilder.ts","app/src/core/BaseController.ts","app/src/Timesheets/viewDirectives/snTimesheetWorkBaseController.ts","app/src/ChangeEmail/ChangeEmailBaseController.ts","app/src/core/components/BaseListingItemController.ts","app/src/core/BaseListController.ts","app/src/core/FilterStatusDropdownBaseClass.ts","app/src/core/OrganisationSearchBaseClass.ts","app/src/core/events/BaseSearchEvents.ts","app/src/Timesheets/viewDirectives/snTimesheetListItemViewDirective/TimesheetItemBaseClass.ts","app/src/core/FormBaseClass.ts","app/src/core/CoreModule.ts","app/src/resetPassword/PasswordResetModule.ts","app/src/PersonListing/people.module.ts","app/src/ChangePassword/ChangePasswordModule.ts","app/src/oauth/OAuthModule.ts","app/src/signin/SignInModule.ts","app/src/signup/SignUpModule.ts","app/src/messages/MessagesModule.ts","app/src/errorRedirects/errorRedirectsModule.ts","app/src/Timesheets/TimesheetsModule.ts","app/src/Invoice/InvoiceModule.ts","app/src/Invoices/InvoicesModule.ts","app/src/PersonSettings/PersonSettingsModule.ts","app/src/ChangeEmail/ChangeEmailModule.ts","app/src/ApplicationModule.ts","app/src/core/states/BaseActivityStreamState.ts","app/src/core/states/BaseTermsState.ts","app/src/core/states/BaseSearchState.ts","app/src/core/utils/SearchQuery.ts","app/src/core/utils/SearchUtils.ts","app/src/core/utils/PermissionsUtils.ts","app/src/core/utils/RolesUtils.ts","app/src/core/utils/ArrayFunctions.ts","app/src/core/utils/FormValidationFunctions.ts","app/src/core/utils/DateService.ts","app/src/core/utils/FeatureToggle.ts","app/src/core/utils/StateCacheService.ts","app/src/core/utils/TimesheetLoggingHelperFunctions.ts","app/src/core/services/SignedInUserStore.ts","app/src/core/states/TimesheetWorkBaseState.ts","app/src/core/states/FormBaseState.ts","app/src/core/states/StatusStateBaseClass.ts","app/src/core/states/ChangeRiskAssessmentStatusState.ts","app/src/core/states/DropdownKeyboardNavState.ts","app/src/core/events/DropdownKeyboardNavEvents.ts","app/src/core/events/MessageBarEvents.ts","app/src/core/states/MessageBarState.ts","app/src/core/states/ProposalSearchState.ts","app/src/core/transformers/ProposalSearchResultTransformers.ts","app/src/core/transformers/ReferenceDataTransformers.ts","app/src/core/transformers/AccountStatusTransformers.ts","app/src/core/services/StateChangeService.ts","app/src/core/states/referenceDataState/ProposalStatusState.ts","app/src/core/events/AgreementStatusEvents.ts","app/src/core/transformers/AgreementStatusTransformers.ts","app/src/core/transformers/AssessmentTransformers.ts","app/src/core/transformers/BankAccountTransformers.ts","app/src/core/transformers/ActivityStreamTransformers.ts","app/src/core/transformers/NoteTransformers.ts","app/src/core/transformers/DocumentTransformers.ts","app/src/core/transformers/InvoicesTransformers.ts","app/src/core/transformers/KpiTransformers.ts","app/src/core/transformers/NotificationTransformers.ts","app/src/core/transformers/OnboardingDocumentTransformers.ts","app/src/core/transformers/OrganisationTransformers.ts","app/src/core/transformers/PaymentsTransformers.ts","app/src/core/transformers/PeopleTransformers.ts","app/src/core/transformers/PhoneNumberTransformers.ts","app/src/core/transformers/ProposalTransformers.ts","app/src/core/transformers/AddressTransformers.ts","app/src/core/transformers/TariffTransformers.ts","app/src/core/transformers/TaxProfileTransformers.ts","app/src/core/transformers/TermsTransformers.ts","app/src/core/transformers/TimesheetSearchResultTransformers.ts","app/src/core/transformers/TimesheetTransformers.ts","app/src/core/transformers/ErrorsTransformers.ts","app/src/core/utils/StatusUtils.ts","app/src/core/utils/ErrorUtils.ts","app/src/core/utils/SessionHelpers.ts","app/src/core/utils/CookieHelpers.ts","app/src/core/configuration/ProposalStatusStyles.ts","app/src/core/configuration/localisation/Labels.ts","app/src/core/configuration/referenceData/Countries.ts","app/src/core/configuration/referenceData/TimeZones.ts","app/src/core/configuration/RiskStatusStyles.ts","app/src/core/events/ActivityStreamEvents.ts","app/src/core/states/ActivityStreamState.ts","app/src/core/states/RiskStatusState.ts","app/src/core/states/EditTermsFormStateUpdate.ts","app/src/core/states/EditTermsFormState.ts","app/src/core/events/EditTermsFormEvents.ts","app/src/core/states/DeepLinkState.ts","app/src/core/transformers/SigninTransformers.ts","app/src/core/states/SignInState.ts","app/src/core/events/SignInEvents.ts","app/src/core/events/OAuthEvents.ts","app/src/core/events/DeepLinkEvents.ts","app/src/core/utils/OAuthPopupService.ts","app/src/core/transformers/SignupTransformers.ts","app/src/core/events/SignupEvents.ts","app/src/core/states/SignupState.ts","app/src/core/states/PasswordStrengthState.ts","app/src/core/transformers/PasswordResetTransformers.ts","app/src/core/states/PasswordResetState.ts","app/src/core/events/PasswordResetEvents.ts","app/src/core/events/RiskEvents.ts","app/src/core/transformers/RiskTransformers.ts","app/src/core/states/PersonSettingsProfileState.ts","app/src/core/events/PersonProfileEvents.ts","app/src/core/events/TimesheetDismissEvents.ts","app/src/core/states/PersonSettingsChangePasswordState.ts","app/src/core/events/PersonSettingsChangePasswordEvents.ts","app/src/core/states/ChangePasswordState.ts","app/src/core/events/ChangePasswordEvents.ts","app/src/core/states/PersonLocalePreferencesState.ts","app/src/core/events/AddPersonEvents.ts","app/src/core/states/AddPersonState.ts","app/src/core/events/NotificationsEvents.ts","app/src/core/states/NotificationsState.ts","app/src/core/events/PersonLocalePreferencesEvents.ts","app/src/core/events/ChangeEmailEvents.ts","app/src/core/events/TimesheetEvents.ts","app/src/core/events/ExternalSigninEvents.ts","app/src/ChangePassword/ChangePasswordController.ts","app/src/core/events/TimesheetAddWorkEvents.ts","app/src/core/events/TimesheetClearEvents.ts","app/src/core/events/TimesheetDeclineEvents.ts","app/src/core/events/TimesheetSonovateActionEvents.ts","app/src/core/states/TimesheetAddWorkState.ts","app/src/core/states/TimesheetSonovateAddWorkState.ts","app/src/core/states/TimesheetAddExpensesState.ts","app/src/core/states/TimesheetEditExpenseState.ts","app/src/core/events/TimesheetSignEvents.ts","app/src/core/states/TimesheetSearchState.ts","app/src/core/states/TimesheetRejectState.ts","app/src/core/states/TimesheetState.ts","app/src/core/permissions/TimesheetPermissions.ts","app/src/core/events/TimesheetManageEvents.ts","app/src/core/states/LoadingState.ts","app/src/core/utils/Time.ts","app/src/core/validation/Time.ts","app/src/core/validation/TimesheetAddWorkState.ts","app/src/core/validation/TimesheetEditExpenseState.ts","app/src/core/validation/SignUpState.ts","app/src/core/BaseDropdownBaseClass.ts","app/src/Application.ts","app/src/BootstrapStateChangeService.ts","app/src/SegmentPageViews.ts","app/src/SigninRedirect.ts","app/src/ChangeEmail/CancelEmailController.ts","app/src/ChangeEmail/ChangeEmailRoutes.ts","app/src/ChangeEmail/ConfirmEmailController.ts","app/src/ChangePassword/ChangePasswordRoutes.ts","app/src/core/baseProposal.ts","app/src/errorRedirects/errorRedirectsController.ts","app/src/errorRedirects/errorRedirectsRoutes.ts","app/src/Invoice/InvoiceController.ts","app/src/Invoice/InvoiceRoutes.ts","app/src/Invoices/InvoicesListingController.ts","app/src/Invoices/InvoicesRoutes.ts","app/src/oauth/OauthRoutes.ts","app/src/PersonListing/people.routes.ts","app/src/PersonListing/peopleController.ts","app/src/PersonSettings/PersonSettingsController.ts","app/src/PersonSettings/PersonSettingsRoutes.ts","app/src/resetPassword/PasswordResetController.ts","app/src/resetPassword/PasswordResetRoutes.ts","app/src/signin/SignInController.ts","app/src/signin/SignInRoutes.ts","app/src/signup/SignupController.ts","app/src/Timesheets/TimesheetsController.ts","app/src/Timesheets/TimesheetsDetailedViewController.ts","app/src/Timesheets/TimesheetsRoutes.ts","app/src/Timesheets/TimesheetsWorkViewController.ts","app/src/ChangePassword/viewDirectives/snChangePasswordViewDirective.ts","app/src/core/events/AgreementsEvents.ts","app/src/core/events/ChangeRiskAssessmentStatusEvents.ts","app/src/core/events/DashboardEvents.ts","app/src/core/events/InvoiceEvents.ts","app/src/core/events/InvoicesSearchEvents.ts","app/src/core/events/MergedOrganisationSearchEvents.ts","app/src/core/events/OnboardingDocumentEvents.ts","app/src/core/events/OrganisationAccountStatusEvents.ts","app/src/core/events/OrganisationBankAccountEvents.ts","app/src/core/events/OrganisationDetailsEvents.ts","app/src/core/events/OrganisationOptionsDropdownEvents.ts","app/src/core/events/PaymentsSearchEvents.ts","app/src/core/events/PdfViewerEvents.ts","app/src/core/events/PeopleSearchEvents.ts","app/src/core/events/PeopleStatusesEvents.ts","app/src/core/events/PersonOptionsDropdownEvents.ts","app/src/core/events/SignedInUserEvents.ts","app/src/core/events/SlideoutEvents.ts","app/src/core/events/TermsEvents.ts","app/src/core/events/TimesheetAddExpensesEvents.ts","app/src/core/events/TimesheetAutofillEvents.ts","app/src/core/events/TimesheetCandidateReopenEvents.ts","app/src/core/events/TimesheetCreateEvents.ts","app/src/core/events/TimesheetEditExpenseEvents.ts","app/src/core/events/TimesheetMessageEvents.ts","app/src/core/events/TimesheetRejectEvents.ts","app/src/core/events/TimesheetSearchEvents.ts","app/src/core/events/TimesheetStatusesEvents.ts","app/src/core/events/TimesheetSubmitEvents.ts","app/src/core/filters/IsoDate_DayMonth.ts","app/src/core/filters/ToFixed.ts","app/src/core/filters/trustedHtmlFilter.ts","app/src/core/filters/UCFirst.ts","app/src/core/services/ApiKeyActions.ts","app/src/core/services/ApiKeyService.ts","app/src/core/services/AssignmentProgressService.ts","app/src/core/services/AuthenticationActions.ts","app/src/core/services/AuthenticationState.ts","app/src/core/services/AuthenticationStore.ts","app/src/core/services/CountriesDataStore.ts","app/src/core/services/ErrorUtilitiesService.ts","app/src/core/services/HttpInterceptorService.ts","app/src/core/services/HttpServiceWrapper.ts","app/src/core/services/KeyboardEventGeneratorService.ts","app/src/core/services/LanguagesDataStore.ts","app/src/core/services/ModalState.ts","app/src/core/services/OrganisationActions.ts","app/src/core/services/OrganisationTypeDataStore.ts","app/src/core/services/PdfViewerService.ts","app/src/core/services/ReferenceDataActions.ts","app/src/core/services/RoleListActions.ts","app/src/core/services/ScrollCalculatorService.ts","app/src/core/services/SignOutActions.ts","app/src/core/services/TimesheetDeliveryPeriodSortOrderService.ts","app/src/core/services/TimesheetsStatusService.ts","app/src/core/services/TimeZonesStore.ts","app/src/core/services/WindowResizeService.ts","app/src/core/transformers/LocalePreferencesTransformers.ts","app/src/core/states/AddDirectorState.ts","app/src/core/states/AddDirectorStateUpdates.ts","app/src/core/states/AddPersonStateUpdates.ts","app/src/core/states/AssignmentSearchState.ts","app/src/core/states/AssignmentSearchStateUpdates.ts","app/src/core/states/ChangePasswordStateUpdates.ts","app/src/core/states/ChangeRiskAssessmentStatusStateUpdates.ts","app/src/core/states/DashboardState.ts","app/src/core/states/DashboardStateUpdates.ts","app/src/core/states/DeepLinkStateUpdates.ts","app/src/core/states/DropdownKeyboardNavStateUpdates.ts","app/src/core/states/EditDirectorState.ts","app/src/core/states/EditDirectorStateUpdates.ts","app/src/core/states/InvoicesSearchState.ts","app/src/core/states/InvoicesSearchStateUpdates.ts","app/src/core/states/InvoiceState.ts","app/src/core/states/InvoiceStateUpdates.ts","app/src/core/states/LoadingStateUpdates.ts","app/src/core/states/MessageBarStateUpdates.ts","app/src/core/states/NotificationsStateUpdates.ts","app/src/core/states/OnboardingDocumentState.ts","app/src/core/states/OnboardingDocumentStateUpdates.ts","app/src/core/states/OrganisationAddBankAccountFormState.ts","app/src/core/states/OrganisationAddBankAccountFormStateUpdates.ts","app/src/core/states/OrganisationBankAccountsState.ts","app/src/core/states/OrganisationBankAccountsStateUpdates.ts","app/src/core/states/OrganisationCustomerSupportState.ts","app/src/core/states/OrganisationCustomerSupportStateUpdates.ts","app/src/core/states/OrganisationFlagVerificationState.ts","app/src/core/states/OrganisationFlagVerificationStateUpdates.ts","app/src/core/states/OrganisationOptionsDropdownState.ts","app/src/core/states/OrganisationOptionsDropdownStateUpdates.ts","app/src/core/states/OrganisationProposalSearchState.ts","app/src/core/states/OrganisationProposalSearchStateUpdates.ts","app/src/core/states/PasswordResetStateUpdates.ts","app/src/core/states/PasswordStrengthStateUpdates.ts","app/src/core/states/PaymentsSearchState.ts","app/src/core/states/PaymentsSearchStateUpdates.ts","app/src/core/states/PdfViewerState.ts","app/src/core/states/PdfViewerStateUpdates.ts","app/src/core/states/PeopleSearchState.ts","app/src/core/states/PeopleSearchStateUpdates.ts","app/src/core/states/PeopleStatusesState.ts","app/src/core/states/PeopleStatusesStateUpdates.ts","app/src/core/states/PersonLocalePreferencesStateUpdates.ts","app/src/core/states/PersonOptionsDropdownState.ts","app/src/core/states/PersonOptionsDropdownStateUpdates.ts","app/src/core/states/PersonSearchState.ts","app/src/core/states/PersonSearchStateUpdates.ts","app/src/core/states/PersonSettingsChangePasswordStateUpdates.ts","app/src/core/states/PersonSettingsProfileStateUpdates.ts","app/src/core/states/ProposalState.ts","app/src/core/states/ProposalStateUpdates.ts","app/src/core/states/ProposalTermsState.ts","app/src/core/states/ProposalTermsStateUpdates.ts","app/src/core/states/RiskStatusStateUpdates.ts","app/src/core/states/RolesState.ts","app/src/core/states/RolesStateUpdates.ts","app/src/core/states/SignInStateUpdates.ts","app/src/core/states/SignupStateUpdates.ts","app/src/core/states/SlideoutState.ts","app/src/core/states/SlideoutStateUpdates.ts","app/src/core/states/TimesheetAddExpensesStateUpdates.ts","app/src/core/states/TimesheetAddWorkStateUpdates.ts","app/src/core/states/TimesheetAutofillState.ts","app/src/core/states/TimesheetAutofillStateUpdates.ts","app/src/core/states/TimesheetDeclineState.ts","app/src/core/states/TimesheetDeclineStateUpdates.ts","app/src/core/states/TimesheetEditExpenseStateUpdates.ts","app/src/core/states/TimesheetManageState.ts","app/src/core/states/TimesheetManageStateUpdates.ts","app/src/core/states/TimesheetMessageState.ts","app/src/core/states/TimesheetMessageStateUpdates.ts","app/src/core/states/TimesheetRejectStateUpdates.ts","app/src/core/states/TimesheetSearchStateUpdates.ts","app/src/core/states/TimesheetSonovateAddWorkStateUpdates.ts","app/src/core/states/TimesheetStateUpdates.ts","app/src/core/states/TimesheetSubmitState.ts","app/src/core/states/TimesheetSubmitStateUpdates.ts","app/src/core/utils/FeatureToggleDirective.ts","app/src/PersonSettings/viewDirectives/snPersonSettingsProfileViewDirective.ts","app/src/signup/viewDirectives/snSignupViewDirective.ts","app/src/core/configuration/referenceData/UserStatuses.ts","app/src/core/components/profileMenuDirective/ProfileMenuDirectiveController.ts","app/src/core/components/profileMenuDirective/ProfileMenuDirective.ts","app/src/core/components/snAccordion/snAccordionDirective.ts","app/src/core/components/snAccordion/snAccordionTabDirective.ts","app/src/core/components/snActivityStreamList/snActivityStreamListDirective.ts","app/src/core/components/snAddBankAccount/snAddBankAccountFormDirective.ts","app/src/core/components/snAddCurrencyCard/snAddCurrencyCard.ts","app/src/core/components/snAddDirectorForm/snAddDirectorFormDirective.ts","app/src/core/components/snAddressCard/snAddressCardDirective.ts","app/src/core/components/snAddressForm/snAddressFormDirective.ts","app/src/core/components/snAddressMediaObject/snAddressMediaObjectDirective.ts","app/src/core/components/snAssessmentStatus/snAssessmentStatusDirective.ts","app/src/core/components/snAssignmentContractCard/snAssignemntContractCard.ts","app/src/core/components/snAssignmentExtensionsPopout/snAssignmentExtensionsPopoutDirective.ts","app/src/core/components/snAssignmentServiceRateCardDirective/snAssigmentServiceRateCardDirective.ts","app/src/core/components/snAutoCompleteDropdown/snAutoCompleteDropdownDirective.ts","app/src/core/components/snBankAccountCard/snBankAccountCardDirective.ts","app/src/core/components/snBankAccountDropdown/snBankAccountDropdownDirective.ts","app/src/core/components/snBankAccounts/snBankAccountsDirective.ts","app/src/core/components/snButton/snAddButton.ts","app/src/core/components/snButton/snMultiButton.ts","app/src/core/components/snButtonCard/snButtonCard.ts","app/src/core/components/snCalendar/snCalendarDirective.ts","app/src/core/components/snCallbackWithClickOut/snCallbackWithClickOut.ts","app/src/core/components/snCandidateCard/snCandidateCard.ts","app/src/core/components/snCandidateMultiselectSearchCard/snCandidateMultiselectSearchCardDirective.ts","app/src/core/components/snCandidateSingleSelectSearchCard/snCandidateSingleSelectSearchCardDirective.ts","app/src/core/components/snCard/snCardDirective.ts","app/src/core/components/snCardAddressDetails/snCardAddressDetailsDirective.ts","app/src/core/components/snCardInformationDropdown/snCardInformationDropdown.ts","app/src/core/components/snCardPersonDetails/snCardPersonDetailsDirective.ts","app/src/core/components/snChangeProfilePicture/snChangeProfilePictureDirective.ts","app/src/core/components/snChargeCard/snChargeCardDirective.ts","app/src/core/components/snChart/snChart.ts","app/src/core/components/snCheck/snCheckDirective.ts","app/src/core/components/snCheckBoxList/snCheckBoxListDirective.ts","app/src/core/components/snClickoutCallback/snClickoutCallbackDirective.ts","app/src/core/components/snClickStopPropogation/snClickStopPropogationDirective.ts","app/src/core/components/snClientCard/snClientCard.ts","app/src/core/components/snClientContactCard/snClientContactCard.ts","app/src/core/components/snCompanyDetailsForm/snCompanyDetailsFormDirective.ts","app/src/core/components/snContractActionButtonsViewDirective/snContractActionButtonsViewDirective.ts","app/src/core/components/snContractSignatoriesCard/snContractSignatoriesCard.ts","app/src/core/components/snCountryDropdown/snCountryDropdownDirective.ts","app/src/core/components/snDateInputDirective/snDateInputDirective.ts","app/src/core/components/snDateRangeDirective/snDateRangeDirective.ts","app/src/core/components/snDelayCallback/snDelayCallbackDirective.ts","app/src/core/components/snDelayHide/snDelayHide.ts","app/src/core/components/snDelayShow/snDelayShow.ts","app/src/core/components/snDeliveryPeriodToggle/snDeliveryPeriodToggle.ts","app/src/core/components/snDocumentTypePopout/snDocumentTypePopoutDirective.ts","app/src/core/components/snDropdown/snDropdownDirective.ts","app/src/core/components/snEditBankAccount/snEditBankAccountDirective.ts","app/src/core/components/snEditBillingProfile/snEditBillingProfileDirective.ts","app/src/core/components/snEditDirectorForm/snEditDirectorFormDirective.ts","app/src/core/components/snEditPhoneNumber/snEditPhoneNumberDirective.ts","app/src/core/components/snEditTaxProfile/snEditTaxProfileDirective.ts","app/src/core/components/snEllipsisDropdown/snEllipsisDropdown.ts","app/src/core/components/snFacetConfirmation/snFacetConfirmationDirective.ts","app/src/core/components/snFacetConflictBox/snFacetConflictBoxDirective.ts","app/src/core/components/snFileDownloadLink/snFileDownloadLink.ts","app/src/core/components/snFilterDropdown/snFilterDropdownDirective.ts","app/src/core/components/snFlagDropdown/snFlagDropdownDirective.ts","app/src/core/components/snFlagListing/snFlagListingDirective.ts","app/src/core/components/snFooter/snFooter.ts","app/src/core/components/snIco/snIcoDirective.ts","app/src/core/components/snIconButton/snIconButton.ts","app/src/core/components/snIconPopout/snIconPopoutDirective.ts","app/src/core/components/snInformationTooltip/snInformationTooltip.ts","app/src/core/components/snInitiateCompanySearch/snInitiateCompanySearch.ts","app/src/core/components/snInput/snInputDirective.ts","app/src/core/components/snInvocieContactCard/snInvoiceContactCard.ts","app/src/core/components/snInvoiceListingItem/snInvoiceListingItemDirective.ts","app/src/core/components/snKpiCard/snKpiCard.ts","app/src/core/components/snLanguageDropdown/snLanguageDropdownDirective.ts","app/src/core/components/snLink/snLink.ts","app/src/core/components/snListing/snListingDirective.ts","app/src/core/components/snMaintainEmailAddress/snMaintainEmailAddressDirective.ts","app/src/core/components/snMaintainPhoneNumbers/snMaintainPhoneNumbersDirective.ts","app/src/core/components/snManagedDropdown/snManagedDropdownDirective.ts","app/src/core/components/snMobileAppMode/snMobileAppModeDirective.ts","app/src/core/components/snModal/snModalDirective.ts","app/src/core/components/snNameFacet/snNameFacet.ts","app/src/core/components/snNotice/snNotice.ts","app/src/core/components/snNotice/snNoticeTypes.ts","app/src/core/components/snNotificationsPanel/snNotificationsPanel.ts","app/src/core/components/snOnboardingDocumentSignatoryCard/snOnboardingDocumentSignatoryCard.ts","app/src/core/components/snOrganisationAccountStatus/snOrganisationAccountStatus.ts","app/src/core/components/snOrganisationListing/snOrganisationListingDirective.ts","app/src/core/components/snOrganisationListingItem/snOrganisationListingItemDirective.ts","app/src/core/components/snOrganisationListingSelect/snOrganisationListingSelectDirective.ts","app/src/core/components/snOrganisationRiskStatusDropdown/snOrganisationRiskStatusDropdown.ts","app/src/core/components/snOrganisationSearchCard/snOrganisationSearchCardDirective.ts","app/src/core/components/snOrganisationStatusDropdown/snOrganisationStatusDropdownDirective.ts","app/src/core/components/snPasswordInput/snPasswordInputDirective.ts","app/src/core/components/snPasswordStrengthIndicator/snPasswordStrengthIndicatorDirective.ts","app/src/core/components/snPaymentListingItem/snPaymentListingItemDirective.ts","app/src/core/components/snPdfCard/snPdfCard.ts","app/src/core/components/snPdfPreview/snPdfPreviewDirective.ts","app/src/core/components/snPdfViewer/snPdfViewerDirective.ts","app/src/core/components/snPeopleStatusDropdown/snPeopleStatusDropdown.ts","app/src/core/components/snPersonAccountStatus/snPersonAccountStatusDirective.ts","app/src/core/components/snPersonOptionsPopout/snPersonOptionsPopout.ts","app/src/core/components/snPersonSearchCard/snPersonSearchCardDirective.ts","app/src/core/components/snPersonSearchListingItem/snPersonSearchListingItemDirective.ts","app/src/core/components/snProfileHeaderInput/snProfileHeaderInput.ts","app/src/core/components/snProfileInformationDropdown/snProfileInformationDropdownDirective.ts","app/src/core/components/snProfileRolesDropdown/snProfileRolesDropdownDirective.ts","app/src/core/components/snProfileSubNav/snProfileSubNavDirective.ts","app/src/core/components/snProvisionalOrganisationCard/snProvisionalOrganisationCardDirective.ts","app/src/core/components/snProvisionalOrganisationListingItem/snProvisionalOrganisationListingItemDirective.ts","app/src/core/components/snRadioGroup/snRadioGroupDirective.ts","app/src/core/components/snRateTier/snRateTierDirective.ts","app/src/core/components/snRiskFlagChecklist/snRiskFlagChecklistDirective.ts","app/src/core/components/snRiskStatus/snRiskStatusDirective.ts","app/src/core/components/snRiskStatusDropdown/snRiskStatusDropdownDirective.ts","app/src/core/components/snSearch/snSearchDirective.ts","app/src/core/components/snSearchFilterDropdown/snSearchFilterDropdown.ts","app/src/core/components/snSelectCompanyFromSearch/snSelectCompanyFromSearch.ts","app/src/core/components/snSelectDropdown/snSelectDropdown.ts","app/src/core/components/snServiceAgreementDocumentTypePopout/snServiceAgreementDocumentTypePopoutDirective.ts","app/src/core/components/snShowWithClickOut/snShowWithClickOut.ts","app/src/core/components/snSlideout/snSlideoutDirective.ts","app/src/core/components/snSortDeliveryPeriodDropdown/snSortDeliveryPeriodDropdown.ts","app/src/core/components/snStatusIconButton/snStatusIconButton.ts","app/src/core/components/snStopClickPropagation/snStopClickPropagation.ts","app/src/core/components/snSwitch/snSwitchDirective.ts","app/src/core/components/snSwitchOrganisationCard/snSwitchOrganisationCardDirective.ts","app/src/core/components/snTemplateTermCard/snTemplateTermCard.ts","app/src/core/components/snTextBox/snTextBoxDirective.ts","app/src/core/components/snTimeInput/snTimeInputDirective.ts","app/src/core/components/snTimesheetAuthoriserCard/snTimesheetAuthoriserCard.ts","app/src/core/components/snTimesheetExpenseCard/snTimesheetExpenseCard.ts","app/src/core/components/snTimesheetFlagDropdown/snTimesheetFlagDropdownDirective.ts","app/src/core/components/snTimesheetFlagSet/snTimesheetFlagSet.ts","app/src/core/components/snTimesheetListingStatus/snTimesheetListingStatus.ts","app/src/core/components/snTimesheetStatus/snTimesheetStatus.ts","app/src/core/components/snTimesheetStatusChange/snTimesheetStatusChange.ts","app/src/core/components/snTimesheetStatusChangeHistory/snTimesheetStatusChangeHistory.ts","app/src/core/components/snTimesheetStatusColourIndicator/snTimesheetStatusColourIndicatorDirective.ts","app/src/core/components/snTimesheetWorkRateUnit/snTimesheetWorkRateUnit.ts","app/src/core/components/snTimeZoneDropdown/snTimeZoneDropdownDirective.ts","app/src/core/components/snTradingStyleCard/snTradingStyleCardDirective.ts","app/src/core/components/snTradingStylesForm/snTradingStylesFormDirective.ts","app/src/core/components/snUnableToViewTimesheetModal/snUnableToViewTimesheetModalDirective.ts","app/src/core/components/snUserListingItem/snUserListingItemDirective.ts","app/src/core/components/snWebAddress/snWebAddress.ts","app/src/core/components/snWebAddresses/snWebAddresses.ts","app/src/core/components/snWorkPeriodDate/snWorkPeriodDate.ts","app/src/core/states/referenceDataState/AgreementStatusState.ts","app/src/core/states/referenceDataState/AgreementStatusStateUpdates.ts","app/src/core/states/referenceDataState/AssignmentInvoiceFrequencyReferenceDataState.ts","app/src/core/states/referenceDataState/AssignmentInvoiceFrequencyReferenceDataStateUpdates.ts","app/src/core/states/referenceDataState/DocumentTypeState.ts","app/src/core/states/referenceDataState/DocumentTypeStateUpdates.ts","app/src/core/states/referenceDataState/ExpenseTypeState.ts","app/src/core/states/referenceDataState/ExpenseTypeStateUpdates.ts","app/src/core/states/referenceDataState/InvoiceStatusState.ts","app/src/core/states/referenceDataState/InvoiceStatusStateUpdates.ts","app/src/core/states/referenceDataState/OrganisationAccountStatusState.ts","app/src/core/states/referenceDataState/OrganisationAccountStatusStateUpdates.ts","app/src/core/states/referenceDataState/PeopleSearchDropdownState.ts","app/src/core/states/referenceDataState/PeopleSearchDropdownStateUpdates.ts","app/src/core/states/referenceDataState/ProposalStatusStateUpdates.ts","app/src/core/states/referenceDataState/RateUnitState.ts","app/src/core/states/referenceDataState/RateUnitStateUpdates.ts","app/src/core/states/referenceDataState/RiskFlagState.ts","app/src/core/states/referenceDataState/RiskFlagStateUpdates.ts","app/src/core/states/referenceDataState/ServiceAgreementDocumentTypeState.ts","app/src/core/states/referenceDataState/ServiceAgreementDocumentTypeStateUpdates.ts","app/src/core/states/referenceDataState/StartOfWeekState.ts","app/src/core/states/referenceDataState/StartOfWeekStateUpdates.ts","app/src/core/states/referenceDataState/TimesheetStatusesState.ts","app/src/core/states/referenceDataState/TimesheetStatusesStateUpdates.ts","app/src/core/viewDirectives/snAccountMigration/snAccountMigration.ts","app/src/core/viewDirectives/snActivityStreamViewDirective/snActivityStreamViewDirective.ts","app/src/core/viewDirectives/snAddPerson/snAddPersonViewDirective.ts","app/src/core/viewDirectives/snAssignmentOfClientTerms/snAssignmentOfClientTermsDirective.ts","app/src/core/viewDirectives/snAssignmentStatusDropdown/snAssignmentStatusDropdownViewDirective.ts","app/src/core/viewDirectives/snCompaniesSearch/snCompaniesSearchViewDirective.ts","app/src/core/viewDirectives/snFlagAssessmentFormViewDirective/snFlagAssessmentFormViewDirective.ts","app/src/core/viewDirectives/snGlobalMessageBar/snGlobalMessageBarViewDirective.ts","app/src/core/viewDirectives/snInviteToSonovateForm/snInviteToSonovateFormDirective.ts","app/src/core/viewDirectives/snMenu/snMenuDirective.ts","app/src/core/viewDirectives/snOrganisationBankAccountForm/snOrganisationBankAccountFormViewDirective.ts","app/src/core/viewDirectives/snOrganisationOptionsPopout/snOrganisationOptionsPopoutDirective.ts","app/src/core/viewDirectives/snPeopleSearch/snPeopleSearchViewDirective.ts","app/src/core/viewDirectives/snProposalFeesViewDirective/snProposalFeesViewDirective.ts","app/src/core/viewDirectives/snProposalStatusDropdown/snProposalStatusDropdownDirective.ts","app/src/core/viewDirectives/snProposalTypeViewDirective/snProposalTypeViewDirective.ts","app/src/core/viewDirectives/snSelectOrganisationAddressList/snSelectOrganisationAddressListDirective.ts","app/src/core/viewDirectives/snTerm/snTermViewDirective.ts","app/src/core/viewDirectives/snTimesheetsStatusDropdown/snTimesheetsStatusDropdownDirective.ts","app/src/Invoices/viewDirectives/snInvoicesListingViewDirective/snInvoicesListingViewDirective.ts","app/src/PersonSettings/viewDirectives/snPersonLocalePreferencesViewDirective/snPersonLocalePreferencesViewDirective.ts","app/src/PersonSettings/viewDirectives/snPersonPhoneNumbersViewDirective/snPersonPhoneNumbersViewDirective.ts","app/src/PersonSettings/viewDirectives/snPersonSettingsChangePasswordViewDirective/snPersonSettingsChangePasswordViewDirective.ts","app/src/PersonSettings/viewDirectives/snPersonSettingsProfileHeaderViewDirective/snPersonSettingsProfileHeaderViewDirective.ts","app/src/PersonSettings/viewDirectives/snPersonTaxDetailsViewDirective/snPersonTaxDetailsViewDirective.ts","app/src/Timesheets/viewDirectives/snCalendarInputField/snCalendarInputField.ts","app/src/Timesheets/viewDirectives/snCandidateBalance/snCandidateBalanceViewDirective.ts","app/src/Timesheets/viewDirectives/snTimesheetActions/snTimesheetActions.ts","app/src/Timesheets/viewDirectives/snTimesheetAddExpensesViewDirective/snTimesheetAddExpensesViewDirective.ts","app/src/Timesheets/viewDirectives/snTimesheetAddWorkModal/snTimesheetAddWorkModal.ts","app/src/Timesheets/viewDirectives/snTimesheetAddWorkViewDirective/snTimesheetAddWorkViewDirective.ts","app/src/Timesheets/viewDirectives/snTimesheetCardItemViewDirective/snTimesheetCardItemViewDirective.ts","app/src/Timesheets/viewDirectives/snTimesheetDeclineViewDirective/snTimesheetDeclineViewDirective.ts","app/src/Timesheets/viewDirectives/snTimesheetDetailsModal/snTimesheetDetailsModal.ts","app/src/Timesheets/viewDirectives/snTimesheetEditExpense/snTimesheetEditExpense.ts","app/src/Timesheets/viewDirectives/snTimesheetExpensesViewDirective/snTimesheetExpensesViewDirective.ts","app/src/Timesheets/viewDirectives/snTimesheetListingViewDirective/snTimesheetListingViewDirective.ts","app/src/Timesheets/viewDirectives/snTimesheetListItemViewDirective/snTimesheetListItemViewDirective.ts","app/src/Timesheets/viewDirectives/snTimesheetModals/snTimesheetModals.ts","app/src/Timesheets/viewDirectives/snTimesheetRejectViewDirective/snTimesheetRejectViewDirective.ts","app/src/Timesheets/viewDirectives/snTimesheetsManagedAreaViewDirective/snTimesheetsManagedAreaViewDirective.ts","app/src/Timesheets/viewDirectives/snTimesheetSonovateAddWorkViewDirective/snTimesheetSonovateAddWorkViewDirective.ts","app/src/Timesheets/viewDirectives/snTimesheetSonovateViewWorkViewDirective/snTimesheetSonovateViewWorkViewDirective.ts","app/src/Timesheets/viewDirectives/snTimesheetsSummaryPanelViewDirective/snTimesheetsSummaryPanelViewDirective.ts","app/src/Timesheets/viewDirectives/snTimesheetSubmitViewDirective/snTimesheetSubmitViewDirective.ts","app/src/Timesheets/viewDirectives/snTimesheetWorkViewDirective/snTimesheetWorkViewDirective.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["/// \r\n/// \r\n/// \r\n\r\nmodule Sonovate {\r\n export interface IDictionary {\r\n [key: string]: T;\r\n }\r\n \r\n export interface ILocalisationData {\r\n addPerson: IDictionary;\r\n activitystream: IDictionary;\r\n addorganisation: IDictionary;\r\n addaddress: IDictionary;\r\n address: IDictionary;\r\n assignments: IDictionary;\r\n bankaccount: IDictionary;\r\n companyuser: IDictionary;\r\n confirmations: IDictionary;\r\n customersupport: IDictionary;\r\n errorredirect: IDictionary;\r\n facetconfirmation: IDictionary;\r\n general: IDictionary;\r\n invoices: IDictionary;\r\n maintainemailaddress: IDictionary;\r\n maintainphonenumber: IDictionary;\r\n mediaobject: IDictionary;\r\n menu: IDictionary;\r\n organisation: IDictionary;\r\n personsettings: IDictionary;\r\n profileheader: IDictionary;\r\n proposal: IDictionary;\r\n proposals: IDictionary;\r\n Timesheet: IDictionary;\r\n timesheets: IDictionary;\r\n userdetails: IDictionary;\r\n templateterms: IDictionary;\r\n terms: IDictionary;\r\n signup: IDictionary;\r\n status: IDictionary;\r\n verification: IDictionary;\r\n oauth: IDictionary;\r\n changepassword: IDictionary;\r\n personoptions: IDictionary;\r\n migration: IDictionary;\r\n }\r\n}\r\n\r\nmodule Sonovate.Models {\r\n\r\n export interface IFormError {\r\n isValid:boolean; \r\n message:string;\r\n localisedMessage?:string;\r\n }\r\n\r\n export interface IErrorList {\r\n error: any; \r\n errorName:string;\r\n }\r\n \r\n export interface IStateSkeleton {\r\n errors: IDictionary;\r\n }\r\n\r\n export interface IKpiContainer {\r\n id: string;\r\n kpi: IKpi;\r\n colSpans: IColSpans;\r\n secondLevelItemCount: number;\r\n hasSecondLevelLabels: boolean;\r\n thirdLevelItemCount: number;\r\n hasThirdLevelLabels: boolean;\r\n childChartTypeLevel1: string;\r\n childChartTypeLevel2: string;\r\n }\r\n\r\n export interface IKpi {\r\n kpis: IKpi[];\r\n label: string;\r\n value: number;\r\n unit: string;\r\n priority: string;\r\n link: string;\r\n childChartType: string;\r\n dougnutData?: IDoughnutData;\r\n lineChartData?: ILineChartData;\r\n color: string;\r\n }\r\n\r\n export interface IChartOptions {\r\n onClick: () => void;\r\n cutoutPercentage?: number;\r\n segmentShowStroke: boolean;\r\n legend: IDictionary;\r\n elements: IChartElementsOptions;\r\n }\r\n\r\n export interface IChartElementsOptions {\r\n arc?: ChartArcOtpions;\r\n line?: ILineChartOptions;\r\n point?: ChartPointOptions;\r\n }\r\n\r\n export interface ILineChartOptions extends ChartLineOptions {\r\n fill: boolean;\r\n }\r\n\r\n export interface IDoughnutData {\r\n colors: string[];\r\n values: number[];\r\n units: string[];\r\n labels: string[];\r\n links: string[];\r\n }\r\n\r\n export interface ILineChartData {\r\n labels: string[];\r\n datasets: ILineChartDataSet[];\r\n }\r\n\r\n export interface ILineChartDataSet {\r\n label: string;\r\n color: string;\r\n value: number;\r\n unit: string;\r\n dataPointUnits: string[];\r\n data: number[];\r\n legendLink: string;\r\n dataPointLinks: string[];\r\n dataPointColors: string[];\r\n }\r\n\r\n export interface IKpiGraphData {\r\n labels: string[];\r\n values: number[];\r\n priorities: string[];\r\n }\r\n\r\n export interface IColSpans {\r\n col1: number;\r\n col2: number;\r\n col3: number;\r\n col4: number;\r\n };\r\n \r\n // IInvoice extends the search result in case in needs more fields in the future\r\n export interface IInvoice extends IInvoiceSearchResult{}\r\n\r\n export interface IInvoiceSearchResult {\r\n id?: number;\r\n invoiceId?: number;\r\n reference?: string;\r\n invoiceDate?: string;\r\n issueRecord?: IIssuedBy[];\r\n gross?: number;\r\n net?: number;\r\n vat?: number;\r\n vatNumber?: string;\r\n companyRegNumber?: string;\r\n currency?: string;\r\n clientOrganisationId?: number;\r\n candidateOrganisationId?: number;\r\n assignment?: string;\r\n agencyOrganisationId?: number;\r\n agencyName?: string;\r\n direction?: Enums.InvoiceDirection;\r\n status?: Enums.InvoiceStatus;\r\n invoiceType?: Enums.InvoiceType;\r\n }\r\n\r\n export interface IIssuedBy {\r\n id?: string;\r\n name?: string;\r\n issuedOn?: string;\r\n issuedTo?: IIssuedTo[];\r\n }\r\n\r\n export interface IIssuedTo {\r\n contactName?: string;\r\n emailAddress?: string;\r\n }\r\n\r\n export interface IPaymentSearchResult {\r\n id: string;\r\n paymentId: number;\r\n agencyId: string;\r\n agencyOrganisationId: number;\r\n currency: string;\r\n clientName: string;\r\n clientTotal: number;\r\n candidateName: string\r\n candidateTotal: number;\r\n agencyName: string\r\n sonovateTotal: number;\r\n balance: number;\r\n paymentDate: string;\r\n clientCount: number;\r\n }\r\n\r\n export interface ICalendarPage {\r\n rows: {\r\n days: ICalendarDay[]\r\n }[];\r\n }\r\n \r\n export interface ICalendarDay {\r\n date: string;\r\n inMonth: boolean;\r\n isSelected?: boolean;\r\n isStagedForSelection?: boolean;\r\n isWeekend?: boolean;\r\n isSelectable?: boolean;\r\n isFirstInSelectableRange?: boolean;\r\n isLastInSelectableRange?: boolean;\r\n gridCoordinates?: number[];\r\n isFirstStagedSelection?: boolean;\r\n hasWork: boolean;\r\n }\r\n\r\n export interface ITimesheetAssignment {\r\n timesheetAssignmentId: number;\r\n pictureUrl: string;\r\n clientName: string;\r\n candidateName?: string;\r\n jobTitle: string;\r\n candidateId?: number;\r\n referenceNumber: string;\r\n timesheets: ITimesheet[];\r\n deliveryPeriods: IDeliveryPeriod[];\r\n serviceRates?: IServiceRate[]\r\n customerName: string,\r\n supplierOrganisationPictureUrl: string,\r\n supplierCustomerServicesNumber: string;\r\n timesheetAuthorisers?: ITimesheetAuthoriser[],\r\n nonWorkLabel?: string;\r\n nonWorkUnit?: string;\r\n currencyCode: string;\r\n nonWorkSubUnits: Models.ISubUnit[],\r\n days: IAssignmentDate[],\r\n canBookNonWork: boolean;\r\n canBookExpense: boolean;\r\n }\r\n\r\n export interface IAssignmentDate {\r\n day: string,\r\n hasWork: boolean\r\n }\r\n\r\n export interface INonWorkReason {\r\n id?: Sonovate.Enums.NonWorkReason;\r\n text?: string;\r\n }\r\n\r\n export interface ITimesheetAuthoriser {\r\n timesheetAuthoriserId: number;\r\n authoriserPersonId: number;\r\n authoriserName: string;\r\n authoriserEmail: string;\r\n }\r\n\r\n export interface IServiceRate {\r\n serviceRateId?: any;\r\n label?: string;\r\n clientChargeRate?: number;\r\n candidatePayRate?: number;\r\n unitOfMeasure?: {\r\n type?: string;\r\n unitOfMeasureTextId?: string;\r\n unitOfMeasureLabel?: string;\r\n subUnits?: ISubUnit[]\r\n };\r\n isExpense?: boolean;\r\n isNonWorkReason?: boolean;\r\n }\r\n\r\n export interface ISubUnit {\r\n fractionOfUnit?: number;\r\n subUnitOfMeasureLabel?: string\r\n }\r\n\r\n export interface IDeliveryPeriod {\r\n deliveryPeriodId?: number;\r\n startDate?: string;\r\n endDate?: string;\r\n dates?: Models.IDeliveryPeriodDate[]; \r\n }\r\n\r\n export interface IDeliveryPeriodDate {\r\n date: IDeliveryPeriodDateFormat;\r\n entries: ITimesheetEntry[];\r\n }\r\n\r\n export interface IDeliveryPeriodDateFormat{\r\n day: string, \r\n dayText: string,\r\n month: string,\r\n date: string,\r\n monthText: string\r\n }\r\n\r\n export interface INextTimesheet {\r\n id: number, \r\n reference: string, \r\n status: string\r\n }\r\n\r\n export interface ITimesheetPeriodEntries {\r\n deliveryPeriodId: number,\r\n dates: IDeliveryPeriodDate[]\r\n }\r\n\r\n export interface IPreviousTimesheet extends INextTimesheet {}\r\n\r\n export type ITimesheetEntryType = \"WorkEntry\" | \"NonWorkEntry\" | \"\"\r\n\r\n export interface ITimesheetEntry {\r\n id?: number;\r\n rateBasedChargeId?: number;\r\n entryId?: number;\r\n type?: ITimesheetEntryType;\r\n quantity: string;\r\n workType?: string;\r\n startTime: string;\r\n endTime: string;\r\n breakAmount: string;\r\n description?: string;\r\n unitOfMeasure: TimesheetWorkQuantityType;\r\n serviceRateId?: string | number;\r\n rateLabel?: string;\r\n entryDate?: string;\r\n unitOfMeasureLabel?: string;\r\n reasonId?: Sonovate.Enums.NonWorkReason;\r\n showConflict?: boolean;\r\n hasRejection?: boolean;\r\n }\r\n\r\n export interface ITimesheetNew {\r\n assignment: IAssignmentNew,\r\n permissions: ITimesheetPermissions,\r\n timesheetId?: number;\r\n reference?: string;\r\n status?: string;\r\n timesheetStatusLabel: string;\r\n statusMessage?: string;\r\n authoriserName?: string;\r\n signatoryPersonName? : string;\r\n message?: string;\r\n lastStatusChange?: string;\r\n workTypeSummaries?: IWorkTypeSummary[];\r\n absences?: number;\r\n expenses?: Models.ITimesheetExpense[],\r\n expensesGrossTotal: number,\r\n currencyCode?: string;\r\n deliveryPeriodId: number;\r\n deliveryPeriodStartDate: string,\r\n deliveryPeriodEndDate: string,\r\n validationMessages?: string[];\r\n passesValidation?: boolean;\r\n authoriserId?: number;\r\n signatures?: ITimesheetSignature[];\r\n rejections?: Models.ITimesheetRejection[];\r\n version: number;\r\n adhocTransactions: Models.IAdhocTransaction[];\r\n timesheetAuthoriserId: number;\r\n deleting?: boolean;\r\n timesheetPeriodEntries: ITimesheetPeriodEntries; \r\n selectedCalendarDays?: [\r\n {\r\n date: string;\r\n }\r\n ];\r\n isManaged: boolean;\r\n summaries: Models.ISonovateWorkSummary[];\r\n managedNotes?: string;\r\n statusChangeHistory?: ITimesheetStatusChange[];\r\n flags?: ITimesheetFlag[];\r\n actionsInProgress: IActionsInProgress;\r\n nextTimesheet: INextTimesheet;\r\n previousTimesheet: IPreviousTimesheet; \r\n timesheetsInPeriod: ITimesheetsInPeriod[],\r\n hasNextTimesheet: boolean;\r\n hasPreviousTimesheet: boolean;\r\n hasExpenses: boolean;\r\n hasWork: boolean;\r\n }\r\n\r\n export interface IActionsInProgress {\r\n approve: boolean;\r\n editingTimesheet: boolean;\r\n dismissingTimesheet: boolean;\r\n reopenAsManagedTimesheet: boolean;\r\n rejectingTimesheet: boolean;\r\n submitManagedTimesheet: boolean;\r\n decliningTimesheet: boolean;\r\n submittingTimesheet: boolean;\r\n deletingTimesheet: boolean;\r\n };\r\n\r\n export interface IListingActionsInProgress {\r\n approvingTimesheetWithId: number;\r\n sign?: boolean;\r\n approve?: boolean;\r\n dismiss?: boolean;\r\n };\r\n\r\n export interface IActionInProgressEvent {\r\n error?: string;\r\n id?: number;\r\n actionName: string;\r\n value: boolean;\r\n }\r\n\r\n export interface IAssignmentNew {\r\n timesheetAssignmentId: number;\r\n pictureUrl: string;\r\n customerOrganisationId: number;\r\n customerOrganisationShortName: string;\r\n clientName: string;\r\n candidateName: string;\r\n jobTitle: string;\r\n candidateId: number;\r\n referenceNumber: string;\r\n serviceRates: IServiceRate[]\r\n customerName: string;\r\n supplierOrganisationId: number;\r\n supplierOrganisationName: string;\r\n supplierOrganisationShortName: string;\r\n supplierCustomerServicesNumber: string;\r\n supplierOrganisationPictureUrl: string;\r\n timesheetAuthorisers?: ITimesheetAuthoriser[];\r\n currencyCode: string;\r\n canBookNonWork: boolean;\r\n canBookExpense: boolean;\r\n lastModifiedOn: string;\r\n version: number;\r\n percentageCompleted: number;\r\n progressStatus: string;\r\n days: IAssignmentDate[];\r\n nonWorkLabel?: string;\r\n nonWorkUnit?: string;\r\n nonWorkSubUnits: Models.ISubUnit[],\r\n }\r\n\r\n export interface ITimesheet {\r\n permissions: ITimesheetPermissions;\r\n timesheetId?: number;\r\n reference?: string;\r\n status?: string;\r\n timesheetStatusLabel: string;\r\n statusMessage?: string;\r\n authoriserName?: string;\r\n signatoryPersonName? : string;\r\n message?: string;\r\n lastStatusChange?: string;\r\n workTypeSummaries?: IWorkTypeSummary[];\r\n absences?: number;\r\n expenses?: Models.ITimesheetExpense[];\r\n expensesGrossTotal: number;\r\n currencyCode?: string;\r\n deliveryPeriod?: IDeliveryPeriod;\r\n deliveryPeriodStartDate: string;\r\n deliveryPeriodEndDate: string;\r\n validationMessages?: string[];\r\n passesValidation?: boolean;\r\n authoriserId?: number;\r\n signatures?: ITimesheetSignature[];\r\n rejections?: Models.ITimesheetRejection[];\r\n version: number;\r\n adhocTransactions: Models.IAdhocTransaction[];\r\n isManaged: boolean;\r\n summaries: ISonovateWorkSummary[];\r\n managedNotes?: string;\r\n statusChangeHistory?: ITimesheetStatusChange[];\r\n flags?: ITimesheetFlag[];\r\n actionsInProgress: {\r\n approve: boolean\r\n } \r\n }\r\n\r\n export interface ITimesheetAction {\r\n name: String;\r\n isBusy: boolean;\r\n failed: boolean;\r\n error: String;\r\n }\r\n\r\n export interface ISubmitEditWorkHttpResult {\r\n timesheet: ViewModels.Timesheets.TimesheetNew\r\n }\r\n\r\n export interface ITimesheetStatusChange {\r\n from: string;\r\n to: string;\r\n by: string;\r\n submittedTo: string;\r\n as: string;\r\n on: string;\r\n }\r\n\r\n export interface ITimesheetsInPeriod { \r\n timesheetId: number;\r\n timesheetStatus: string;\r\n timesheetReference: string;\r\n }\r\n \r\n export interface ISonovateWorkSummary {\r\n timesheetFile: string;\r\n workEntries: ISonovateWorkEntry[];\r\n }\r\n\r\n\r\n export interface ITimesheetSonovateAddWork {\r\n serviceRates: Models.IServiceRate[];\r\n adhocTransactions: Models.IAdhocTransaction[];\r\n summaries: ISonovateWorkSummary[];\r\n notes: string;\r\n showError: boolean;\r\n }\r\n\r\n export interface IAdhocTransaction {\r\n transactionId: number;\r\n description: string;\r\n chargeAmount: number;\r\n payAmount: number;\r\n }\r\n\r\n export interface ISonovateWorkEntry {\r\n clientChargeRate: number;\r\n candidatePayRate: number;\r\n serviceRateId: number|string;\r\n serviceRateLabel?: string;\r\n isNonWorkReason: boolean;\r\n unitLabel?: string;\r\n amount: string;\r\n addWorkHours: string;\r\n addWorkMinutes: string;\r\n errors: IDictionary;\r\n }\r\n\r\n export interface ISignTimesheetListingResult {\r\n timesheetId: number;\r\n timesheetVersion: number;\r\n timesheetStatus: Sonovate.Enums.TimesheetStatus;\r\n timesheetStatusLabel: string;\r\n }\r\n\r\n export interface ITimesheetSignature {\r\n signatureId?: number;\r\n timesheetId?: number;\r\n personId?: number;\r\n personName?: string;\r\n occurredOn?: string;\r\n ipAddress?: string;\r\n signatureUrl?: string;\r\n }\r\n\r\n export interface ITimesheetRejection {\r\n date: string;\r\n reason: string;\r\n }\r\n\r\n export interface IWorkTypeSummary {\r\n name: string;\r\n quantity: number;\r\n unitTextId: string;\r\n unitLabel: string;\r\n }\r\n\r\n export interface IInvoiceFrequency{\r\n id: string;\r\n text: string;\r\n period: number;\r\n periodUnit: string;\r\n }\r\n \r\n export interface IUnitRate{\r\n value: string;\r\n text: string;\r\n }\r\n\r\n export interface IInvoiceFrequencyItem{\r\n id: string;\r\n text: string;\r\n period: number;\r\n periodUnit: Sonovate.Enums.Frequency;\r\n }\r\n\r\n\r\n export interface IClientInvoiceFrequencyItem{ \r\n id: string;\r\n text: string;\r\n period: number;\r\n periodUnit: Sonovate.Enums.Frequency;\r\n }\r\n\r\n export interface ICandidateInvoiceFrequencyItem{\r\n id: string;\r\n text: string;\r\n period: number;\r\n periodUnit: Sonovate.Enums.Frequency;\r\n }\r\n\r\n export interface IRoleItem {\r\n\r\n }\r\n \r\n export interface IUnitOfMeasure{\r\n id: string;\r\n isExpense?: boolean;\r\n scope?: string;\r\n text: string;\r\n }\r\n\r\n\r\n export interface IAddress extends IFacet {\r\n address1?: string;\r\n address2?: string;\r\n address3?: string;\r\n address4?: string;\r\n postcode?: string;\r\n country?: string;\r\n id?: number;\r\n isRegistered?: boolean;\r\n }\r\n\r\n export interface IFacet {\r\n status?: FacetStatus;\r\n canAction?: boolean\r\n }\r\n\r\n export interface IPhoneNumber extends IFacet {\r\n id?: string;\r\n number?: string;\r\n countryId?: string;\r\n organisationName?: string;\r\n dialPrefix?: string;\r\n }\r\n\r\n export interface IPersonSettingsPhoneNumber {\r\n id?: number;\r\n number: string;\r\n countryCode?: string;\r\n organisationName: string;\r\n }\r\n\r\n export interface IPersonSettingsMergedPhoneNumber {\r\n phoneNumbers: IPersonSettingsPhoneNumber[];\r\n number: string;\r\n countryCode: string;\r\n addedBy: string[];\r\n }\r\n\r\n export interface IOrganisationTypes {\r\n id: string;\r\n text: string;\r\n metadata: any;\r\n }\r\n\r\n export interface ISearchQuery {\r\n q: string; // search query\r\n filter: ISearchQueryFilter[];\r\n offset: number;\r\n size: number;\r\n order: ISearchQueryOrder;\r\n }\r\n\r\n export interface ISearchQueryFilter {\r\n fieldName: string;\r\n operator: SearchQueryFilterOperator;\r\n value: string;\r\n }\r\n\r\n export interface ISearchQueryOrder {\r\n fieldName: string;\r\n direction?: 'asc' | 'desc';\r\n }\r\n \r\n\r\n export type SearchQueryFilterOperator = \"eq\" | \"gt\" | \"lt\" | \"gte\" | \"lte\";\r\n\r\n export type color = \"coal\" | \"urban\" | \"slate\" | \"rocky\" | \"concrete\" | \"moonshine\" | \"snow\" | \"porcelain\" | \"cotton\" | \"lagoon\" | \"ocean\" | \"apple\" | \"parrot\" | \"daffodil\" | \"white\" | \"eden\" | \"crimson\" | \"salt\" | \"splash\" | \"apple\";\r\n\r\n export type FacetStatus = \"Recorded\" | \"Published\" | \"Discarded\" | \"Deleted\";\r\n \r\n export type AccountStatus = \"Pending\" | \"Active\" | \"Locked\" | \"Suspended\" | \"None\";\r\n\r\n export type Gender = \"male\" | \"female\" | \"none\";\r\n\r\n export type ListingSelectionTypes = \"single\" | \"multi\";\r\n\r\n export type OrganisationAccountStatus = \"None\" | \"Proposed\" | \"Verified\" | \"Rejected\";\r\n\r\n export type DayOfWeek = \"Sunday\" | \"Monday\" | \"Tuesday\" | \"Wednesday\" | \"Thursday\" | \"Friday\" | \"Saturday\";\r\n\r\n export interface ICountry {\r\n id: string;\r\n text: string;\r\n dialPrefix: string;\r\n }\r\n\r\n export interface ITimezone {\r\n id: string;\r\n text: string;\r\n metadata: IDictionary;\r\n }\r\n\r\n export interface IPerson extends IPermissable {\r\n id?: number;\r\n firstName?: string;\r\n lastName?: string;\r\n fullName?: string;\r\n pictureUrl?: string;\r\n accountStatus?: AccountStatus;\r\n joinedOnDate?: string;\r\n isPersonContact?: boolean;\r\n isOrganisationContact?: boolean; \r\n isUser?: boolean;\r\n assessmentSummaries?: ViewModels.Risk.AssessmentSummary[];\r\n phoneNumbers?: IPhoneNumber[];\r\n email?: string;\r\n job?: string;\r\n organisationId?: number;\r\n organisationName?: string;\r\n address?: IAddress;\r\n isSelected?: boolean;\r\n emails?: string[]; \r\n organisation?: Models.IOrganisation;\r\n taxProfile?: Models.IPersonTaxProfile;\r\n candidateType?: Models.CandidateType;\r\n\r\n types?: AgreementPersonType[];\r\n contractIssueEmail?: IEmail;\r\n phoneNumber?: Models.IPhoneNumber; \r\n }\r\n\r\n export interface IRiskAssessmentStatus {\r\n id?: string;\r\n text?: string;\r\n }\r\n\r\n export type CandidateType = \"Ltd\" | \"Paye\" | \"None\";\r\n\r\n export interface IDropdownItem {\r\n beforeText?: string;\r\n icon?: string;\r\n color?: string;\r\n text: string;\r\n value: any;\r\n type?: string;\r\n indent?:boolean;\r\n }\r\n\r\n export interface IRadioItem {\r\n value?: string;\r\n label?: string;\r\n description?: string;\r\n icon?: string;\r\n iconColor?: string;\r\n isSelected?: boolean;\r\n }\r\n\r\n export interface IDropdownItemNoIcon {\r\n icon?: string;\r\n color?: string;\r\n text: string;\r\n value: any;\r\n }\r\n\r\n export interface IOrganisationListItemModel extends IOrganisationAssessment {\r\n\r\n organisationId: number;\r\n organisationName: string;\r\n isSelected: boolean;\r\n status: OrganisationAccountStatus;\r\n website?: string;\r\n pictureUrl?: string;\r\n tradingAs?: string;\r\n subsidiaryOf?: string;\r\n flags?: string[];\r\n }\r\n\r\n export interface IOrganisationAssessment {\r\n assessmentStatus: Enums.AssessmentStatus;\r\n assessmentType: Enums.AssessmentType;\r\n assessmentFlags: Enums.AssessmentRiskFlag[];\r\n }\r\n\r\n export interface IUploadedFile {\r\n lastModified: number;\r\n lastModifiedDate: Date;\r\n name: string;\r\n size: number;\r\n type: string;\r\n webkitRelativePath: string;\r\n mode: string;\r\n submissionStatus: string;\r\n }\r\n\r\n export interface IPersonTaxProfile {\r\n personId?: number;\r\n nationalInsuranceNumber: string;\r\n dateOfBirth: string;\r\n gender?: any;\r\n uniqueTaxpayerReference?: string;\r\n id?: number;\r\n status?: any;\r\n canAction?: boolean;\r\n }\r\n\r\n export interface IPersonSettingsTaxProfile {\r\n id: number;\r\n dateOfBirth: string;\r\n nationalInsuranceNumber: string;\r\n organisationName: string;\r\n }\r\n\r\n export interface IPersonSettingsMergedTaxProfiles {\r\n nationalInsuranceNumbers: Array<{\r\n taxProfiles: IPersonSettingsTaxProfile[];\r\n number: string;\r\n addedBy: string[];\r\n }>;\r\n dateOfBirths: Array<{\r\n taxProfiles: IPersonSettingsTaxProfile[];\r\n date: string;\r\n addedBy: string[];\r\n }>;\r\n }\r\n\r\n export interface IOrganisationWebAddress extends IFacet{\r\n linkUrl: string;\r\n index?: number;\r\n id: number;\r\n }\r\n\r\n export type UserType = \"Candidate\" | \"Client\" | \"Sonovate\";\r\n\r\n export interface ISignedInUser { //TODO: Create new model for user in new context (optionals?)\r\n token: string;\r\n id: number;\r\n personId: number;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n imageUrl: string;\r\n languageCode: string;\r\n organisationId: number;\r\n organisationName: string;\r\n permissions?: ISignedInUserPermissions;\r\n roles?: ISignedInUserRoles;\r\n settings: ISignedInUserSettings;\r\n userType: UserType;\r\n shortName: string;\r\n migrationDate?: string;\r\n }\r\n\r\n export interface ISignedInUserSettings{\r\n language: string;\r\n countryCode: string;\r\n timeZone: string;\r\n dateFormat: string;\r\n timeFormat: string;\r\n weekStart: DayOfWeek;\r\n subscriptions?: string[];\r\n }\r\n\r\n export interface IUserSignupDetails {\r\n firstName: string;\r\n lastName: string;\r\n password: string;\r\n email: string;\r\n signUpToken: string;\r\n oAuthProvider: Sonovate.Enums.OAuthProvider;\r\n oAuthId: string;\r\n jobTitle: string;\r\n pictureUrl: string;\r\n location: string;\r\n acceptTermsAndConditions: boolean;\r\n }\r\n\r\n export interface IProfileDropdownItem {\r\n icon: string;\r\n text: string;\r\n }\r\n\r\n export interface ISwitchItem {\r\n icon: string;\r\n text: string;\r\n value: string;\r\n }\r\n\r\n\r\n export interface ITradingStyle {\r\n organisationId: number;\r\n tradingStyleName: string;\r\n status: any;\r\n pictureUrl: string;\r\n websiteUrl: string;\r\n isDeleted?: boolean;\r\n pictureFile?: any;\r\n id?: number;\r\n canAction?: boolean;\r\n }\r\n\r\n export interface IStartOfWeekDay {\r\n id: string;\r\n text: string;\r\n }\r\n\r\n export interface IChecklistItem {\r\n name: string;\r\n description?: string;\r\n value: any;\r\n }\r\n\r\n export interface IStatus {\r\n id?: string;\r\n text?: string;\r\n color?: string;\r\n icon?: string;\r\n }\r\n\r\n export interface IStatusStyle {\r\n color?: string;\r\n icon?: string;\r\n id?: string;\r\n }\r\n\r\n export interface IStatusItem {\r\n id: string;\r\n text: string;\r\n color?: string;\r\n icon?: string\r\n }\r\n\r\n export interface IDocument {\r\n id?: number;\r\n documentType: string;\r\n documentName: string;\r\n documentUrl?: string;\r\n uploadedByName?: string;\r\n uploadedById?: number;\r\n uploadedDate?: string;\r\n file?: File;\r\n }\r\n \r\n export interface ISubnavMenu {\r\n localisedText: string;\r\n id: string;\r\n title?: boolean;\r\n callback?: any;\r\n isShowing?: boolean;\r\n }\r\n \r\n export interface IFlags{\r\n flag: String\r\n }\r\n\r\n export interface INote {\r\n id: number;\r\n text: string;\r\n authorName?: string;\r\n authorId?: number; \r\n createdDate?: string;\r\n }\r\n\r\n export interface IActivityStreamItem {\r\n itemType: activityStreamListItemType;\r\n dateTime: string;\r\n document?: IDocument;\r\n note?: INote;\r\n }\r\n \r\n export interface IDocumentType {\r\n id: string;\r\n text: string;\r\n }\r\n\r\n export interface ITimesheetStatus {\r\n id: string;\r\n text: string;\r\n displayColor?: string;\r\n displayIcon?: string;\r\n internalId?: string;\r\n scope?: string;\r\n }\r\n\r\n export interface IPersonStatus {\r\n id: string;\r\n text: string;\r\n displayColor?: string;\r\n displayIcon?: string;\r\n internalId?: string;\r\n scope?: string;\r\n }\r\n \r\n export interface IServiceAgreementDocumentType {\r\n id: string;\r\n text: string;\r\n }\r\n \r\n export type activityStreamFilterType = \"all\" | \"document\" | \"note\";\r\n\r\n export type ActivityStreamFilterType = \"all\" | \"document\" | \"note\";\r\n\r\n export interface IChangeStatusModel {\r\n id: number;\r\n note: string;\r\n }\r\n\r\n export interface IChangedStatusModel {\r\n id: number;\r\n status: string;\r\n }\r\n\r\n export interface IOrganisation {\r\n id?: number;\r\n externalId?: string;\r\n organisationName?: string;\r\n classification?: Sonovate.Enums.OrganisationClassification,\r\n status?: Sonovate.Enums.OrganisationStatusType;\r\n pictureUrl?: string;\r\n assessments?: IAssessment[];\r\n address?: IAddress;\r\n registrationNumber?: string;\r\n isProvisional?: boolean;\r\n customerServicesPhoneNumber?: string;\r\n customerServicesEmail?: string;\r\n website?: string;\r\n // not sure what this is ?\r\n currencyCode?: string;\r\n }\r\n\r\n export interface IProposal {\r\n permissions: IProposalPermissions;\r\n id?: number;\r\n status: Enums.AgreementStatus;\r\n reference?: string;\r\n type?: Sonovate.Enums.AgreementType;\r\n customer?: IProposalOrganisation;\r\n createdOn?: string;\r\n fundingModel?: Sonovate.Enums.AgreementType;\r\n tariffs?: ITieredTariffPlan[];\r\n directors?: IDirector[];\r\n issuedToDirectorIds?: number[];\r\n createdByPersonId?: number;\r\n createdByPersonName?: string;\r\n salesPersonId?: number;\r\n salesPersonName?: string;\r\n customerTerms?: Models.ITermsTemplate;\r\n baseTariff?: Models.ITieredTariffPlan;\r\n }\r\n\r\n export interface IProposalPermissions {\r\n canIssueProposal: boolean;\r\n canApproveProposal: boolean;\r\n canReissueProposal: boolean;\r\n canApproveOnboardingDocument: boolean;\r\n canDraftProposal: boolean;\r\n canSubmitProposal: boolean;\r\n canViewProposal: boolean;\r\n canViewProposals: boolean;\r\n }\r\n \r\n export interface ITieredTariffPlan {\r\n id: number;\r\n tariffPlanId?: number;\r\n tariffType?: Enums.TariffType;\r\n currencyCode?: string;\r\n period?: Enums.ProposalTariffPeriod;\r\n flatRate?: number;\r\n index?: number;\r\n fees?: Models.ITariffPlanFeeModel[];\r\n }\r\n\r\n export interface ITariffPlanFeeModel {\r\n error?: string;\r\n id: number;\r\n low?: number;\r\n high?:any;\r\n rate?: number;\r\n }\r\n \r\n export interface ITariffPlanFeeViewModel {\r\n id: number;\r\n low: number;\r\n high: number;\r\n rate: number;\r\n }\r\n\r\n export interface IProposalOrganisation {\r\n id?: number;\r\n externalId?: number;\r\n registeredId?: string;\r\n name: string;\r\n registrationNumber: string;\r\n address?: IAddress;\r\n }\r\n\r\n export interface IDirector {\r\n firstName?: string;\r\n lastName: string;\r\n personId: number;\r\n fullName?: string;\r\n accountStatus?: Enums.AccountStatus;\r\n dateOfBirth?: string;\r\n emailAddress?: string;\r\n address?: IAddress;\r\n indexInDirectors?: number;\r\n isSelected?: boolean;\r\n issueTo?: boolean;\r\n }\r\n\r\n export interface IDateInput {\r\n DD: string;\r\n MM: string;\r\n YYYY: string;\r\n }\r\n\r\n export interface IProposalSearchResult {\r\n proposalId: string;\r\n organisationName : string;\r\n proposalStatus: string;\r\n createdOn : string;\r\n issuedOn?: string;\r\n issuedBy: string;\r\n issuedOnBehalfOf?: string;\r\n }\r\n\r\n export interface IDateRange {\r\n startDate: string;\r\n endDate: string;\r\n }\r\n \r\n export interface IFilter {\r\n fieldName: string;\r\n operator: filterOperator;\r\n value: any;\r\n }\r\n\r\n export interface IAssessment {\r\n assessmentId?: number;\r\n assessmentType?: Enums.AssessmentType;\r\n assessmentStatus?: Enums.AssessmentStatus;\r\n riskFlags?: IFlagsAndNote;\r\n }\r\n\r\n export interface IFlagsAndNote {\r\n flags?: Enums.AssessmentRiskFlag[]\r\n note?: string;\r\n }\r\n \r\n export interface ITemplatePageView {\r\n pageId: number,\r\n pageNumber?: number;\r\n content: string; \r\n }\r\n \r\n export interface ITemplateSection {\r\n sectionId?: number; \r\n name?: string;\r\n canEdit?: boolean;\r\n pages?: ITemplatePageView[]; \r\n $file?: File;\r\n hasFile?(): boolean; \r\n }\r\n \r\n export interface ITermsTemplate extends IBaseTerms { \r\n sections?: ITemplateSection[];\r\n scope?: Enums.TemplateScope;\r\n customerName?: string;\r\n title?: string;\r\n }\r\n\r\n export interface IBaseTerms {\r\n templateId?: number;\r\n title?: string;\r\n lastUsed?: string;\r\n isDefault?: boolean;\r\n url?: string;\r\n }\r\n\r\n export type TermsType = \"Template\" | \"SignedPdf\" | \"UnsignedPdf\"; \r\n\r\n export interface IAgreementPerson {\r\n id: number;\r\n accountStatus: Enums.AccountStatus;\r\n address: IAddress;\r\n assessments: IAssessment[];\r\n contractIssueEmail: string;\r\n emails: Array;\r\n firstName: string;\r\n lastName: string;\r\n fullName: string;\r\n phoneNumber?: string;\r\n email?: string;\r\n types: AgreementPersonType[];\r\n }\r\n\r\n export type AgreementPersonType = \"TimesheetAuthoriser\" | \"InvoiceContact\" | \"ContractSignatory\";\r\n\r\n export interface IEmail {\r\n emailAddress?: string;\r\n id?: number;\r\n }\r\n\r\n export interface IPdfTerms extends IBaseTerms {\r\n $file: File;\r\n }\r\n\r\n export interface IOrganisationSearchItem {\r\n name: string;\r\n id: number;\r\n parentOrganisationId: number;\r\n tradingAs: string;\r\n organisationStatus: Sonovate.Enums.OrganisationStatusType;\r\n pictureUrl: string;\r\n assessments: IAssessment[];\r\n }\r\n\r\n export interface IPersonSearchItem {\r\n id: number;\r\n fullName: string;\r\n firstName: string;\r\n lastName: string;\r\n shortName: string;\r\n email: string;\r\n pictureUrl: string;\r\n organisationId: number;\r\n organisationName: string;\r\n accountStatus: Sonovate.Enums.AccountStatus;\r\n candidateRiskStatus: string,\r\n clientRiskStatus: string,\r\n isUser: boolean;\r\n isFlagged: boolean;\r\n }\r\n\r\n export type filterOperator = \"eq\" | \"neq\" | \"gt\" | \"lt\" | \"gte\" | \"lte\";\r\n\r\n export type activityStreamListItemType = \"document\" | \"note\";\r\n\r\n export type submissionStatus = \"beforeSubmission\" | \"submitting\" | \"submissionSuccess\" | \"submissionError\";\r\n \r\n export type organisationStatus = \"None\" | \"Proposed\" | \"Verified\" | \"Rejected\";\r\n \r\n export type personInviteType = \"AddAsAContact\" | \"InviteToSonovate\";\r\n export type contractorType = \"PAYE\" | \"LTD\";\r\n\r\n export type contractIssueType = \"Automatic\" | \"Manual\";\r\n\r\n export interface IPermissable {\r\n permissions?: IDictionary\r\n }\r\n\r\n export interface IRole {\r\n name: string;\r\n description: string;\r\n id: number;\r\n }\r\n\r\n export interface visibleIslands {\r\n client: boolean;\r\n candidate: boolean;\r\n job: boolean;\r\n serviceRates: boolean;\r\n invoices: boolean;\r\n funding: boolean,\r\n contracts: boolean,\r\n live: boolean,\r\n candidateContractorType: boolean;\r\n }\r\n\r\n export interface completedAssignmentSections {\r\n client: boolean;\r\n candidate: boolean;\r\n job: boolean;\r\n serviceRates: boolean;\r\n invoices: boolean;\r\n funding: boolean,\r\n contracts: boolean,\r\n live: boolean,\r\n candidateContractorType: boolean;\r\n }\r\n\r\n export interface ProposalSections {\r\n details: boolean;\r\n contracts: boolean;\r\n live: boolean;\r\n }\r\n\r\n\r\n export interface IAssignment {\r\n id?: number;\r\n hasExtensions?: boolean;\r\n canExtend?: boolean;\r\n status?: Sonovate.Enums.AgreementStatus,\r\n submissionDate?: string;\r\n reference?: string;\r\n assessments?: Models.IAssessment[];\r\n saleMadeByConsultantName?: string;\r\n saleMadeByConsultant?: Models.IPerson;\r\n tradingStyleOfAgency?: number;\r\n tradingStyles?: ITradingStyle[];\r\n candidate?: Models.ICandidate;\r\n candidateContractorType?: contractorType;\r\n candidateLtd?: Models.IOrganisation;\r\n candidatePaye?: {\r\n nationalInsurance: string,\r\n dateOfBirth: string\r\n };\r\n jobTitle?: string;\r\n jobLocation?: Models.IAddress;\r\n jobAssignment?: {\r\n startDate: string,\r\n endDate: string\r\n };\r\n serviceRatesCurrency?: string;\r\n serviceRates?: Models.IAssignmentServiceRate[];\r\n clientInvoiceFrequency?: Enums.Frequency;\r\n candidateInvoiceFrequency?: Enums.Frequency;\r\n invoiceClientPaymentTerms?: number;\r\n contractIssueType?: contractIssueType;\r\n clientTerms?: Models.ITermsTemplate;\r\n candidateTerms?: Models.ITermsTemplate;\r\n\r\n clientContractSignatories?: Models.IAgreementPerson[];\r\n timesheetAuthorisers?: Models.IAgreementPerson[];\r\n invoiceContacts?: Models.IAgreementPerson[];\r\n clientContacts?: Models.IAgreementPerson[];\r\n client?: Models.IOrganisation;\r\n\r\n clientPdfTerms?: File;\r\n candidatePdfTerms?: File;\r\n clientTermsType?: TermsType;\r\n candidateTermsType?: TermsType;\r\n agency?: Models.IOrganisation;\r\n cancelledOn?: string;\r\n cancelledBy?: string;\r\n canFinishEarly?: boolean;\r\n }\r\n\r\n export interface IAssignmentProgress {\r\n total: number;\r\n completed: number;\r\n inProgress: number;\r\n }\r\n\r\n export interface ICheckpoint {\r\n id: string;\r\n onClick(): void;\r\n isActive(): boolean;\r\n isComplete(): boolean;\r\n isPending(): boolean;\r\n passive?: boolean;\r\n }\r\n\r\n export type ICheckpointStatus = \"Active\" | \"Passive\" | \"Complete\" | \"Incomplete\" | \"Pending\";\r\n\r\n export interface IAssignmentExtension {\r\n id: number;\r\n reference: string;\r\n startDate: string;\r\n endDate: string;\r\n }\r\n\r\n export interface ICalculateExposure {\r\n timesheetAssignmentId: number;\r\n rateUsedName: string;\r\n rateUsed: number;\r\n expectedQuantity: number;\r\n includeVat: boolean;\r\n }\r\n\r\n export interface IExposure {\r\n exposure: number;\r\n totalExposure: number;\r\n creditRequired: number;\r\n timesheetAssignmentId: number;\r\n rateUsedName: string;\r\n expectedQuantity: number;\r\n includeVat: boolean;\r\n }\r\n\r\n export interface ITimesheetAuthoriser extends IPerson {\r\n address?: IAddress;\r\n phoneNumber?: string;\r\n emailAddress?: string; \r\n }\r\n\r\n export interface ICandidate extends IPerson {\r\n address?: IAddress;\r\n phoneNumber?: string;\r\n emailAddress?: string;\r\n }\r\n\r\n export interface IAssignmentServiceRateCharge {\r\n ammount: number,\r\n unit: string,\r\n unitText: string\r\n }\r\n\r\n export interface IAssignmentServiceRate {\r\n id?: number;\r\n trackIndex?: string;\r\n name: string;\r\n clientCharge: IAssignmentServiceRateCharge;\r\n candidatePay: IAssignmentServiceRateCharge;\r\n }\r\n\r\n export interface ISignedOnboardingDocumentSubmission {\r\n id: number;\r\n file: File;\r\n model: IUpdateOnboardingRequest;\r\n }\r\n\r\n interface IUpdateOnboardingRequest {\r\n id: number;\r\n onboardingDocumentType: Enums.OnboardingDocumentType;\r\n selectedTemplateId?: number;\r\n signatories?: Models.IOnboardingSignatory[];\r\n }\r\n\r\n export interface IOnboardingDocument {\r\n id?: number;\r\n status?: IOnboardingDocumentStatus;\r\n name?: string;\r\n issuedBy?: string;\r\n issuedOn?: string;\r\n signatories?: IOnboardingSignatory[];\r\n showPreview?: boolean;\r\n type?: TermsType;\r\n selectedTemplate?: Models.ITermsTemplate;\r\n uploadedFileName?: string;\r\n selectedPdfToUpload?: File;\r\n signingUrl?: string;\r\n permissions?: IOnboardingDocumentPermissions;\r\n showSigningDocument?: boolean;\r\n }\r\n\r\n export interface IOnboardingDocumentPermissions {\r\n canAuthoriseContractTerms?: boolean;\r\n canAuthoriseOnboardingRequest?: boolean;\r\n } \r\n\r\n export type IOnboardingDocumentStatus = \"Draft\" | \"Issued\" | \"Cancelled\" | \"Failed\" | \"Rejected\" | \"Approved\" | \"Complete\" | \"Superceded\"; \r\n\r\n export interface IOnboardingSignatory extends IPerson {\r\n companyName?: string;\r\n order?: number;\r\n signatureStatus?: IOnboardingSignatureStatus;\r\n personId?: number;\r\n dateOfBirth?: string;\r\n nationalInsuranceNumber?: string;\r\n address?: IAddress;\r\n assessments?: IAssessment[];\r\n }\r\n\r\n export type IOnboardingSignatureStatus = \"Unread\" | \"Read\" | \"Rejected\" | \"Signed\";\r\n\r\n export interface IClient extends IOrganisation {\r\n id?: number;\r\n organisationId?: number;\r\n address?: any;\r\n }\r\n\r\n export interface IAddPerson {\r\n id?: number;\r\n organisationId: number;\r\n firstName?: string;\r\n lastName?: string;\r\n accountStatus?: AccountStatus;\r\n job?: string;\r\n email?: string;\r\n phoneNumber?: IPhoneNumber;\r\n sendInvite?: boolean;\r\n roles?: number[]|string[];\r\n }\r\n \r\n export interface ITimesheetExpense {\r\n id: number,\r\n date: string,\r\n evidenceImages?: IImage[];\r\n selectedExpenseTypeId?: number;\r\n selectedExpenseTypeText: string;\r\n selectedExpenseRateLabel: string;\r\n netAmount?: string;\r\n vatAmount?: string;\r\n rateQuantity?: string;\r\n rateLabel: string;\r\n descriptionText: string;\r\n isRate: boolean;\r\n grossAmount: string;\r\n }\r\n\r\n export interface IImage {\r\n $file?: File;\r\n url?: string;\r\n type?: string;\r\n }\r\n\r\n export interface IFile {\r\n $file: File;\r\n name: string;\r\n }\r\n\r\n export interface IExpenseTypeDropdownItem {\r\n value: number;\r\n text: string;\r\n isRateBased: boolean;\r\n rateBasedChargeLabel: string;\r\n }\r\n\r\n export interface IExpenseType {\r\n adHocTypeId: number,\r\n label: string,\r\n isRate?: boolean,\r\n serviceRate?: IExpenseServiceRate\r\n }\r\n\r\n export interface IExpenseServiceRate {\r\n subUnits: ISubUnit[],\r\n type: string,\r\n serviceRateId: string,\r\n label: string,\r\n candidatePayRate: number,\r\n clientChargeRate: number,\r\n unitOfMeasure: IExpenseUnitOfMeasure\r\n }\r\n\r\n export interface IExpenseUnitOfMeasure {\r\n type: string,\r\n unitOfMeasureLabel: string,\r\n unitOfMeasureTextId: string\r\n }\r\n\r\n export interface ITimesheetFlag {\r\n id: ITimesheetFlagType;\r\n severity: Sonovate.Enums.FlagSeverity;\r\n }\r\n\r\n export interface ITimesheetSearchResult {\r\n permissions: ITimesheetPermissions;\r\n reference: string;\r\n agencyName: string,\r\n agencyId: number,\r\n clientName: string,\r\n clientID: string,\r\n candidateName: string,\r\n candidateId: string,\r\n timesheetStatus: string,\r\n timesheetAssignmentId: number,\r\n timesheetId: number,\r\n timesheetStatusLabel: string;\r\n hasIssues: string,\r\n submissionMessage: string,\r\n expenseGrossTotal: string,\r\n currencyCode?: string;\r\n invoiceAmount: number,\r\n workTotals: ITimesheetListingWorkTotal[],\r\n relevantActionDate: string,\r\n deliveryPeriodStartDate: string,\r\n deliveryPeriodEndDate: string,\r\n hasIrregularActivity?: boolean;\r\n isManaged: boolean;\r\n version: number;\r\n jobTitle: string;\r\n jobReference: string;\r\n flags: ITimesheetFlag[];\r\n actionsInProgress: IListingActionsInProgress;\r\n correctedFrom?: string;\r\n }\r\n\r\n export interface ITimesheetSearchResultObject {\r\n results: ITimesheetSearchResult[];\r\n context: string;\r\n totalResults: number;\r\n }\r\n\r\n export interface IListingActionInProgressError {\r\n timesheetId: number;\r\n error: string;\r\n }\r\n\r\n export interface ITimesheetPermissions {\r\n canAuthoriseWork: boolean,\r\n canSubmitTimesheet: boolean\r\n }\r\n\r\n export interface ISignedInUserPermissions {\r\n isSonovateAdmin: boolean;\r\n isCandidate: boolean;\r\n isClientAuthoriser: boolean;\r\n }\r\n\r\n export interface ISignedInUserRoles {\r\n isSuperUser: boolean;\r\n isSonovateAdmin: boolean;\r\n isCandidate: boolean;\r\n isClientAuthoriser: boolean;\r\n }\r\n\r\n export interface ITimesheetListingWorkTotal {\r\n name: string,\r\n quantity: string,\r\n unitTextId: string,\r\n unitLabel: string\r\n }\r\n\r\n export interface INotification {\r\n id: number;\r\n title: string;\r\n body: string;\r\n dateTime: string;\r\n isRead: boolean;\r\n isShowingAsRead: boolean;\r\n link: {\r\n id: string;\r\n params: Object;\r\n };\r\n }\r\n\r\n export interface IBankAccount {\r\n accountName?: string;\r\n sortCode?: string;\r\n accountNumber?: string;\r\n bankBranchName?: string;\r\n isoCountryCode?: string;\r\n iban?: string;\r\n bic?: string;\r\n currencyCode?: string;\r\n id?: number;\r\n isTrustAccount?: boolean;\r\n status?: Sonovate.Enums.FacetStatusType;\r\n canAction?: boolean;\r\n }\r\n\r\n export interface IResetPassword {\r\n emailAddress: string;\r\n }\r\n\r\n export interface IPersonProfile {\r\n id: number;\r\n firstName: string;\r\n lastName: string;\r\n fullName: string;\r\n primaryEmail: string;\r\n pictureUrl: string;\r\n taxProfiles: IPersonSettingsTaxProfile[];\r\n phoneNumbers: IPersonSettingsPhoneNumber[]; \r\n newEmail: string,\r\n newEmailSentOn: string\r\n }\r\n\r\n export type ITimesheetActions = \"Sign\" | \"Reject\" | \"Resubmit\" | \"Submit\" | \"Copy last timesheet\" | \"Dismiss\" | \"Edit\" | \r\n \"Delete\" | \"Clear\" | \"Take control\" | \"Approve\" | \"Decline\" | \"Reopen\" | \"Add timesheet\" | \r\n \"Change authoriser\" | \"Download\";\r\n\r\n export type IExpenseEvidenceType = \"none\"|\"image\"|\"pdf\";\r\n\r\n export type IPasswordStrength = 'Weak' | 'Fair' | 'Good' | 'Strong';\r\n\r\n export type ICandidateStatus = 'Open' |'AwaitingSigning' |'Dismissed' | 'Signed' | 'Rejected' | 'DueToBePaid' | 'Declined' | 'Paid';\r\n \r\n export type IClientStatus = 'RequiresSigning' | 'Signed' | 'Rejected' | 'DueToBeInvoiced' | 'Declined' | 'Invoiced' | 'DueToBeInvoiced';\r\n\r\n export type ITimesheetStatuses = Sonovate.Enums.TimesheetStatus;\r\n\r\n export type TermChoiceType = \"upload\" | \"template\";\r\n\r\n export type ITimesheetFlagType = \"OverlappingTime\" | \"MultipleTimesheetsInPeriod\" | \"ExpensesOnTimesheet\";\r\n export type TimesheetWorkQuantityType = \"Hour\" | \"Day\" | \"Unit\" | \"UnitSet\";\r\n\r\n export interface ISearchResult {\r\n totalResults?: number;\r\n collection?: T[];\r\n }\r\n}\r\n\r\n","/// \r\n\r\nmodule Sonovate {\r\n\r\n export class PageStateQueryBuilder {\r\n\r\n private static filterPartSeparator: string = \":\";\r\n static get separator(): string { return \"_\" };\r\n\r\n static buildEndpointFromState(baseEndpoint: string, state?: any): string {\r\n \r\n var queryParams: string[] = [];\r\n\r\n if (!state) {\r\n return baseEndpoint;\r\n }\r\n \r\n if (state.q) {\r\n queryParams.push(`q=${state.q}`);\r\n }\r\n \r\n if (!R.isNil(state.offset) && state.size) {\r\n queryParams.push(`offset=${state.offset}`); \r\n queryParams.push(`size=${state.size}`);\r\n }\r\n\r\n if (state.filters && state.filters.length > 0) {\r\n var filter = PageStateQueryBuilder.filtersToString(state.filters);\r\n queryParams.push(`filter=${filter}`);\r\n }\r\n\r\n if (state.order) {\r\n var order = PageStateQueryBuilder.orderingToString(state.order);\r\n queryParams.push(`order=${order}`);\r\n }\r\n\r\n if (queryParams.length > 0) {\r\n return `${baseEndpoint}?${queryParams.join(\"&\")}`;\r\n }\r\n\r\n return baseEndpoint;\r\n }\r\n\r\n static parseFiltersFromQuerystring(raw: string): any[] {\r\n var result: IFilter[] = [];\r\n\r\n if (!raw) {\r\n return result;\r\n }\r\n \r\n var filters = raw.split(PageStateQueryBuilder.separator);\r\n \r\n filters.forEach(filter => {\r\n var filterParts = filter.split(PageStateQueryBuilder.filterPartSeparator);\r\n\r\n if (filterParts.length === 3) {\r\n \r\n var item: any = {\r\n fieldName: filterParts[0],\r\n operator: filterParts[1],\r\n value: filterParts[2]\r\n };\r\n\r\n result.push(item);\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n\r\n static filtersToString(filters: any): string {\r\n var filterValues: string[] = [];\r\n \r\n var sep: string = PageStateQueryBuilder.filterPartSeparator;\r\n\r\n filters.forEach(filter => {\r\n // generates name:eq:value style filters\r\n // see https://sonovate.atlassian.net/wiki/display/ADP/Collection+Resources#CollectionResources-Filtering\r\n filterValues.push(`${filter.fieldName}${sep}${filter.operator.toString()}${sep}${filter.value}`);\r\n });\r\n\r\n return filterValues.join(PageStateQueryBuilder.separator);\r\n }\r\n\r\n static orderingToString (order: IOrdering): string {\r\n if (order) { \r\n return order.direction ? `${order.fieldName}-${order.direction}` : order.fieldName;\r\n }\r\n return '';\r\n }\r\n\r\n static queryToString (query: IPageState): string {\r\n return this.filtersToString(query.filters) + '&' + this.orderingToString(query.order);\r\n }\r\n\r\n static parseOrderingFromQuerystring(raw: string): IOrdering { \r\n if (!raw) {\r\n return null;\r\n }\r\n\r\n var orderParts = raw.split('-');\r\n\r\n if (orderParts.length === 1) {\r\n return {\r\n fieldName: orderParts[0]\r\n };\r\n }\r\n else if (orderParts.length === 2) {\r\n return {\r\n fieldName: orderParts[0],\r\n direction: <'asc' | 'desc'>(orderParts[1] || null)\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n \r\n export class BaseController {\r\n \r\n protected subscriptions: Rx.IDisposable[];\r\n protected events: Function[];\r\n\r\n constructor(protected $scope: ng.IScope) {\r\n this.subscriptions = [];\r\n this.events = [];\r\n\r\n $scope.$on(\"$destroy\", () => {\r\n\r\n this.subscriptions.forEach(sub => {\r\n sub.dispose();\r\n });\r\n\r\n this.events.forEach(f => {\r\n f();\r\n });\r\n });\r\n }\r\n }\r\n\r\n}","// /// \r\n\r\n// module Sonovate.Core {\r\n \r\n// export class snTimesheetWorkBaseController extends Core.BaseController {\r\n \r\n// selectedDates: string[] = [];\r\n// currentDeliveryPeriod: Models.IDeliveryPeriod;\r\n// isFormValid: boolean;\r\n// isQuantityInvalid: boolean;\r\n// mode: string;\r\n// isWobbling: boolean;\r\n// isLoading: boolean;\r\n// entry: Models.ITimesheetEntry;\r\n// localisedText: IDictionary = {};\r\n// serviceRates: Models.IDropdownItem[];\r\n// isSelectedDatesInvalid: boolean;\r\n// activeTimesheet: Models.ITimesheet;\r\n// assignmentNonWorkLabel: string = '';\r\n// assignmentNonWorkUnit: string = \"Day\";\r\n// errors: IDictionary;\r\n// addWorkHours: string;\r\n// addWorkMinutes: string;\r\n// addBreakHours: string;\r\n// addBreakMinutes: string;\r\n// showConflictError: boolean;\r\n// timesheetAssignmentId: number;\r\n// nonWorkSubUnits: Models.IDropdownItem[];\r\n// isAdding: boolean;\r\n// quantityLabel: string = '';\r\n// showAdding: boolean;\r\n\r\n// private workEvents: Core.Events.TimesheetEditWorkEvents & Core.Events.TimesheetAddWorkEvents;\r\n\r\n// constructor(\r\n// protected $scope: ng.IScope,\r\n// protected $state: ng.ui.IStateService,\r\n// protected localiser: ILocaliserService,\r\n// protected TimesheetStateUpdates: Rx.BehaviorSubject,\r\n// protected $timeout: ng.ITimeoutService,\r\n// protected TimesheetEvents: Core.Events.ITimesheetEvents\r\n// ) {\r\n// super($scope);\r\n// this.initLocalisation();\r\n// }\r\n\r\n// setWorkEvents (events) {\r\n// this.workEvents = events;\r\n// }\r\n\r\n// typeEndTime () {\r\n// this.workEvents.userIntents.typeEndTime.onNext(this.entry.endTime);\r\n// }\r\n\r\n// blurStartTime () {\r\n// this.workEvents.userIntents.blurStartTime.onNext(null);\r\n// }\r\n\r\n// blurEndTime () {\r\n// this.workEvents.userIntents.blurEndTime.onNext(null);\r\n// } \r\n\r\n// typeBreakHours() {\r\n// this.workEvents.userIntents.typeBreakHours.onNext(this.addBreakHours);\r\n// }\r\n\r\n// blurBreakHours() {\r\n// this.workEvents.userIntents.blurBreakHours.onNext(null);\r\n// }\r\n\r\n// typeBreakMinutes() {\r\n// this.workEvents.userIntents.typeBreakMinutes.onNext(this.addBreakMinutes);\r\n// }\r\n \r\n// blurBreakMinutes() {\r\n// this.workEvents.userIntents.blurBreakMinutes.onNext(null);\r\n// }\r\n\r\n// clearSelectedDates () {\r\n// this.workEvents.userIntents.clearSelectedDates.onNext(null);\r\n// }\r\n\r\n \r\n// typeHours() {\r\n// this.workEvents.userIntents.typeHours.onNext(this.addWorkHours);\r\n// }\r\n\r\n// blurHours() {\r\n// this.workEvents.userIntents.blurHours.onNext(null);\r\n// }\r\n\r\n// typeMinutes() {\r\n// this.workEvents.userIntents.typeMinutes.onNext(this.addWorkMinutes);\r\n// }\r\n \r\n// blurMinutes() {\r\n// this.workEvents.userIntents.blurMinutes.onNext(null);\r\n// }\r\n\r\n// typeQuantity (quantity) {\r\n// this.workEvents.userIntents.typeQuantity.onNext(quantity);\r\n// }\r\n\r\n// blurQuantity () {\r\n// this.workEvents.userIntents.blurQuantity.onNext(null);\r\n// }\r\n\r\n// setNonWorkUnitOfMeasure () {\r\n// this.workEvents.userIntents.setNonWorkUnitOfMeasure.onNext({\r\n// unit:this.assignmentNonWorkUnit,\r\n// label: this.assignmentNonWorkLabel\r\n// });\r\n// }\r\n\r\n// typeDescription () {\r\n// this.workEvents.userIntents.typeDescription.onNext(this.entry.description);\r\n// }\r\n\r\n// closeDescription () {\r\n// this.workEvents.userIntents.switchToQuantityView.onNext(null);\r\n// }\r\n\r\n// typeStartTime () {\r\n// this.workEvents.userIntents.typeStartTime.onNext(this.entry.startTime);\r\n// }\r\n\r\n// reloadPage(): void {\r\n// this.workEvents.userIntents.dismissError.onNext(null);\r\n// this.TimesheetEvents.userIntents.viewTimesheet.onNext(null);\r\n// this.TimesheetEvents.userIntents.getTimesheet.onNext({\r\n// timesheetId: this.activeTimesheet.timesheetId.toString(),\r\n// timesheetAssignmentId: this.timesheetAssignmentId.toString()\r\n// })\r\n// }\r\n\r\n// openDescription () {\r\n// this.workEvents.userIntents.switchToDescriptionView.onNext(null);\r\n// }\r\n\r\n// resetSavedState(): void {\r\n// this.workEvents.userIntents.dismissSuccess.onNext(null);\r\n// }\r\n \r\n// triggerWobble () {\r\n// \t\t\tthis.isWobbling = true;\r\n\r\n// \t\t\tthis.$timeout(() => {\r\n// \t\t\t\tthis.isWobbling = false;\r\n// \t\t\t}, 500);\r\n// }\r\n\r\n// submitEntry (): void {\r\n// const entry: Core.Events.ISubmitAddWorkUserIntent = {\r\n// timesheetId: this.activeTimesheet.timesheetId,\r\n// selectedDates: this.selectedDates,\r\n// entry: this.entry,\r\n// isFormValid: this.isFormValid,\r\n// version: this.activeTimesheet.version,\r\n// isAdding: this.isAdding\r\n// };\r\n\r\n// this.workEvents.userIntents.submitEntry.onNext(entry);\r\n// }\r\n\r\n// getWorkLabel (id) : string {\r\n// let selected = \"\";\r\n// this.serviceRates.filter((serviceRate) => {\r\n// if(serviceRate.value == id){\r\n// selected = serviceRate.text;\r\n// }\r\n// })\r\n// return selected;\r\n// }\r\n \r\n// triggerAdd () {\r\n// this.$timeout(() => {\r\n// if (this.isAdding) {\r\n// this.showAdding = true;\r\n// }\r\n// }, 500);\r\n// }\r\n\r\n// private initLocalisation () {\r\n// \t\t\tthis.localiser\r\n// \t\t\t\t.get([\"general\", \"timesheets\"])\r\n// \t\t\t\t.safeApply(this.$scope,\r\n// \t\t\t\t\t(data: {general: IDictionary, timesheets: IDictionary}) => {\r\n// \t\t\t\t\t\tthis.localisedText = R.merge(data.general, data.timesheets);\r\n// \t\t\t\t\t})\r\n// \t\t\t\t\t.subscribe();\r\n// }\r\n// }\r\n\r\n// }","/// \r\n\r\nmodule Sonovate.ChangeEmail {\r\n \r\n export class ChangeEmailBaseController extends Core.BaseController {\r\n \r\n static $inject = [\r\n \"$scope\",\r\n \"$state\",\r\n \"signedInUserStore\",\r\n \"ChangeEmailEvents\",\r\n \"PersonSettingsProfileStateUpdates\"\r\n ];\r\n\r\n userId: number;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected signedInUserStore: ISignedInUserStore,\r\n protected ChangeEmailEvents: Core.Events.ChangeEmailEvents,\r\n protected PersonSettingsProfileStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope);\r\n this.initSigninStateUpdatesSubscription();\r\n this.initEmailRequestSubscriptions();\r\n }\r\n\r\n private initEmailRequestSubscriptions() {\r\n this.subscriptions.push(\r\n\t\t\t\tthis.ChangeEmailEvents.httpResults.confirmEmailChangeHttpRequestSuccessful\r\n .merge(this.ChangeEmailEvents.httpResults.cancelEmailChangeHttpRequestSuccessful)\r\n .merge(this.ChangeEmailEvents.httpResults.confirmEmailChangeHttpRequestFailure)\r\n .merge(this.ChangeEmailEvents.httpResults.cancelEmailChangeHttpRequestFailure)\r\n .subscribe(state => {\r\n\t\t\t\t\tthis.$state.go(\"sonovate.PersonSettings\", {personSettingsId: this.userId});\r\n\t\t\t\t})\r\n\t\t\t);\r\n } \r\n\r\n private initSigninStateUpdatesSubscription() {\r\n\t\t\tthis.subscriptions.push(\r\n\t\t\t\tthis.signedInUserStore.subject.subscribe(state => {\r\n\t\t\t\t\tthis.userId = state.personId;\r\n\t\t\t\t})\r\n\t\t\t);\r\n }\r\n }\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n class BaseListingItemController { \r\n \r\n }\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n export class BaseListController extends BaseController {\r\n\r\n query: IPageState;\r\n pageSize: number;\r\n filters: IFilter[];\r\n\r\n constructor(protected $scope: ng.IScope, protected $stateParams: ng.ui.IStateParamsService) {\r\n super($scope);\r\n this.pageSize = 7;\r\n this.filters = [];\r\n }\r\n\r\n protected buildQuery(): void {\r\n this.query = {\r\n q: this.$stateParams[\"q\"] || \"\",\r\n offset: this.$stateParams[\"offset\"] || 0,\r\n size: this.$stateParams[\"size\"] || this.pageSize, \r\n filters: this.buildFiltersFromQuerystring(),\r\n order: this.buildOrderingFromQueryString()\r\n };\r\n }\r\n \r\n \r\n protected buildFiltersFromQuerystring(): IFilter[] {\r\n var queryString: string = this.$stateParams[\"filter\"];\r\n return PageStateQueryBuilder.parseFiltersFromQuerystring(queryString);\r\n }\r\n \r\n protected buildOrderingFromQueryString(): IOrdering {\r\n var queryString: string = this.$stateParams[\"order\"];\r\n return PageStateQueryBuilder.parseOrderingFromQuerystring(queryString);\r\n }\r\n }\r\n}","/// \r\n/// \r\n/// \r\n\r\nmodule Sonovate.Core {\r\n \r\n export abstract class FilterStatusDropdownBaseClass extends Core.BaseController{\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"$stateParams\",\r\n \"$state\",\r\n ];\r\n\r\n localised: IDictionary = {};\r\n dropdownItems: Models.IDropdownItem[];\r\n snAllowEmpty: boolean;\r\n showPopout: boolean;\r\n currentSelection: string;\r\n snOnChange: any;\r\n snLabel: string;\r\n defaultText: boolean;\r\n snModel: string;\r\n\r\n constructor(\r\n protected $scope: ng.IScope\r\n ) {\r\n super($scope);\r\n }\r\n\r\n \r\n protected togglePopout(): void{\r\n this.showPopout = !this.showPopout;\r\n }\r\n \r\n protected checkValue(): void{\r\n if (this.snModel == \"\"){\r\n this.defaultText = true;\r\n }else{\r\n this.defaultText = false;\r\n }\r\n }\r\n protected onChange(value: any): void{\r\n if(value.value == \"\"){\r\n this.defaultText = true\r\n }else{\r\n this.defaultText = false\r\n }\r\n \r\n this.snOnChange(value);\r\n }\r\n }\r\n}","/// \r\n/// \r\n/// \r\nmodule Sonovate.Core {\r\n \r\n export abstract class OrganisationSearchBaseClass extends Core.BaseListController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"$stateParams\",\r\n \"$state\",\r\n \"OrganisationsActions\",\r\n \"OrganisationsListStore\"\r\n ];\r\n\r\n totalResults: number;\r\n organisations: Models.IOrganisationListItemModel[] = [];\r\n selectedOrganisations: Models.IOrganisationListItemModel[];\r\n riskFilter: String;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $stateParams: ng.ui.IStateParamsService,\r\n protected $state: ng.ui.IStateService,\r\n protected OrganisationsActions: any,\r\n protected OrganisationsListStore: IOrganisationsListStore\r\n ) {\r\n super($scope, $stateParams);\r\n this.buildQuery();\r\n this.updateOrganisationsOnRequestResolution();\r\n //clear errors form store to fix erros appearing between organisation pages\r\n this.OrganisationsActions.clearErrors();\r\n }\r\n\r\n protected clearResults(): void {\r\n this.organisations = [];\r\n this.query.offset = 0;\r\n }\r\n\r\n protected clearFilters(field: String): void {\r\n this.query.filters = this.query.filters.filter(function( obj ) {\r\n return obj.fieldName !== field;\r\n });\r\n }\r\n\r\n protected requestOrganisations(): void {\r\n this.OrganisationsActions.requestSubjects.getOrganisations.onNext(this.query);\r\n }\r\n\r\n protected hasScrollbar(): boolean {\r\n return ($(\"body\").height() > $(window).height());\r\n }\r\n\r\n protected requestMoreOrganisations(): void {\r\n this.query.offset = this.query.offset + 1;\r\n this.requestOrganisations();\r\n }\r\n\r\n protected updateOrganisationsOnRequestResolution(): void {\r\n this.subscriptions.push(\r\n this.OrganisationsListStore.subject\r\n .safeApply(this.$scope, (state: any ) => {\r\n this.totalResults = state.totalResults;\r\n this.organisations = R.concat(this.organisations, state.organisations);\r\n }).subscribe()\r\n );\r\n } \r\n\r\n protected AssessmentSummaryArray_IOrganisationAssessment(summaries: ViewModels.Risk.AssessmentSummary[]): Models.IOrganisationAssessment | {} {\r\n if (!R.isNil(summaries) && !R.isEmpty(summaries) && R.is(Array, summaries)) {\r\n let firstAssessment = summaries[0]\r\n return {\r\n assessmentStatus: firstAssessment.assessmentStatus,\r\n assessmentType: firstAssessment.assessmentType,\r\n assessmentFlags: firstAssessment.riskFlags.flags\r\n }\r\n }\r\n return {};\r\n }\r\n }\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n export class BaseSearchEvents {\r\n constructor(protected $state: ng.ui.IStateService) {\r\n \r\n }\r\n \r\n protected checkRouteState(state: String){\r\n if(this.$state.current.name == state){\r\n return true\r\n }else{\r\n return false\r\n }\r\n }\r\n \r\n protected goToStateWithQuery(state: string, query: Core.Utils.SearchQuery | IPageState) {\r\n this.$state.go(\r\n state, \r\n {\r\n q: query.q,\r\n filter: PageStateQueryBuilder.filtersToString(query.filters),\r\n order: PageStateQueryBuilder.orderingToString(query.order)\r\n }, \r\n {\r\n notify: false\r\n }\r\n );\r\n }\r\n \r\n }\r\n\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n export class TimesheetItemBaseClass extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\", \r\n \"localiser\", \r\n \"$state\",\r\n \"TimesheetSignEvents\",\r\n \"TimesheetEvents\",\r\n \"TimesheetMessageEvents\",\r\n \"TimesheetDismissEvents\",\r\n \"$window\",\r\n \"TimesheetSonovateActionEvents\"\r\n ];\r\n\r\n showRatesPopout: boolean;\r\n snContext: string;\r\n status: string;\r\n isSigning: boolean;\r\n person:{person: Models.IPerson}\r\n localisedText: IDictionary;\r\n snDismissCallback: (any) => void;\r\n hasExpenses: boolean;\r\n snTimesheetItem: Models.ITimesheetSearchResult;\r\n \r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected $state: ng.ui.IStateService,\r\n protected TimesheetSignEvents: Core.Events.TimesheetSignEvents,\r\n protected TimesheetEvents: Core.Events.ITimesheetEvents,\r\n protected TimesheetMessageEvents: Core.Events.ITimesheetMessageEvents,\r\n protected TimesheetDismissEvents: Core.Events.ITimesheetDismissEvents,\r\n protected $window: ng.IWindowService,\r\n protected TimesheetSonovateActionEvents: Core.Events.TimesheetSonovateActionEvents\r\n ) {\r\n super($scope);\r\n \r\n this.isSigning = false;\r\n this.showRatesPopout = false;\r\n this.localisedText = {};\r\n this.hasExpenses = this.doesTimesheetHaveExpenses();\r\n\r\n this.initLocalisationSubscription();\r\n }\r\n\r\n signTimesheet() {\r\n this.isSigning = true;\r\n this.TimesheetSignEvents.userIntents.signTimesheetFromListing.onNext(\r\n {\r\n timesheetId: this.snTimesheetItem.timesheetId,\r\n version: this.snTimesheetItem.version\r\n }\r\n );\r\n }\r\n\r\n dismissTimesheet() {\r\n this.snDismissCallback({\r\n intent: {\r\n timesheetId: this.snTimesheetItem.timesheetId,\r\n deliveryPeriodStartDate: this.snTimesheetItem.deliveryPeriodStartDate,\r\n deliveryPeriodEndDate: this.snTimesheetItem.deliveryPeriodEndDate,\r\n version: this.snTimesheetItem.version\r\n }\r\n })\r\n }\r\n\r\n routeToTimesheet() {\r\n this.TimesheetEvents.userIntents.viewTimesheet.onNext(null);\r\n this.$state.go(\"sonovate.TimesheetsWorkView\", {\r\n timesheetId:this.snTimesheetItem.timesheetId,\r\n timesheetAssignmentId:this.snTimesheetItem.timesheetAssignmentId\r\n });\r\n }\r\n \r\n routeToTimesheetConfirmSubmissionModal() {\r\n this.$state.go(\"sonovate.TimesheetsWorkView.modals\", {\r\n timesheetId:this.snTimesheetItem.timesheetId,\r\n timesheetAssignmentId:this.snTimesheetItem.timesheetAssignmentId,\r\n modal: 'confirm-sign'\r\n });\r\n }\r\n\r\n setAndOpenNote(timesheet: Models.ITimesheetSearchResult) {\r\n this.TimesheetMessageEvents.userIntents.setMessage.onNext(timesheet);\r\n this.$state.go(\"sonovate.Timesheets.modals\", {modal: 'note'});\r\n }\r\n\r\n userApprovedTimesheet() {\r\n this.TimesheetSonovateActionEvents.userIntents.userApprovedTimesheetFromListing.onNext({\r\n timesheetId: this.snTimesheetItem.timesheetId,\r\n version: this.snTimesheetItem.version\r\n })\r\n }\r\n\r\n isCandidate(): boolean { \r\n return this.snContext === 'candidate';\r\n }\r\n\r\n isClient(): boolean {\r\n return this.snContext === 'client';\r\n }\r\n\r\n isAgency(): boolean {\r\n return this.snContext === 'agency';\r\n }\r\n\r\n isSonovate(): boolean {\r\n return this.snContext === 'sonovate';\r\n }\r\n\r\n showApprove(): boolean {\r\n return this.snTimesheetItem.timesheetStatus === 'Signed' && !this.snTimesheetItem.hasIrregularActivity && this.isSonovate()\r\n }\r\n\r\n private doesTimesheetHaveExpenses(): boolean {\r\n return parseFloat(this.snTimesheetItem.expenseGrossTotal) > 0;\r\n\t\t}\r\n\r\n canDismiss(): boolean {\r\n return (\r\n this.snTimesheetItem.timesheetStatus === 'Open' && \r\n this.snTimesheetItem.workTotals.length === 0 && \r\n this.snTimesheetItem.expenseGrossTotal < 1 && \r\n this.isCandidate()\r\n );\r\n }\r\n\r\n canSign(): boolean {\r\n return (this.snTimesheetItem.timesheetStatus === 'RequiresSigning' && this.isClient());\r\n }\r\n\r\n private initLocalisationSubscription() {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"timesheets\", \"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = R.merge(\r\n data['timesheets'], \r\n data['general']\r\n );\r\n })\r\n .subscribe()\r\n )\r\n }\r\n }\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n export abstract class FormBaseClass extends BaseController {\r\n\r\n public errorMessage: string;\r\n public sucessMessage: string;\r\n public formErrors: {};\r\n public localised: IDictionary = {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService\r\n ) {\r\n super($scope);\r\n } \r\n\r\n public submit(): void {\r\n if (this.formIsReadyForSubmission()) {\r\n\t\t\t\tthis.submitFormRequest();\r\n\t\t\t} else {\r\n this.resetFormErrors();\r\n\t\t\t\tthis.setValidationErrors();\r\n\t\t\t}\r\n };\r\n\r\n public abstract formIsReadyForSubmission(): boolean;\r\n\r\n protected getListOfUnfilledFields(fields: IDictionary): string[] {\r\n return R.pipe(\r\n R.toPairs, \r\n R.filter((pairs) => R.isNil(pairs[1]) || R.isEmpty(pairs[1])), \r\n R.fromPairs, \r\n R.keys\r\n )(fields);\r\n }\r\n\r\n public close(): void {\r\n this.$state.go(this.$state.current.parent);\r\n }\r\n\r\n\t\tpublic dismissErrorMessage(): void {\r\n this.errorMessage = null;\r\n }\r\n\r\n protected setErrorMessage(error: IErrorResult): void {\r\n this.errorMessage = error.error;\r\n }\r\n \r\n protected abstract submitFormRequest(): void;\r\n\r\n protected abstract closeOnSubmissionSuccess(): void;\r\n\r\n protected abstract setValidationErrors(): void;\r\n\r\n protected resetFormErrors(): void {\r\n R.keys(this.formErrors).map((fieldName) => {\r\n this.formErrors[fieldName] = null;\r\n });\r\n }\r\n \r\n protected abstract setLocalisedTextWhenRetrieved(): void;\r\n }\r\n}","module Sonovate.Core {\r\n angular.module(\"sonovate.core\", [\"ngSanitize\"]);\r\n}","module Sonovate.PasswordReset {\r\n angular.module(\"sonovate.PasswordReset\", []);\r\n}","module Sonovate.People {\r\n angular.module(\"sonovate.People\", []);\r\n}","module Sonovate.ChangePassword {\r\n angular.module(\"sonovate.ChangePassword\", []);\r\n}","module Sonovate.OAuth {\r\n angular.module(\"sonovate.oauth\", []);\r\n}","module Sonovate.SignIn {\r\n 'use strict';\r\n\r\n angular.module('sonovate.signin', []);\r\n}","module Sonovate.SignUp {\r\n angular.module(\"sonovate.signup\", []);\r\n}","module Sonovate.Messages {\r\n angular.module(\"sonovate.messages\", []);\r\n}","module Sonovate.errorRedirects {\r\n angular.module(\"sonovate.errorRedirects\", []);\r\n}","/// \r\n\r\nmodule Sonovate.Timesheets {\r\n 'use strict';\r\n\r\n angular.module('sonovate.Timesheets', []);\r\n} ","/// \r\n\r\nmodule Sonovate.Invoice {\r\n 'use strict';\r\n\r\n angular.module('sonovate.Invoice', []); \r\n}","/// \r\n\r\nmodule Sonovate.Invoices {\r\n 'use strict';\r\n\r\n angular.module('sonovate.Invoices', []);\r\n} ","/// \r\n\r\nmodule Sonovate.PersonSettings {\r\n 'use strict';\r\n\r\n angular.module('sonovate.PersonSettings', []);\r\n} ","module Sonovate.ChangeEmail {\r\n angular.module(\"sonovate.ChangeEmail\", []);\r\n}","/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n/// \r\n\r\nmodule Sonovate {\r\n\r\n var modules = [\r\n \"templates\",\r\n \"ui.router\",\r\n \"ngCookies\",\r\n \"ngFileUpload\",\r\n \"multi-transclude\",\r\n 'rx', \r\n \"ngSanitize\"\r\n ];\r\n\r\n // this array could be loaded dynamically in the future\r\n var sonovateModules = [\r\n \"sonovate.core\",\r\n \"sonovate.PasswordReset\",\r\n \"sonovate.ChangePassword\",\r\n \"sonovate.oauth\",\r\n \"sonovate.signin\",\r\n \"sonovate.signup\",\r\n \"sonovate.messages\",\r\n \"sonovate.errorRedirects\",\r\n \"sonovate.Timesheets\",\r\n \"sonovate.PersonSettings\",\r\n \"sonovate.People\",\r\n \"sonovate.ChangeEmail\"\r\n ];\r\n\r\n angular.module(\"sonovate\", modules.concat(sonovateModules));\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export class BaseActivityStreamState implements IActivityStreamState {\r\n \r\n public notes: Models.INote[] = [];\r\n\t\tpublic documents: Models.IDocument[] = [];\r\n public stream: Models.IActivityStreamItem[] = [];\r\n public filter: Models.activityStreamFilterType = \"all\";\r\n \r\n public addDocument (document: Models.IDocument) {\r\n this.documents.push(document);\r\n this.stream = this.mergeStreams();\r\n }\r\n \r\n public addNote (note: Models.INote) {\r\n this.notes.push(note);\r\n this.stream = this.mergeStreams();\r\n }\r\n \r\n public deleteDocument (document: Models.IDocument) {\r\n this.documents = Core.Utils.Array.removeItemByObjectPropertyValue(this.documents, 'id', document.id);\r\n this.stream = this.mergeStreams();\r\n }\r\n \r\n public filterStream(filter: Models.activityStreamFilterType) {\r\n this.filter = filter;\r\n this.stream = this.mergeStreams();\r\n }\r\n \r\n public setNotesAndDocuments(notes: Models.INote[], documents: Models.IDocument[]) {\r\n this.notes = notes;\r\n this.documents = documents;\r\n this.stream = this.mergeStreams();\r\n }\r\n\r\n private mergeStreams(): Models.IActivityStreamItem[] {\r\n \treturn R.reverse(\r\n R.filter((activityStreamListItem: Models.IActivityStreamItem) => {\r\n if (this.filter === \"all\") {\r\n return true; \r\n }\r\n return activityStreamListItem.itemType === this.filter;\r\n },\r\n R.sortBy(\r\n R.prop('dateTime'),\r\n R.concat(\r\n R.map((note: Models.INote): Models.IActivityStreamItem => {\r\n return {\r\n itemType: \"note\",\r\n note: note,\r\n dateTime: note.createdDate\r\n };\r\n }, this.notes),\r\n R.map((document: Models.IDocument): Models.IActivityStreamItem => {\r\n return {\r\n itemType: \"document\",\r\n document: document,\r\n dateTime: document.uploadedDate\r\n };\r\n }, this.documents)\r\n )\r\n )\r\n )\r\n );\r\n\t\t}\r\n }\r\n\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export class BaseTermsState implements ITermsTemplateListState {\r\n terms: Models.ITermsTemplate[] = [];\r\n selectedTermsForDelete: Models.ITermsTemplate = {\r\n title: \"\"\r\n };\r\n\r\n deletePending: boolean;\r\n\r\n clear ():void {\r\n this.terms = [];\r\n }\r\n\r\n replaceAllTerms(terms: Models.ITermsTemplate[]) {\r\n this.terms = terms;\r\n }\r\n\r\n addTemplateTerms(terms: Models.ITermsTemplate): void {\r\n this.terms.push(terms);\r\n }\r\n\r\n updateTemplateTerms(term: Models.ITermsTemplate): void {\r\n this.terms = this.terms.map((mapTerm) => {\r\n if (mapTerm.templateId === term.templateId) {\r\n return term;\r\n }\r\n return mapTerm;\r\n });\r\n }\r\n\r\n setTemplateTermsAsDefault(term: Models.ITermsTemplate): void {\r\n this.terms = this.terms.map((mapTerm) => {\r\n if (mapTerm.templateId === term.templateId) {\r\n return term;\r\n }\r\n mapTerm.isDefault = false;\r\n return mapTerm;\r\n })\r\n }\r\n\r\n initiateDeleteTemplateTerms (terms): void {\r\n this.selectedTermsForDelete = terms;\r\n this.deletePending = true;\r\n }\r\n\r\n confirmDeleteTemplateTerms () {\r\n this.terms = Core.Utils.Array.removeItemByObjectPropertyValue(this.terms, 'termsId', this.selectedTermsForDelete.templateId);\r\n this.deletePending = false;\r\n }\r\n }\r\n\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export class BaseSearchState implements IBaseSearchState {\r\n query: Core.Utils.SearchQuery = new Core.Utils.SearchQuery();\r\n\r\n collection: Object[] = [];\r\n totalResults: number;\r\n queryCarriedOut: boolean = false;\r\n hasResults: boolean = false;\r\n showNoQueryResultsFeedback:boolean = false;\r\n showNoResultsFeedback:boolean = false;\r\n\r\n setQuery(query: Core.Utils.SearchQuery) {\r\n this.query = query;\r\n this.queryCarriedOut = Boolean(this.query.q);\r\n }\r\n\r\n setTotalResults(totalResults:number) {\r\n this.totalResults = totalResults;\r\n }\r\n\r\n addToCollection(items: Object[]) {\r\n this.collection = this.collection.concat(items);\r\n this.hasResults = Boolean(this.collection.length);\r\n this.setUserFeedback();\r\n }\r\n\r\n setUserFeedback() {\r\n this.showNoQueryResultsFeedback = this.hasResults === false && this.queryCarriedOut;\r\n this.showNoResultsFeedback = this.hasResults === false && this.queryCarriedOut === false;\r\n }\r\n \r\n clear () {\r\n this.collection = [];\r\n this.query.offset = 0;\r\n this.query.size = 10;\r\n this.totalResults = 0;\r\n }\r\n }\r\n\r\n}","/// \r\nmodule Sonovate.Core.Utils {\r\n export class SearchQuery implements IPageState {\r\n q: string = \"\";\r\n filters: Models.IFilter[] = [];\r\n offset: number = 0;\r\n size: number = 10;\r\n order: IOrdering;\r\n riskStatus: String;\r\n \r\n addSearchTerm(searchTerm: string){\r\n this.q = searchTerm;\r\n }\r\n \r\n filter(name: string, operator: Models.filterOperator, value: string) {\r\n let isUpdated = false;\r\n \r\n this.filters = this.filters.map((filter: Models.IFilter): Models.IFilter => {\r\n if (filter.fieldName === name) {\r\n isUpdated = true;\r\n return {\r\n fieldName: name,\r\n operator: operator,\r\n value: value\r\n }\r\n } \r\n return filter;\r\n });\r\n \r\n if (! isUpdated) {\r\n this.filters.push({\r\n fieldName: name,\r\n operator: operator,\r\n value: value\r\n });\r\n } \r\n \r\n if (R.isNil(value) || R.isEmpty(value)) {\r\n this.removeFilter(name);\r\n }\r\n }\r\n \r\n rangeFilter(name: string, lowerBound: string, upperBound: string) {\r\n this.removeFilter(name); \r\n \r\n if (lowerBound === \"\" && upperBound === \"\") {\r\n this.removeFilter(name);\r\n return;\r\n }\r\n \r\n this.filters.push({\r\n fieldName: name,\r\n operator: \"gt\",\r\n value: lowerBound\r\n });\r\n this.filters.push({\r\n fieldName: name,\r\n operator: \"lt\",\r\n value: upperBound\r\n });\r\n }\r\n \r\n removeFilter(name: string) {\r\n this.filters = this.filters.filter((item: Models.IFilter) => {\r\n return item.fieldName !== name;\r\n });\r\n }\r\n \r\n setFromStateParams($stateParams, defaultPageSize) {\r\n this.q = $stateParams[\"q\"] || \"\";\r\n this.offset = $stateParams[\"offset\"] || 0;\r\n this.size = $stateParams[\"size\"] || defaultPageSize; \r\n this.filters = PageStateQueryBuilder.parseFiltersFromQuerystring($stateParams[\"filter\"]);\r\n this.order = PageStateQueryBuilder.parseOrderingFromQuerystring($stateParams[\"order\"]);\r\n }\r\n \r\n getDateRange(fieldName:string) {\r\n let dateRange: Models.IDateRange = {\r\n startDate: \"\",\r\n endDate: \"\"\r\n };\r\n \r\n this.filters.forEach((filter) => {\r\n if (filter.fieldName === fieldName) {\r\n\r\n if (filter.operator === 'gt') {\r\n dateRange.startDate = filter.value;\r\n }\r\n \r\n if (filter.operator === 'lt') {\r\n dateRange.endDate = filter.value;\r\n }\r\n }\r\n });\r\n \r\n return dateRange;\r\n }\r\n \r\n getFilterValue(fieldName) {\r\n var value = '';\r\n this.filters.forEach((item) => {\r\n if (item.fieldName === fieldName) {\r\n value = item.value;\r\n }\r\n });\r\n return value;\r\n }\r\n \r\n incrementOffset(amount: number): void{\r\n this.offset = this.offset + amount;\r\n }\r\n }\r\n}","/// \r\nmodule Sonovate.Core.Utils.Search {\r\n\r\n export function getDefaultSearchQuery(): Models.ISearchQuery {\r\n return {\r\n q: \"\",\r\n offset: 0,\r\n size: 20,\r\n filter: [],\r\n order: null\r\n };\r\n }\r\n\r\n export function ISearchQuery_stateParams(query: Models.ISearchQuery): {} { \r\n return {\r\n q: query.q,\r\n filter: ISearchQueryFilterArray_String(query.filter)\r\n // there needs to be order added here \r\n }\r\n };\r\n\r\n export function stateParams_ISearchQuery($stateParams: ng.ui.IStateParamsService): Models.ISearchQuery {\r\n return {\r\n q: $stateParams[\"q\"] || \"\",\r\n offset: $stateParams[\"offset\"] || 0,\r\n size: $stateParams[\"size\"] || 20,\r\n filter: parseQueryFilters($stateParams[\"filter\"]), \r\n order: parseQueryOrdering($stateParams[\"order\"])\r\n }\r\n } \r\n \r\n export function parseQueryFilters(filters: string): Models.ISearchQueryFilter[] {\r\n if (!filters) {\r\n return [];\r\n }\r\n return filterString_ISearchQueryFilterArray(filters);\r\n }\r\n\r\n export function filterString_ISearchQueryFilterArray(filterUrl:string): Models.ISearchQueryFilter[] {\r\n return R.pipe(\r\n R.split(\"_\"), \r\n R.map((filterText:string) => filterText.split(\":\")), \r\n R.filter((filterText: string[]) => filterText.length === 3),\r\n R.map((filter) => {\r\n return { \r\n fieldName: filter[0],\r\n operator: filter[1],\r\n value: filter[2]\r\n }\r\n })\r\n )(filterUrl);\r\n }\r\n\r\n\r\n export function parseQueryOrdering(raw: string): IOrdering { \r\n if (!raw) {\r\n return null;\r\n }\r\n\r\n var orderParts = raw.split('-');\r\n\r\n if (orderParts.length === 1) {\r\n return {\r\n fieldName: orderParts[0],\r\n direction: 'asc'\r\n };\r\n }\r\n else if (orderParts.length === 2) {\r\n return {\r\n fieldName: orderParts[0],\r\n direction: <'asc' | 'desc'>orderParts[1]\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n export function stringifySearchQuery(state: Models.ISearchQuery): string {\r\n return R.pipe(\r\n R.toPairs,\r\n R.reject(isISearchQueryPartTupleEmpty),\r\n R.map(R.insert(1, \"=\")),\r\n R.map(stringifyQueryPartValue),\r\n R.intersperse(\"&\"), \r\n R.flatten,\r\n R.join(\"\")\r\n )(state);\r\n } \r\n\r\n function isISearchQueryPartTupleEmpty(queryPart:any[]): boolean {\r\n return R.isNil(queryPart[1]) || R.isEmpty(queryPart[1]) || isISearchQueryFilterTupleEmpty(queryPart) \r\n }\r\n\r\n function isISearchQueryFilterTupleEmpty(queryTuple): boolean {\r\n if (queryTuple[0] === \"filter\") {\r\n return R.isEmpty(R.reject(R.propSatisfies(R.isNil,\"value\"), queryTuple[1]))\r\n }\r\n return false;\r\n }\r\n\r\n export function stringifyQueryPartValue(queryPart: any[]): any[] {\r\n\r\n var queryPartName = queryPart[0];\r\n\r\n if (queryPartName === \"filter\" ) {\r\n return queryPart.slice(0, 2).concat(ISearchQueryFilterArray_String(queryPart[2]));\r\n } else if (queryPartName === \"order\") {\r\n // ordering needs more figuring out\r\n return queryPart.slice(0, 2).concat(\"\"); \r\n } else {\r\n return queryPart; \r\n }\r\n }\r\n\r\n export function ISearchQueryFilterArray_String(filters: Models.ISearchQueryFilter[]): string {\r\n return R.pipe(\r\n R.reject(R.propSatisfies(R.isNil, \"value\")),\r\n R.map(R.values),\r\n R.map(R.intersperse(\":\")),\r\n R.intersperse(\"_\"),\r\n R.flatten,\r\n R.join(\"\") \r\n )(filters);\r\n }\r\n\r\n export function addOrUpdateFilters(filters: Models.ISearchQueryFilter[], fieldName: string, operator: Models.SearchQueryFilterOperator, value:string): Models.ISearchQueryFilter[] {\r\n return R.pipe(\r\n R.reject((filter: Models.ISearchQueryFilter) => {\r\n return filter.fieldName === fieldName && filter.operator === operator;\r\n }),\r\n R.concat([{\r\n fieldName: fieldName,\r\n operator: operator,\r\n value: value\r\n }]),\r\n R.reject(R.propEq('value', ''))\r\n )(filters);\r\n }\r\n\r\n export function removeFilter(filters: Models.ISearchQueryFilter[], fieldName: string) {\r\n return R.reject(R.propEq('fieldName', fieldName))(filters);\r\n }\r\n\r\n export function getFilterValueByFieldNameAndOperator(filters: Models.ISearchQueryFilter[], fieldName: string, operator: Models.SearchQueryFilterOperator) : string {\r\n try {\r\n return R.filter((filter: Models.ISearchQueryFilter) => filter.fieldName === fieldName && filter.operator === operator)(filters)[0].value;\r\n } catch (e) {\r\n return '';\r\n }\r\n }\r\n}","/// \r\nmodule Sonovate.Core.Utils.Permissions {\r\n\r\n export function hasPermission(permissions: T[], permission: T): boolean {\r\n return R.contains(permission, permissions);\r\n }\r\n}","/// \r\nmodule Sonovate.Core.Utils.Roles {\r\n\r\n export function hasRole(roles: T[], role: T): boolean {\r\n return R.contains(role, roles);\r\n }\r\n}","/// \r\nmodule Sonovate.Core.Utils.Array {\r\n export function removeItemByObjectPropertyValue(array: Object[], property: string | number, value: any): any[] {\r\n return array.filter((item) => {\r\n if (item[property] === value) {\r\n return false;\r\n }\r\n return true;\r\n });\r\n }\r\n\r\n export function removeItemByIndex(array: Object[], index: number): any[] {\r\n return array.splice(index, 1);\r\n }\r\n \r\n export function getItemByProperty(array: Object[], property, value): any {\r\n return array.filter((item) => {\r\n return item[property] === value;\r\n })[0];\r\n }\r\n \r\n export function containsItemWithPropertValue(array: Object[], property, value) {\r\n array.forEach((item) => {\r\n if (item[property] === value) {\r\n return true;\r\n }\r\n });\r\n \r\n return false;\r\n }\r\n}","/// \r\nmodule Sonovate.Core.Utils.FormValidation {\r\n export function isEmail(email: string) { //RFC822 Standard email validation\r\n return /^([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+|\\x22([^\\x0d\\x22\\x5c\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x22)(\\x2e([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+|\\x22([^\\x0d\\x22\\x5c\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x22))*\\x40([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+|\\x5b([^\\x0d\\x5b-\\x5d\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x5d)(\\x2e([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+|\\x5b([^\\x0d\\x5b-\\x5d\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x5d))*$/.test(email);\r\n }\r\n}","/// \r\n\r\nmodule Sonovate.Core.Utils {\r\n\r\n export class DateService {\r\n\r\n static $inject = [\r\n \"signedInUserStore\"\r\n ];\r\n\r\n weekStart: string = \"Sunday\";\r\n dayMap = {\r\n 'Sunday': 0,\r\n 'Monday': 1,\r\n 'Tuesday': 2,\r\n 'Wednesday': 3,\r\n 'Thursday': 4,\r\n 'Friday': 5,\r\n 'Saturday': 6\r\n };\r\n\r\n constructor(\r\n signedInUserStore: any\r\n ) {\r\n signedInUserStore.subject.subscribe((state:Models.ISignedInUser) => {\r\n this.weekStart = state.settings.weekStart;\r\n });\r\n }\r\n\r\n safeFormatString(date: string, format: string) {\r\n let momentDate = moment(date);\r\n return this.safeFormat(momentDate, format);\r\n }\r\n\r\n safeFormat (date: moment.Moment, format: string) {\r\n let formatted = date.format(format);\r\n return formatted === 'Invalid date' ? '' : formatted;\r\n }\r\n\r\n getMomentTime (time: string) {\r\n return moment(time, [\r\n 'HH:mm',\r\n 'H:mm',\r\n 'hh:mm',\r\n 'h:mm',\r\n 'HH:mma'\r\n ]);\r\n }\r\n\r\n getMomentFormattedUserPreferenceTime(date: string): any{\r\n return moment(date, [\r\n 'HH:mm',\r\n 'H:mm',\r\n 'hh:mm',\r\n 'h:mm',\r\n 'HH:mma'\r\n ]).format();\r\n }\r\n\r\n getWeekdaysIndexListBeginningWithDay (day) {\r\n let days = this.getWeekdaysListBeginningWithDay(day);\r\n\r\n return days.map((day) => {\r\n return this.dayMap[day];\r\n });\r\n }\r\n\r\n getWeekdaysListBeginningWithDay (day) { \r\n if (! this.dayMap.hasOwnProperty(day)) {\r\n throw new Error('Start of week parameter must be a valid weekday');\r\n }\r\n let daysArray = [];\r\n \r\n Object.keys(this.dayMap).map((loopDay, index) => {\r\n if (this.dayMap[day] <= index) {\r\n daysArray.push(loopDay);\r\n }\r\n });\r\n\r\n Object.keys(this.dayMap).map((loopDay, index) => {\r\n if (this.dayMap[day] > index) {\r\n daysArray.push(loopDay);\r\n }\r\n });\r\n\r\n return daysArray;\r\n }\r\n\r\n getCalendarStartDateForMonth(date: moment.Moment, startOfWeek: string): moment.Moment {\r\n date = moment(date.date(1));\r\n\r\n if (! this.dayMap.hasOwnProperty(startOfWeek)) {\r\n throw new Error('Start of week parameter must be a valid weekday');\r\n }\r\n\r\n let dayIndex = date.day();\r\n let startOfWeekIndex = this.dayMap[startOfWeek];\r\n let countBack = 0;\r\n\r\n if (dayIndex > startOfWeekIndex) {\r\n countBack = dayIndex - startOfWeekIndex;\r\n }\r\n\r\n if (startOfWeekIndex > dayIndex) {\r\n countBack = dayIndex + 7 - startOfWeekIndex;\r\n }\r\n \r\n return date.subtract(countBack, 'days');\r\n }\r\n\r\n getCalendarEndDateForMonth(date: moment.Moment, startOfWeek: string): moment.Moment {\r\n if (! this.dayMap.hasOwnProperty(startOfWeek)) {\r\n throw new Error('Start of week parameter must be a valid weekday');\r\n }\r\n\r\n let lastDateOfMonth = moment(date.date(date.daysInMonth()));\r\n let endOfWeekIndex = (this.dayMap[startOfWeek] - 1) !== -1 ? this.dayMap[startOfWeek] - 1 : 6;\r\n let countForward = endOfWeekIndex - lastDateOfMonth.day();\r\n\r\n if (countForward < 0) {\r\n countForward = 7 - Math.abs(countForward);\r\n }\r\n\r\n return lastDateOfMonth.add(countForward, 'days');\r\n }\r\n\r\n getCalendarPage(date: moment.Moment, startOfWeek: string): any {\r\n if (typeof date !== 'object') {\r\n throw new Error('Date parameter must be a moment date object');\r\n }\r\n\r\n if (! this.dayMap.hasOwnProperty(startOfWeek)) {\r\n throw new Error('Start of week parameter must be a valid weekday');\r\n }\r\n\r\n let calendarStartDateForMonth = this.getCalendarStartDateForMonth(date, startOfWeek);\r\n let calendarEndDateForMonth = this.getCalendarEndDateForMonth(date, startOfWeek);\r\n let trackingDate = calendarStartDateForMonth;\r\n let dayCounter = 0;\r\n let rowCounter = 0;\r\n let calendarPage: Models.ICalendarPage = {\r\n rows: [\r\n {\r\n days: []\r\n }\r\n ]\r\n };\r\n\r\n while (trackingDate.format('YYYY-MM-DD') <= calendarEndDateForMonth.format('YYYY-MM-DD')) {\r\n if (dayCounter === 7) {\r\n rowCounter++;\r\n dayCounter = 0;\r\n calendarPage.rows[rowCounter] = {\r\n days:[]\r\n }\r\n }\r\n calendarPage.rows[rowCounter].days[dayCounter] = {\r\n date: trackingDate.format('YYYY-MM-DD'),\r\n inMonth: trackingDate.get('month') === date.get('month'),\r\n isWeekend: trackingDate.day() === 0 || trackingDate.day() === 6,\r\n gridCoordinates: [rowCounter, dayCounter],\r\n isSelected: false,\r\n isSelectable: false,\r\n isStagedForSelection: false,\r\n isFirstInSelectableRange: false,\r\n isLastInSelectableRange: false,\r\n hasWork: false\r\n }\r\n trackingDate = moment(trackingDate.add(1, 'days'));\r\n dayCounter++;\r\n }\r\n return calendarPage;\r\n }\r\n\r\n getDateRangeOfCurrentWeek(): Models.IDateRange {\r\n var weekStartDayNumber = this.dayMap[this.weekStart];\r\n var firstDayOfCurrentWeek = moment().day(weekStartDayNumber); \r\n var lastDayOfCurrentWeek = moment().day(weekStartDayNumber).add(\"days\", 6);\r\n return {\r\n startDate: `${firstDayOfCurrentWeek.year()}-${this.prefixNumberIfSingleDigit(firstDayOfCurrentWeek.month()+1)}-${this.prefixNumberIfSingleDigit(firstDayOfCurrentWeek.date())}`,\r\n endDate: `${lastDayOfCurrentWeek.year()}-${this.prefixNumberIfSingleDigit(lastDayOfCurrentWeek.month()+1)}-${this.prefixNumberIfSingleDigit(lastDayOfCurrentWeek.date())}`\r\n }\r\n }\r\n\r\n getSundayOfDateWeek(date: moment.Moment): moment.Moment { \r\n return date.day(date.day() + this.howManyDaysAreLeftTilSunday(date));\r\n }\r\n\r\n howManyDaysAreLeftTilSunday(date: moment.Moment): number {\r\n return 7 - date.day();\r\n }\r\n\r\n getDateRangeOfCurrentMonth(): Models.IDateRange {\r\n var currentDate = moment();\r\n return {\r\n startDate: `${currentDate.year()}-${this.prefixNumberIfSingleDigit(currentDate.month()+1)}-01`,\r\n endDate: `${currentDate.year()}-${this.prefixNumberIfSingleDigit(currentDate.month()+1)}-${currentDate.daysInMonth()}`\r\n }\r\n }\r\n \r\n prefixNumberIfSingleDigit(number:number): string {\r\n return number > 9 ? \"\"+number : `0${number}`;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"DateService\", DateService);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Utils {\r\n\r\n export class FeatureToggle {\r\n\r\n config: IDictionary = {\r\n \"TimesheetLogWork\": true, \r\n \"TimesheetAddExpense\": true,\r\n \"TimesheetListExpenses\": true,\r\n \"TimesheetDeleteWork\": true,\r\n \"TimesheetAutofill\": true,\r\n \"SubmitTimesheet\": true,\r\n \"ActiveTestFeature\": true,\r\n \"InactiveTestFeature\": false,\r\n \"TimesheetHeader\": true,\r\n \"TimesheetReject\": true,\r\n \"DownloadTimesheet\": false,\r\n \"CreateTimesheet\": true,\r\n \"DashboardCards\": true\r\n };\r\n\r\n setConfig(config: IDictionary) {\r\n this.config = config; \r\n }\r\n\r\n isFeatureActive(feature: string) {\r\n if (this.config.hasOwnProperty(feature)) {\r\n return this.config[feature];\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"FeatureToggle\", FeatureToggle);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Utils {\r\n\r\n export class StateCacheService {\r\n\r\n static $inject = [\r\n \"$cookies\"\r\n ];\r\n\r\n constructor(\r\n protected $cookies: ng.cookies.ICookiesService\r\n ) {}\r\n\r\n syncStateWithLocalStorage(name: string, stateUpdates: Rx.BehaviorSubject, securedPropertiesArray: string[] = []): void {\r\n this.initGetStateFromCacheAndEmitSubscription(name, stateUpdates);\r\n this.initStateUpdateCachePutSubscribtion(name, stateUpdates, securedPropertiesArray);\r\n }\r\n\r\n private initGetStateFromCacheAndEmitSubscription(name: string, stateUpdates: Rx.BehaviorSubject) {\r\n stateUpdates\r\n .take(1)\r\n .subscribe((state) => {\r\n let localStorageString = localStorage.getItem(name);\r\n let cookieObject = this.$cookies.getObject(name);\r\n if (localStorageString) {\r\n this.assignObjectToState(state, JSON.parse(localStorageString));\r\n }\r\n if (cookieObject) {\r\n this.assignObjectToState(state, cookieObject);\r\n }\r\n stateUpdates.onNext(state);\r\n });\r\n }\r\n\r\n initStateUpdateCachePutSubscribtion(name: string, stateUpdates: Rx.BehaviorSubject, securedPropertiesArray: string[]) {\r\n let date = new Date(\"2026-01-01\");\r\n stateUpdates\r\n .subscribe((state) => {\r\n let objects = R.pipe(\r\n R.toPairs,\r\n R.partition((pair) => R.contains(pair[0], securedPropertiesArray)),\r\n R.map(R.fromPairs)\r\n )(state);\r\n this.$cookies.putObject(name, objects[0], { secure: true, expires: date});\r\n localStorage.setItem(name, JSON.stringify(objects[1]));\r\n });\r\n }\r\n\r\n private assignObjectToState(state: T, object: Object) {\r\n Object.assign(\r\n state,\r\n object\r\n );\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"StateCacheService\", StateCacheService);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Utils {\r\n\r\n export class TimsheetLoggingHelperFunctions {\r\n\r\n static $inject = [\r\n \"$cookies\"\r\n ];\r\n\r\n constructor(\r\n protected $cookies: ng.cookies.ICookiesService\r\n ) {}\r\n\r\n private checkIfNumber(number){ \r\n if(isNaN(number)){\r\n return false\r\n }\r\n return true\r\n }\r\n\r\n private validateWorkQuantityForHours(amount: string) : boolean {\r\n\r\n if(!this.checkIfNumber(amount)){\r\n return false\r\n }\r\n\r\n let quantity = math.number(amount);\r\n\r\n if (quantity > 24) {\r\n return false\r\n }\r\n\r\n if (quantity < 0) {\r\n return false\r\n }\r\n\r\n if (quantity === 0) {\r\n return false\r\n }\r\n\r\n if(!quantity){\r\n return false;\r\n }\r\n\r\n if(quantity.toString().length > 10){\r\n return false;\r\n }\r\n\r\n if(quantity.toString() === \"0\"){\r\n return false\r\n }\r\n\r\n return true\r\n }\r\n\r\n private validateWorkQuantityForDays(amount: string) : boolean {\r\n\r\n if(!this.checkIfNumber(amount)){\r\n return false\r\n }\r\n\r\n let quantity = math.number(amount);\r\n\r\n if (quantity > 1) {\r\n return false\r\n }\r\n\r\n if (quantity < 0) {\r\n return false\r\n }\r\n\r\n if (quantity === 0) {\r\n return false\r\n }\r\n \r\n if(!quantity){\r\n return false;\r\n }\r\n\r\n if(quantity.toString().length > 10){\r\n return false;\r\n }\r\n\r\n if(quantity.toString() === \"0\"){\r\n return false\r\n }\r\n\r\n return true\r\n } \r\n\r\n validateWorkQuantity(amount: string, type: string): boolean {\r\n if(type === \"Hour\") {\r\n return this.validateWorkQuantityForHours(amount);\r\n } else if (type === \"Day\") {\r\n return this.validateWorkQuantityForDays(amount);\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n validateQuantity(quantity: string): boolean {\r\n if(!quantity){\r\n return false;\r\n }\r\n\r\n if(parseInt(quantity) <= 0){\r\n return false;\r\n }\r\n\r\n if(quantity.toString().length > 10){\r\n return false;\r\n }\r\n\r\n return true\r\n }\r\n \r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimsheetLoggingHelperFunctions\", TimsheetLoggingHelperFunctions);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Services {\r\n\r\n export class SignedInUserStore implements ISignedInUserStore {\r\n\r\n subject: Rx.BehaviorSubject;\r\n state: Models.ISignedInUser;\r\n\r\n static $inject = [\r\n \"$window\",\r\n \"SigninEvents\",\r\n \"OAuthEvents\",\r\n \"signOutActions\",\r\n \"SignupEvents\",\r\n \"PersonProfileEvents\"\r\n ];\r\n\r\n constructor(\r\n private $window: IAnalyticsCapableWindowService,\r\n private SigninEvents: Core.Events.SigninEvents,\r\n private OAuthEvents: Core.Events.OAuthEvents, \r\n private signOutActions: ISignOutActions,\r\n protected SignupEvents: Core.Events.SignupEvents,\r\n protected PersonProfileEvents: Events.PersonProfileEvents\r\n ) {\r\n this.resetState();\r\n this.subject = new Rx.BehaviorSubject(this.state);\r\n\r\n this.cacheStateWhenItChanges();\r\n this.setUserOnAuthentications();\r\n this.clearUserOnLogouts();\r\n this.setupMomentLocale();\r\n this.setupSegmentIdentification();\r\n this.getChangedProfilePictureSubscription();\r\n this.setupFeatureSubscription();\r\n this.setupUnsubscribe();\r\n }\r\n\r\n private setupFeatureSubscription(){\r\n this.PersonProfileEvents.userIntents.featureSubscription.subscribe((subscription) => {\r\n this.state.settings.subscriptions = this.state.settings.subscriptions || [];\r\n\r\n if(!this.state.settings.subscriptions.some(s => s === subscription)){ \r\n this.state.settings.subscriptions.push(subscription);\r\n }\r\n\r\n this.subject.onNext(this.state);\r\n })\r\n }\r\n\r\n private setupUnsubscribe() {\r\n this.PersonProfileEvents.userIntents.unsubscribed.subscribe((subscription) => {\r\n this.state.settings.subscriptions = this.state.settings.subscriptions || [];\r\n this.state.settings.subscriptions = this.state.settings.subscriptions.filter(s => s !== subscription);\r\n this.subject.onNext(this.state);\r\n })\r\n }\r\n\r\n private setupMomentLocale() {\r\n this.subject.subscribe((state) => {\r\n moment.locale(state.languageCode.substr(0, 2));\r\n });\r\n }\r\n\r\n private setupSegmentIdentification () {\r\n if (this.$window.analytics) {\r\n this.subject.subscribe((state) => {\r\n if (state.personId) {\r\n this.$window.analytics.identify(state.personId.toString(), state);\r\n }\r\n });\r\n }\r\n }\r\n\r\n private resetState() : void {\r\n let state = Sonovate.Core.Utils.SessionHelpers.getSignedInUser();\r\n if (state) {\r\n this.state = state;\r\n return;\r\n }\r\n this.state = this.getDefaultState();\r\n }\r\n\r\n private cacheStateWhenItChanges(): void {\r\n this.subject\r\n .merge(this.SignupEvents.httpResults.userSubmittedDetailsForAccountActivationSuccess)\r\n .merge(this.OAuthEvents.httpResults.getUserAccountFromOauthCodeSuccess)\r\n .subscribe((user: Models.ISignedInUser) => {\r\n if (user.token) {\r\n Sonovate.Core.Utils.SessionHelpers.setSession(user);\r\n }\r\n });\r\n }\r\n\r\n private setUserOnAuthentications() : void {\r\n this.SigninEvents.httpResults.submitSigninSuccess\r\n .merge(this.SignupEvents.httpResults.userSubmittedDetailsForAccountActivationSuccess)\r\n .merge(this.OAuthEvents.httpResults.getUserAccountFromOauthCodeSuccess)\r\n .merge(this.SigninEvents.httpResults.signInFromExternalSourceWithTokenSuccess)\r\n .subscribe((user: Models.ISignedInUser) => {\r\n this.state = user;\r\n this.subject.onNext(this.state);\r\n });\r\n }\r\n\r\n private clearUserOnLogouts(): void {\r\n this.signOutActions.subjects.logoutSuccess\r\n .merge(this.signOutActions.subjects.logoutFrontEndOnlySuccess)\r\n .subscribe(() => {\r\n Sonovate.Core.Utils.SessionHelpers.clearSession();\r\n this.subject.onNext(this.state);\r\n });\r\n }\r\n\r\n private getChangedProfilePictureSubscription(): void {\r\n this.PersonProfileEvents.httpResults.uploadProfilePictureCompleted\r\n .subscribe((url: string) => {\r\n this.state.imageUrl = url;\r\n this.subject.onNext(this.state);\r\n });\r\n }\r\n\r\n private getDefaultState(): Models.ISignedInUser {\r\n return {\r\n token: \"\",\r\n id: null,\r\n personId: null,\r\n firstName: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n imageUrl: \"\",\r\n languageCode: \"en-GB\",\r\n settings: {\r\n language: \"\",\r\n countryCode: \"\",\r\n timeZone: \"\",\r\n dateFormat: \"\",\r\n timeFormat: \"\",\r\n weekStart: \"Sunday\"\r\n },\r\n permissions: {\r\n isCandidate: false,\r\n isClientAuthoriser: false,\r\n isSonovateAdmin: false\r\n },\r\n roles: {\r\n isSonovateAdmin: false,\r\n isCandidate: false,\r\n isClientAuthoriser: false,\r\n isSuperUser: false\r\n },\r\n organisationId: null,\r\n organisationName: \"\",\r\n userType: 'Candidate',\r\n shortName: ''\r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"signedInUserStore\", SignedInUserStore);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n \r\n export interface ITimesheetAddWork {\r\n timeFormat: string;\r\n entry: Models.ITimesheetEntry;\r\n addBreakHours: string;\r\n addBreakMinutes: string;\r\n addWorkHours: string;\r\n addWorkMinutes: string;\r\n errors: IDictionary;\r\n quantityType: Models.TimesheetWorkQuantityType;\r\n }\r\n\r\n export class TimesheetWorkBaseState implements ITimesheetWorkBaseState {\r\n isSelectedDatesValid: boolean = false; \r\n isAdding: boolean;\r\n showConflictError: boolean = false;\r\n nonWorkSubUnitsOfMeasure: Models.ISubUnit[];\r\n nonWorkUnit: string;\r\n activeServiceRate: Models.IServiceRate;\r\n errors: IDictionary;\r\n isStartTimeValid: boolean = true;\r\n isEndTimeValid: boolean = true;\r\n isBreakAmountValid: boolean = true;\r\n isQuantityValid: boolean = true;\r\n entry: Models.ITimesheetEntry;\r\n timeFormat: string = \"HH:mm\";\r\n mode: \"editDescriptionOnly\" | \"description\" | \"quantity\" = \"quantity\";\r\n showTimes: boolean = false;\r\n activeTimesheetId: number = null;\r\n nonWorkUnitOfMeasure: string;\r\n nonWorkUnitOfMeasureLabel: string;\r\n \r\n \r\n selectedDates: string[];\r\n\r\n protected $inject = [\r\n \"DateService\", \r\n \"$scope\"\r\n ];\r\n\r\n constructor (\r\n protected DateService: Sonovate.Core.Utils.DateService,\r\n ) { \r\n this.entry = this.getDefaultEntry(); \r\n }\r\n\r\n setNonWorkUnitsOfMeasure(subUnits: Models.ISubUnit[]): void {\r\n this.nonWorkSubUnitsOfMeasure = subUnits;\r\n }\r\n\r\n setNonWorkUnit(nonWorkUnit: string): void {\r\n this.nonWorkUnit = nonWorkUnit\r\n }\r\n\r\n getNonWorkSubUnitsAsDropdownItems(): Models.IDropdownItem[] {\r\n if(this.areSubUnitsAvialbleForNonWorkRate()){\r\n return this.nonWorkSubUnitsOfMeasure.map((subUnit) => this.ISubUnit_IDropdownItem(subUnit));\r\n }\r\n }\r\n\r\n ISubUnit_IDropdownItem(subUnit: Models.ISubUnit): Models.IDropdownItem {\r\n return {\r\n text: subUnit.subUnitOfMeasureLabel,\r\n value: subUnit.fractionOfUnit\r\n };\r\n }\r\n\r\n getSubUnitsAsDropdownItems(): Models.IDropdownItem[] { \r\n if(this.doesActiveServiceRateHaveSubUnits()){\r\n return this.activeServiceRate.unitOfMeasure.subUnits.map((subUnit) => this.ISubUnit_IDropdownItem(subUnit));\r\n }\r\n }\r\n\r\n doesActiveServiceRateHaveSubUnits(): boolean {\r\n return (\r\n this.activeServiceRate &&\r\n this.activeServiceRate.unitOfMeasure &&\r\n this.activeServiceRate.unitOfMeasure.subUnits &&\r\n this.activeServiceRate.unitOfMeasure.subUnits.length > 0\r\n );\r\n }\r\n \r\n checkErrors(state: ITimesheetAddWork): boolean {\r\n let hasErrors = false;\r\n R.mapObjIndexed((object: Models.IFormError) => {\r\n if(object.isValid == false){\r\n hasErrors = true;\r\n }\r\n }, state.errors);\r\n return hasErrors;\r\n }\r\n\r\n private _hideConflictError(): void {\r\n this.showConflictError = false; \r\n }\r\n\r\n hideConflictError(): void {\r\n this._hideConflictError();\r\n }\r\n\r\n dismissConflictError(): void {\r\n this._hideConflictError();\r\n }\r\n\r\n enableConflictError(): void {\r\n this.showConflictError = true;\r\n }\r\n\r\n instantiateState (): ITimesheetAddWork {\r\n return {\r\n timeFormat: \"HH:mm\",\r\n entry: this.getDefaultEntry(),\r\n addBreakHours: \"\",\r\n addBreakMinutes: \"\",\r\n addWorkHours: \"\",\r\n addWorkMinutes: \"\",\r\n quantityType: \"Unit\",\r\n errors: {\r\n \"entry.startTime\": {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n \"entry.endTime\": {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n \"entry.breakAmount\": {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n \"entry.units\": {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n \"entry.hours\": {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n \"entry.minutes\": {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n \"entry.breakHours\": {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n \"entry.breakMinutes\": {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n addWorkHours: {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n addWorkMinutes: {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n addBreakHours: {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n addBreakMinutes: {\r\n isValid: true,\r\n message: \"\"\r\n }\r\n }\r\n };\r\n }\r\n\r\n isActiveServiceRateHoursAndMinutes(): boolean {\r\n if (this.activeServiceRate) {\r\n return (this.activeServiceRate.unitOfMeasure && this.activeServiceRate.unitOfMeasure.unitOfMeasureTextId === \"Hour\") ||\r\n (this.activeServiceRate.isNonWorkReason && this.nonWorkUnit === \"Hour\");\r\n }\r\n }\r\n\r\n isActiveServiceRateDays(): boolean {\r\n if (this.activeServiceRate) {\r\n return (this.activeServiceRate.unitOfMeasure && this.activeServiceRate.unitOfMeasure.unitOfMeasureTextId === \"Day\") ||\r\n (this.activeServiceRate.isNonWorkReason && this.nonWorkUnit === \"Day\");\r\n }\r\n }\r\n\r\n getWorkQuantityType(): Models.TimesheetWorkQuantityType {\r\n if (this.isActiveServiceRateHoursAndMinutes()) {\r\n return \"Hour\";\r\n } else if (this.isActiveServiceRateDays()) {\r\n return \"Day\";\r\n } else {\r\n return \"Unit\";\r\n }\r\n }\r\n \r\n areSubUnitsAvialbleForNonWorkRate() : boolean {\r\n return (\r\n this.isActiveServiceRateDays() &&\r\n !R.isEmpty(this.nonWorkSubUnitsOfMeasure) && \r\n !R.isNil(this.nonWorkSubUnitsOfMeasure)\r\n );\r\n }\r\n\r\n setActiveTimesheetId (id: number) {\r\n this.activeTimesheetId = id;\r\n }\r\n\r\n switchToEditDescriptionOnlyView () {\r\n this.mode = \"editDescriptionOnly\";\r\n }\r\n\r\n typeBreakAmount (amount: string) {\r\n this.entry.breakAmount = amount;\r\n }\r\n \r\n setNonWorkUnitOfMeasure (nonWorkInformation) {\r\n this.nonWorkUnitOfMeasure = nonWorkInformation.unitOfMeasure;\r\n this.nonWorkUnitOfMeasureLabel = nonWorkInformation.label;\r\n }\r\n\r\n typeDescription (description: string) {\r\n this.entry.description = description;\r\n }\r\n\r\n nonWorkExceedsLimit() {\r\n if(this.nonWorkUnitOfMeasure === \"Day\" && parseInt(this.entry.quantity) > 1 && !this.isEmptyOrZero()) {\r\n return true;\r\n } else if (this.nonWorkUnitOfMeasure === \"Hour\" && parseInt(this.entry.quantity) > 24 && !this.isEmptyOrZero()) {\r\n return false;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n isEmptyOrZero() {\r\n parseInt(this.entry.quantity) <= 0 || _.isEmpty(this.entry.quantity) ? true : false;\r\n }\r\n\r\n clearAll () {\r\n this.entry.hasRejection = false;\r\n this.entry.id = null;\r\n this.entry.quantity = null;\r\n this.entry.showConflict = false;\r\n this.entry.startTime = '';\r\n this.entry.endTime = '';\r\n this.entry.breakAmount = '';\r\n this.entry.description = '';\r\n this.isAdding = false;\r\n this.isStartTimeValid = true;\r\n this.isEndTimeValid = true;\r\n this.isBreakAmountValid = true;\r\n this.isQuantityValid = true;\r\n }\r\n\r\n clearSelectedDates(): void {\r\n this.selectedDates = [];\r\n this.validateSelectedDates();\r\n }\r\n\r\n resetAdding() {\r\n this.isAdding = false;\r\n }\r\n\r\n validateSelectedDates (): void {\r\n this.isSelectedDatesValid = !!this.selectedDates.length;\r\n }\r\n\r\n protected carryOutCorrolationValidationIfHourlyRateSelected(serviceRate: Models.IServiceRate) {\r\n\r\n if(serviceRate.unitOfMeasure.unitOfMeasureTextId !== \"Hour\"){\r\n return;\r\n }\r\n\r\n if (this.isStartTimeValid && this.entry.endTime === '') {\r\n this.isEndTimeValid = false;\r\n }\r\n\r\n if (this.isEndTimeValid && this.entry.startTime === '') {\r\n this.isStartTimeValid = false;\r\n }\r\n\r\n if (this.entry.startTime === '' && this.entry.endTime === '') {\r\n this.isStartTimeValid = true;\r\n this.isEndTimeValid = true;\r\n }\r\n\r\n if (this.entry.quantity === '') {\r\n this.isQuantityValid = false;\r\n return;\r\n }\r\n\r\n this.isQuantityValid = true;\r\n }\r\n\r\n protected validateBreakAmount () {\r\n try {\r\n if (this.entry.breakAmount !== '') {\r\n math.number(this.entry.breakAmount);\r\n }\r\n\r\n let quanity = this.getQuantityFromStartAndEndTimes();\r\n \r\n if (quanity && quanity < math.number(this.entry.breakAmount)) {\r\n throw new Error('Break amount can not be bigger than difference between start and end dates.');\r\n }\r\n } catch (e) {\r\n this.isBreakAmountValid = false;\r\n }\r\n \r\n }\r\n\r\n protected resetTimesIfDiscrepenciesExist () {\r\n if (this.getQuantityFromStartAndEndTimesAndBreak() !== math.number(this.entry.quantity)) { \r\n this.entry.startTime = '';\r\n this.entry.endTime = '';\r\n this.entry.breakAmount = '';\r\n }\r\n }\r\n\r\n protected parseTime(date: string) {\r\n let momentDate = this.DateService.getMomentTime(date);\r\n\r\n if (momentDate.isValid()) {\r\n return momentDate.format(this.timeFormat);\r\n }\r\n \r\n throw new Error('Invalid date');\r\n }\r\n\r\n protected attemptSetQuantityIfHourlyRate (serviceRate: Models.IServiceRate) : void {\r\n if(serviceRate.unitOfMeasure.unitOfMeasureTextId !== \"Hour\") {\r\n return;\r\n }\r\n let quantity = this.getQuantityFromStartAndEndTimesAndBreak();\r\n \r\n this.entry.quantity = quantity ? quantity.toString() : '';\r\n }\r\n\r\n protected getQuantityFromStartAndEndTimes () {\r\n let quantity: mathjs.BigNumber = null;\r\n\r\n if (this.isEndTimeValid && this.isStartTimeValid) {\r\n let start = this.DateService.getMomentTime(this.entry.startTime);\r\n let end = this.DateService.getMomentTime(this.entry.endTime);\r\n\r\n quantity = Math.abs(\r\n moment.duration(\r\n start.diff(end)\r\n ).asHours()\r\n );\r\n\r\n if (start.isAfter(end)) {\r\n quantity = math.subtract(math.number(24), quantity);\r\n }\r\n\r\n quantity = math.round(quantity, 2);\r\n }\r\n\r\n return quantity;\r\n }\r\n\r\n protected getQuantityFromStartAndEndTimesAndBreak () {\r\n let quantity = this.getQuantityFromStartAndEndTimes();\r\n\r\n if (\r\n this.isBreakAmountValid\r\n && this.isStartTimeValid\r\n && this.entry.startTime !== ''\r\n && this.isEndTimeValid\r\n && this.entry.endTime !== ''\r\n ) {\r\n quantity = math.subtract(quantity, math.number(this.entry.breakAmount));\r\n }\r\n\r\n return quantity;\r\n }\r\n\r\n protected checkActiveServiceRateForHour(serviceRate: Models.IServiceRate) : boolean {\r\n if(serviceRate.unitOfMeasure.unitOfMeasureTextId === \"Hour\") {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n protected getDefaultEntry (): Models.ITimesheetEntry {\r\n return {\r\n type: '',\r\n quantity: '',\r\n unitOfMeasure: \"Hour\",\r\n workType: '',\r\n startTime: '',\r\n endTime: '',\r\n breakAmount: ''\r\n }\r\n }\r\n }\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export abstract class FormBaseState implements IFormBaseState {\r\n\r\n public errorMessage: string;\r\n public successMessage: string;\r\n public formErrors: {};\r\n\r\n constructor() {}\r\n\r\n public formIsReadyForSubmission(): boolean {\r\n return this.getUnfilledFields().length === 0;\r\n }\r\n\r\n public setValidationErrors(): void {\r\n var unfilledFields = this.getUnfilledFields();\r\n this.formErrors = R.mapObjIndexed(\r\n (value, key) => R.contains(key, unfilledFields), \r\n this.formErrors\r\n );\r\n }\r\n\r\n public abstract getUnfilledFields(): string[];\r\n\r\n public getListOfUnfilledFields(fields: IDictionary): string[] {\r\n return R.pipe(\r\n R.toPairs, \r\n R.filter((pairs) => R.isNil(pairs[1]) || R.isEmpty(pairs[1])), \r\n R.fromPairs, \r\n R.keys\r\n )(fields);\r\n }\r\n\r\n public dismissErrorMessage(): void {\r\n this.errorMessage = \"\";\r\n }\r\n\r\n public setErrorMessage(error: IErrorResult): void {\r\n this.errorMessage = error.error;\r\n }\r\n\r\n public setSucessMessage(text:string): void {\r\n this.successMessage = text;\r\n }\r\n\r\n public dismissSuccessMessage(): void {\r\n this.successMessage = null;\r\n }\r\n\r\n public resetFormErrors(): void {\r\n R.keys(this.formErrors).map((fieldName) => {\r\n this.formErrors[fieldName] = null;\r\n });\r\n }\r\n\r\n }\r\n}","/// \r\n\r\n// This whole class is designed to help work with statuses\r\n// that follow the data format of IDictionary.\r\n// So far that is Risk Statuses and Agreement Statuses,\r\n// if Statuses of a new category are introduced in the future by the team\r\n// they should follow the same convention.\r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export class StatusStateBaseClass {\r\n\r\n public statuses: IDictionary = {};\r\n public statusStyles: IDictionary> = {};\r\n\r\n constructor() {}\r\n\r\n public setStatuses(statuses: IDictionary) {\r\n this.statuses = R.mapObjIndexed((statuses: Models.IStatus[], groupTypeId): Models.IStatus[] => {\r\n return R.map((status: Models.IStatus): Models.IStatus => {\r\n return R.merge(status, this.getStatusIconAndColor(status.id, groupTypeId));\r\n }, statuses);\r\n }, statuses);\r\n }\r\n\r\n public getStatuses(): IDictionary{\r\n return this.statuses;\r\n }\r\n \r\n public getStatusesAsDropdownItems (): IDictionary {\r\n return R.mapObjIndexed(\r\n (statuses: Models.IStatus[]): Models.IDropdownItem[] => this.IStatusArray_IDropdownItemArray(statuses), \r\n this.statuses\r\n );\r\n }\r\n\r\n public getGroupTypeStatusesAsDropdownItems(groupTypeId: string): Models.IDropdownItem[] {\r\n return this.IStatusArray_IDropdownItemArray(this.getStatusesByGroupType(groupTypeId));\r\n }\r\n\r\n private IStatusArray_IDropdownItemArray(statuses: Models.IStatus[]): Models.IDropdownItem[] {\r\n return statuses.map((status: Models.IStatus): Models.IDropdownItem => {\r\n return {\r\n value: status.id,\r\n text: status.text,\r\n icon: status.icon, \r\n color: status.color\r\n };\r\n });\r\n }\r\n\r\n public getStatusLocalisedTextByRiskTypeAndId(groupTypeId, statusId): string {\r\n let riskStatus = this.getStatusByGroupTypeAndId(groupTypeId, statusId);\r\n if (!R.isNil(riskStatus)) {\r\n return riskStatus.text;\r\n } \r\n return \"\";\r\n }\r\n\r\n public getStatusByGroupTypeAndId(groupTypeId, statusId): Models.IStatus {\r\n if (this.statusExists(groupTypeId, statusId)) {\r\n return this.findStatusInGroupType(this.statuses[groupTypeId], statusId);\r\n }\r\n return null;\r\n }\r\n\r\n // ported to utils\r\n public getStatusesByGroupType(groupTypeId: string): Models.IStatus[] {\r\n if (this.statuses.hasOwnProperty(groupTypeId)) {\r\n return this.statuses[groupTypeId];\r\n }\r\n return [];\r\n }\r\n\r\n public getStatusIconAndColor(statusId: string, groupTypeId: string): Models.IStatusStyle {\r\n if (this.statusStyleExists(groupTypeId, statusId)) {\r\n return this.statusStyles[groupTypeId][statusId];\r\n }\r\n return {};\r\n }\r\n\r\n private statusStyleExists(groupTypeId:string, statusId: string) : boolean {\r\n return (\r\n this.statusStyles.hasOwnProperty(groupTypeId) &&\r\n this.statusStyles[groupTypeId].hasOwnProperty(statusId)\r\n );\r\n }\r\n\r\n private statusExists(groupTypeId: string, statusId: string): boolean {\r\n return (\r\n this.statuses.hasOwnProperty(groupTypeId) &&\r\n !R.isNil(this.findStatusInGroupType(this.statuses[groupTypeId], statusId))\r\n );\r\n }\r\n\r\n findStatusInGroupType(groupTypeStatuses: Models.IStatus[], statusId: string): Models.IStatus {\r\n return R.find(\r\n (status): boolean => status.id === statusId, \r\n groupTypeStatuses\r\n )\r\n }\r\n }\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export class ChangeRiskAssessmentStatusState {\r\n\r\n show: boolean;\r\n note: string;\r\n ownerId: number;\r\n assessmentId: number;\r\n status: Enums.AssessmentStatus;\r\n statusBeforeStatuses: Enums.AssessmentStatus;\r\n selectedStatus: Models.IStatus;\r\n statuses: Models.IStatus[];\r\n flags: Enums.AssessmentRiskFlag[];\r\n\r\n constructor() {\r\n this.show = false;\r\n this.statuses = [];\r\n this.flags = [];\r\n this.note = \"\";\r\n }\r\n\r\n public setAssessmentDataAndStatus(ownerId, assessment: Models.IAssessment) : void {\r\n this.show = true;\r\n this.ownerId = ownerId;\r\n this.assessmentId = assessment.assessmentId;\r\n this.setStatus(assessment.assessmentStatus);\r\n }\r\n\r\n public toggleFlag(flag: Enums.AssessmentRiskFlag): void {\r\n if (R.contains(flag, this.flags)) {\r\n this.flags = R.difference(this.flags, [flag]);\r\n } else {\r\n this.flags.push(flag);\r\n }\r\n }\r\n\r\n public setStatus(status: Enums.AssessmentStatus): void {\r\n if (this.statusExists(status)) {\r\n this.status = status;\r\n this.selectedStatus = R.find(R.propEq('id', status), this.statuses);\r\n }\r\n }\r\n\r\n public setNote(note: string): void {\r\n this.note = note;\r\n }\r\n\r\n public setStatuses(statuses: Models.IStatus[]): void {\r\n this.statuses = statuses;\r\n }\r\n\r\n private statusExists(status: string): boolean {\r\n return R.contains(status, R.map((riskStatus) => riskStatus.id, this.statuses));\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"ChangeRiskAssessmentStatusState\", ChangeRiskAssessmentStatusState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export class DropdownKeyboardNavState {\r\n length: number = 0;\r\n selectedIndex: number = 0;\r\n\r\n setLength (length: number) {\r\n this.length = length;\r\n this.selectedIndex = 0;\r\n }\r\n\r\n getLength () {\r\n return this.length;\r\n }\r\n\r\n getSelectedIndex () {\r\n return this.selectedIndex;\r\n }\r\n\r\n arrowDown () {\r\n this.selectedIndex++;\r\n\r\n if (this.selectedIndex >= this.length) {\r\n this.selectedIndex = 0;\r\n }\r\n }\r\n\r\n arrowUp () {\r\n this.selectedIndex--;\r\n\r\n if (this.selectedIndex < 0) {\r\n this.selectedIndex = this.length - 1;\r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"DropdownKeyboardNavState\", DropdownKeyboardNavState);\r\n}"," /// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n export class DropdownKeyboardNavEvents {\r\n\r\n userIntents: IDropdownKeyboardNavUserIntents = {\r\n reset: new Rx.Subject(),\r\n arrowUp: new Rx.Subject(),\r\n arrowDown: new Rx.Subject(),\r\n enter: new Rx.Subject(),\r\n escape: new Rx.Subject()\r\n }\r\n \r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"DropdownKeyboardNavEvents\", DropdownKeyboardNavEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n export interface IMessageBarUserIntents {\r\n showSuccessMessage: Rx.Subject,\r\n showErrorMessage: Rx.Subject,\r\n dismissMessage: Rx.Subject,\r\n }\r\n\r\n\r\n export class MessageBarEvents{\r\n\r\n userIntents: IMessageBarUserIntents = {\r\n showSuccessMessage: new Rx.Subject() ,\r\n showErrorMessage: new Rx.Subject(),\r\n dismissMessage: new Rx.Subject(),\r\n }\r\n\r\n static $inject = [];\r\n\r\n constructor() {}\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"MessageBarEvents\", MessageBarEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export class MessageBarState {\r\n\r\n message: string;\r\n color: Models.color;\r\n show: boolean;\r\n\r\n constructor() {\r\n this.setDefaultState();\r\n }\r\n\r\n dismissErrorMessage() {\r\n this.setDefaultState();\r\n }\r\n\r\n setSuccessMessage(message:string) {\r\n this.message = message;\r\n this.color = \"apple\";\r\n this.show = true;\r\n }\r\n\r\n setErrorMessage(message:string) {\r\n this.message = message;\r\n this.color = \"parrot\";\r\n this.show = true;\r\n }\r\n\r\n setDefaultState() {\r\n this.message = null;\r\n this.color = null;\r\n this.show = false;\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"MessageBarState\", MessageBarState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export class ProposalSearchState {\r\n query: Models.ISearchQuery;\r\n collection: Models.IProposalSearchResult[];\r\n isLoading: boolean;\r\n\r\n constructor () {\r\n this.setDefaultState();\r\n }\r\n\r\n setQueryFromStateParams (stateParms: ng.ui.IStateParamsService) {\r\n this.query = Utils.Search.stateParams_ISearchQuery(stateParms);\r\n }\r\n\r\n setSearchString (searchQuery: string) {\r\n this.query.q = searchQuery;\r\n }\r\n\r\n setSearchQuery (query: Models.ISearchQuery) {\r\n this.query = query;\r\n this.setStateToLoading();\r\n }\r\n\r\n setStateToLoading () {\r\n this.collection = [];\r\n this.isLoading = true;\r\n }\r\n\r\n addToCollection(proposals: Models.IProposalSearchResult[]) {\r\n this.isLoading = false;\r\n this.collection = this.collection.concat(proposals);\r\n }\r\n\r\n increaseOffset () {\r\n this.query.offset = this.query.offset + 1;\r\n }\r\n\r\n filterByIssueDate (dateRange: Models.IDateRange) {\r\n this.query.filter = Utils.Search.addOrUpdateFilters(this.query.filter, 'issueDate', 'gte', dateRange.startDate);\r\n this.query.filter = Utils.Search.addOrUpdateFilters(this.query.filter, 'issueDate', 'lte', dateRange.endDate);\r\n this.setStateToLoading();\r\n }\r\n\r\n filterByCreationDate (dateRange: Models.IDateRange) {\r\n this.query.filter = Utils.Search.addOrUpdateFilters(this.query.filter, 'creationDate', 'gte', dateRange.startDate);\r\n this.query.filter = Utils.Search.addOrUpdateFilters(this.query.filter, 'creationDate', 'lte', dateRange.endDate);\r\n this.setStateToLoading();\r\n }\r\n\r\n filterByStatus (status: string) {\r\n this.query.filter = Utils.Search.addOrUpdateFilters(this.query.filter, 'status', 'eq', status);\r\n this.setStateToLoading();\r\n }\r\n\r\n getIssueDateFilter (): Models.IDateRange {\r\n return {\r\n startDate: Utils.Search.getFilterValueByFieldNameAndOperator(this.query.filter, 'issueDate', 'gte'),\r\n endDate: Utils.Search.getFilterValueByFieldNameAndOperator(this.query.filter, 'issueDate', 'lte')\r\n };\r\n }\r\n\r\n getCreationDateFilter (): Models.IDateRange {\r\n return {\r\n startDate: Utils.Search.getFilterValueByFieldNameAndOperator(this.query.filter, 'creationDate', 'gte'),\r\n endDate: Utils.Search.getFilterValueByFieldNameAndOperator(this.query.filter, 'creationDate', 'lte')\r\n };\r\n }\r\n\r\n getStatus (): string {\r\n return Utils.Search.getFilterValueByFieldNameAndOperator(this.query.filter, 'status', 'eq');\r\n }\r\n\r\n getSearchString() {\r\n return this.query.q;\r\n }\r\n\r\n private setDefaultState () {\r\n this.query = Core.Utils.Search.getDefaultSearchQuery();\r\n this.collection = [];\r\n this.isLoading = false;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"ProposalSearchState\", ProposalSearchState);\r\n}","/// \r\n\r\n// This is a temporary file for demo purposes\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class ProposalSearchResultTransformers {\r\n IProposalSearchViewModel_IProposalSearchResult (result: ViewModels.ServiceAgreement.ProposalSearchResult): Models.IProposalSearchResult {\r\n return {\r\n proposalId: result.proposalId,\r\n proposalStatus: result.proposalStatus,\r\n organisationName: result.organisationName,\r\n createdOn: result.createdOn,\r\n issuedBy: result.issuedBy,\r\n issuedOn: result.issuedOn\r\n };\r\n }\r\n\r\n IProposalSearchViewModelArray_IProposalSearchResultArray (results: ViewModels.ServiceAgreement.ProposalSearchResult[]): Models.IProposalSearchResult[] {\r\n return results.map((result) => this.IProposalSearchViewModel_IProposalSearchResult(result));\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"ProposalSearchResultTransformers\", ProposalSearchResultTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class ReferenceDataTransformers {\r\n\r\n AgreementStatusViewModelArray_IStatusArray (viewModel: ViewModels.ServiceAgreement.AgreementStatus[]): Models.IStatus[] {\r\n return R.map(this.AgreementStatusViewModel_IStatus, viewModel);\r\n }\r\n\r\n AgreementStatusViewModel_IStatus (viewModel: ViewModels.ServiceAgreement.AgreementStatus): Models.IStatus {\r\n return {\r\n id: viewModel.id,\r\n text: viewModel.text\r\n };\r\n }\r\n \r\n AgreementStatusesViewModel_IStatuses(statusesViewModel: IDictionary): IDictionary {\r\n return R.mapObjIndexed(\r\n (statuses: ViewModels.ServiceAgreement.AgreementStatus[]): Models.IStatus[] => \r\n this.AgreementStatusViewModelArray_IStatusArray(statuses), \r\n statusesViewModel\r\n );\r\n }\r\n \r\n AssessmentDocumentTypeViewModelArray_IDocumentTypeArray (statuses: ViewModels.Risk.AssessmentStatus[]): Models.IDocumentType[] {\r\n return statuses.map(status => {\r\n return {\r\n id: status.id,\r\n text: status.text\r\n };\r\n });\r\n }\r\n \r\n AssessmentDocumentTypeViewModelObject_IDocumentTypeObject (statuses: IDictionary): IDictionary {\r\n var newObj: IDictionary = {};\r\n \r\n R.mapObjIndexed((array: ViewModels.Risk.AssessmentStatus[], key) => {\r\n newObj[key.charAt(0).toUpperCase() + key.slice(1)] = this.AssessmentDocumentTypeViewModelArray_IDocumentTypeArray(array)\r\n }, statuses);\r\n \r\n return newObj;\r\n }\r\n\r\n TimesheetStatusArray_ITimesheetStatusArray(statuses: ViewModels.Timesheets.ScopedTimesheetStatus[]): Models.ITimesheetStatus[] {\r\n return statuses.map(status => this.TimesheetStatus_ITimesheetStatus(status));\r\n }\r\n\r\n TimesheetStatus_ITimesheetStatus(status: ViewModels.Timesheets.ScopedTimesheetStatus): Models.ITimesheetStatus {\r\n return {\r\n id: status.id,\r\n text: status.text\r\n };\r\n }\r\n\r\n RoleArray_IRoleArray(roles: ViewModels.Directory.Role[]): Models.IRole[] {\r\n return roles.map(role => this.Role_IRole(role));\r\n }\r\n\r\n Role_IRole(role: ViewModels.Directory.Role): Models.IRole {\r\n return {\r\n name: role.name,\r\n description: role.description,\r\n id: role.roleId\r\n };\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"ReferenceDataTransformers\", ReferenceDataTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class AccountStatusTransformers {\r\n\r\n UserAccountStatusArray_IPersonStatusArray(models: ViewModels.Directory.UserAccountStatus[]): Models.IPersonStatus[] {\r\n return models.map(model => this.UserAccountStatus_IPersonStatus(model));\r\n }\r\n\r\n UserAccountStatus_IPersonStatus(model: ViewModels.Directory.UserAccountStatus): Models.IPersonStatus {\r\n return {\r\n id: model.id,\r\n text: model.text\r\n };\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"AccountStatusTransformers\", AccountStatusTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Services {\r\n\r\n export interface IStateChange {\r\n from: string;\r\n to: string;\r\n params: ng.ui.IStateParamsService\r\n }\r\n \r\n export class StateChangeService {\r\n\r\n $inject = [\"$rootScope\"];\r\n stateChangeObservable: Rx.BehaviorSubject;\r\n\r\n constructor(\r\n protected $rootScope?: ng.IRootScopeService\r\n ) {\r\n \r\n this.stateChangeObservable = new Rx.BehaviorSubject({\r\n from: '',\r\n to: '',\r\n params: {} \r\n });\r\n \r\n this.$rootScope.$on('$stateChangeSuccess', (ev, to, toParams, from, fromParams) => {\r\n this.stateChangeObservable.onNext({\r\n from: from.name,\r\n to: to.name,\r\n params: toParams\r\n });\r\n });\r\n }\r\n \r\n getStateChangeObservableForRoute(route:string): Rx.Observable {\r\n return this.stateChangeObservable\r\n .filter((event: IStateChange) => {\r\n return event.to === route && event.from !== route;\r\n });\r\n }\r\n\r\n getStateChangeObservable(): Rx.Observable {\r\n return this.stateChangeObservable;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"StateChangeService\", StateChangeService);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State.ReferenceDataState {\r\n\r\n export class ProposalStatusState {\r\n statuses: Models.IStatusItem[] = [];\r\n\r\n setStatuses (statuses) {\r\n this.statuses = statuses;\r\n }\r\n\r\n getStatusById(id: Enums.AgreementStatus): Models.IStatus {\r\n return R.find(R.propEq(\"id\", id), this.statuses);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"ProposalStatusState\", ProposalStatusState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n export interface IAgreementStatusUserIntents { \r\n getAgreementStatuses: Rx.Subject;\r\n }\r\n\r\n export interface IAgreementStatusHttpResults {\r\n getAgreementStatusesSuccess: Rx.Subject>;\r\n getProposalStatusesSuccess: Rx.Subject;\r\n }\r\n\r\n export class AgreementStatusEvents {\r\n\r\n userIntents: IAgreementStatusUserIntents = {\r\n getAgreementStatuses: new Rx.Subject()\r\n }\r\n\r\n httpResults: IAgreementStatusHttpResults = {\r\n getAgreementStatusesSuccess: new Rx.Subject>(),\r\n getProposalStatusesSuccess: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"ReferenceDataTransformers\",\r\n \"AgreementStatusTransformers\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private ReferenceDataTransformers: Transformers.ReferenceDataTransformers,\r\n private AgreementStatusTransformers: Transformers.AgreementStatusTransformers\r\n ) {\r\n this.getAgreementStatusesOnGetAgreementStatuses(); \r\n }\r\n\r\n protected getAgreementStatusesOnGetAgreementStatuses() : void {\r\n this.userIntents.getAgreementStatuses\r\n .take(1)\r\n .flatMap(() => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/agreements/statuses`)\r\n )\r\n .retry(3)\r\n .catch((): IEmptyObservable => Rx.Observable.empty())\r\n })\r\n .map((response: IResponse>): IDictionary => {\r\n return >response.data.result;\r\n })\r\n .subscribe((statusDictionary:IDictionary) => {\r\n this.httpResults.getAgreementStatusesSuccess.onNext(this.ReferenceDataTransformers.AgreementStatusesViewModel_IStatuses(statusDictionary));\r\n this.httpResults.getProposalStatusesSuccess.onNext(this.AgreementStatusTransformers.ProposalAgreementStatusArray_IStatusItemArray(statusDictionary['proposal']));\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"AgreementStatusEvents\", AgreementStatusEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class AgreementStatusTransformers {\r\n\r\n ProposalAgreementStatus_IStatusItem(status: ViewModels.ServiceAgreement.AgreementStatus): Models.IStatusItem {\r\n return Utils.Status.augmentStatusItemUsingConfigurationArray({\r\n id: status.id,\r\n text: status.text\r\n }, Config.ProposalStatusStyles);\r\n }\r\n\r\n ProposalAgreementStatusArray_IStatusItemArray(statuses: ViewModels.ServiceAgreement.AgreementStatus[]): Models.IStatusItem[] {\r\n return statuses.map(status => this.ProposalAgreementStatus_IStatusItem(status));\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"AgreementStatusTransformers\", AgreementStatusTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class AssessmentTransformers {\r\n \r\n static $inject = [];\r\n\r\n constructor(\r\n ) {}\r\n\r\n AssessmentSummaryArray_IAssessment(summaries: ViewModels.Risk.AssessmentSummary[]): Models.IOrganisationAssessment | {} {\r\n if (!R.isNil(summaries) && !R.isEmpty(summaries) && R.is(Array, summaries)) {\r\n let firstAssessment = summaries[0]\r\n return {\r\n assessmentStatus: firstAssessment.assessmentStatus,\r\n assessmentType: firstAssessment.assessmentType,\r\n assessmentFlags: firstAssessment.riskFlags.flags\r\n }\r\n }\r\n return {};\r\n }\r\n\r\n AssessmentSummaryViewModel_IAssessment(summary: ViewModels.Risk.AssessmentSummary): Models.IAssessment {\r\n return {\r\n assessmentId: summary.assessmentId || 0,\r\n assessmentType: summary.assessmentType,\r\n assessmentStatus: summary.assessmentStatus,\r\n riskFlags: this.RiskFlagsViewModel_IFlagsAndNote(summary.riskFlags)\r\n }\r\n }\r\n\r\n AssessmentSummaryViewModelArray_IAssessmentArray(summaries: ViewModels.Risk.AssessmentSummary[]): Models.IAssessment[] {\r\n if(R.isEmpty(summaries) || R.isNil(summaries)) {\r\n return [];\r\n }\r\n return summaries.map(summary => this.AssessmentSummaryViewModel_IAssessment(summary));\r\n }\r\n\r\n AssessmentSummaryArray_IAssessmentArray(summaries: ViewModels.Risk.AssessmentSummary[]): Models.IAssessment[] {\r\n if(R.isEmpty(summaries) || R.isNil(summaries)) {\r\n return [];\r\n }\r\n return summaries.map(summary => this.AssessmentSummaryViewModel_IAssessment(summary));\r\n }\r\n\r\n IAssessment_AssessmentSummaryViewModel(assessment: Models.IAssessment): ViewModels.Risk.AssessmentSummary {\r\n return {\r\n assessmentId: assessment.assessmentId,\r\n assessmentType: assessment.assessmentType,\r\n assessmentStatus: assessment.assessmentStatus,\r\n riskFlags: this.RiskFlagsViewModel_IFlagsAndNote(assessment.riskFlags)\r\n }\r\n }\r\n\r\n IAssessmentArray_AssessmentSummaryViewModelArray(assessments: Models.IAssessment[]): ViewModels.Risk.AssessmentSummary[] {\r\n if(R.isEmpty(assessments) || R.isNil(assessments)) {\r\n return [];\r\n }\r\n return assessments.map(assessment => this.IAssessment_AssessmentSummaryViewModel(assessment));\r\n }\r\n\r\n private RiskFlagsViewModel_IFlagsAndNote(riskFlag: ViewModels.Risk.RiskFlags): Models.IFlagsAndNote {\r\n return {\r\n flags: riskFlag.flags,\r\n note: riskFlag.noteText\r\n }\r\n }\r\n\r\n private IFlagsAndNote_RiskFlagsViewModel(flagNote: Models.IFlagsAndNote): ViewModels.Risk.RiskFlags {\r\n return {\r\n flags: flagNote.flags,\r\n noteText: flagNote.note\r\n }\r\n }\r\n \r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n.service(\"AssessmentTransformers\",AssessmentTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class BankAccountTransformers {\r\n\r\n BankAccountArray_IBankAccountArray(accounts: ViewModels.Directory.BankAccount[]): Models.IBankAccount[] {\r\n return accounts.map(account => this.BankAccount_IBankAccount(account));\r\n }\r\n\r\n BankAccount_IBankAccount(viewModel: ViewModels.Directory.BankAccount): Models.IBankAccount {\r\n return {\r\n accountName: viewModel.accountName,\r\n sortCode: viewModel.sortCode,\r\n accountNumber: viewModel.accountNumber,\r\n bankBranchName: viewModel.bankBranchName,\r\n isoCountryCode: viewModel.isoCountryCode,\r\n iban: viewModel.iban,\r\n bic: viewModel.bic,\r\n currencyCode: viewModel.currencyCode,\r\n id: viewModel.id,\r\n isTrustAccount: viewModel.isTrustAccount,\r\n status: viewModel.status,\r\n canAction: viewModel.canAction,\r\n };\r\n }\r\n\r\n IBankAccount_BankAccount(model: Models.IBankAccount): ViewModels.Directory.BankAccount {\r\n return {\r\n id: model.id,\r\n accountName: model.accountName,\r\n sortCode: model.sortCode,\r\n accountNumber: model.accountNumber,\r\n bankBranchName: model.bankBranchName,\r\n isoCountryCode: model.isoCountryCode,\r\n isTrustAccount: model.isTrustAccount,\r\n iban: model.iban,\r\n bic: model.bic,\r\n currencyCode: model.currencyCode\r\n };\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"BankAccountTransformers\",BankAccountTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class ActivityStreamTransformers {\r\n $inject = [\"NoteTransformers\", \"DocumentTransformers\"];\r\n\r\n constructor(\r\n protected NoteTransformers: Core.Transformers.NoteTransformers,\r\n protected DocumentTransformers: Core.Transformers.DocumentTransformers\r\n ) {}\r\n\r\n IActivityStreamViewModelSet_IActivityStreamItemArray (viewModelSet: Core.Events.IActivityStreamViewModelsSet): Models.IActivityStreamItem[] {\r\n return R.reverse(\r\n R.sortBy(\r\n R.prop('dateTime'),\r\n R.concat(\r\n this.NoteArray_IActivityStreamItemArray(viewModelSet.notes),\r\n this.DocumentArray_IActivityStreamItemArray(viewModelSet.documents)\r\n )\r\n )\r\n );\r\n }\r\n\r\n NoteArray_IActivityStreamItemArray (notes: ViewModels.Activity.Note[]): Models.IActivityStreamItem[] {\r\n return R.map((note: Models.INote): Models.IActivityStreamItem => {\r\n return {\r\n itemType: 'note',\r\n dateTime: note.createdDate,\r\n note: note\r\n }\r\n }, this.NoteTransformers.NoteViewModelArray_INoteArray(notes))\r\n }\r\n\r\n DocumentArray_IActivityStreamItemArray (documents: ViewModels.Gateway.Document[]): Models.IActivityStreamItem[] {\r\n return R.map((document: Models.IDocument): Models.IActivityStreamItem => {\r\n return {\r\n itemType: 'document',\r\n dateTime: document.uploadedDate,\r\n document: document\r\n }\r\n }, this.DocumentTransformers.DocumentViewModelArray_IDocumentArray(documents))\r\n }\r\n\r\n Note_IActivityStreamItem (note: ViewModels.Activity.Note): Models.IActivityStreamItem {\r\n return {\r\n itemType: 'note',\r\n dateTime: note.createdDate,\r\n note: this.NoteTransformers.NoteViewModel_INote(note)\r\n }\r\n }\r\n\r\n Document_IActivityStreamItem (document: ViewModels.Gateway.Document): Models.IActivityStreamItem {\r\n return {\r\n itemType: 'document',\r\n dateTime: document.uploadedDate,\r\n document: this.DocumentTransformers.DocumentViewModel_IDocument(document)\r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"ActivityStreamTransformers\", ActivityStreamTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class NoteTransformers {\r\n NoteViewModel_INote (noteViewModel: ViewModels.Activity.Note): Models.INote {\r\n return {\r\n id: noteViewModel.noteId,\r\n text: noteViewModel.body,\r\n authorId: noteViewModel.authorId,\r\n authorName: noteViewModel.authorName,\r\n createdDate: noteViewModel.createdDate\r\n };\r\n }\r\n\r\n NoteViewModelArray_INoteArray (noteViewModels: ViewModels.Activity.Note[]): Models.INote[] {\r\n return noteViewModels.map((noteViewModel) => this.NoteViewModel_INote(noteViewModel));\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"NoteTransformers\",NoteTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class DocumentTransformers {\r\n DocumentViewModel_IDocument (documentViewModel: ViewModels.Gateway.Document): Models.IDocument {\r\n return {\r\n id: documentViewModel.documentId,\r\n documentType: documentViewModel.documentType,\r\n documentName: documentViewModel.documentName,\r\n documentUrl: documentViewModel.documentUrl,\r\n uploadedByName: documentViewModel.uploadedByName,\r\n uploadedById: documentViewModel.uploadedById,\r\n uploadedDate: documentViewModel.uploadedDate\r\n };\r\n }\r\n\r\n DocumentViewModelArray_IDocumentArray (documentViewModels: ViewModels.Gateway.Document[]): Models.IDocument[] {\r\n return documentViewModels.map((model) => this.DocumentViewModel_IDocument(model));\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"DocumentTransformers\",DocumentTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class InvoicesTransformers {\r\n\r\n InvoiceStatusArray_IStatusArray(statuses: ViewModels.Core.LocalisedText[]): Models.IStatus[] { \r\n return statuses.map(status => this.InvoiceStatus_IStatus(status));\r\n }\r\n\r\n InvoiceStatus_IStatus (status: ViewModels.Core.LocalisedText): Models.IStatus { \r\n return {\r\n id: status.id,\r\n text: status.text\r\n };\r\n }\r\n \r\n Invoice_IInvoice (entity: RequestModels.Invoices.Invoice): Models.IInvoiceSearchResult { \r\n return this.Invoice_IInvoiceSearchResult(entity);\r\n }\r\n\r\n InvoiceArray_IInvoiceSearchResultArray (invoices: RequestModels.Invoices.Invoice[]): Models.IInvoiceSearchResult[] {\r\n return invoices.map(invoice => this.Invoice_IInvoiceSearchResult(invoice));\r\n }\r\n\r\n Invoice_IInvoiceSearchResult (invoice: RequestModels.Invoices.Invoice): Models.IInvoiceSearchResult {\r\n return {\r\n id: invoice.invoiceId,\r\n invoiceId: invoice.invoiceId,\r\n reference: invoice.reference,\r\n invoiceDate: invoice.invoiceDate,\r\n issueRecord: this.IssuedByArray_IIssuedByArray(invoice.issueRecord),\r\n gross: invoice.gross,\r\n net: invoice.net,\r\n vat: invoice.vat,\r\n vatNumber: invoice.vatNumber,\r\n companyRegNumber: invoice.companyRegNumber,\r\n currency: invoice.currency,\r\n clientOrganisationId: invoice.clientOrganisationId,\r\n candidateOrganisationId: invoice.candidateOrganisationId,\r\n assignment: invoice.assignment,\r\n agencyOrganisationId: invoice.agencyOrganisationId,\r\n agencyName: invoice.agencyName,\r\n direction: invoice.direction,\r\n status: invoice.status,\r\n invoiceType: invoice.invoiceType\r\n }\r\n }\r\n\r\n IssuedByArray_IIssuedByArray (issuedByArray: RequestModels.Invoices.IssuedBy[]): Models.IIssuedBy[] {\r\n return issuedByArray.map(issuedBy => this.IssuedBy_IIssuedBy(issuedBy));\r\n }\r\n\r\n IssuedBy_IIssuedBy (issuedBy: RequestModels.Invoices.IssuedBy): Models.IIssuedBy {\r\n return {\r\n id: issuedBy.id,\r\n name: issuedBy.name,\r\n issuedOn: issuedBy.issuedOn,\r\n issuedTo: this.IssuedToArray_IIssuedToArray(issuedBy.issuedTo)\r\n }\r\n }\r\n\r\n IssuedToArray_IIssuedToArray (issuedToArray: RequestModels.Invoices.IssuedTo[]): Models.IIssuedTo[] {\r\n return issuedToArray.map(issuedTo => this.IssuedTo_IIssuedTo(issuedTo));\r\n }\r\n\r\n IssuedTo_IIssuedTo (issuedTo: RequestModels.Invoices.IssuedTo): Models.IIssuedTo {\r\n return {\r\n contactName: issuedTo.contactName,\r\n emailAddress: issuedTo.emailAddress\r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"InvoicesTransformers\", InvoicesTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class KpiTransformers {\r\n $inject = [\"$state\"];\r\n\r\n constructor(protected $state: ng.ui.IStateService) {\r\n }\r\n\r\n KpiSummaryArray_IKpiContainerArray (summaries: RequestModels.Gateway.KpiSummary[]): Models.IKpiContainer[] {\r\n return summaries.map(summary => this.KpiSummary_IKpiContainer(summary));\r\n }\r\n\r\n KpiSummary_IKpiContainer (summary: RequestModels.Gateway.KpiSummary): Models.IKpiContainer {\r\n let container = {\r\n id: summary.id,\r\n kpi: null,\r\n colSpans: null,\r\n secondLevelItemCount: summary.secondLevelItemCount ? summary.secondLevelItemCount : 0,\r\n thirdLevelItemCount: summary.thirdLevelItemCount ? summary.thirdLevelItemCount : 0,\r\n hasSecondLevelLabels: summary.hasSecondLevelLabels,\r\n hasThirdLevelLabels: summary.hasThirdLevelLabels,\r\n childChartTypeLevel1: summary.childChartTypeLevel1,\r\n childChartTypeLevel2: summary.childChartTypeLevel2\r\n };\r\n\r\n container.colSpans = this.getColspanForKpiContainer(container);\r\n container.kpi = this.generateDummyKpiFromContainer(container);\r\n \r\n return container;\r\n }\r\n\r\n KpiArray_IKpiArray (kpis: RequestModels.Gateway.Kpi[]): Models.IKpi[] {\r\n return kpis.map(kpis => this.Kpi_IKpi(kpis));\r\n }\r\n\r\n Kpi_IKpi (measure: RequestModels.Gateway.Kpi): Models.IKpi {\r\n let kpi = {\r\n label: measure.dimension ? measure.dimension.l10nLabel : null,\r\n value: measure.value,\r\n priority: measure.priority,\r\n link: measure.drillLink ? this.$state.href(measure.drillLink.linkId, measure.drillLink.parameters) : null,\r\n kpis: measure.kpis ? this.KpiArray_IKpiArray(measure.kpis): null,\r\n dougnutData: null,\r\n childChartType: measure.childChartType,\r\n color: measure.color,\r\n lineChartData: null,\r\n unit: measure.unit\r\n };\r\n\r\n if (kpi.childChartType === 'doughnut') {\r\n kpi.dougnutData = this.getDoughnutData(kpi);\r\n }\r\n if (kpi.childChartType === 'line') {\r\n kpi.lineChartData = this.getLineChartData(kpi);\r\n }\r\n return kpi;\r\n }\r\n\r\n private getDoughnutData (kpi: Models.IKpi): Models.IDoughnutData {\r\n return {\r\n colors: kpi.kpis.map((kpi) => {\r\n return kpi.color;\r\n }),\r\n labels: kpi.kpis.map((kpi) => {\r\n return kpi.label;\r\n }),\r\n values: kpi.kpis.map((kpi) => {\r\n return kpi.value;\r\n }),\r\n links: kpi.kpis.map((kpi) => {\r\n return kpi.link;\r\n }),\r\n units: kpi.kpis.map((kpi) => {\r\n return kpi.unit;\r\n })\r\n }\r\n }\r\n\r\n private getLineChartData (kpi: Models.IKpi): Models.ILineChartData {\r\n if (kpi.kpis.length && kpi.kpis[0].kpis && kpi.kpis[0].kpis.length) {\r\n return {\r\n labels: kpi.kpis[0].kpis.map((kpi) => {\r\n return kpi.label;\r\n }),\r\n datasets: kpi.kpis.map((lineKpi) => {\r\n return this.getLineChartDataSet(lineKpi);\r\n })\r\n }\r\n }\r\n\r\n return {\r\n labels: kpi.kpis.map((kpi) => {\r\n return kpi.label;\r\n }),\r\n datasets: [\r\n this.getLineChartDataSet(kpi)\r\n ]\r\n }\r\n }\r\n\r\n private getLineChartDataSet (kpi: Models.IKpi): Models.ILineChartDataSet {\r\n return {\r\n color: kpi.color,\r\n label: kpi.label,\r\n value: kpi.value,\r\n legendLink: kpi.link,\r\n unit: kpi.unit,\r\n dataPointLinks: kpi.kpis.map((kpi) => {\r\n return kpi.link;\r\n }),\r\n dataPointColors: kpi.kpis.map((kpi) => {\r\n return kpi.color;\r\n }),\r\n data: kpi.kpis.map((kpi) => {\r\n return kpi.value;\r\n }),\r\n dataPointUnits: kpi.kpis.map((kpi) => {\r\n return kpi.unit;\r\n })\r\n }\r\n }\r\n\r\n private generateDummyKpiFromContainer (container: Models.IKpiContainer) {\r\n let kpi = this.getEmptyKpi(container.childChartTypeLevel1);\r\n\r\n if (! container.hasSecondLevelLabels) {\r\n return kpi;\r\n }\r\n\r\n kpi = this.addEmptyChildrenToKpi(kpi, container.secondLevelItemCount, container.childChartTypeLevel2);\r\n\r\n if (! container.hasThirdLevelLabels) {\r\n return kpi;\r\n }\r\n\r\n kpi.kpis = kpi.kpis.map((kpi) => {\r\n return this.addEmptyChildrenToKpi(kpi, container.thirdLevelItemCount);\r\n });\r\n\r\n return kpi;\r\n }\r\n\r\n private addEmptyChildrenToKpi (kpi, count, chartType = null) {\r\n R.range(0, count).map((count) => {\r\n kpi.kpis.push(this.getEmptyKpi(chartType));\r\n });\r\n return kpi;\r\n }\r\n\r\n private getEmptyKpi (chartType): Models.IKpi {\r\n return {\r\n label: null,\r\n value: null,\r\n priority: null,\r\n link: null,\r\n kpis: [],\r\n color: null,\r\n unit: null,\r\n dougnutData: chartType === 'doughnut' ? {\r\n colors: [],\r\n labels: [],\r\n links: [],\r\n values: [],\r\n units: []\r\n } : null,\r\n lineChartData: chartType === 'line' ? {\r\n labels: [],\r\n datasets: []\r\n } : null,\r\n childChartType: chartType || null\r\n }\r\n }\r\n\r\n private getColspanForKpiContainer (container: Models.IKpiContainer): Models.IColSpans {\r\n return {\r\n col1: 1,\r\n col2: this.getColSpan2(container),\r\n col3: this.getColSpan3(container),\r\n col4: this.getColSpan4(container)\r\n };\r\n }\r\n\r\n private getColSpan2 (container: Models.IKpiContainer) {\r\n if (container.childChartTypeLevel1 === 'line') {\r\n return 2;\r\n }\r\n\r\n if (! this.isThreeLevelKpi(container)) {\r\n return 1;\r\n }\r\n\r\n if (container.secondLevelItemCount > 1) {\r\n return 2;\r\n }\r\n\r\n return 1;\r\n }\r\n\r\n private getColSpan3 (container: Models.IKpiContainer) {\r\n if (container.childChartTypeLevel1 === 'line') {\r\n return this.getColSpan3ForLineChart(container);\r\n }\r\n\r\n if (! this.isThreeLevelKpi(container)) {\r\n return 1;\r\n }\r\n\r\n if (container.secondLevelItemCount < 4) {\r\n return container.secondLevelItemCount;\r\n }\r\n\r\n if (! (container.secondLevelItemCount % 2)) {\r\n return 2;\r\n }\r\n\r\n return 3;\r\n }\r\n\r\n private getColSpan4 (container: Models.IKpiContainer) {\r\n if (container.childChartTypeLevel1 === 'line') {\r\n return this.getColSpan4ForLineChart(container);\r\n }\r\n\r\n if (! this.isThreeLevelKpi(container)) {\r\n return 1;\r\n }\r\n\r\n if (container.secondLevelItemCount < 5) {\r\n return container.secondLevelItemCount;\r\n }\r\n\r\n if (! (container.secondLevelItemCount % 4)) {\r\n return 4;\r\n }\r\n\r\n if (! (container.secondLevelItemCount % 3) || container.secondLevelItemCount === 5) {\r\n return 3;\r\n } \r\n\r\n return 4;\r\n }\r\n\r\n private isThreeLevelKpi (container: Models.IKpiContainer) {\r\n if (! container.secondLevelItemCount || ! container.thirdLevelItemCount) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private getColSpan3ForLineChart (container: Models.IKpiContainer) {\r\n let childCount = container.secondLevelItemCount;\r\n\r\n if (container.hasThirdLevelLabels) {\r\n childCount = container.thirdLevelItemCount;\r\n }\r\n \r\n if (childCount > 8) {\r\n return 3;\r\n }\r\n\r\n return 2;\r\n }\r\n\r\n private getColSpan4ForLineChart (container: Models.IKpiContainer) {\r\n let childCount = container.secondLevelItemCount;\r\n\r\n if (container.hasThirdLevelLabels) {\r\n childCount = container.thirdLevelItemCount;\r\n }\r\n\r\n if (childCount > 12) {\r\n return 4;\r\n }\r\n \r\n if (childCount > 8) {\r\n return 3;\r\n }\r\n\r\n return 2;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"KpiTransformers\", KpiTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n export class NotificationTransformers {\r\n \r\n NotificationArray_INotificationArray (notifications: ViewModels.Activity.Notification[]): Models.INotification[] {\r\n return notifications.map(notification => this.Notification_INotification(notification));\r\n }\r\n\r\n Notification_INotification (notificationViewModel: ViewModels.Activity.Notification): Models.INotification {\r\n return {\r\n id: notificationViewModel.id,\r\n title: notificationViewModel.title,\r\n body: notificationViewModel.body,\r\n dateTime: notificationViewModel.dateTime,\r\n isRead: notificationViewModel.isRead,\r\n isShowingAsRead: notificationViewModel.isRead,\r\n link: {\r\n id: notificationViewModel.link.linkId,\r\n params: notificationViewModel.link.parameters\r\n }\r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"NotificationTransformers\",NotificationTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class OnboardingDocumentTransformers {\r\n\r\n static $inject: string[] = [\r\n \"TermsTransformers\"\r\n ];\r\n\r\n constructor(private TermsTransformers: Transformers.TermsTransformers) {\r\n }\r\n\r\n private checkForSigningUrl(url: string): boolean {\r\n if(R.isEmpty(url) || R.isNil(url)){\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n OnboardingDocumentsArray_IOnboardingDocumentsArray(viewModels:ViewModels.ServiceAgreement.OnboardingDocumentRequest[]): Models.IOnboardingDocument[] {\r\n return R.map((viewModel) => this.OnboardingDocuments_IOnboardingDocuments(viewModel), viewModels);\r\n }\r\n\r\n OnboardingDocuments_IOnboardingDocuments(viewModel: ViewModels.ServiceAgreement.OnboardingDocumentRequest ): Models.IOnboardingDocument {\r\n return {\r\n id: viewModel.id,\r\n name: viewModel.onboardingDocumentName,\r\n status: viewModel.status,\r\n issuedBy: viewModel.issuedBy,\r\n issuedOn: viewModel.issuedOn,\r\n signatories: this.OnboardingDocumentSignatoryArray_IOnboardingDocumentSignatoryArray(viewModel.signatories),\r\n showPreview: viewModel.canPreview,\r\n showSigningDocument: this.checkForSigningUrl(viewModel.signingUrl),\r\n selectedTemplate: this.TermsTransformers.Terms_ITermsTemplate(viewModel.selectedTerms),\r\n type: viewModel.type,\r\n uploadedFileName: viewModel.uploadedFileName || null,\r\n signingUrl: viewModel.signingUrl,\r\n permissions: this.setOnboardingDocumentPermissionsAsFlags(viewModel.actions || []) \r\n };\r\n }\r\n\r\n setOnboardingDocumentPermissionsAsFlags (permissions: Enums.OnboardingDocumentPermissionType[]): Models.IOnboardingDocumentPermissions {\r\n return {\r\n canAuthoriseContractTerms: Utils.Permissions.hasPermission(permissions, \"ApproveProposal\")\r\n };\r\n }\r\n\r\n IOnboardingDocumentTemplateUploadIntent_UpdateOnboardingRequest(model: Sonovate.Core.Events.IOnboardingDocumentTemplateUploadIntent | Sonovate.Core.Events.IOnboardingDocumentTemplateUploadIntentProposal): RequestModels.ServiceAgreement.UpdateOnboardingRequest {\r\n return {\r\n id: model.id,\r\n type: model.type,\r\n selectedTemplateId: model.selectedTemplateId,\r\n signatories: this.buildSignatoryRequestObject(model.signatories)\r\n };\r\n }\r\n\r\n IPersonArray_IOnboardingDocumentSignatoryArray(people: Models.IPerson[]): Models.IOnboardingSignatory[] {\r\n return people.map(person => this.IPerson_IOnboardingDocumentSignatory(person));\r\n }\r\n\r\n private IPerson_IOnboardingDocumentSignatory(model: Models.IPerson): Models.IOnboardingSignatory {\r\n return {\r\n companyName: \"\",\r\n order: 0,\r\n email: model.email,\r\n signatureStatus: null,\r\n personId: model.id,\r\n firstName: model.firstName,\r\n lastName: model.lastName,\r\n accountStatus: model.accountStatus,\r\n dateOfBirth: null,\r\n nationalInsuranceNumber: null,\r\n emails: model.emails,\r\n address: model.address,\r\n phoneNumber: model.phoneNumber,\r\n assessments: model.assessmentSummaries\r\n };\r\n }\r\n\r\n private OnboardingDocumentSignatoryArray_IOnboardingDocumentSignatoryArray(signatories: ViewModels.ServiceAgreement.OnboardingSignatory[]): Models.IOnboardingSignatory[] {\r\n return signatories.map(signatory => this.OnboardingDocumentSignatory_IOnboardingDocumentSignatory(signatory));\r\n }\r\n\r\n private OnboardingDocumentSignatory_IOnboardingDocumentSignatory(model: ViewModels.ServiceAgreement.OnboardingSignatory): Models.IOnboardingSignatory {\r\n return {\r\n companyName: model.companyName,\r\n order: model.order,\r\n email: model.selectedEmail,\r\n signatureStatus: model.status,\r\n personId: model.personId,\r\n firstName: model.firstName,\r\n lastName: model.lastName,\r\n accountStatus: model.accountStatus,\r\n dateOfBirth: model.dateOfBirth,\r\n nationalInsuranceNumber: model.nationalInsuranceNumber,\r\n emails: model.emailAddresses,\r\n address: model.address,\r\n phoneNumber: model.phoneNumber,\r\n assessments: model.assessments\r\n };\r\n }\r\n\r\n private buildSignatoryRequestObject(signatories: Models.IOnboardingSignatory[]): RequestModels.ServiceAgreement.OnboardingSignatory[] {\r\n return signatories.map((signatory: Models.IOnboardingSignatory, index) => {\r\n return {\r\n order: index,\r\n personId: signatory.id || signatory.personId,\r\n email: signatory.email\r\n };\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"OnboardingDocumentTransformers\", OnboardingDocumentTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class OrganisationTransformers {\r\n\r\n static $inject = [\"AssessmentTransformers\"];\r\n\r\n constructor(\r\n private AssessmentTransformers: Core.Transformers.AssessmentTransformers\r\n ) {}\r\n\r\n OrganisationSearchArray_IOrganisationSearchItemArray(entities: ViewModels.Gateway.OrganisationSearch[]): Models.IOrganisationSearchItem[] {\r\n return entities.map(entity => this.OrganisationSearch_IOrganisationSearchItem(entity));\r\n }\r\n\r\n OrganisationSearch_IOrganisationSearchItem(entity: ViewModels.Gateway.OrganisationSearch): Models.IOrganisationSearchItem {\r\n return {\r\n name: entity.organisationName,\r\n id: entity.organisationId,\r\n parentOrganisationId: entity.parentOrganisationId,\r\n organisationStatus: entity.organisationStatus,\r\n tradingAs: entity.tradingStyleName || '',\r\n pictureUrl: entity.pictureUrl || '',\r\n assessments: this.AssessmentTransformers.AssessmentSummaryArray_IAssessmentArray(entity.assessments)\r\n }\r\n }\r\n\r\n IOrganisation_OrganisationBasicProfile(model: Models.IOrganisation): ViewModels.Directory.OrganisationBasicProfile {\r\n return {\r\n website: model.website,\r\n pictureUrl: model.pictureUrl, \r\n currencyCode: model.currencyCode,\r\n organisationClassification: model.classification,\r\n organisationStatus: model.status,\r\n customerServiceContactEmail: model.customerServicesEmail,\r\n customerServiceContactPhoneNumber: model.customerServicesPhoneNumber\r\n }\r\n }\r\n\r\n AgreementOrganisation_IOrganisation(viewModel: ViewModels.ServiceAgreement.AgreementOrganisation): Models.IOrganisation { \r\n return { \r\n id: viewModel.organisationId,\r\n organisationName: viewModel.name,\r\n address: viewModel.registeredAddress,\r\n registrationNumber: viewModel.registrationNumber,\r\n pictureUrl: viewModel.pictureUrl,\r\n }\r\n }\r\n\r\n MergedOrganisationSearchResultArray_IOrganisationArray (entities: ViewModels.Directory.MergedOrganisationSearchResult[]): Models.IOrganisation[] {\r\n return entities.map(entity => this.MergedOrganisationSearchResult_IOrganisation(entity));\r\n }\r\n\r\n MergedOrganisationSearchResult_IOrganisation (viewModel: ViewModels.Directory.MergedOrganisationSearchResult): Models.IOrganisation {\r\n return {\r\n id: viewModel.organisationId,\r\n externalId: viewModel.externalId,\r\n organisationName: viewModel.name,\r\n registrationNumber: viewModel.companyRegistrationNumber,\r\n isProvisional: viewModel.isProvisional\r\n }\r\n }\r\n\r\n Organisation_IOrganisation(viewModel: ViewModels.Gateway.Organisation): Models.IOrganisation {\r\n return R.merge(\r\n { \r\n organisationId: viewModel.organisationId,\r\n organisationName: viewModel.organisationName,\r\n status: viewModel.organisationStatus,\r\n pictureUrl: viewModel.pictureUrl,\r\n registrationNumber: viewModel.registeredIdentity,\r\n customerServicesNumber: viewModel.customerServiceContactPhoneNumber,\r\n customerServicesEmail: viewModel.customerServiceContactEmail\r\n },\r\n this.AssessmentTransformers.AssessmentSummaryArray_IAssessment(viewModel.assessments)\r\n );\r\n }\r\n\r\n IOrganisation_Organisation(model: Models.IOrganisation): ViewModels.Gateway.Organisation {\r\n return R.merge(\r\n {\r\n organisationId: model.id,\r\n organisationName: model.organisationName,\r\n organisationStatus: model.status,\r\n pictureUrl: model.pictureUrl,\r\n customerServiceContactPhoneNumber: model.customerServicesPhoneNumber,\r\n customerServiceContactEmail: model.customerServicesEmail\r\n },\r\n this.AssessmentTransformers.IAssessment_AssessmentSummaryViewModel(model.assessments || [])\r\n );\r\n }\r\n\r\n OrganisationWithDetails_IOrganisation (viewModel: ViewModels.Directory.OrganisationWithDetails): Models.IOrganisation {\r\n return {\r\n address: viewModel.address,\r\n id: viewModel.organisationId,\r\n organisationName: viewModel.organisationName,\r\n registrationNumber: viewModel.registeredIdentity,\r\n pictureUrl: viewModel.pictureUrl\r\n }\r\n }\r\n\r\n OrganisationAccountStatusArray_IStatusArray (statuses: ViewModels.Core.LocalisedText[]): Models.IStatus[] { \r\n return statuses.map(status => this.OrganisationAccountStatus_IStatus(status));\r\n }\r\n\r\n OrganisationAccountStatus_IStatus (viewModel: ViewModels.Core.LocalisedText): Models.IStatus { \r\n return {\r\n id: viewModel.id,\r\n text: viewModel.text\r\n };\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"OrganisationTransformers\",OrganisationTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class PaymentsTransformers {\r\n \r\n PaymentArray_IPaymentSearchResultArray (payments: RequestModels.Payments.Payment[]): Models.IPaymentSearchResult[] {\r\n return payments.map(payment => this.Payment_IPaymentSearchResult(payment));\r\n }\r\n \r\n Payment_IPaymentSearchResult (payment: RequestModels.Payments.Payment): Models.IPaymentSearchResult {\r\n return {\r\n id: payment.id, \r\n paymentId: payment.paymentId,\r\n agencyId: payment.agencyId,\r\n agencyOrganisationId: payment.agencyOrganisationId,\r\n currency: payment.currency,\r\n clientName: payment.clientName,\r\n clientTotal: payment.clientTotal,\r\n candidateName: payment.candidateName,\r\n candidateTotal: payment.candidateTotal,\r\n agencyName: payment.agencyName,\r\n sonovateTotal: payment.sonovateTotal,\r\n balance: payment.balance,\r\n paymentDate: payment.paymentDate,\r\n clientCount: payment.timesheetContainers.length\r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"PaymentsTransformers\", PaymentsTransformers);\r\n}","\r\n/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class PeopleTransformers {\r\n\r\n static $inject = [\"AssessmentTransformers\", \"OrganisationTransformers\", \"TaxProfileTransformers\", \"PhoneNumberTransformers\"];\r\n\r\n constructor(\r\n private AssessmentTransformers: Core.Transformers.AssessmentTransformers,\r\n private OrganisationTransformers: OrganisationTransformers,\r\n private TaxProfileTransformers: TaxProfileTransformers,\r\n private PhoneNumberTransformers: PhoneNumberTransformers\r\n ) {}\r\n\r\n PersonProfileViewModel_IPersonProfile(profile: ViewModels.Directory.PersonProfile): Models.IPersonProfile {\r\n return {\r\n id: profile.personId,\r\n firstName: profile.firstName,\r\n lastName: profile.lastName,\r\n fullName: `${profile.firstName} ${profile.lastName}`,\r\n primaryEmail: profile.primaryEmailAddress,\r\n pictureUrl: profile.avatarUrl,\r\n taxProfiles: profile.taxProfiles ? this.TaxProfileViewModels_IPersonSettingsTaxProfile(profile.taxProfiles) : [],\r\n phoneNumbers: profile.phoneNumbers ? this.PhoneNumberViewModels_IPersonSettingsPhoneNumbers(profile.phoneNumbers) : [],\r\n newEmail: profile.intendedNewEmailAddress,\r\n newEmailSentOn: profile.intendedNewEmailOn\r\n }\r\n }\r\n\r\n TaxProfileViewModels_IPersonSettingsTaxProfile(taxProfiles: ViewModels.Directory.TaxProfile[]): Models.IPersonSettingsTaxProfile[] {\r\n return R.map((taxProfile: ViewModels.Directory.TaxProfile): Models.IPersonSettingsTaxProfile => {\r\n return {\r\n id: taxProfile.id,\r\n dateOfBirth: taxProfile.dateOfBirth,\r\n nationalInsuranceNumber: taxProfile.nationalInsuranceNumber,\r\n organisationName: taxProfile.organisationName\r\n }\r\n }, taxProfiles);\r\n }\r\n\r\n PhoneNumberViewModels_IPersonSettingsPhoneNumbers(phoneNumbers: ViewModels.Directory.PhoneNumber[]): Models.IPersonSettingsPhoneNumber[] {\r\n return R.map((phoneNumber: ViewModels.Directory.PhoneNumber): Models.IPersonSettingsPhoneNumber => {\r\n return {\r\n id: phoneNumber.id,\r\n number: phoneNumber.number,\r\n countryCode: phoneNumber.countryCode,\r\n organisationName: phoneNumber.organisationName\r\n }\r\n }, phoneNumbers)\r\n }\r\n\r\n IPersonSettingsTaxProfiles_IPersonSettingsMergedTaxProfiles(taxProfiles: Models.IPersonSettingsTaxProfile[]): Models.IPersonSettingsMergedTaxProfiles {\r\n return {\r\n nationalInsuranceNumbers: R.uniq(this.mergeIPersonSettingsTaxProfilesByNINumber(taxProfiles)),\r\n dateOfBirths: R.uniq(this.mergeIPersonSettingsTaxProfilesByDOB(taxProfiles))\r\n }\r\n }\r\n\r\n IPersonSettingsPhoneNumbers_IPersonSettingsMergedPhoneNumbers(phoneNumbers: Models.IPersonSettingsPhoneNumber[]): Models.IPersonSettingsMergedPhoneNumber[] {\r\n return R.uniq(this.mergeIPersonSettingsPhoneNumbersByNumber(phoneNumbers))\r\n }\r\n\r\n OrganisationPersonSearchResultViewModelArray_IPersonArray (people: ViewModels.Directory.Person[]): Models.IPerson[] {\r\n return people.map(person => this.OrganisationPersonSearchResultViewModel_IPerson(person));\r\n }\r\n\r\n OrganisationPersonSearchResultViewModel_IPerson (viewModel: ViewModels.Directory.Person): Models.IPerson {\r\n return {\r\n id: viewModel.personId,\r\n firstName: viewModel.firstName,\r\n lastName: viewModel.lastName,\r\n pictureUrl: viewModel.pictureUrl,\r\n accountStatus: viewModel.accountStatus,\r\n isUser: viewModel.isUser,\r\n email: viewModel.emailAddress,\r\n organisationId: viewModel.organisationId,\r\n organisationName: viewModel.organisationName,\r\n assessmentSummaries: []\r\n };\r\n }\r\n\r\n PersonSearchResultViewModelArray_IPersonArray (people: ViewModels.Gateway.PersonSearch[]): Models.IPerson[] {\r\n return people.map(person => this.PersonSearchResultViewModel_IPerson(person));\r\n }\r\n\r\n PersonSearchResultViewModel_IPerson (viewModel: ViewModels.Gateway.PersonSearch): Models.IPerson {\r\n return {\r\n id: viewModel.personId,\r\n firstName: viewModel.firstName,\r\n lastName: viewModel.lastName,\r\n pictureUrl: viewModel.pictureUrl,\r\n accountStatus: viewModel.accountStatus,\r\n isUser: viewModel.isUser,\r\n email: viewModel.primaryEmailAddress,\r\n organisationId: viewModel.organisationId,\r\n organisationName: viewModel.organisationName,\r\n assessmentSummaries: []\r\n };\r\n }\r\n\r\n PersonSearchResultViewModelArray_IPersonSearchItemArray(viewModels: ViewModels.Gateway.PersonSearch[]): Models.IPersonSearchItem[] {\r\n return R.map(this.PersonSearchResultViewModel_IPersonSearchItem, viewModels);\r\n }\r\n\r\n PersonSearchResultViewModel_IPersonSearchItem (viewModel: ViewModels.Gateway.PersonSearch): Models.IPersonSearchItem {\r\n return {\r\n id: viewModel.personId,\r\n fullName: `${viewModel.firstName} ${viewModel.lastName}`,\r\n shortName: viewModel.shortName,\r\n firstName: viewModel.firstName,\r\n lastName: viewModel.lastName,\r\n email: viewModel.primaryEmailAddress, \r\n pictureUrl: viewModel.pictureUrl,\r\n organisationId: viewModel.organisationId,\r\n organisationName: viewModel.organisationName,\r\n accountStatus: viewModel.accountStatus,\r\n candidateRiskStatus: viewModel.candidateRiskStatus,\r\n clientRiskStatus: viewModel.clientRiskStatus,\r\n isUser: viewModel.isUser,\r\n isFlagged: viewModel.isFlagged\r\n };\r\n }\r\n\r\n PersonViewModel_IPerson (personViewModel: ViewModels.Gateway.Person): Models.IPerson {\r\n return {\r\n id: personViewModel.personId,\r\n firstName: personViewModel.personNameViewModels.length ? personViewModel.personNameViewModels[0].firstName : '',\r\n lastName: personViewModel.personNameViewModels.length ? personViewModel.personNameViewModels[0].lastName : '',\r\n accountStatus: personViewModel.accountStatus,\r\n isPersonContact: personViewModel.isPersonContact,\r\n isUser: personViewModel.isUser,\r\n pictureUrl: personViewModel.pictureUrl,\r\n assessmentSummaries: this.AssessmentTransformers.AssessmentSummaryViewModelArray_IAssessmentArray(personViewModel.assessments || [])\r\n };\r\n }\r\n\r\n PersonWithDetails_IPerson (personViewModel: ViewModels.Gateway.PersonDetails): Models.IPerson {\r\n return {\r\n id: personViewModel.personId,\r\n firstName: personViewModel.personNameViewModels.length ? personViewModel.personNameViewModels[0].firstName : '',\r\n lastName: personViewModel.personNameViewModels.length ? personViewModel.personNameViewModels[0].lastName : '',\r\n accountStatus: personViewModel.accountStatus,\r\n isPersonContact: personViewModel.isPersonContact,\r\n isUser: personViewModel.isUser,\r\n pictureUrl: personViewModel.pictureUrl,\r\n assessmentSummaries: this.AssessmentTransformers.AssessmentSummaryViewModelArray_IAssessmentArray(personViewModel.assessments || []),\r\n email: personViewModel.personEmailViewModels[0] ? personViewModel.personEmailViewModels[0].emailAddress : \"\",\r\n phoneNumber: personViewModel.personPhoneViewModels.length ? personViewModel.personPhoneViewModels[0].phoneNumber : ''\r\n };\r\n }\r\n\r\n IDirector_IPerson (viewModel: Models.IDirector): Models.IPerson {\r\n return {\r\n id: viewModel.personId,\r\n firstName: viewModel.firstName,\r\n lastName: viewModel.lastName, \r\n accountStatus: viewModel.accountStatus,\r\n address: viewModel.address,\r\n email: viewModel.emailAddress\r\n // candidateType: viewModel.candidateType\r\n };\r\n }\r\n\r\n IPerson_IDirector (viewModel: Models.IPerson): Models.IDirector {\r\n return {\r\n firstName: viewModel.firstName,\r\n lastName: viewModel.lastName, \r\n personId: viewModel.id,\r\n accountStatus: viewModel.accountStatus,\r\n address: viewModel.address,\r\n emailAddress: viewModel.email,\r\n dateOfBirth: \"\"\r\n // candidateType: viewModel.candidateType\r\n };\r\n }\r\n\r\n AgreementPersonArray_IAgreementPersonArray (people: ViewModels.ServiceAgreement.AgreementPerson[], types: Models.AgreementPersonType[]): Models.IAgreementPerson[] {\r\n return people.map(person => this.AgreementPerson_IAgreementPerson(person, types));\r\n }\r\n\r\n AgreementPerson_IAgreementPerson (viewModel: ViewModels.ServiceAgreement.AgreementPerson, types: Models.AgreementPersonType[] = null): Models.IAgreementPerson {\r\n return {\r\n id: viewModel.personId,\r\n firstName: viewModel.firstName,\r\n lastName: viewModel.lastName,\r\n fullName: `${viewModel.firstName} ${viewModel.lastName}`,\r\n accountStatus: viewModel.accountStatus,\r\n address: viewModel.address,\r\n emails: viewModel.emailAddresses,\r\n types: types || [],\r\n contractIssueEmail: \"\",\r\n phoneNumber: viewModel.phoneNumber,\r\n assessments: this.AssessmentTransformers.AssessmentSummaryViewModelArray_IAssessmentArray(viewModel.assessments || []),\r\n };\r\n }\r\n\r\n IPerson_OrganisationPersonWithRole (model:Models.IAddPerson): ViewModels.Directory.OrganisationPersonWithRole {\r\n return {\r\n firstName: model.firstName,\r\n lastName: model.lastName,\r\n jobTitle: model.job,\r\n emailAddress: model.email,\r\n sendInvite: model.sendInvite,\r\n roles: model.roles,\r\n };\r\n }\r\n\r\n IPersonArray_IdNumberArray (people: Models.IPerson[]): number[] {\r\n return people.map(person => person.id);\r\n }\r\n\r\n CandidateSearchResultArray_IPersonArray (people: ViewModels.Directory.CandidateSearchResult[]): Models.IPerson[] {\r\n return people.map(person => this.CandidateSearchResult_IPerson(person));\r\n }\r\n\r\n CandidateSearchResult_IPerson (viewModel: ViewModels.Directory.CandidateSearchResult): Models.IPerson {\r\n return {\r\n organisation: this.OrganisationTransformers.OrganisationWithDetails_IOrganisation(viewModel.organisation),\r\n taxProfile: this.TaxProfileTransformers.PersonTaxProfile_IPersonTaxProfile(viewModel.taxProfile),\r\n id: viewModel.personId,\r\n candidateType: viewModel.candidateType,\r\n firstName: viewModel.firstName,\r\n lastName: viewModel.lastName,\r\n email: viewModel.emailAddress,\r\n pictureUrl: viewModel.pictureUrl,\r\n accountStatus: viewModel.accountStatus,\r\n isUser: viewModel.isUser,\r\n isPersonContact: viewModel.isPersonContact,\r\n isOrganisationContact: viewModel.isOrganisationContact,\r\n }\r\n }\r\n\r\n IPerson_PersonRequestModel (model: Models.IPerson): RequestModels.Directory.Person {\r\n return {\r\n firstName: model.firstName,\r\n lastName: model.lastName,\r\n emailAddress: model.email,\r\n phoneNumber: this.PhoneNumberTransformers.IPhoneNumber_PhoneNumberRequestModel(model.phoneNumber)\r\n }\r\n }\r\n\r\n ISignedInUser_IPerson(model: Models.ISignedInUser): Models.IPerson {\r\n return {\r\n firstName: model.firstName,\r\n lastName: model.lastName,\r\n id: model.personId,\r\n organisationId: model.organisationId\r\n } \r\n }\r\n\r\n private mergeIPersonSettingsPhoneNumbersByNumber(phoneNumbers: Models.IPersonSettingsPhoneNumber[]): Models.IPersonSettingsMergedPhoneNumber[] {\r\n return R.map((phoneNumber: ViewModels.Directory.PhoneNumber) => {\r\n let duplicateNumberEntries = R.filter((item: Models.IPersonSettingsPhoneNumber) => item.number === phoneNumber.number, phoneNumbers);\r\n return {\r\n phoneNumbers: duplicateNumberEntries,\r\n number: phoneNumber.number,\r\n countryCode: phoneNumber.countryCode,\r\n addedBy: R.chain((number: Models.IPersonSettingsPhoneNumber): string[] => R.prop>('organisationName', number), duplicateNumberEntries)\r\n }\r\n }, phoneNumbers)\r\n }\r\n\r\n private mergeIPersonSettingsTaxProfilesByNINumber(taxProfiles: Models.IPersonSettingsTaxProfile[]) {\r\n return R.map((taxProfile: Models.IPersonSettingsTaxProfile) => {\r\n let duplicateNIEntries = R.filter((item: Models.IPersonSettingsTaxProfile) => item.nationalInsuranceNumber === taxProfile.nationalInsuranceNumber, taxProfiles);\r\n \r\n return {\r\n taxProfiles: duplicateNIEntries,\r\n number: taxProfile.nationalInsuranceNumber,\r\n addedBy: R.chain((taxProfile: Models.IPersonSettingsTaxProfile): string[] => R.prop>('organisationName', taxProfile), duplicateNIEntries)\r\n }\r\n }, taxProfiles)\r\n }\r\n\r\n private mergeIPersonSettingsTaxProfilesByDOB(taxProfiles: Models.IPersonSettingsTaxProfile[]) {\r\n return R.map((taxProfile: Models.IPersonSettingsTaxProfile) => {\r\n let duplicateDOBEntries = R.filter((item: Models.IPersonSettingsTaxProfile) => item.dateOfBirth === taxProfile.dateOfBirth, taxProfiles);\r\n \r\n return {\r\n taxProfiles: duplicateDOBEntries,\r\n date: taxProfile.dateOfBirth,\r\n addedBy: R.chain((taxProfile: Models.IPersonSettingsTaxProfile): string[] => R.prop>('organisationName', taxProfile), duplicateDOBEntries)\r\n }\r\n }, taxProfiles)\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"PeopleTransformers\", PeopleTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class PhoneNumberTransformers {\r\n\r\n IPhoneNumber_PhoneNumberRequestModel(phoneNumber: Models.IPhoneNumber): any {\r\n if (R.isNil(phoneNumber)) {\r\n return null;\r\n }\r\n return {\r\n dialPrefix: phoneNumber.dialPrefix,\r\n countryCode: phoneNumber.countryId,\r\n phoneNumber: phoneNumber.number\r\n };\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"PhoneNumberTransformers\", PhoneNumberTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class ProposalTransformers {\r\n\r\n static $inject: string[] = [\r\n \"TermsTransformers\",\r\n \"AddressTransformers\",\r\n \"TariffTransformers\"\r\n ];\r\n\r\n constructor(\r\n private TermsTransformers: Transformers.TermsTransformers,\r\n private AddressTransformers: Transformers.AddressTransformers,\r\n private TariffTransformers: Transformers.TariffTransformers\r\n ) {}\r\n\r\n CreateProposalViewModel_IProposal(viewModel: ViewModels.ServiceAgreement.Proposal): Models.IProposal {\r\n return {\r\n permissions: {\r\n canIssueProposal: false,\r\n canApproveProposal: false,\r\n canReissueProposal: false,\r\n canApproveOnboardingDocument: false,\r\n canDraftProposal: false,\r\n canSubmitProposal: false,\r\n canViewProposal: false,\r\n canViewProposals: false\r\n },\r\n status: viewModel.status,\r\n customer: this.ProposalOrganisation_IProposalOrganisation(viewModel.customer),\r\n fundingModel: viewModel.proposalType,\r\n directors: this.DirectorArray_IDirectorArray(viewModel.directors),\r\n salesPersonId: viewModel.salesPersonId,\r\n salesPersonName: viewModel.salesPersonName,\r\n tariffs: this.TariffTransformers.TariffPlanViewModelArray_ITieredTariffPlanArray(viewModel.tariffs),\r\n baseTariff: this.TariffTransformers.TariffPlanViewModel_IBaseTieredTariffPlan(viewModel.baseTariff),\r\n customerTerms: this.TermsTransformers.Terms_ITermsTemplate(viewModel.selectedTerms)\r\n };\r\n } \r\n\r\n ProposalViewModel_IProposal(viewModel: ViewModels.ServiceAgreement.Proposal): Models.IProposal {\r\n return {\r\n permissions: this.setProposalPermissionsAsFlags(viewModel.actions ? viewModel.actions : []),\r\n status: viewModel.status,\r\n id: viewModel.proposalId,\r\n reference: viewModel.reference,\r\n customer: this.ProposalOrganisation_IProposalOrganisation(viewModel.customer),\r\n type: viewModel.proposalType,\r\n createdOn: viewModel.createdOn,\r\n fundingModel: viewModel.proposalType,\r\n directors: this.DirectorArray_IDirectorArray(viewModel.directors),\r\n createdByPersonId: viewModel.createdByPersonId,\r\n createdByPersonName: viewModel.createdByPersonName,\r\n salesPersonId: viewModel.salesPersonId,\r\n salesPersonName: viewModel.salesPersonName,\r\n tariffs: this.TariffTransformers.TariffPlanViewModelArray_ITieredTariffPlanArray(viewModel.tariffs),\r\n baseTariff: this.TariffTransformers.TariffPlanViewModel_IBaseTieredTariffPlan(viewModel.baseTariff),\r\n customerTerms: this.TermsTransformers.Terms_ITermsTemplate(viewModel.selectedTerms)\r\n };\r\n }\r\n\r\n IProposal_ProposalSaveViewModel(model: Models.IProposal): RequestModels.ServiceAgreement.UpdateDraftProposal {\r\n var tariffCopies = angular.copy(model.tariffs);\r\n return {\r\n proposalId: model.id,\r\n internalClientId: this.getCustomerId(model.customer) || null,\r\n externalClientId: this.getExternalId(model.customer) || null,\r\n directorIds: this.getDirectorId(model.directors),\r\n baseTariff: this.TariffTransformers.ITieredTariffPlan_TariffPlanViewModel(model.baseTariff),\r\n tariffs: this.TariffTransformers.ITieredTariffPlanArray_TariffPlanViewModelArray(tariffCopies),\r\n proposalType: model.fundingModel\r\n };\r\n }\r\n\r\n private setProposalPermissionsAsFlags (permissions: Enums.ProposalPermissionType[]): Models.IProposalPermissions {\r\n return {\r\n canIssueProposal: Utils.Permissions.hasPermission(permissions, \"IssueProposal\"),\r\n canApproveProposal: Utils.Permissions.hasPermission(permissions, \"ApproveProposal\"),\r\n canReissueProposal: Utils.Permissions.hasPermission(permissions, \"ReissueProposal\"),\r\n canApproveOnboardingDocument: Utils.Permissions.hasPermission(permissions, \"ApproveOnboardingDocument\"),\r\n canDraftProposal: Utils.Permissions.hasPermission(permissions, \"DraftProposal\"),\r\n canSubmitProposal: Utils.Permissions.hasPermission(permissions, \"SubmitProposal\"),\r\n canViewProposal: Utils.Permissions.hasPermission(permissions, \"CanViewProposal\"),\r\n canViewProposals: Utils.Permissions.hasPermission(permissions, \"CanViewProposals\")\r\n };\r\n }\r\n\r\n private getExternalId(customer: Models.IProposalOrganisation): string {\r\n if(customer && customer.externalId){\r\n return customer.externalId.toString()\r\n }\r\n }\r\n\r\n private getCustomerId(customer: Models.IProposalOrganisation): number {\r\n if(customer && customer.id){\r\n return customer.id\r\n }\r\n }\r\n\r\n private getDirectorId(directors: Models.IDirector[]): number[] {\r\n return directors.map((element: Models.IDirector) => element.personId);\r\n }\r\n\r\n // Directors\r\n private DirectorArray_IDirectorArray(directors: ViewModels.ServiceAgreement.AgreementPerson[]): Models.IDirector[] {\r\n return directors.map(director => this.Director_IDirector(director));\r\n }\r\n\r\n\r\n\r\n private Director_IDirector(DirectorViewModel: ViewModels.ServiceAgreement.AgreementPerson): Models.IDirector {\r\n return {\r\n firstName: DirectorViewModel.firstName,\r\n lastName: DirectorViewModel.lastName,\r\n accountStatus: DirectorViewModel.accountStatus || undefined,\r\n dateOfBirth: DirectorViewModel.dateOfBirth,\r\n emailAddress: DirectorViewModel.emailAddresses && DirectorViewModel.emailAddresses.length > 0 ? DirectorViewModel.emailAddresses[0] : null,\r\n address: this.AddressTransformers.Address_IAddress(DirectorViewModel.address),\r\n personId: DirectorViewModel.personId\r\n };\r\n }\r\n\r\n // Proposal Organisations\r\n private ProposalOrganisation_IProposalOrganisation(ProposalOrganisation: ViewModels.ServiceAgreement.AgreementOrganisation): Models.IProposalOrganisation {\r\n return {\r\n id: ProposalOrganisation.organisationId || null,\r\n name: ProposalOrganisation.name,\r\n registrationNumber: ProposalOrganisation.registrationNumber,\r\n address: this.AddressTransformers.Address_IAddress(ProposalOrganisation.registeredAddress)\r\n };\r\n }\r\n\r\n private IProposalOrganisation_ProposalOrganisation(model: Models.IProposalOrganisation): ViewModels.ServiceAgreement.AgreementOrganisation {\r\n return {\r\n organisationId: model.id,\r\n name: model.name,\r\n registrationNumber: model.registrationNumber,\r\n registeredAddress: this.AddressTransformers.IAddress_Address(model.address)\r\n };\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"ProposalTransformers\",ProposalTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class AddressTransformers {\r\n \r\n Address_IAddress(Address: ViewModels.ServiceAgreement.Address): Models.IAddress {\r\n if (!R.isNil(Address)) { \r\n return {\r\n id: Address.id,\r\n address1: Address.address1,\r\n address2: Address.address2,\r\n address3: Address.address3,\r\n address4: Address.address4,\r\n postcode: Address.postcode,\r\n country: Address.countryCode\r\n };\r\n }\r\n return {\r\n id: null,\r\n address1: \"\",\r\n address2: \"\",\r\n address3: \"\",\r\n address4: \"\",\r\n postcode: \"\",\r\n country: \"\"\r\n }\r\n }\r\n\r\n IAddress_Address(model: Models.IAddress): ViewModels.ServiceAgreement.Address {\r\n if (!R.isNil(model)) {\r\n return {\r\n id: model.id,\r\n address1: model.address1,\r\n address2: model.address2,\r\n address3: model.address3,\r\n address4: model.address4,\r\n postcode: model.postcode,\r\n countryCode: model.country\r\n };\r\n }\r\n return {};\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"AddressTransformers\", AddressTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class TariffTransformers {\r\n \r\n TariffPlanViewModelArray_ITieredTariffPlanArray(tarrifs: ViewModels.ServiceAgreement.TariffPlan[]): Models.ITieredTariffPlan[] {\r\n return tarrifs.map((tariff, index) => this.TariffPlanViewModel_ITieredTariffPlan(tariff, index));\r\n }\r\n\r\n private TariffPlanViewModel_ITieredTariffPlan(viewModel: ViewModels.ServiceAgreement.TariffPlan, index: number): Models.ITieredTariffPlan {\r\n return {\r\n id: index,\r\n index: index,\r\n tariffPlanId: viewModel.tariffPlanId,\r\n tariffType: viewModel.tariffType,\r\n currencyCode: viewModel.currencyCode,\r\n period: viewModel.period,\r\n flatRate: viewModel.rate,\r\n fees: this.TariffPlanFeeViewModel_ITariffPlanFeeModel(viewModel.fees)\r\n }\r\n } \r\n\r\n TariffPlanViewModel_IBaseTieredTariffPlan(viewModel: ViewModels.ServiceAgreement.TariffPlan): Models.ITieredTariffPlan {\r\n return {\r\n id: 0,\r\n index: 0,\r\n tariffPlanId: viewModel.tariffPlanId,\r\n tariffType: \"Flat\",\r\n currencyCode: viewModel.currencyCode,\r\n period: viewModel.period,\r\n flatRate: viewModel.rate,\r\n fees: this.TariffPlanFeeViewModel_ITariffPlanFeeModel(viewModel.fees)\r\n }\r\n } \r\n\r\n ITieredTariffPlanArray_TariffPlanViewModelArray(tariffs: Models.ITieredTariffPlan[]): ViewModels.ServiceAgreement.TariffPlan[] {\r\n return tariffs.map(tariff => this.ITieredTariffPlan_TariffPlanViewModel(tariff));\r\n }\r\n\r\n ITieredTariffPlan_TariffPlanViewModel(model: Models.ITieredTariffPlan): ViewModels.ServiceAgreement.TariffPlan {\r\n return {\r\n tariffPlanId: this.getTariffPlanId(model),\r\n tariffType: model.tariffType,\r\n currencyCode: model.currencyCode,\r\n period: model.period,\r\n rate: model.flatRate,\r\n fees: this.ITariffPlanFeeModel_TariffPlanFeeViewModel(model.fees)\r\n }\r\n } \r\n\r\n // Tariff Fees\r\n TariffPlanFeeViewModel_ITariffPlanFeeModel(fees: ViewModels.ServiceAgreement.TariffPlanFee[]): Models.ITariffPlanFeeModel[] {\r\n if (!R.isNil(fees)) {\r\n return fees.map((fee: ViewModels.ServiceAgreement.TariffPlanFee, index): Models.ITariffPlanFeeModel => {\r\n return {\r\n id: index,\r\n low: fee.low || 0,\r\n high: R.isNil(fee.high) ? \"No Limit\" : fee.high,\r\n rate: fee.rate\r\n }\r\n });\r\n }\r\n return [\r\n {\r\n id: 0,\r\n low: 0,\r\n high: 0,\r\n rate: 0\r\n }\r\n ];\r\n }\r\n\r\n ITariffPlanFeeModel_TariffPlanFeeViewModel(IFees: Models.ITariffPlanFeeModel[]): ViewModels.ServiceAgreement.TariffPlanFee[] {\r\n return IFees.map((fee) => {\r\n return {\r\n high: fee.high === \"No Limit\" ? null : fee.high,\r\n low: fee.low,\r\n rate: fee.rate\r\n }\r\n });\r\n }\r\n\r\n private getTariffPlanId(model: Models.ITieredTariffPlan): number {\r\n return (model && model.tariffPlanId) ? model.tariffPlanId : 0;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TariffTransformers\", TariffTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class TaxProfileTransformers { \r\n\r\n PersonTaxProfile_IPersonTaxProfile(viewModel: ViewModels.Directory.PersonTaxProfile): Models.IPersonTaxProfile {\r\n return {\r\n personId: viewModel.personId,\r\n nationalInsuranceNumber: viewModel.nationalInsuranceNumber,\r\n dateOfBirth: viewModel.dateOfBirth,\r\n gender: viewModel.gender,\r\n uniqueTaxpayerReference: viewModel.uniqueTaxpayerReference,\r\n id: viewModel.id,\r\n status: viewModel.status,\r\n canAction: viewModel.canAction\r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TaxProfileTransformers\", TaxProfileTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class TermsTransformers { \r\n \r\n ITermsTemplate_EditTemplate(terms: Models.ITermsTemplate): Sonovate.RequestModels.ServiceAgreement.EditTemplate {\r\n return {\r\n templateId: terms.templateId,\r\n sections: this.ITemplateSectionArray_EditTemplateSectionArray(terms.sections)\r\n }\r\n }\r\n\r\n ITemplateSectionArray_EditTemplateSectionArray(sections: Models.ITemplateSection[]): Sonovate.RequestModels.ServiceAgreement.Section[] {\r\n return sections.map(section => this.ITemplateSectionArray_EditTemplateSection(section));\r\n }\r\n\r\n ITemplateSectionArray_EditTemplateSection(section: Models.ITemplateSection): Sonovate.RequestModels.ServiceAgreement.Section {\r\n return {\r\n sectionId: section.sectionId,\r\n pages: this.ITemplatePage_EditTemplatePageArray(section.pages)\r\n };\r\n }\r\n\r\n ITemplatePage_EditTemplatePageArray(pages: Models.ITemplatePageView[]): Sonovate.RequestModels.ServiceAgreement.SectionPage[] {\r\n return pages.map(section => this.ITemplatePage_EditTemplatePage(section));\r\n }\r\n\r\n ITemplatePage_EditTemplatePage(page: Models.ITemplatePageView): Sonovate.RequestModels.ServiceAgreement.SectionPage {\r\n return {\r\n pageId: page.pageId,\r\n html: page.content\r\n }\r\n }\r\n\r\n TermsArray_ITermsTemplateArray(terms: ViewModels.ServiceAgreement.Terms[]): Models.ITermsTemplate[] {\r\n return terms.map(term => this.Terms_ITermsTemplate(term));\r\n } \r\n\r\n Terms_ITermsTemplate(model: ViewModels.ServiceAgreement.Terms): Models.ITermsTemplate {\r\n if(!model) {\r\n return null;\r\n }\r\n return {\r\n templateId: model.templateId,\r\n customerName: model.customerName || '',\r\n title: model.name || '',\r\n lastUsed: model.lastUsed,\r\n isDefault: model.isDefault,\r\n sections: this.SectionArray_ITemplateSectionArray(model.sections),\r\n scope: model.scope,\r\n };\r\n }\r\n\r\n SectionArray_ITemplateSectionArray(sections: ViewModels.ServiceAgreement.Section[]): Models.ITemplateSection[] {\r\n return sections.map(section => this.Section_ITemplateSection(section));\r\n }\r\n\r\n Section_ITemplateSection(model: ViewModels.ServiceAgreement.Section): Models.ITemplateSection {\r\n var mapped: Models.ITemplateSection = {\r\n sectionId: model.id,\r\n name: model.name,\r\n canEdit: model.canEdit,\r\n pages: this.SectionPage_ITemplatePageView(model.pages)\r\n }; \r\n\r\n mapped.hasFile = () => !R.isNil(mapped.$file);\r\n\r\n return mapped;\r\n }\r\n\r\n ITemplateTerms_Terms(model: Models.ITermsTemplate): ViewModels.ServiceAgreement.Terms {\r\n if(!model){\r\n return {}\r\n }\r\n return {\r\n templateId: model.templateId,\r\n name: model.title,\r\n sections: this.ITemplateSectionArray_SectionArray(model.sections),\r\n scope: model.scope,\r\n customerName: model.customerName,\r\n lastUsed: model.lastUsed,\r\n isDefault: model.isDefault\r\n }\r\n \t\t}\r\n\r\n private ITemplateSectionArray_SectionArray(sections: Models.ITemplateSection[]): ViewModels.ServiceAgreement.Section[] {\r\n return sections.map(section => this.ITemplateSection_Section(section));\r\n }\r\n\r\n private ITemplateSection_Section(model: Models.ITemplateSection): ViewModels.ServiceAgreement.Section {\r\n if(!model) {\r\n return {}\r\n }\r\n\r\n return {\r\n id: model.sectionId,\r\n name: model.name,\r\n canEdit: model.canEdit,\r\n pages: this.ITemplatePageViewArray_SectionPageArray(model.pages)\r\n }\r\n }\r\n\r\n private ITemplatePageViewArray_SectionPageArray(sections: Models.ITemplatePageView[]): ViewModels.ServiceAgreement.SectionPage[] {\r\n return sections.map(section => this.ITemplatePageView_SectionPage(section));\r\n }\r\n\r\n private ITemplatePageView_SectionPage(model: Models.ITemplatePageView): ViewModels.ServiceAgreement.SectionPage {\r\n if(!model){\r\n return {}\r\n }\r\n\r\n return {\r\n pageId: model.pageId,\r\n pageNumber: model.pageNumber,\r\n html: model.content\r\n }\r\n }\r\n\r\n private SectionPage_ITemplatePageView(pages : Sonovate.ViewModels.ServiceAgreement.SectionPage[]) : Models.ITemplatePageView[]{\r\n if(!pages) {\r\n return []\r\n }\r\n let transformed = pages.map((currentValue: Sonovate.ViewModels.ServiceAgreement.SectionPage, index, array) => {\r\n return {\r\n pageId: currentValue.pageId,\r\n pageNumber: currentValue.pageNumber,\r\n content: currentValue.html\r\n }\r\n })\r\n return transformed\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TermsTransformers\", TermsTransformers);\r\n}\r\n","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class TimesheetSearchResultTransformers {\r\n \r\n ITimesheetSearchViewModelArray_ITimesheetSearchResultArray (timesheets: ViewModels.Gateway.TimesheetSearch[]): Models.ITimesheetSearchResult[] {\r\n return timesheets.map(timesheet => this.ITimesheetSearchViewModel_ITimesheetSearchResult(timesheet));\r\n } \r\n\r\n ITimesheetFlagViewModel_ITimesheetFlag (timesheetFlagViewModel: ViewModels.Timesheets.TimesheetFlag) : Models.ITimesheetFlag {\r\n return {\r\n id: ((timesheetFlagViewModel): Models.ITimesheetFlagType => {\r\n switch (timesheetFlagViewModel.id) {\r\n case 'DoubleBookedInSamePeriod':\r\n return 'OverlappingTime';\r\n case 'DoubleBookedOnSameTimesheet':\r\n return 'OverlappingTime';\r\n case 'ExpensesOnTimesheet':\r\n return 'ExpensesOnTimesheet';\r\n case 'MultipleTimesheetsInPeriod':\r\n return 'MultipleTimesheetsInPeriod';\r\n }\r\n })(timesheetFlagViewModel),\r\n severity: timesheetFlagViewModel.severity\r\n }\r\n }\r\n\r\n ITimesheetSearchViewModel_ITimesheetSearchResult (resultViewModel: ViewModels.Gateway.TimesheetSearch): Models.ITimesheetSearchResult {\r\n return {\r\n permissions: this.setTimesheetPermissionsAsFlags(resultViewModel.actions ? resultViewModel.actions : []),\r\n agencyName: resultViewModel.agencyName,\r\n agencyId: resultViewModel.agencyId,\r\n clientName: resultViewModel.clientName,\r\n clientID: resultViewModel.clientId.toString(),\r\n candidateName: resultViewModel.candidateName,\r\n candidateId: resultViewModel.candidateId.toString(),\r\n timesheetId: resultViewModel.timesheetId,\r\n reference: resultViewModel.reference,\r\n timesheetStatus: resultViewModel.timesheetStatus,\r\n submissionMessage: resultViewModel.submissionMessage,\r\n expenseGrossTotal: resultViewModel.expensesGrossTotal.toString(),\r\n timesheetStatusLabel: resultViewModel.timesheetStatusLabel,\r\n currencyCode: resultViewModel.currencyCode,\r\n timesheetAssignmentId: resultViewModel.timesheetAssignmentId,\r\n hasIssues: \"\",\r\n invoiceAmount: resultViewModel.invoiceAmount,\r\n workTotals: this.getWorkTotalArray(resultViewModel.workTotals),\r\n relevantActionDate: resultViewModel.relevantActionDate,\r\n deliveryPeriodStartDate: resultViewModel.periodStartDate,\r\n deliveryPeriodEndDate: resultViewModel.periodEndDate,\r\n hasIrregularActivity: resultViewModel.irregularActivityFlag,\r\n isManaged: resultViewModel.isManaged,\r\n version: resultViewModel.timesheetVersion,\r\n jobTitle: resultViewModel.jobTitle,\r\n jobReference: resultViewModel.jobReference,\r\n correctedFrom: resultViewModel.correctedFromTimesheetReference,\r\n flags: resultViewModel.flags && resultViewModel.flags.length ? R.uniq(resultViewModel.flags.map((flag) => this.ITimesheetFlagViewModel_ITimesheetFlag(flag))) : [],\r\n actionsInProgress: this.setDefaultActionsInProgress()\r\n };\r\n } \r\n\r\n ITimesheet_ITimesheetSearchResult (resultViewModel: Models.ITimesheet): Models.ITimesheetSearchResult {\r\n return {\r\n permissions: resultViewModel.permissions,\r\n agencyName: resultViewModel.authoriserName,\r\n agencyId: resultViewModel.authoriserId,\r\n reference: resultViewModel.reference,\r\n clientName: \"\",\r\n clientID: \"\",\r\n candidateName: \"\",\r\n candidateId: \"\",\r\n timesheetStatus: resultViewModel.status,\r\n timesheetAssignmentId: 0,\r\n timesheetId: resultViewModel.timesheetId,\r\n timesheetStatusLabel: resultViewModel.status,\r\n hasIssues: \"\",\r\n submissionMessage: \"\",\r\n expenseGrossTotal: resultViewModel.expensesGrossTotal.toString(),\r\n currencyCode: resultViewModel.currencyCode,\r\n invoiceAmount:1,\r\n workTotals: this.buildWorkTotalsFromITimesheet(resultViewModel.workTypeSummaries),\r\n relevantActionDate: \"\",\r\n deliveryPeriodStartDate: resultViewModel.deliveryPeriodStartDate,\r\n deliveryPeriodEndDate: resultViewModel.deliveryPeriodEndDate,\r\n version: resultViewModel.version,\r\n isManaged : resultViewModel.isManaged,\r\n jobReference: \"\",\r\n jobTitle: \"\",\r\n flags: resultViewModel.flags,\r\n actionsInProgress: this.setDefaultActionsInProgress()\r\n };\r\n }\r\n\r\n Timesheet_ITimesheetSearchResult (resultViewModel: ViewModels.Timesheets.Timesheet): Models.ITimesheetSearchResult {\r\n return {\r\n permissions: {\r\n canAuthoriseWork: false,\r\n canSubmitTimesheet: false\r\n },\r\n agencyName: \"\",\r\n agencyId: resultViewModel.clientAuthoriser ? resultViewModel.clientAuthoriser.authoriserPersonId : null,\r\n reference: resultViewModel.reference,\r\n clientName: \"\",\r\n clientID: \"\",\r\n candidateId: \"\",\r\n submissionMessage: resultViewModel.message,\r\n relevantActionDate: resultViewModel.lastStatusChange,\r\n candidateName: \"\",\r\n timesheetAssignmentId: 0,\r\n timesheetId: resultViewModel.timesheetId,\r\n jobTitle: \"\",\r\n timesheetStatus: resultViewModel.timesheetStatusId,\r\n timesheetStatusLabel: resultViewModel.timesheetStatusLabel,\r\n hasIssues: \"\",\r\n isManaged: resultViewModel.isManaged,\r\n flags: R.uniq(R.map(this.ITimesheetFlagViewModel_ITimesheetFlag, resultViewModel.flags)) || [], \r\n expenseGrossTotal: resultViewModel.expensesGrossTotal.toString(),\r\n invoiceAmount:1,\r\n workTotals: this.buildWorkTotalsFromTimesheet(resultViewModel.workTotals),\r\n deliveryPeriodStartDate: resultViewModel.deliveryPeriodStart,\r\n deliveryPeriodEndDate: resultViewModel.deliveryPeriodEnd,\r\n version: resultViewModel.version,\r\n jobReference: \"\",\r\n actionsInProgress: this.setDefaultActionsInProgress()\r\n };\r\n }\r\n\r\n private setDefaultActionsInProgress(): Models.IListingActionsInProgress {\r\n return {\r\n approvingTimesheetWithId: null\r\n };\r\n }\r\n\r\n private setTimesheetPermissionsAsFlags(permissions: Enums.TimesheetPermissionType[]): Models.ITimesheetPermissions {\r\n return {\r\n canAuthoriseWork: Utils.Permissions.hasPermission(permissions, \"AuthoriseWork\"),\r\n canSubmitTimesheet: Utils.Permissions.hasPermission(permissions, \"SubmitTimesheet\")\r\n };\r\n }\r\n\r\n private buildWorkTotalsFromITimesheet(workTotals: Models.IWorkTypeSummary[]): Sonovate.Models.ITimesheetListingWorkTotal[] {\r\n let formattedWorkTotals: Models.ITimesheetListingWorkTotal[] = [];\r\n R.map((item: ViewModels.Timesheets.WorkTypeSummary) => {\r\n formattedWorkTotals.push({\r\n name: item.name,\r\n quantity: item.quantity.toString(),\r\n unitTextId: item.unitTextId,\r\n unitLabel: item.unitLabel\r\n })\r\n }, workTotals)\r\n return formattedWorkTotals;\r\n }\r\n\r\n private buildWorkTotalsFromTimesheet(workTotals: Sonovate.ViewModels.Timesheets.WorkTypeSummary[]): Sonovate.Models.ITimesheetListingWorkTotal[] {\r\n let formattedWorkTotals: Models.ITimesheetListingWorkTotal[] = [];\r\n R.map((item: ViewModels.Timesheets.WorkTypeSummary) => {\r\n formattedWorkTotals.push({\r\n name: item.name,\r\n quantity: item.quantity.toString(),\r\n unitTextId: item.unitTextId,\r\n unitLabel: item.unitLabel\r\n })\r\n }, workTotals)\r\n return formattedWorkTotals;\r\n }\r\n\r\n private getWorkTotalArray(workTotals: ViewModels.Timesheets.WorkTypeSummary[]): Sonovate.Models.ITimesheetListingWorkTotal[] {\r\n let formattedWorkTotals: Models.ITimesheetListingWorkTotal[] = [];\r\n R.map((item: ViewModels.Timesheets.WorkTypeSummary) => {\r\n formattedWorkTotals.push({\r\n name: item.name,\r\n quantity: item.quantity.toString(),\r\n unitTextId: item.unitTextId,\r\n unitLabel: item.unitLabel\r\n })\r\n }, workTotals)\r\n return formattedWorkTotals;\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetSearchResultTransformers\", TimesheetSearchResultTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class TimesheetTransformers {\r\n\r\n $inject = [\"DateService\"];\r\n functioncalls: number;\r\n\r\n constructor (protected DateService: Core.Utils.DateService) {\r\n let functioncalls\r\n }\r\n\r\n TimesheetNew_ITimesheetNew (timesheet: ViewModels.Timesheets.TimesheetNew): Models.ITimesheetNew {\r\n let passesValidation = true;\r\n if (timesheet.validationResults && timesheet.validationResults.length > 0) {\r\n passesValidation = false;\r\n }\r\n \r\n return {\r\n assignment: this.AssignmentNew_IAssignmentNew(timesheet.assignment, timesheet.deliveryPeriodStart, timesheet.deliveryPeriodEnd, timesheet),\r\n permissions: {\r\n canAuthoriseWork: false,\r\n canSubmitTimesheet: false\r\n },\r\n timesheetId: timesheet.timesheetId,\r\n reference: timesheet.reference,\r\n status: timesheet.timesheetStatusId,\r\n timesheetPeriodEntries: this.setTimesheetPeriodEntries(timesheet.deliveryPeriodStart, timesheet.deliveryPeriodEnd, timesheet.validationResults, timesheet),\r\n statusMessage: timesheet.timesheetStatusLabel || \"\", \r\n message: timesheet.message,\r\n lastStatusChange: timesheet.lastStatusChange || \"\",\r\n timesheetStatusLabel: timesheet.timesheetStatusLabel,\r\n authoriserName: timesheet.clientAuthoriser ? timesheet.clientAuthoriser.authoriserName : null,\r\n signatoryPersonName: timesheet.sonovateApproverPersonName || \"\",\r\n authoriserId: timesheet.clientAuthoriser ? timesheet.clientAuthoriser.authoriserPersonId : null,\r\n workTypeSummaries: timesheet.workTotals,\r\n expenses: this.AdHocEntryArray_ITimesheetExpenseArray(timesheet.adHocEntries),\r\n timesheetAuthoriserId: timesheet.clientAuthoriser ? timesheet.clientAuthoriser.timesheetAuthoriserId : null,\r\n expensesGrossTotal: timesheet.expensesGrossTotal,\r\n signatures: timesheet.signatures || [],\r\n rejections: timesheet.rejections ? this.RejectionArray_ITimesheetRejectionArray(timesheet.rejections) : [],\r\n validationMessages: timesheet.validationResults ? timesheet.validationResults.map((entry) => {\r\n return entry.message;\r\n }): null,\r\n passesValidation: passesValidation,\r\n deliveryPeriodStartDate: timesheet.deliveryPeriodStart,\r\n deliveryPeriodEndDate: timesheet.deliveryPeriodEnd,\r\n deliveryPeriodId: timesheet.deliveryPeriodId,\r\n version: timesheet.version,\r\n isManaged: timesheet.isManaged,\r\n adhocTransactions: timesheet.lumpSumEntries ? R.map(this.LumpSumEntry_IAdhocTransaction, timesheet.lumpSumEntries) : null,\r\n summaries: timesheet.evidenceSummaries ? R.map(this.IEvidenceSummary_ISonovateWorkSummary, timesheet.evidenceSummaries) : null,\r\n managedNotes: timesheet.managedNotes,\r\n statusChangeHistory: timesheet.statusChangeHistory,\r\n flags: timesheet.flags && timesheet.flags.length ? R.uniq(timesheet.flags.map((flag) => this.ITimesheetFlagViewModel_ITimesheetFlag(flag))) : [],\r\n actionsInProgress: this.setDefaultActionsInProgress(),\r\n nextTimesheet: timesheet.nextTimesheet,\r\n previousTimesheet: timesheet.previousTimesheet,\r\n timesheetsInPeriod: timesheet.timesheetsInPeriod.length ? R.map(this.TimesheetInPeriod_ITimesheetInPeriod, timesheet.timesheetsInPeriod) : [],\r\n hasNextTimesheet: timesheet.nextTimesheet ? true : false,\r\n hasPreviousTimesheet: timesheet.previousTimesheet ? true : false,\r\n hasExpenses: !!timesheet.adHocEntries.length,\r\n hasWork: !!(timesheet.rateBasedEntries.length || timesheet.lumpSumEntries.length)\r\n }\r\n };\r\n\r\n public setDefaultActionsInProgress () : Models.IActionsInProgress {\r\n return {\r\n approve: false,\r\n editingTimesheet: false,\r\n dismissingTimesheet: false,\r\n reopenAsManagedTimesheet: false,\r\n rejectingTimesheet: false,\r\n submitManagedTimesheet: false,\r\n decliningTimesheet: false,\r\n submittingTimesheet: false,\r\n deletingTimesheet: false\r\n }\r\n }\r\n\r\n\r\n public AssignmentNew_IAssignmentNew (assignment: ViewModels.Timesheets.AssignmentNew, deliveryPeriodStart: string, deliveryPeriodEnd: string, timesheet: ViewModels.Timesheets.TimesheetNew) : Models.IAssignmentNew {\r\n return {\r\n timesheetAssignmentId: assignment.timesheetAssignmentId,\r\n pictureUrl: assignment.supplierOrganisationPictureUrl,\r\n customerOrganisationId: assignment.customerOrganisationId,\r\n customerOrganisationShortName: assignment.customerOrganisationShortName,\r\n clientName: assignment.supplierOrganisationName,\r\n candidateName: assignment.workerPersonName,\r\n jobTitle: assignment.jobTitle,\r\n candidateId: assignment.workerPersonId,\r\n referenceNumber: assignment.jobReference,\r\n serviceRates: assignment.serviceRates,\r\n customerName: assignment.customerOrganisationName,\r\n supplierOrganisationId: assignment.supplierOrganisationId,\r\n supplierOrganisationPictureUrl: assignment.supplierOrganisationPictureUrl,\r\n supplierOrganisationName: assignment.supplierOrganisationName,\r\n supplierOrganisationShortName: assignment.supplierOrganisationShortName,\r\n supplierCustomerServicesNumber: assignment.supplierCustomerServicesNumber,\r\n timesheetAuthorisers: assignment.timesheetAuthorisers, \r\n nonWorkLabel: assignment.nonWorkUnitOfMeasure ? assignment.nonWorkUnitOfMeasure.unitOfMeasureLabel : '',\r\n nonWorkUnit: assignment.nonWorkUnitOfMeasure ? assignment.nonWorkUnitOfMeasure.unitOfMeasureTextId : '',\r\n nonWorkSubUnits: assignment.nonWorkUnitOfMeasure ? assignment.nonWorkUnitOfMeasure.subUnits : [],\r\n currencyCode: assignment.currencyCode,\r\n canBookNonWork: assignment.canBookNonWork,\r\n canBookExpense: assignment.canBookExpenses,\r\n lastModifiedOn: assignment.lastModifiedOn,\r\n version: assignment.version,\r\n percentageCompleted: assignment.percentageComplete,\r\n progressStatus: assignment.progressStatus,\r\n days: this.setDeliveryPeriodDaysWithWorkEntries(deliveryPeriodStart, deliveryPeriodEnd, timesheet) \r\n }\r\n }\r\n\r\n TimesheetInPeriod_ITimesheetInPeriod (timesheetInPeriod: ViewModels.Timesheets.TimesheetsInPeriod): Models.ITimesheetsInPeriod {\r\n return {\r\n timesheetId: parseInt(timesheetInPeriod.id),\r\n timesheetStatus: timesheetInPeriod.status,\r\n timesheetReference: timesheetInPeriod.reference\t\r\n }\r\n }\r\n\r\n public ITimesheetFlagTypeViewModel_ITimesheetFlagType (timesheetFlagType: Sonovate.Enums.FlagType) : Models.ITimesheetFlagType {\r\n switch (timesheetFlagType) {\r\n case 'DoubleBookedInSamePeriod':\r\n case 'DoubleBookedOnSameTimesheet':\r\n return 'OverlappingTime';\r\n case 'ExpensesOnTimesheet':\r\n return 'ExpensesOnTimesheet';\r\n case 'MultipleTimesheetsInPeriod':\r\n return 'MultipleTimesheetsInPeriod';\r\n }\r\n }\r\n\r\n public ITimesheetFlagViewModel_ITimesheetFlag (timesheetFlagViewModel: ViewModels.Timesheets.TimesheetFlag) : Models.ITimesheetFlag {\r\n return {\r\n id: this.ITimesheetFlagTypeViewModel_ITimesheetFlagType(timesheetFlagViewModel.id),\r\n severity: timesheetFlagViewModel.severity\r\n }\r\n }\r\n\r\n RejectionArray_ITimesheetRejectionArray (rejections: ViewModels.Timesheets.Rejection[]): Models.ITimesheetRejection[] {\r\n return rejections.map(rejection => {\r\n return {\r\n reason: rejection.rejectionDescription,\r\n date: rejection.rejectionDate\r\n };\r\n });\r\n }\r\n\r\n AdHocEntryArray_ITimesheetExpenseArray(adHocEntries: Sonovate.ViewModels.Timesheets.AdHocCharge[]): Models.ITimesheetExpense[] {\r\n return adHocEntries.map((entry: Sonovate.ViewModels.Timesheets.AdHocCharge) => {\r\n return {\r\n id: entry.adHocChargeId,\r\n date: entry.entryDate,\r\n evidenceImages: this.getEvidenceImageUrlsFromArray(entry.expenseEvidences),\r\n selectedExpenseTypeId: entry.adHocType.adHocTypeId,\r\n selectedExpenseTypeText: entry.adHocType.label,\r\n selectedExpenseRateLabel: entry.adHocType.serviceRate ? entry.adHocType.serviceRate.unitOfMeasure.unitOfMeasureLabel : \"\",\r\n netAmount: this.addAmountToTimesheetExpense(entry.netAmount),\r\n vatAmount: this.addAmountToTimesheetExpense(entry.taxAmount),\r\n rateQuantity: this.addAmountToTimesheetExpense(entry.quantity),\r\n rateLabel: entry.adHocType.uomText,\r\n descriptionText: entry.description,\r\n isRate : entry.adHocType.isRate,\r\n grossAmount: this.addAmountToTimesheetExpense(entry.grossAmount)\r\n };\r\n });\r\n }\r\n\r\n RateBasedCharge_ITimesheetEntry (entry: ViewModels.Timesheets.RateBasedCharge): Models.ITimesheetEntry {\r\n return {\r\n id: entry.entryId,\r\n quantity: entry.quantity.toString(),\r\n startTime: entry.startTime, \r\n endTime: entry.endTime,\r\n breakAmount: entry.breakTime.toString(),\r\n description: entry.description,\r\n serviceRateId: entry.serviceRate ? entry.serviceRate.serviceRateId : null,\r\n rateLabel: entry.serviceRate ? entry.serviceRate.label : null,\r\n unitOfMeasure: entry.serviceRate ? entry.serviceRate.unitOfMeasure.unitOfMeasureTextId : null,\r\n entryDate: entry.entryDate\r\n }\r\n };\r\n\r\n ITimesheetEntry_RateBasedCharge (entry: Models.ITimesheetEntry, selectedDates: string[]): RequestModels.Timesheets.RateBasedCharge { \r\n return {\r\n quantity: math.number(entry.quantity),\r\n startTime: this.DateService.safeFormat(this.DateService.getMomentTime(entry.startTime), 'HH:mm:ss'),\r\n endTime: this.DateService.safeFormat(this.DateService.getMomentTime(entry.endTime), 'HH:mm:ss'),\r\n breakTime: math.number(entry.breakAmount) === 0 ? null : math.number(entry.breakAmount),\r\n serviceRateId: entry.serviceRateId,\r\n entryDates: selectedDates,\r\n description: entry.description\r\n }\r\n }\r\n\r\n ITimesheetEntry_NonWorkEntry (entry: Models.ITimesheetEntry, selectedDates: string[]): RequestModels.Timesheets.NonWorkEntry { \r\n return {\r\n quantity: math.number(entry.quantity),\r\n nonWorkReason: entry.serviceRateId,\r\n entryDates: selectedDates,\r\n description: entry.description\r\n }\r\n }\r\n\r\n IRateBasedChargeArray_ITimesheetEntryArray (\r\n charges: ViewModels.Timesheets.RateBasedCharge[], \r\n conflicts: Sonovate.ViewModels.Timesheets.EntryValidationResult[],\r\n rejections: Sonovate.ViewModels.Timesheets.Rejection[]): Models.ITimesheetEntry[] {\r\n return charges.map(charge => this.IRateBasedCharge_ITimesheetEntry(charge, conflicts, rejections));\r\n };\r\n\r\n IRateBasedCharge_ITimesheetEntry (\r\n resultViewModel: ViewModels.Timesheets.RateBasedCharge, \r\n conflicts: Sonovate.ViewModels.Timesheets.EntryValidationResult[],\r\n rejections: Sonovate.ViewModels.Timesheets.Rejection[]\r\n ): Models.ITimesheetEntry {\r\n return {\r\n id: this.getRateBasedChargeId(resultViewModel),\r\n type: \"WorkEntry\",\r\n quantity: resultViewModel.quantity ? resultViewModel.quantity.toString() : \"\",\r\n workType: this.getServiceRateFromRateBasedCharge(resultViewModel),\r\n startTime: resultViewModel.startTime,\r\n endTime: resultViewModel.endTime,\r\n breakAmount: resultViewModel.breakTime ? resultViewModel.breakTime.toString() : \"\",\r\n rateLabel: resultViewModel.serviceRate.label,\r\n entryDate: resultViewModel.entryDate,\r\n unitOfMeasureLabel: resultViewModel.serviceRate.unitOfMeasure ? resultViewModel.serviceRate.unitOfMeasure.unitOfMeasureLabel : null,\r\n unitOfMeasure: resultViewModel.serviceRate.unitOfMeasure ? resultViewModel.serviceRate.unitOfMeasure.unitOfMeasureTextId : null,\r\n serviceRateId: resultViewModel.serviceRate.serviceRateId,\r\n description: resultViewModel.description,\r\n showConflict: this.showConflict(this.getRateBasedChargeId(resultViewModel), conflicts),\r\n hasRejection: this.hasRejection(this.getRateBasedChargeId(resultViewModel), rejections)\r\n };\r\n };\r\n\r\n INonWorkEntryArray_ITimesheetEntryArray (entries: ViewModels.Timesheets.NonWorkEntry[], nonWorkUnitOfMeasure: Sonovate.Enums.TimesheetWorkQuantityType): Models.ITimesheetEntry[] {\r\n return entries.map(entry => this.INonWorkEntry_ITimesheetEntry(entry, nonWorkUnitOfMeasure));\r\n };\r\n\r\n INonWorkEntry_ITimesheetEntry (resultViewModel: ViewModels.Timesheets.NonWorkEntry, nonWorkUnitOfMeasure: Sonovate.Enums.TimesheetWorkQuantityType): Models.ITimesheetEntry {\r\n return {\r\n id: resultViewModel.nonWorkEntryId,\r\n description: resultViewModel.description,\r\n entryId: resultViewModel.entryId,\r\n entryDate: resultViewModel.entryDate,\r\n type: \"NonWorkEntry\",\r\n unitOfMeasure: nonWorkUnitOfMeasure,\r\n rateLabel: resultViewModel.nonWorkReasonLabel,\r\n serviceRateId: resultViewModel.nonWorkReasonId,\r\n reasonId: resultViewModel.nonWorkReasonId,\r\n quantity: resultViewModel.quantity.toString(),\r\n startTime: '',\r\n endTime: '',\r\n breakAmount: ''\r\n };\r\n };\r\n\r\n ITimesheetArray_IAssignmentDateArray(timesheets: Models.ITimesheet[]): any[] {\r\n return R.flatten(timesheets.map((timesheet: Models.ITimesheet) => {\r\n return timesheet.deliveryPeriod.dates.map((deliveryPeriodDate: Models.IDeliveryPeriodDate) => {\r\n return {\r\n day: deliveryPeriodDate.date.date,\r\n hasWork: this.checkItimesheetForWork(deliveryPeriodDate.entries)\r\n }\r\n })\r\n }))\r\n }\r\n\r\n ISonovateWorkSummary_IEvidenceSummary(summary: Models.ISonovateWorkSummary): Sonovate.RequestModels.Timesheets.IEvidenceSummary {\r\n return {\r\n evidenceUrl: summary.timesheetFile || \"\",\r\n items: summary.workEntries.length ? summary.workEntries.map((entry): Sonovate.RequestModels.Timesheets.IEvidenceItem => {\r\n let serviceRateId = entry.serviceRateId;\r\n return {\r\n quantity: parseFloat(entry.amount),\r\n serviceRateId: typeof serviceRateId === 'number' ? serviceRateId : null,\r\n nonWorkReason: typeof serviceRateId !== 'number' ? serviceRateId.toString() : null\r\n }\r\n }) : []\r\n }\r\n }\r\n\r\n IEvidenceSummary_ISonovateWorkSummary(summary: Sonovate.ViewModels.Timesheets.EvidenceSummary): Models.ISonovateWorkSummary {\r\n return {\r\n timesheetFile: summary.evidenceUrl,\r\n workEntries: summary.items.map((entry): Models.ISonovateWorkEntry => {\r\n let amountHoursAndMinutes = Utils.Time.Decimal_HoursAndMinutes(entry.quantity.toString())\r\n return {\r\n candidatePayRate: entry.serviceRate ? entry.serviceRate.candidatePayRate : null,\r\n clientChargeRate: entry.serviceRate ? entry.serviceRate.clientChargeRate : null,\r\n isNonWorkReason: entry.serviceRate ? entry.serviceRate.isNonWorkReason : false,\r\n amount: entry.quantity.toString(),\r\n addWorkHours: amountHoursAndMinutes.hours,\r\n addWorkMinutes: amountHoursAndMinutes.minutes,\r\n serviceRateId: entry.serviceRate ? entry.serviceRate.serviceRateId : entry.nonWorkReason,\r\n serviceRateLabel: entry.serviceRate ? entry.serviceRate.label : null,\r\n unitLabel: entry.serviceRate ? entry.serviceRate.unitOfMeasure.unitOfMeasureLabel : null,\r\n errors: {\r\n addWorkHours: {\r\n isValid: false,\r\n message: \"\"\r\n },\r\n addWorkMinutes: {\r\n isValid: false,\r\n message: \"\"\r\n }\r\n }\r\n }\r\n })\r\n }\r\n }\r\n\r\n LumpSumEntry_IAdhocTransaction(transaction: Sonovate.ViewModels.Timesheets.LumpSumEntry): Models.IAdhocTransaction {\r\n return {\r\n transactionId: transaction.lumpSumEntryId,\r\n description: transaction.description,\r\n chargeAmount: transaction.chargeAmount,\r\n payAmount: transaction.payAmount\r\n }\r\n }\r\n\r\n IAdhocTransaction_LumpSumEntry(transaction: Models.IAdhocTransaction): Sonovate.ViewModels.Timesheets.LumpSumEntry {\r\n return {\r\n lumpSumEntryId: transaction.transactionId,\r\n description: transaction.description,\r\n chargeAmount: transaction.chargeAmount,\r\n payAmount: transaction.payAmount\r\n }\r\n }\r\n\r\n private checkItimesheetForWork(entries: Models.ITimesheetEntry[]): boolean {\r\n if(!R.isNil(entries) && !R.isEmpty(entries)){\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private sortEntryByDate (date: any, entries: any): any {\r\n let formattedDate = new Date(date.date + \"T00:00:00\")\r\n return entries.filter((entry, index, array) => {\r\n let formattedEntryDate = new Date(entry.entryDate)\r\n if (formattedDate.setHours(0, 0, 0, 0) == formattedEntryDate.setHours(0, 0, 0, 0)) {\r\n return true;\r\n }\r\n return false;\r\n })\r\n } \r\n\r\n private getDatesInRange (range: any): any {\r\n let dates = [];\r\n range.by('days', (date) => {\r\n dates.push({\r\n date: moment(date._d).format('YYYY-MM-DD'),\r\n day: moment(date._d).format('DD'),\r\n month: moment(date._d).format('MM'),\r\n dayText: moment(date._d).format('dddd'),\r\n monthText: moment(date._d).format('MMM')\r\n });\r\n })\r\n return dates;\r\n };\r\n\r\n private getEntries (\r\n date: any, \r\n rateBasedCharges: ViewModels.Timesheets.RateBasedCharge[], \r\n nonWorkEntries: ViewModels.Timesheets.NonWorkEntry[],\r\n conflicts: Sonovate.ViewModels.Timesheets.EntryValidationResult[],\r\n rejections: Sonovate.ViewModels.Timesheets.Rejection[],\r\n nonWorkUnitOfMeasure: Sonovate.Enums.TimesheetWorkQuantityType\r\n ): any {\r\n let work = this.sortEntryByDate(date, this.IRateBasedChargeArray_ITimesheetEntryArray(rateBasedCharges, conflicts, rejections));\r\n let nonWork = this.sortEntryByDate(date, this.INonWorkEntryArray_ITimesheetEntryArray(nonWorkEntries, nonWorkUnitOfMeasure));\r\n \r\n return R.concat(work, nonWork);\r\n }\r\n\r\n private setTimesheetPeriodEntries (\r\n startDate: string, \r\n endDate: string, \r\n conflicts: Sonovate.ViewModels.Timesheets.EntryValidationResult[],\r\n timesheet: ViewModels.Timesheets.TimesheetNew\r\n ) {\r\n return {\r\n deliveryPeriodId: timesheet.deliveryPeriodId,\r\n dates: this.getGeneratedPeriodEntryDates(startDate, endDate, conflicts, timesheet)\r\n };\r\n }\r\n\r\n private getGeneratedPeriodEntryDates (\r\n startDate: string, \r\n endDate: string, \r\n conflicts: Sonovate.ViewModels.Timesheets.EntryValidationResult[],\r\n timesheet: ViewModels.Timesheets.TimesheetNew): Models.IDeliveryPeriodDate[] \r\n {\r\n let dates: Models.IDeliveryPeriodDateFormat[] = [];\r\n let transformedDates: Models.IDeliveryPeriodDate[] = [];\r\n let range = this.getDateRange(startDate, endDate)\r\n dates = this.getDatesInRange(range);\r\n\r\n if (timesheet && (timesheet.rateBasedEntries.length > 0 || timesheet.nonWorkEntries.length > 0)) {\r\n let mergedDates: Models.IDeliveryPeriodDate[] = [];\r\n dates.map((date: any, index, array) => {\r\n mergedDates.push({\r\n date: {\r\n date: date.date,\r\n day: date.day,\r\n month: date.month,\r\n dayText: date.dayText,\r\n monthText: date.monthText\r\n },\r\n entries: this.getEntries(date, timesheet.rateBasedEntries, timesheet.nonWorkEntries, conflicts, timesheet.rejections, timesheet.assignment.nonWorkUnitOfMeasure.unitOfMeasureTextId)\r\n })\r\n })\r\n\r\n return mergedDates\r\n } \r\n\r\n transformedDates = dates.map((item, index, array) => {\r\n return {\r\n date: {\r\n date: item.date,\r\n day: item.day,\r\n month: item.month,\r\n dayText: item.dayText,\r\n monthText: item.monthText\r\n },\r\n entries: null,\r\n }\r\n });\r\n\r\n return transformedDates;\r\n }\r\n\r\n private showConflict(id: number, conflicts: Sonovate.ViewModels.Timesheets.EntryValidationResult[]): boolean {\r\n let hasConflicts: boolean = false;\r\n if(!R.isNil(conflicts) && !R.isEmpty(conflicts)){\r\n conflicts.map((conflict: Sonovate.ViewModels.Timesheets.EntryValidationResult) => {\r\n conflict.relevantEntryIds.map((entryId: number) => {\r\n if(entryId === id) {\r\n hasConflicts = true;\r\n }\r\n })\r\n })\r\n }\r\n return hasConflicts;\r\n }\r\n\r\n private hasRejection(id: number, rejections: Sonovate.ViewModels.Timesheets.Rejection[]): boolean {\r\n let hasRejection: boolean = false;\r\n if(!R.isNil(rejections) && !R.isEmpty(rejections)){\r\n rejections.map((rejection: Sonovate.ViewModels.Timesheets.Rejection) => {\r\n if(!R.isNil(rejection.entryIds) && !R.isEmpty(rejection.entryIds)){\r\n rejection.entryIds.map(() => {\r\n hasRejection = R.contains(id, rejection.entryIds); \r\n })\r\n }\r\n })\r\n }\r\n return hasRejection;\r\n }\r\n \r\n private getDateRange(startDate: string, endDate: string): moment.Range {\r\n let firstDateMoment = moment(startDate);\r\n let endDateMoment = moment(endDate);\r\n let range = moment.range(firstDateMoment, endDateMoment);\r\n return range;\r\n }\r\n\r\n setDeliveryPeriodDaysWithWorkEntries(deliveryPeriodStart: string, deliveryPeriodEnd: string, timesheet: ViewModels.Timesheets.TimesheetNew): Models.IAssignmentDate[] {\r\n let dates: Models.IDeliveryPeriodDateFormat[] = [];\r\n let range = this.getDateRange(deliveryPeriodStart, deliveryPeriodEnd);\r\n dates = this.getDatesInRange(range);\r\n \r\n return dates.map((date: any, index, array) => {\r\n return {\r\n day: date.date,\r\n hasWork: this.checkIfDateHasWork(timesheet, date.date)\r\n }\r\n })\r\n }\r\n \r\n private checkIfDateHasWork(timesheet: ViewModels.Timesheets.TimesheetNew, date: string): boolean {\r\n let hasWork: boolean = false;\r\n timesheet.rateBasedEntries.map((entry: ViewModels.Timesheets.RateBasedCharge) => {\r\n if(this.checkDatesAreEqual(date, entry.entryDate)) {\r\n hasWork = true;\r\n }\r\n })\r\n \r\n return hasWork;\r\n }\r\n\r\n private checkDatesAreEqual(firstDate: string, secondDate: string): boolean {\r\n let firstFormattedDate = new Date(firstDate);\r\n let secondFormattedDate = new Date(secondDate);\r\n //Set hours, minutes, seconds, miliseconds to 00:00:00\r\n if(firstFormattedDate.setHours(0, 0, 0, 0) == secondFormattedDate.setHours(0, 0, 0, 0)) {\r\n return true\r\n }\r\n return false;\r\n }\r\n\r\n private getServiceRateFromRateBasedCharge (entity: ViewModels.Timesheets.RateBasedCharge): string {\r\n if (entity.serviceRate && entity.serviceRate.label) {\r\n return entity.serviceRate.label\r\n }\r\n return \"\"\r\n }\r\n\r\n private getRateBasedChargeId (rateBasedCharge: ViewModels.Timesheets.RateBasedCharge): number {\r\n if(rateBasedCharge && rateBasedCharge.rateBasedChargeId){\r\n return rateBasedCharge.rateBasedChargeId;\r\n } else {\r\n return 0;\r\n }\r\n }\r\n\r\n private buildDeliveryPeriodLink (deliveryPeriod: ViewModels.Timesheets.DeliveryPeriod): Models.IDeliveryPeriod[] {\r\n let formatteddeliveryPeriod: Models.IDeliveryPeriod[] = [];\r\n R.map((item: ViewModels.Timesheets.DeliveryPeriod) => {\r\n formatteddeliveryPeriod.push({\r\n deliveryPeriodId: item.deliveryPeriodId,\r\n startDate: item.startDate,\r\n endDate: item.endDate\r\n })\r\n }, deliveryPeriod)\r\n return formatteddeliveryPeriod;\r\n }\r\n\r\n private getEvidenceImageUrlsFromArray(evidenceImages) {\r\n return evidenceImages.map(function(current: Sonovate.ViewModels.Timesheets.ExpenseEvidence){\r\n return {\r\n id: current.evidenceId,\r\n url: current.fileUrl\r\n }\r\n })\r\n }\r\n\r\n private addAmountToTimesheetExpense(item: number): string {\r\n if(item){\r\n return item.toString()\r\n }\r\n return \"\";\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetTransformers\", TimesheetTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export interface IErrors extends IDictionary {}\r\n\r\n export class ErrorsTransformer {\r\n IErrors_String(dictionary: IErrors): string {\r\n var validationMessage = '';\r\n for (var key in dictionary) {\r\n if (dictionary.hasOwnProperty(key) && dictionary[key] !== null) {\r\n validationMessage += dictionary[key] + ', ';\r\n }; \r\n }\r\n\r\n return validationMessage.replace(/,\\s*$/, \"\");\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"ErrorsTransformer\", ErrorsTransformer);\r\n}","/// \r\nmodule Sonovate.Core.Utils.Status {\r\n\r\n export function getStatusByGroupTypeAndId(groupTypeId: string, statusId: string, statuses: IDictionary): Models.IStatus {\r\n if (statusExists(groupTypeId, statusId, statuses)) {\r\n return this.findStatusInGroupType(statuses[groupTypeId], statusId);\r\n }\r\n return null;\r\n }\r\n\r\n export function statusExists(groupTypeId: string, statusId: string, statuses: IDictionary): boolean {\r\n return (\r\n statuses.hasOwnProperty(groupTypeId) &&\r\n !R.isNil(findStatusInGroupType(statuses[groupTypeId], statusId))\r\n );\r\n }\r\n\r\n export function findStatusInGroupType(groupTypeStatuses: Models.IStatus[], statusId: string): Models.IStatus {\r\n return R.find(\r\n (status): boolean => status.id === statusId, \r\n groupTypeStatuses\r\n )\r\n }\r\n\r\n export function mergeStatusStyleWithStatuses(riskStatuses: IDictionary, statusStyles: IDictionary>): IDictionary {\r\n \r\n return R.mapObjIndexed((statuses: Models.IStatus[], groupTypeId): Models.IStatus[] => {\r\n return R.map(\r\n (status: Models.IStatus): Models.IStatus => {\r\n return R.merge(\r\n status, \r\n getStatusIconAndColor(\r\n status.id, \r\n groupTypeId, \r\n statusStyles\r\n )\r\n )\r\n },\r\n statuses\r\n );\r\n }, riskStatuses);\r\n }\r\n\r\n export function getStatusIconAndColor(statusId: string, groupTypeId: string, statusStyles: IDictionary>): Models.IStatusStyle {\r\n if (statusStyleExists(groupTypeId, statusId, statusStyles)) {\r\n return statusStyles[groupTypeId][statusId];\r\n }\r\n return {};\r\n }\r\n\r\n export function statusStyleExists(groupTypeId:string, statusId: string, statusStyles: IDictionary>) : boolean {\r\n return (\r\n statusStyles.hasOwnProperty(groupTypeId) &&\r\n statusStyles[groupTypeId].hasOwnProperty(statusId)\r\n );\r\n }\r\n\r\n export function IStatusArray_IRadioItemArray(statuses: Models.IStatus[]): Models.IRadioItem[] {\r\n return R.map(IStatus_IRadioItem, statuses);\r\n }\r\n\r\n export function IStatus_IRadioItem(status: Models.IStatus): Models.IRadioItem {\r\n return {\r\n value: status.id,\r\n label: status.text,\r\n icon: status.icon,\r\n iconColor: status.color\r\n }\r\n }\r\n\r\n export function getStatusesByGroupType(statuses: IDictionary, groupTypeId: string): Models.IStatus[] {\r\n if (statuses.hasOwnProperty(groupTypeId)) {\r\n return statuses[groupTypeId];\r\n }\r\n return [];\r\n }\r\n\r\n export function augmentStatusItemUsingConfigurationArray(status: Models.IStatusItem, configurationItems: Models.IStatusStyle[]): Models.IStatusItem {\r\n try {\r\n return R.merge(status, R.find(R.propEq('id', status.id))(configurationItems));\r\n } catch (e) {\r\n return {\r\n id: status.id,\r\n text: status.text,\r\n color: '',\r\n icon: ''\r\n }\r\n }\r\n }\r\n \r\n}","/// \r\nmodule Sonovate.Core.Utils.Errors {\r\n export function getFirstErrorFromErrors(errors: IDictionary): string {\r\n let error = R.values(errors)[0];\r\n if (error) {\r\n return error;\r\n }\r\n return '';\r\n }\r\n}","/// \r\nmodule Sonovate.Core.Utils.SessionHelpers {\r\n \r\n export function clearSession() {\r\n window.localStorage.removeItem('signedInUser');\r\n Sonovate.Core.Utils.CookieHelpers.deleteCookie('userToken');\r\n }\r\n\r\n export function getUserToken(): string {\r\n return Sonovate.Core.Utils.CookieHelpers.getCookie('userToken');\r\n }\r\n\r\n export function getSignedInUser(): Models.ISignedInUser {\r\n try {\r\n return JSON.parse(window.localStorage.getItem('signedInUser'));\r\n } catch (err) {\r\n return {}\r\n }\r\n }\r\n\r\n export function getSessionExpiry() {\r\n return Sonovate.Core.Utils.CookieHelpers.getCookie('sessionExpiry');\r\n }\r\n\r\n export function setSession(signedInUser: Models.ISignedInUser) {\r\n window.localStorage.setItem('signedInUser',\r\n JSON.stringify(R.omit([\"token\"], signedInUser))\r\n );\r\n Sonovate.Core.Utils.CookieHelpers.setCookie('userToken', signedInUser.token, 1);\r\n }\r\n\r\n export function setSessionExpiry() {\r\n Sonovate.Core.Utils.CookieHelpers.setCookie('sessionExpiry', true, 365)\r\n }\r\n\r\n export function hasValidSession() {\r\n return getUserToken() && getSignedInUser();\r\n }\r\n\r\n export function routeRequiresSession(route: string, params: IDictionary) {\r\n return route !== 'sonovate.signin'\r\n && route !== 'sonovate.signup'\r\n && route !== 'sonovate.ChangePassword'\r\n && route !== 'sonovate.passwordReset'\r\n && route !== 'sonovate.ExternalSignin'\r\n && route !== 'sonovate.404'\r\n && route !== 'sonovate.500'\r\n && route !== 'sonovate.root'\r\n && route !== 'sonovate.OauthInAppRedirect'\r\n && route !== 'sonovate.OAuthInPopupCallback'\r\n && ! params['signupToken']\r\n }\r\n}","/// \r\nmodule Sonovate.Core.Utils.CookieHelpers {\r\n export function setCookie(name,value,days) {\r\n var expires = \"\";\r\n if (days) {\r\n var date = new Date();\r\n date.setTime(date.getTime() + (days*24*60*60*1000));\r\n expires = \"; expires=\" + date.toUTCString();\r\n }\r\n document.cookie = name + \"=\" + value + expires + \"; path=/; Secure\";\r\n }\r\n\r\n export function getCookie(name) {\r\n var nameEQ = name + \"=\";\r\n var ca = document.cookie.split(';');\r\n for(var i=0;i < ca.length;i++) {\r\n var c = ca[i];\r\n while (c.charAt(0)==' ') c = c.substring(1,c.length);\r\n if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);\r\n }\r\n return null;\r\n }\r\n\r\n export function deleteCookie(name) {\r\n setCookie(name,\"\",-1);\r\n }\r\n}","/// \r\nmodule Sonovate.Config {\r\n export const ProposalStatusStyles: Models.IStatusStyle[] = [\r\n {\r\n id: \"Draft\",\r\n color: \"splash\",\r\n icon: \"sn-ico sn-ico-clock-filled\"\r\n },\r\n {\r\n id: \"Submitted\",\r\n color: \"daffodil\",\r\n icon: \"sn-ico sn-ico-clock-filled\"\r\n },\r\n {\r\n id: \"Approved\",\r\n color: \"apple\",\r\n icon: \"sn-ico sn-ico-tick-circle-filled\"\r\n },\r\n {\r\n id: \"Issued\",\r\n color: \"splash\",\r\n icon: \"sn-ico sn-ico-paper-plane\"\r\n },\r\n {\r\n id: \"Signed\",\r\n color: \"apple\",\r\n icon: \"sn-ico sn-ico-tick-circle-filled\"\r\n },\r\n {\r\n id: \"Live\",\r\n color: \"apple\",\r\n icon: \"sn-ico sn-ico-tick-circle-filled\"\r\n },\r\n {\r\n id: \"Complete\",\r\n color: \"apple\",\r\n icon: \"sn-ico sn-ico-tick-circle-filled\"\r\n },\r\n {\r\n id: \"Cancelled\",\r\n color: \"parrot\",\r\n icon: \"sn-ico sn-ico-no-entry-filled\"\r\n }\r\n ];\r\n}","/// \r\nmodule Sonovate.Config.Localisation {\r\n export const Labels: IDictionary = {\r\n \"timesheets.WorkAddedSuccessfully\": \"Work Added Successfully\",\r\n \"timesheets.NonWorkAddedSuccessfully\": \"Absence Added Successfully\",\r\n \"timesheets.ExpenseAddedSuccessfully\": \"Expense Added Successfully\",\r\n \"timesheets.Timesheets\": \"Timesheets\",\r\n \"timesheets.PleaseEnter\": \"Please enter a reason\",\r\n \"timesheets.Approve\": \"Approve\",\r\n \"timesheets.Approving\": \"Approving\",\r\n \"timesheets.BulkApproveModalTitle\": \"Bulk approve?\",\r\n \"timesheets.Decline\": \"Decline\",\r\n \"timesheets.Evidence\": \"Evidence\",\r\n \"timesheets.Empty\": \"Empty\",\r\n \"timesheets.NotesOptional\": \"Notes (Optional)\",\r\n \"timesheets.PleaseCompleteRates\": \"Please complete all rate fields, or remove unneeded ones.\",\r\n \"timesheets.Reopen\": \"Reopen\",\r\n \"timesheets.payAmount\": \"Pay Amount\",\r\n \"timesheets.chargeAmount\": \"Charge Amount\",\r\n \"timesheets.ThisTimesheetIsBeing\": \"This timesheet is being processed offline by the admin team.\",\r\n \"timesheets.TheDetailOfThis\": \"The detail of this timesheet isn't available to view. If you have any questions please contact us on\",\r\n \"timesheets.AddAnotherRate\": \"Add another rate\",\r\n \"timesheets.AddTransaction\": \"Add transaction\",\r\n \"timesheets.AddMoreEvidence\": \"Add more evidence\",\r\n \"timesheets.ManualTimesheet\": \"Manual Timesheet\",\r\n \"timesheets.SignedTimesheet\": \"Time\",\r\n \"timesheets.Expenses\": \"Expenses\",\r\n \"timesheets.RateName\": \"Rate name\",\r\n \"timesheets.ReallyDelete\": \"Delete timesheet?\",\r\n \"timesheets.ThisWillDelete\": \"All time and expenses will be lost. This cannot be undone.\",\r\n \"timesheets.ChargeGBP\": \"Charge (GBP)\",\r\n \"timesheets.PayGBP\": \"Pay (GBP)\",\r\n \"timesheets.Total\": \"Total\",\r\n \"timesheets.ShowHistory\": \"Show history\",\r\n \"timesheets.HideHistory\": \"Hide history\",\r\n \"timesheets.ClearTimesheet\": \"Clear timesheet?\",\r\n \"timesheets.ThisWillRemove\": \"This will remove all entries and evidence in the timesheet and cannot be reversed.\",\r\n \"timesheets.ThisWillBulkApprove\": \"This will approve all signed timesheets without warnings or blocking issues. This task may take a few minutes, but it is safe to continue working while the system is approving.\",\r\n \"timesheets.AllWork\":\"All Work\",\r\n \"timesheets.OverlappingTime\": \"Overlapping\",\r\n \"timesheets.ExpensesOnTimesheet\": \"Expenses\",\r\n \"timesheets.MultipleTimesheetsInPeriod\": \"Multiple Ts\",\r\n \"timesheets.OverlappingTimeTooltip\": \"Some entries have overlapping start and end times\",\r\n \"timesheets.ExpensesOnTimesheetTooltip\": \"This timesheet contains expenses\",\r\n \"timesheets.MultipleTimesheetsInPeriodTooltip\": \"More than one timesheet in this period\",\r\n \"timesheets.SonovateManagedTooltip\": \"This timesheet is being entered for you by Sonovate\",\r\n \"timesheets.BulkApprove\": \"Bulk approve\",\r\n \"timesheets.BulkApproving\": \"Bulk approving...\",\r\n \"timesheets.BulkApprovalNoContent\": \"There are no timesheets available for bulk approval.\",\r\n \"login.SigningIn\":\"Signing In...\", \r\n \"menu.People\":\"People\",\r\n \"menu.Notifications\":\"Notifications\",\r\n \"menu.ViewProfile\":\"View Profile\",\r\n \"menu.ChangeOrganisation\":\"Change Organisation\",\r\n \"menu.Proposals\":\"Proposals\",\r\n \"menu.PoweredBy\":\"Powered By\",\r\n \"menu.Sonovate\":\"Sonovate\",\r\n \"proposal.SearchAndSelect\":\"Search and Select the Company:\",\r\n \"proposal.NoResultsForSearchTerms\":\"Sorry, we could not find any results for {{query}}. This could be due to:\",\r\n \"proposal.SpellingMistake\":\"A spelling mistake\",\r\n \"proposal.AlternativeName\":\"The company has an alternative name\",\r\n \"proposal.IfNoneOfThose\":\"If none of those are the reasons, you can\",\r\n \"proposal.AddANewOrganisation\":\"Add a new organisation\",\r\n \"proposal.AndSubmitForVerification\":\"and Submit for verification.\",\r\n \"proposal.SearchByCompanyOrReg\":\"Company name or Registration number\",\r\n \"proposal.AddProposal\":\"Add Proposal\",\r\n \"proposal.ProposalTerms\":\"Proposal Terms\",\r\n \"proposal.SelectTemplate\":\"Select or add a template:\",\r\n \"proposal.ContractsIssuedAfterApproval\":\"Contracts will be automatically issued after Sonovate approval.\",\r\n \"proposal.SaveAsDraft\":\"Save & continue\",\r\n \"proposal.SubmitProposal\":\"Submit Proposal\",\r\n \"proposal.Submitting\":\"Saving...\",\r\n \"timesheets.at\":\"at\",\r\n \"timesheets.on\":\"on\",\r\n \"timesheets.by\":\"By\",\r\n \"timesheets.to\": \"To\",\r\n \"general.CheckInternetConnection\":\"We can't do that right now. Please check your internet connection and try again later\",\r\n \"general.PDF\":\"PDF\",\r\n \"general.ReplacePDF\":\"Replace PDF\",\r\n \"general.NoImagesUploaded\":\"No Images Uploaded\",\r\n \"general.SortBy\":\"Sort by\",\r\n \"general.EnteredBy\":\"Entered by\",\r\n \"general.Status\":\"Status\",\r\n \"general.People\": \"People\",\r\n \"general.Yes\":\"Yes\",\r\n \"general.And\":\"And\",\r\n \"general.PoweredBy\":\"Powered By\",\r\n \"general.Submitting\":\"Submitting\",\r\n \"general.AllStatuses\":\"All Statuses\",\r\n \"general.Submit\":\"Submit\",\r\n \"general.TakeControl\":\"Take Control\",\r\n \"general.EditSignedTimesheet\":\"Edit timesheet?\",\r\n \"general.EditCandidateTimesheetModalBody\":\"If you make changes to this timesheet, you will need to submit it again for signing.\",\r\n \"general.Edit\":\"Edit\",\r\n \"general.MostRelevant\":\"Priority\",\r\n \"general.DownloadPdf\":\"Download Pdf\",\r\n \"general.Directory_SignUp_UserAccountNotFound\": \"User not found\",\r\n \"general.Directory_SignIn_UserNotFound\": \"User not found\",\r\n \"general.Candidate\":\"Candidate\",\r\n \"general.Anyone\":\"Anyone\",\r\n \"general.Me\":\"Me\",\r\n \"general.SonovateManaged\":\"Sonovate\",\r\n \"general.Flags\":\"Flags\",\r\n \"general.AllTimesheets\":\"All timesheets\",\r\n \"general.NoWarnings\":\"No warnings or issues\",\r\n \"general.Warnings\":\"Warnings\",\r\n \"general.MultipleTimesheetsInPeriodDropdown\":\"Multiple timesheets in period\",\r\n \"general.Correction\":\"Correction\",\r\n \"general.Expenses\":\"Expenses\",\r\n \"general.BlockingIssues\":\"Blocking Issues\",\r\n \"general.OverlappingTime\":\"Overlapping Time\",\r\n \"menu.SwitchBack\":\"Switch Back\",\r\n \"menu.ActingAs\":\"Acting As\",\r\n \"addaddress.RegisteredAddress\":\"Registered Address\",\r\n \"organisation.subsidiaryOf\":\"Subsidiary of\",\r\n \"organisation.tradingAs\":\"Trading As\",\r\n \"organisation.AddNote\":\"Add a note\",\r\n \"general.Valid\":\"Valid\",\r\n \"general.Search\":\"Search\",\r\n \"companyuser.JobTitleExamples\":\"HR Manager, Director, Shareholder etc.\",\r\n \"general.Continue\":\"Continue\",\r\n \"general.Discard\":\"Discard\",\r\n \"maintainvatandcurrecny.VatNumber\":\"VAT Number\",\r\n \"maintainvatandcurrecny.Country\":\"Country\",\r\n \"taxdetails.Saved\":\"Saved tax details\",\r\n \"taxdetails.taxDetails\":\"Tax Details\",\r\n \"taxdetails.subTitle\":\"This information is captured purely for payroll and HMRC reporting purposes\",\r\n \"tradingstyles.TradingName\":\"Trading name\",\r\n \"tradingstyles.Website\":\"Website\",\r\n \"tradingstyles.Title\":\"Trading Styles\",\r\n \"tradingstyles.Subtitle\":\"If you trade using a different name or logo to your registered name, you can add it here.\",\r\n \"tradingstyles.Add\":\"Add Trading Style\",\r\n \"tradingstyles.ConfirmDelete\":\"Are you sure you want to delete this trading style?\",\r\n \"userdetails.Roles\":\"Roles\",\r\n \"role.Admin\":\"Adminus\",\r\n \"role.SuperUser\":\"User of Superb\",\r\n \"role.User\":\"User Me\",\r\n \"login.ConnectWith\":\"Connect with\",\r\n \"login.ForgotPassword\":\"Forgotten Password?\",\r\n \"login.Instruction\":\"Or log in with your email address\",\r\n \"login.SignOut\":\"Sign out\",\r\n \"login.SignIn\":\"Sign in\",\r\n \"login.Description\":\"Description here.\",\r\n \"login.SubHeading\":\"Sub heading here....\",\r\n \"login.Email\":\"Email\",\r\n \"login.Password\":\"Password\",\r\n \"login.Weak\":\"Weak\",\r\n \"login.Fair\":\"Fair\",\r\n \"login.Good\":\"Good\",\r\n \"login.Strong\":\"Strong\",\r\n \"address.Address\":\"Address\",\r\n \"address.Address1\":\"Address Line 1\",\r\n \"address.Address2\":\"Address Line 2\",\r\n \"address.TemplatePostCodeFormatIncorrect\":\"Le code postal entre {{postcode}} est incorrect.\",\r\n \"login.TemplateWrongPassword\":\"Le mot de passe saisi, ne correspond pas au nom d'utilisateur fourni {{username}}.\",\r\n \"login.TemplateAccountLocked\":\"The account {{username}} has been locked please contact customer services.\",\r\n \"signup.SigningUp\":\"Signing Up...\",\r\n \"signup.IAcceptThe\":\"I accept the\",\r\n \"signup.SonovateTermsAndConditions\":\"Sonovate terms and conditions\",\r\n \"signup.AuthenticateToken\":\"Email Token not found\",\r\n \"signup.RegisterToken\":\"SignupError\",\r\n \"signup.PlaceholderPassword\":\"Password\",\r\n \"signup.PlaceholderOldPassowrd\":\"Old Password\",\r\n \"signup.PlaceholderFirstName\":\"First Name\",\r\n \"signup.PlaceholderLastName\":\"Last Name\",\r\n \"signup.PlaceholderEmail\":\"Email Address\",\r\n \"signup.CreateAccount\":\"Or create a Sonovate account\",\r\n \"signup.Connect\":\"Connect with\",\r\n \"signup.SignupText\":\"Sign up\",\r\n \"signup.YouMustAcceptTermsAndConditionsToSignUp\":\"You must accept terms and conditions to sign up\",\r\n \"menu.MyProfile\":\"My profile\",\r\n \"menu.noNotificationsMessage\":\"You don't have any notifications yet.\",\r\n \"menu.Organisation\":\"Organisation\",\r\n \"menu.Logout\":\"Logout\",\r\n \"menu.Jobs\":\"Jobs\",\r\n \"menu.Assignments\":\"Assignments\",\r\n \"menu.Timesheets\":\"Timesheets\",\r\n \"menu.Invoices\":\"Invoices\",\r\n \"menu.Payments\":\"Payments\",\r\n \"menu.Companies\":\"Companies\",\r\n \"menu.Organisations\":\"Organisations\",\r\n \"addorganisation.CompanyRegistration\":\"Company Registration Number (optional)\",\r\n \"companyuser.AddUserJobTitle\":\"Job Title (optional)\",\r\n \"companyuser.AddUser\":\"Add user\",\r\n \"addaddress.AddresssTwo\":\"Address 2 (optional)\",\r\n \"menu.All\":\"All\",\r\n \"menu.Settings\":\"Settings\",\r\n \"menu.Dashboard\":\"Dashboard\",\r\n \"menu.Agreement\":\"Agreement\",\r\n \"menu.Contacts\":\"Contacts\",\r\n \"menu.Back\":\"Back\",\r\n \"menu.Save\":\"Save\",\r\n \"menu.Beta\": \"BETA\",\r\n \"menu.TalkToUs\": \"Talk to us\",\r\n \"menu.BrandNewSystem\": \"This is a brand new system. You may find problems we haven’t picked up yet.\",\r\n \"menu.Feeback\": \"Your feedback\",\r\n \"menu.WillHelp\": \"will help us improve.\",\r\n \"passwordreset.Title\":\"Password Reset\",\r\n \"passwordreset.CreateAChangePassword\":\"Create A New Password\",\r\n \"passwordreset.Login\":\"Login\",\r\n \"passwordreset.LoginIn\":\"Loging In...\",\r\n \"passwordreset.Email\":\"Email Address\",\r\n \"passwordreset.EnterEmail\":\"Enter your Email Address and we will Email you instructions on how to reset your password\",\r\n \"passwordreset.SendingPasswordReset\":\"Sending Reset Instructions...\",\r\n \"passwordreset.WeSentEmailText\":\"We have sent {{email}} an email with password reset instructions\",\r\n \"passwordreset.ResetPassword\":\"Reset Password\",\r\n \"addorganisation.CompanyName\":\"Company Name\",\r\n \"addorganisation.TitleCompanyDetails\":\"Company Details\",\r\n \"addorganisation.DescriptionVerificationRequest\":\"Please be aware that a verification request can\",\r\n \"addorganisation.DescriptionThreeDays\":\"take up to three days\",\r\n \"addorganisation.DescriptionToComplete\":\"to complete.\",\r\n \"addaddress.Country\":\"Country\",\r\n \"addaddress.AddressOne\":\"Address 1\",\r\n \"addaddress.City\":\"City\",\r\n \"addaddress.Postcode\":\"Postcode\",\r\n \"userdetails.EmailAddress\":\"Email Address\",\r\n \"userdetails.PhoneNumber\":\"Phone Number\",\r\n \"userdetails.Dob\":\"Date Of Birth\",\r\n \"userdetails.Nino\":\"National Insurance Number\",\r\n \"userdetails.UTR\":\"Unique Taxpayer Reference\",\r\n \"userdetails.EditDetails\":\"User Details\",\r\n \"organisation.Title\":\"Organization Details\",\r\n \"organisation.Profile\":\"Profile\",\r\n \"organisation.VatNumber\":\"Vat Number\",\r\n \"organisation.Website\":\"WebSite\",\r\n \"editprofile.FirstName\":\"First Name\",\r\n \"editprofile.LastName\":\"Last Name\",\r\n \"editprofile.Position\":\"Position\",\r\n \"editprofile.SelectRoles\":\"Select Roles\",\r\n \"editprofilepicture.MinimumSize\":\"Position\",\r\n \"emailaddressboxtest.SubTitle\":\"Your primary email is used for sign in. Think carefully before changing it.\",\r\n \"emailaddressboxtest.ButtonText\":\"Add\",\r\n \"general.Loading\":\"Loading\",\r\n \"maintainemailaddress.SetAsPrimary\":\"Set as primary\",\r\n \"general.Delete\":\"Delete\",\r\n \"general.Deleting\":\"Deleting\",\r\n \"maintainemailaddress.AddEmail\":\"Add Email\",\r\n \"maintainemailaddress.ConfirmAddEmail\":\"We sent a vericiation email to {{email}} with further instructions.\",\r\n \"maintainemailaddress.SetPrimaryEmail\":\"Your primary address is used when you sign in. Are you sure you want to change it?\",\r\n \"maintainemailaddress.ConfirmDelete\":\"Are you sure you want to delete {{email}}?\",\r\n \"companyuser.AddContactTitle\":\"Add as a contact\",\r\n \"companyuser.AddContactDescription\":\"They'll be a displayed as a contact on the contact list but they can't log in to Sonovate.\",\r\n \"companyuser.InviteToSonovateTitle\":\"Invite to Sonovate\",\r\n \"companyuser.InviteToSonovateDescription\":\"Assign them some roles and we'll send them an email to sign up to Sonovate.\",\r\n \"companyuser.AddUserFirstName\":\"First Name\",\r\n \"companyuser.AddUserLastName\":\"Last Name\",\r\n \"companyuser.AddUserEmail\":\"Email Address\",\r\n \"maintainphonenumber.Title\":\"Phone Numbers\",\r\n \"maintainphonenumber.AddPhoneNumber\":\"Add phone number\",\r\n \"maintainphonenumber.AddButton\":\"Add\",\r\n \"maintainphonenumber.SaveButton\":\"Save\",\r\n \"maintainphonenumber.ConfirmDelete\":\"Are you sure you want to delete {{phoneNumber}}\",\r\n \"general.Ok\":\"Ok\",\r\n \"general.Clear\":\"Clear\",\r\n \"general.ChangeEmailConfirm\":\"Email Updated!\",\r\n \"general.ChangeEmailCancel\":\"Your email address has not been updated.\",\r\n \"general.ChangeEmailError\":\"We couldn't change your email address. Please give it another try.\",\r\n \"settings.SuspendAccount\":\"Suspend Account\",\r\n \"general.Save\":\"Save\",\r\n \"general.Cancel\":\"Cancel\",\r\n \"general.ButtonGoogle\":\"Google\",\r\n \"general.ButtonLinkedin\":\"Linkedin\",\r\n \"general.Show\":\"Show\",\r\n \"general.Hide\":\"Hide\",\r\n \"changepassword.LabelOldPassword\":\"Current Password\",\r\n \"changepassword.SuccessMessage\":\"Password changed successfully\",\r\n \"changepassword.LabelPassword\":\"New Password\",\r\n \"changepassword.LabelChangePassword\":\"Change Password\",\r\n \"changepassword.CreatePassword\":\"Create a new password\",\r\n \"changepassword.Login\":\"Login\",\r\n \"changepassword.Password\":\"Password\",\r\n \"menu.Placements\":\"Placements\",\r\n \"mediaobject.PendingInvitation\":\"Pending Invitation\",\r\n \"mediaobject.RegisteredAddress\":\"Registered Address\",\r\n \"general.Remove\":\"Remove\",\r\n \"general.Visibility\":\"Visibility\",\r\n \"general.Select\":\"Select\",\r\n \"general.Unselect\":\"Unselect\",\r\n \"organisation.Add\":\"Add Organisation\",\r\n \"organisation.Edit\":\"Edit Organisation\",\r\n \"userdetails.DeleteAddress\":\"Are you sure you want to delete {{address}}?\",\r\n \"userdetails.SetAddressType\":\"Set as Residential Address\",\r\n \"general.List\":\"List\",\r\n \"general.Grid\":\"Grid\",\r\n \"userdetails.Unlock\":\"Unlock User Account\",\r\n \"mediaobject.AccounStatus\":\"Account Status\",\r\n \"mediaobject.active\":\"Active\",\r\n \"mediaobject.suspended\":\"Suspended\",\r\n \"mediaobject.locked\":\"Locked\",\r\n \"mediaobject.addDirector\":\"Add Director\",\r\n \"mediaobject.addDirectors\":\"Add Directors\",\r\n \"general.Results\":\"Results\",\r\n \"general.Add\":\"Add\",\r\n \"general.Agency\":\"Agency\",\r\n \"general.Invoices\":\"Invoices\",\r\n \"general.Adding\":\"Adding\",\r\n \"general.SorryNoQueryResults\":\"Sorry, there are no results for that search\",\r\n\r\n \"general.SorryNoTimesheetQueryResults\":\"This could be due to a typo or perhaps the Timesheets are under a different name. If we don't have them on our system yet, please add them.\",\r\n \"general.SorryNoInvoiceQueryResults\":\"This could be due to a typo or perhaps the Invoices are under a different name. If we don't have them on our system yet, please add them.\",\r\n \"general.SorryNoPeopleQueryResults\":\"This could be due to a typo or perhaps the user has a different name. E.g. 'Matthew' could be 'Matt'. If we don't have them on our system yet, please add them.\",\r\n \r\n \"general.SorryNoTimesheetResults\":\"There are no Timesheets yet\",\r\n \"general.SorryNoInvoiceResults\":\"There are no Invoices yet\",\r\n \"general.SorryNoPeopleResults\":\"There are no People yet\",\r\n\r\n \"general.SorryNoInvoiceResultsContactAgency\":\"If there are existing Invoices that you think should be displayed here, please contact your Agency.\",\r\n \"general.SorryNoInvoiceResultsContactSonovate\":\"If there are existing Invoices that you think should be displayed here, please contact Sonovate.\",\r\n \"general.SorryNoTimesheetResultsContactSonovate\":\"If there are existing Timesheets that you think should be displayed here, please contact Sonovate.\",\r\n \"general.SorryNoPeopleResultsContactSonovate\":\"If there are existing People that you think should be displayed here, please contact Sonovate.\",\r\n\r\n \"webaddresses.Title\":\"Web Addresses\",\r\n \"personsettings.LocalePreferences\":\"Locale Preferences\",\r\n \"personsettings.Results\":\"Results\",\r\n \"personsettings.Country\":\"Country\",\r\n \"personsettings.Language\":\"Language\",\r\n \"personsettings.TimeZone\":\"Time Zone\",\r\n \"personsettings.DateFormat\":\"Date Format\",\r\n \"personsettings.TimeFormat\":\"Time Format\",\r\n \"personsettings.WeekStartsOn\":\"Week Starts On\",\r\n \"personsettings.SaveSuccess\":\"Saved successfully\",\r\n \"personsettings.PhoneNumbers\":\"Phone Numbers\",\r\n \"personsettings.PhoneNumber\":\"Phone Number\",\r\n \"personsettings.TaxDetails\":\"Tax Details\",\r\n \"personsettings.NationalInsuranceNumber\":\"National Insurance Number\",\r\n \"personsettings.DateOfBirth\":\"Date Of Birth\",\r\n \"personsettings.AddedBy\":\"Added by\",\r\n \"personsettings.Resendverificationemail\":\"Resend verification email\",\r\n \"personsettings.Awaitingverification\":\"Awaiting verification\",\r\n \"personsettings.Checkyournewemail\":\"Check your new email\",\r\n \"personsettings.Cancelthischange\":\"Cancel this change\",\r\n \"personsettings.Youupdatedemailon\":\"You updated your email on\",\r\n \"personsettings.Foraverificationemail\":\"For a verification email\",\r\n \"maintainvatandcurrecny.BaseCurrency\":\"Base Currency\",\r\n \"maintainvatandcurrecny.VatRegistrationDate\":\"VAT Registration Number\",\r\n \"editorganisation.CompanyName\":\"Company Name\",\r\n \"editorganisation.RegistrationNumber\":\"Registration Number\",\r\n \"editorganisation.Website\":\"Website\",\r\n \"editorganisation.organisationType\":\"Organisation Type\",\r\n \"mediaobject.ResidentialAddress\":\"Residential Address\",\r\n \"weekdays.Monday\":\"Monday\",\r\n \"weekdays.Tuesday\":\"Tuesday\",\r\n \"weekdays.Wednesday\":\"Wednesday\",\r\n \"weekdays.Thursday\":\"Thursday\",\r\n \"weekdays.Friday\":\"Friday\",\r\n \"weekdays.Saturday\":\"Saturday\",\r\n \"weekdays.Sunday\":\"Sunday\",\r\n \"userdetails.Reactivate\":\"Re-activate Account\",\r\n \"general.DateOfBirth\":\"Date Of Birth\",\r\n \"general.Gender\":\"Gender\",\r\n \"general.StartDate\":\"Start Date\",\r\n \"general.EndDate\":\"End Date\",\r\n \"general.New\":\"New\",\r\n \"general.AddPeople\":\"Add People\",\r\n \"general.AddPersonSuccessFeedback\":\"Invite sent to {{emailAddress}}\",\r\n \"addPerson.AddSonovateUser\":\"Add Sonovate User\",\r\n \"addPerson.FirstName\":\"First Name\",\r\n \"addPerson.LastName\":\"Last Name\",\r\n \"addPerson.EmailAddress\":\"Email Address\",\r\n \"addPerson.Invite\":\"Invite\",\r\n \"addPerson.Inviting\":\"Inviting\",\r\n \"addPerson.Cancel\":\"Cancel\",\r\n \"bankaccount.Currency\":\"Currency\",\r\n \"bankaccount.EditBankDetails\":\"Edit Bank Details\",\r\n \"bankaccount.ChooseACurrency\":\"Choose a currency\",\r\n \"bankaccount.BaseCurrency\":\"Base Currency\",\r\n \"bankaccount.Country\":\"Country\",\r\n \"bankaccount.BankDetails\":\"Bank Details\",\r\n \"bankaccount.AccountName\":\"Account Name\",\r\n \"bankaccount.AccountNumber\":\"Account Number\",\r\n \"bankaccount.SortCode\":\"Sort Code\",\r\n \"bankaccount.BankBranchName\":\"Bank Branch Name\",\r\n \"bankaccount.IBAN\":\"IBAN\",\r\n \"bankaccount.BIC\":\"BIC\",\r\n \"bankaccount.AddBankAccount\":\"Add Bank Account\",\r\n \"general.Replace\":\"Replace\",\r\n \"general.BankAccount\":\"Bank Accounts\",\r\n \"general.Optional\":\"(optional)\",\r\n \"facetconfirmation.PersonHasntConfirmedThisInformation\":\"{{person}} hasn't confirmed this information\",\r\n \"facetconfirmation.PersonAddedInformation\":\"{{person}} added this information about you. Is it correct?\",\r\n \"facetconfirmation.PersonMarkedInformationIncorrect\":\"{{person}} marked this information as incorrect. Do you want to remove it?\",\r\n \"facetconfirmation.PersonConfirmedThisInformation\":\"{{person}} has confirmed that this information is correct.\",\r\n \"confirmations.YesRemoveIt\":\"Yes, remove it\",\r\n \"confirmations.YesLooksGood\":\"Yes, looks good\",\r\n \"confirmations.NoThisIsWrong\":\"No, this is wrong\",\r\n \"confirmations.NoKeepItAnyway\":\"No, keep it anyway\",\r\n \"confirmations.DeleteWebAddress\":\"Are you sure you want to delete {{webAddress}}?\",\r\n \"errorredirect.404Title\":\"Well... this is awkward\",\r\n \"errorredirect.404Subtitle\":\"You've found a page that doesn't exist\",\r\n \"errorredirect.Back\":\"Go Back to previous page\",\r\n \"errorredirect.403Title\":\"FORBIDDEN ACCESS\",\r\n \"errorredirect.403Subtitle1\":\"We're sorry, we can't let you view this page\",\r\n \"errorredirect.403WhyDidThisHappen\":\"Why did this happen\",\r\n \"errorredirect.403Reason1\":\"Your account doesn't have the authority to access this page\",\r\n \"errorredirect.403Reason2\":\"Your access level might have been changed since your last visit\",\r\n \"errorredirect.GoBack\":\"Go Back\",\r\n \"errorredirect.500Title\":\"Something went wrong\",\r\n \"errorredirect.500Subtitle\":\"If this problem persists, please call 0207 112 4959\",\r\n \"webaddresses.Add\":\"Add Web Address\",\r\n \"organisation.tradingAsName\":\"Trading As {{tradingOrganisationName}}\",\r\n \"organisation.subsidiaryOfName\":\"Subsidiary Of {{subsidiaryOrganisationName}}\",\r\n \"general.genericError\":\"Something went wrong, if this problem persists, please call 0207 112 4959\",\r\n \"general.UpdateSuccessful\":\"Update Successful\",\r\n \"general.Update\":\"Update\",\r\n \"mediaobject.PrimaryContact\":\"Primary Contact\",\r\n \"mediaobject.SonovateContact\":\"Sonovate Contact\",\r\n \"general.Person\":\"Person\",\r\n \"general.At\":\"at\",\r\n \"general.For\":\"for\",\r\n \"profileheader.Addresses\":\"Addresses\",\r\n \"profileheader.fraud\":\"fraud\",\r\n \"profileheader.Templates\":\"Templates\",\r\n \"templateterms.Templates\":\"Templates\",\r\n \"templateterms.DeleteTermsPrompt\":\"Are you sure you want to delete {{termsToDelete}} terms?\",\r\n \"templateterms.AssignmentClientTerms\":\"Assignment Client Terms\",\r\n \"templateterms.SaveThisTemplate\":\"How would you like to save this template?\",\r\n \"templateterms.ThisAgreement\":\"This agreement only\",\r\n \"templateterms.ClientAgreementOnly\":\"{{clientName}} agreements only\",\r\n \"templateterms.AnyClientAgreements\":\"Any client agreements\",\r\n \"templateterms.TemplateTitle\":\"Template title\",\r\n \"templateterms.ManageTemplates\":\"Manage Templates\",\r\n \"templateterms.UploadedBy\":\"Uploaded by {{name}} on {{date}}\",\r\n \"profileheader.Contacts\":\"Contacts\",\r\n \"profileheader.Flagged\":\"Flagged\",\r\n \"profileheader.Aml\":\"AML\",\r\n \"profileheader.Account\":\"Account\",\r\n \"profileheader.Proposal\":\"Proposal\",\r\n \"profileheader.Address\":\"Address\",\r\n \"profileheader.Emails\":\"Emails\",\r\n \"profileheader.PhoneNumber\":\"Phone Number\",\r\n \"profileheader.PhoneNumbers\":\"Phone Numbers\",\r\n \"profileheader.Settings\":\"Settings\",\r\n \"profileheader.Details\":\"Details\",\r\n \"profileheader.Placements\":\"Placements\",\r\n \"profileheader.Timesheets\":\"Timesheets\",\r\n \"profileheader.Invoices\":\"Invoices\",\r\n \"profileheader.Roles\":\"Roles\",\r\n \"profileheader.Websites\":\"Websites\",\r\n \"profileheader.Website\":\"Website\",\r\n \"profileheader.Organisation\":\"Organisation\",\r\n \"profileheader.RegisteredNumber\":\"Registered Number\",\r\n \"subnav.BasicInformation\":\"Basic Information\",\r\n \"subnav.Candidate\":\"Candidate\",\r\n \"subnav.Profile\":\"Profile\",\r\n \"subnav.Client\":\"Client\",\r\n \"subnav.Rates\":\"Rates\",\r\n \"subnav.Invoicing\":\"Invoicing\",\r\n \"subnav.Credit\":\"Credit\",\r\n \"subnav.JobLocation\":\"Job Location\",\r\n \"subnav.ClientContacts\":\"Client Contacts\",\r\n \"subnav.Job\":\"Job\",\r\n \"subnav.ServiceRates\":\"Service Rates\",\r\n \"subnav.Invoices\":\"Invoices\",\r\n \"subnav.WebAddresses\":\"Web Addresses\",\r\n \"subnav.EmailAddresses\":\"Email Addresses\",\r\n \"subnav.PhoneNumbers\":\"Phone Numbers\",\r\n \"subnav.Addresses\":\"Addresses\",\r\n \"subnav.TradingStyles\":\"Trading Styles\",\r\n \"subnav.BankAccounts\":\"Bank Accounts\",\r\n \"subnav.TaxDetails\":\"Tax Details\",\r\n \"subnav.LocalePreferences\":\"Locale Preferences\",\r\n \"subnav.ChangePassword\":\"Change Password\",\r\n \"subnav.TAndC\":\"Terms and conditions\",\r\n \"usercard.MarkAsContact\":\"Mark as primary contact\",\r\n \"usercard.RemoveAsContact\":\"Remove primary contact\",\r\n \"usercard.ChangeContactType\":\"Change primary contact type\",\r\n \"usercard.WhoShouldSeeContact\":\"Who should see {{personName}} as a primary contact?\",\r\n \"usercard.Everyone\":\"Everyone in {{organisationName}}\",\r\n \"usercard.JustMe\":\"Just me\",\r\n \"usercard.MyPrimaryContact\":\"My Primary Contact\",\r\n \"usercard.MyOrganisationsPrimaryContact\":\"{{organisationName}}'s' primary contact\",\r\n \"personoptions.DelegateRoles\":\"Delegate Roles\",\r\n \"personoptions.ResendInvite\":\"Resend invite\",\r\n \"personoptions.InviteToSonovate\":\"Invite to Sonovate\",\r\n \"personoptions.ResetPassword\":\"Reset Password\",\r\n \"personoptions.UnlockAccount\":\"Unlock account\",\r\n \"personoptions.SuspendAccount\":\"Suspend account\",\r\n \"personoptions.Suspend\":\"Suspend\",\r\n \"personoptions.UnSuspend\":\"Un-Suspend\",\r\n \"personoptions.ReActivateAccount\":\"Re-Activate account\",\r\n \"personoptions.DeleteUser\":\"Delete user\",\r\n \"personoptions.ResendInviteConfirmMessage\":\"Invite sent to user\",\r\n \"companyuser.InviteNameToSonovate\":\"Invite {{name}} to Sonovate\",\r\n \"companyuser.EmailAddressToSendInviteTo\":\"Email address to send invite to\",\r\n \"general.Invite\":\"Invite\",\r\n \"activitystream.AddDocument\":\"Add Document\",\r\n \"activitystream.AddNotes\":\"Add Notes\",\r\n \"activitystream.Notes\":\"Notes\",\r\n \"activitystream.All\":\"All\",\r\n \"activitystream.Documents\":\"Documents\",\r\n \"activitystream.Today\":\"Today\",\r\n \"activitystream.Added\":\"Added\",\r\n \"activitystream.At\":\"at\",\r\n \"activitystream.ReadMore\":\"Read More\",\r\n \"activitystream.ReadLess\":\"Read Less\",\r\n \"activitystream.Pm\":\"pm\",\r\n \"activitystream.Am\":\"Am\",\r\n \"activitystream.Yesterday\":\"Yesterday\",\r\n \"activitystream.DocumentAdded\":\"Document added\",\r\n \"activitystream.DeleteDocumentWarning\":\"Are you sure you want to delete {{documentName}}?\",\r\n \"general.Reject\":\"Reject\",\r\n \"general.Rejecting\":\"Rejecting\",\r\n \"general.Rejected\":\"Rejected\",\r\n \"general.More\":\"more\",\r\n \"general.Flag\":\"Flag\",\r\n \"general.Verify\":\"Verify\",\r\n \"general.AddANote\":\"Add a note\",\r\n \"status.ChangeStatusToVerified\":\"Change status to Verified\",\r\n \"status.ChangeStatusToRejected\":\"Change status to Rejected\",\r\n \"general.RequiredField\":\"Required\",\r\n \"status.ChangeStatusToStatusName\":\"Change status to {{statusName}}\",\r\n \"general.at\":\"At\",\r\n \"general.to\":\"To\",\r\n \"proposal.RegistrationNumber\":\"Registration Number: {{registrationNumber}}\",\r\n \"proposal.Proposal\":\"Proposal\",\r\n \"proposal.SaleMadeBy\":\"Sale Made By\",\r\n \"proposal.IssuedOnDateBy\":\"Issued on {{issueOnDate}} by\",\r\n \"proposal.allOtherCurrencies\":\"All other currencies\",\r\n \"proposal.flatRate\":\"Flat rate\",\r\n \"proposal.tieredRate\":\"Tiered Rate\",\r\n \"proposal.addCurrency\":\"Add Currency\",\r\n \"proposal.ourFees\":\"Our Fees\",\r\n \"proposal.proposalType\":\"Invoicing Type\",\r\n \"proposal.creationDate\":\"Creation Date\",\r\n \"proposal.issuedOn\":\"Issued On\",\r\n \"proposal.by\":\"by\",\r\n \"proposal.onBehalfOf\":\"on behalf of\",\r\n \"general.duplicate\":\"Duplicate\",\r\n \"general.Change\":\"Change\",\r\n \"general.DocumentsAndNotes\":\"Documents and Notes\",\r\n \"general.from\":\"from\",\r\n \"date.invalidDate\":\"Invalid Date\",\r\n \"date.creationDate\":\"Creation Date\",\r\n \"proposal.pleaseSelectADirector\":\"Please select a director\",\r\n \"proposal.pleaseSelectInvoiceType\":\"Please select the invoice type\",\r\n \"proposal.pleaseEnterFeesForCurrencies\":\"Please enter fees for currencies\",\r\n \"proposal.onlyEmailContactsCanBeSelected\":\"Only contacts with provided emails can be selected as recipients\",\r\n \"proposal.selectRecipients\":\"Select Recipients\",\r\n \"proposal.InvoiceType\":\"Invoice Type\",\r\n \"general.issue\":\"Issue\",\r\n \"general.saveAsDraft\":\"Save As Draft\",\r\n \"general.couldNotFindResults\":\"Sorry, we could not find any results.\",\r\n \"general.saved\":\"Saved\",\r\n \"general.Added\":\"Added\",\r\n \"general.couldNotBeSaved\":\"Could not be saved\",\r\n \"terms.ProposalTerms\":\"Proposal Terms\",\r\n \"terms.TemplateTitle\":\"Template Title\",\r\n \"terms.SaveAs\":\"Would you like to save it as a permanent template?\",\r\n \"templateterms.Default\":\"Default\",\r\n \"templateterms.AgreementOnly\":\"This Agreement Only\",\r\n \"templateterms.LastUsedOnThe\":\"Last used on the\",\r\n \"templateterms.SetAsDefault\":\"Set as Default\",\r\n \"templateterms.UploadPDF\":\"Upload PDF\",\r\n \"templateterms.CreateNew\":\"Create new\",\r\n \"general.chooseCountry\":\"Choose Country\",\r\n \"general.create\":\"Create\",\r\n \"verification.AddNote\":\"Add Note\",\r\n \"verification.Candidate\":\"Candidate\",\r\n \"verification.ClientContact\":\"Client Contact\",\r\n \"verification.FlagAsFraudDetected\":\"Flag as Fraud detected\",\r\n \"verification.Approve\":\"Approve\",\r\n \"verification.Reject\":\"Reject\",\r\n \"verification.ApproveContract\":\"Approve Contract\",\r\n \"verification.RejectContract\":\"Reject Contract\",\r\n \"general.Per\":\"per\",\r\n \"assignments.Assignment\":\"Assignment\",\r\n \"assignments.DraftSaved\":\"Draft Saved Successfuly\",\r\n \"assignments.JobTitle\":\"Job Title\",\r\n \"assignments.SaleMadeBy\":\"Sale made by\",\r\n \"assignments.TradingStyle\":\"Trading style\",\r\n \"assignments.Client\":\"Client\",\r\n \"assignments.Candidate\":\"Candidate\",\r\n \"assignments.AddCandidate\":\"Add Candidate\",\r\n \"assignments.Job\":\"Job\",\r\n \"assignments.Servicerates\":\"Service Rates\",\r\n \"assignments.Invoices\":\"Invoices\",\r\n \"assignments.Funding\":\"Funding\",\r\n \"assignments.Approval\":\"Approval\",\r\n \"assignments.Live\":\"Live\",\r\n \"assignments.Contracts\":\"Contracts\",\r\n \"assignments.Summary\":\"Summary\",\r\n \"assignments.SubmitAsDraft\":\"Submit as draft\",\r\n \"assignments.SubmitForApproval\":\"Submit for Approval\",\r\n \"assignments.AddClient\":\"Add Client\",\r\n \"assignments.ContractorType\":\"Contractor Type\",\r\n \"assignments.PAYE\":\"PAYE\",\r\n \"assignments.LTDOrUmbrella\":\"LTD or Umbrella\",\r\n \"assignments.PAYEDetails\":\"PAYE Details\",\r\n \"assignments.LTDDetails\":\"LTD or Umbrella Details\",\r\n \"assignments.AddLTD\":\"Add LTD or Umbrella Company\",\r\n \"assignments.NI\":\"NI\",\r\n \"assignments.JobTitleDisplayedTo\":\"Job Title will be displayed to the candidate\",\r\n \"assignments.Location\":\"Location\",\r\n \"assignments.AddLocation\":\"Add Location\",\r\n \"assignments.AssignmentPeriod\":\"Assignment Period\",\r\n \"assignments.AddJobLocation\":\"Add Job Location\",\r\n \"assignments.AddTimesheetAuthoriser\":\"Add Timesheet Authoriser\",\r\n \"assignments.TimesheetAuthoriser\":\"Timesheet Authoriser\",\r\n \"assignments.ContractSignatory\":\"Contract Signatory\",\r\n \"assignments.InvoiceContact\":\"Invoice Contact\",\r\n \"assignments.SeeExtensions\":\"See Extensions\",\r\n \"general.Notes\":\"Notes\",\r\n \"general.EnterReasons\":\"Enter reasons here...\",\r\n \"general.Reasons\":\"Reason\",\r\n \"proposal.Agency\":\"Agency\",\r\n \"proposal.AddAgency\":\"Add Agency\",\r\n \"proposal.ProposalFor\":\"Proposal for\",\r\n \"proposal.Live\":\"Live\",\r\n \"proposal.Contracts\":\"Contracts\",\r\n \"proposal.Details\":\"Details\",\r\n \"general.By\":\"By\",\r\n \"general.All\":\"All\",\r\n \"general.Resubmit\":\"Resubmit\",\r\n \"assignments.NoAgencyError\":\"Before you can preform this action, you must select an Agency\",\r\n \"assignments.AssignmentStatus\":\"Assignment Status\",\r\n \"assignments.Contract\":\"Contract\",\r\n \"assignments.ContractsInformationMessage\":\"Create and Issue Contracts now or come back later. They will be automatically sent after Sonovate Credit Approval.\",\r\n \"assignments.Signatories\":\"Signatories\",\r\n \"assignments.IssueContract\":\"Issue Contract\",\r\n \"assignments.IssueContracts\":\"Issue Contracts\",\r\n \"assignments.NewAssignment\":\"New Assignment\",\r\n \"assignments.Reissue\":\"Re-Issue\",\r\n \"assignments.Reject\":\"Reject\",\r\n \"assignments.UploadSignedVersion\":\"Upload signed version\",\r\n \"assignments.DropFilesToAttach\":\"Drop files to attach\",\r\n \"assignments.PlacedBy\":\"Placed by\",\r\n \"assignments.Rates\":\"Rates\",\r\n \"assignments.Rate\":\"Rate\",\r\n \"assignments.Pay\":\"Pay\",\r\n \"assignments.Charge\":\"Charge\",\r\n \"assignments.Invoicing\":\"Invoicing\",\r\n \"assignments.ClientCharge\":\"Client Charge\",\r\n \"assignments.NameDescription\":\"e.g. Standard, Overtime, Inspection\",\r\n \"assignments.AddRateType\":\"Add Rate Type\",\r\n \"assignments.Weekly\":\"Weekly\",\r\n \"assignments.Weeks\":\"weeks\",\r\n \"assignments.Monthly\":\"Monthly\",\r\n \"assignments.Months\":\"months\",\r\n \"assignments.Fortnightly\":\"Fortnightly\",\r\n \"assignments.Fortnights\":\"Fortnights\",\r\n \"assignments.CalendarMonths\":\"calendar months\",\r\n \"assignments.InvoicesContact\":\"Invoices Contact\",\r\n \"assignments.Days\":\"Days\",\r\n \"assignments.Frequency\":\"Frequency\",\r\n \"assignments.CandidatePay\":\"Candidate Pay\",\r\n \"assignments.NoCandidateError\":\"Before you can preform this action, you must select a Client\",\r\n \"assignments.InfoMessage\":\"Create and Issue Contracts or come back later. They will automatically send after Sonovate credit approval\",\r\n \"assignments.Submit\":\"Submit\",\r\n \"assignments.SubmitSuccessMessage\":\"Your assignment has been submitted for Credit Approval. This process can take up to 2 days. A notification will be sent to {{email}} once the review is complete\",\r\n \"assignments.AddContractSignatories\":\"Add Contract Signatories\",\r\n \"assignments.RemoveClientWarningMessage\":\"Removing the client will also remove the job location, timesheet authorisers and invoice contacts\",\r\n \"assignments.ClientInvoicing\":\"Client Invoicing\",\r\n \"assignments.ClientFrequency\":\"Client Frequency\",\r\n \"assignments.CandidateFrequency\":\"Candidate Frequency\",\r\n \"assignments.PaymentTerms\":\"Payment Terms\",\r\n \"assignments.JobLocation\":\"Job Location\",\r\n \"assignments.Credit\":\"Credit\",\r\n \"assignments.RateForCalculation\":\"Rate to use for calculation\",\r\n \"assignments.Expect\":\"Expect\",\r\n \"assignments.IncludeVAT\":\"Include VAT in calculation\",\r\n \"assignments.ThisAssignment\":\"This assignment\",\r\n \"assignments.TotalOtherAssignments\":\"Total of other assignments\",\r\n \"assignments.NoOtherAssignments\":\"No other assignments\",\r\n \"assignments.CreditToRequest\":\"Credit to request\",\r\n \"assignments.CurrentCreditLimit\":\"Current Credit Limit\",\r\n \"assignments.CreditLimit\":\"Credit Limit\",\r\n \"assignments.Reference\":\"Reference\",\r\n \"assignments.NoLimit\":\"No Limit\",\r\n \"assignments.DebtPosition\":\"Debit Position\",\r\n \"assignments.NoDebit\":\"No Debit\",\r\n \"assignments.ClientContacts\":\"Client Contacts\",\r\n \"assignments.ContractPreview\":\"Contract Preview\",\r\n \"assignments.FinishEarly\":\"Finish Early\",\r\n \"assignments.Cancel\":\"Cancel\",\r\n \"assignments.Extend\":\"Extend\",\r\n \"assignments.Complete\":\"Complete\",\r\n \"assignments.ConfirmCancelMessage1\":\"You are about to Cancel the Assignment for \",\r\n \"assignments.OperationCannotBeUndone\":\"This operation cannot be undone.\",\r\n \"assignments.AssignmentCancelledOn\":\"This assignment was cancelled on \",\r\n \"assignments.AddNewEndDate\":\"Add a new end date\",\r\n \"assignments.invoiced\":\"invoiced\",\r\n \"assignments.paid\":\"paid\",\r\n \"terms.UploadPDF\":\"Upload PDF\",\r\n \"terms.UseATemplate\":\"Use a Template\",\r\n \"terms.PreviewContract\":\"Preview Contract\",\r\n \"terms.LastUsedOnThe\":\"Last used on the\",\r\n \"terms.Contract\":\"Contract\",\r\n \"subnav.ClientContract\":\"Client Contract\",\r\n \"subnav.ClientSignatories\":\"Client Signatories\",\r\n \"subnav.CandidateContract\":\"Candidate Contract\",\r\n \"subnav.CandidateSignatory\":\"Candidate Signatory\",\r\n \"timesheets.DismissedAt\":\"Dismissed at {{time}} on {{date}}\",\r\n \"timesheets.Invoiced\":\"Invoiced\",\r\n \"timesheets.Reopening\":\"Re-opening\",\r\n \"timesheets.Candidate\":\"Candidate\",\r\n \"timesheets.Client\":\"Client\",\r\n \"timesheets.Agency\":\"Agency\",\r\n \"timesheets.ReadMore\":\"Read More\",\r\n \"timesheets.Sonovate\":\"Sonovate\",\r\n \"timesheets.At\": \"at\",\r\n \"timesheets.FullDay\":\"Full Day\",\r\n \"timesheets.UnableToViewTimesheet\":\"You are no longer authoriser for this Timesheet\",\r\n \"timesheets.HalfDay\":\"Half Day\",\r\n \"timesheets.ThreeQuarterDay\":\"Three Quarter Day\",\r\n \"timesheets.QuarterDay\":\"Quarter Day\",\r\n \"timesheets.ClearSelection\":\"Clear Selection\",\r\n \"timesheets.SelectDays\":\"Select Day(s)\",\r\n \"timesheets.Timesheet\":\"Ref:\",\r\n \"timesheets.Optional\":\"Optional\",\r\n \"timesheets.AllExpenses\":\"All Expenses\",\r\n \"timesheets.DownloadTimesheet\":\"Download Timesheet\",\r\n \"timesheets.DownloadingTimesheet\":\"Downloading Timesheet\",\r\n \"timesheets.ErrorDownloadingTimesheet\":\"Error Downloading Timesheet\",\r\n \"timesheets.AddExpenses\":\"Add Expenses\",\r\n \"timesheets.NoBreak\":\"No Break\",\r\n \"timesheets.UploadEvidence\":\"Upload Evidence\",\r\n \"timesheets.UploadInstructions\":\"Drop files to attach, or\",\r\n \"timesheets.ExpenseType\":\"Expense Type\",\r\n \"timesheets.Browse\":\"Browse\",\r\n \"timesheets.AddWork\":\"Add Work\",\r\n \"timesheets.TimesheetSummary\":\"Timesheet Summary\",\r\n \"timesheets.AddMoreTime\":\"Add more time to this period:\",\r\n \"timesheets.CreateNewTimesheet\":\"Add new timesheet\",\r\n \"timesheets.Autofill\":\"Copy last timesheet\",\r\n \"timesheets.DismissTimesheet\":\"Dismiss\",\r\n \"timesheets.DismissingTimesheet\":\"Dismissing\",\r\n \"timesheets.AllTime\":\"All Time\",\r\n \"timesheets.Time\":\"Time\",\r\n \"timesheets.More\":\"More\",\r\n \"timesheets.Less\":\"Less\",\r\n \"timesheets.Absences\":\"Absences\",\r\n \"timesheets.Expense\":\"Expense\",\r\n \"timesheets.Dates\":\"Dates\",\r\n \"timesheets.Days\":\"Days\",\r\n \"timesheets.Hour\":\"Hour\",\r\n \"timesheets.Hours\":\"Hours\",\r\n \"timesheets.NoWork\":\"I didn't work on this day\",\r\n \"timesheets.AddSomeTime\":\"Add some time\",\r\n \"timesheets.AddSomeMoreTime\":\"Add more time\",\r\n \"timesheets.WorkType\":\"Work type\",\r\n \"timesheets.Start\":\"Start\",\r\n \"timesheets.End\":\"End\",\r\n \"timesheets.Break\":\"break\",\r\n \"timesheets.Description\":\"Description\",\r\n \"timesheets.Add\":\"Add\",\r\n \"timesheets.Cancel\":\"Cancel\",\r\n \"timesheets.EnterDescription\":\"Enter description\",\r\n \"timesheets.Done\":\"Done\",\r\n \"timesheets.AutofillTimesheet\":\"Copy last timesheet\",\r\n \"timesheets.ThisWillCopy\":\"This will copy all entries from your last timesheets. You can edit these afterwards, or submit as they are.\",\r\n \"timesheets.Fill\":\"Fill\",\r\n \"timesheets.SubmitTimesheet\":\"Submit Timesheet\",\r\n \"timesheets.IfYourAuthoriser\":\"If you need to add a new authoriser, please contact your agency.\",\r\n \"timesheets.Authoriser\":\"Authoriser\",\r\n \"timesheets.ConflictingEntries\":\"Conflicting Entries\",\r\n \"timesheets.SubmitAnyway\":\"Submit Anyway\",\r\n \"timesheets.OverlappingEntries\":\"{{start_time}}-{{end_time}} on {{day}} {{date}} {{month}} has been double booked.\",\r\n \"timesheets.UnsuccessfulAutofill\":\"Sorry, you have not previously logged enough time in order to complete this action.\",\r\n \"timesheets.SuccessfulAutofill\":\"You have copied: {{summary}} into this timesheet.\",\r\n \"timesheets.AutofillSummaryLine\":\"{{qty}} {{uom}} of {{label}},\",\r\n \"timesheets.To\":\"To\",\r\n \"timesheets.ChangeAuthoriser\":\"Change Authoriser\",\r\n \"general.hrs\":\"hrs\",\r\n \"general.min\":\"min\",\r\n \"general.Ascending\":\"Oldest First\",\r\n \"general.Descending\":\"Newest First\",\r\n \"timesheets.PeriodEnd\":\"Period End\",\r\n \"timesheets.Submitted\":\"Submitted\",\r\n \"timesheets.RejectedThisOn\":\"Rejected on\",\r\n \"timesheets.Issues\":\"Issues\",\r\n \"timesheets.Sign\":\"Sign\",\r\n \"timesheets.ResonForRejection\":\"Reason for rejection\",\r\n \"timesheets.ResonForDecline\":\"Reason for decline\",\r\n \"timesheets.NoExpenses\":\"No Expenses\",\r\n \"timesheets.Net\":\"Net\",\r\n \"timesheets.Vat\":\"VAT\",\r\n \"timesheets.RejectTimesheet\":\"Reject timesheet\",\r\n \"timesheets.DeclineTimesheet\":\"Decline timesheet\",\r\n \"timesheets.Dismiss\":\"Dismiss\",\r\n \"timesheets.DismissAreYouSure\":\"Are you sure you want to permanently dismiss this timesheet?\",\r\n \"timesheets.Adding\":\"Adding...\",\r\n \"timesheets.Filling\":\"Filling...\",\r\n \"timesheets.YouHaveConflictingEntries\":\"There are the following conflicting entries on this timesheet:\",\r\n \"timesheets.ThisCouldMean\":\"Your timesheet may not get signed. Please either edit this or submit anyway.\",\r\n \"timesheets.AreYouSureSign\":\"You can sign this timesheet as it is, or cancel to review it.\",\r\n \"timesheets.TakeControlConfirmation\":\"This will convert the timesheet to manual and prevent the candidate from entering and submitting any work.\",\r\n \"timesheets.ForceApproval\": \"Force Approval\",\r\n \"timesheets.ApprovalBlocked\": \"Approval Blocked\",\r\n \"timesheets.ForceApprovalAreYouSure\": \"This timesheet is locked for PAYE proccessing. You can force through the approval, but the timesheet must be included in this week's PAYE processing.\",\r\n \"general.ReadNote\":\"Read Note\",\r\n \"general.Issues\":\"Issues\",\r\n \"timesheets.Note\":\"Note\",\r\n \"timesheets.SubmittedWithConflict\":\"Submitted with conflicting entries\",\r\n \"timesheets.SignedWithConflict\":\"Signed with conflicting entries\",\r\n \"timesheets.SignAnyway\":\"Sign anyway\",\r\n \"timesheets.RejectedWithConflict\":\"Rejected with conflicting entries\",\r\n \"assignments.AddAssignment\":\"Add Assignment\",\r\n \"assignments.issuedBy\":\"Issued by\",\r\n \"timesheets.YouSubmittedThisOn\":\"You submitted this on\",\r\n \"timesheets.SubmittedThisOn\":\"Submitted on\",\r\n \"timesheets.SignedThisOn\":\"Signed this on\",\r\n \"timesheets.SubmittedAt\":\"Submitted at {{time}} on {{date}}\",\r\n \"timesheets.SignedAt\":\"Signed at {{time}} on {{date}}\",\r\n \"timesheets.RejectedAt\":\"Rejected at {{time}} on {{date}}\",\r\n \"timesheets.DeclinedAt\":\"Declined at {{time}} on {{date}}\",\r\n \"timesheets.RejectionReason\":\"Reason for Rejection\",\r\n \"timesheets.Resubmit\":\"Resubmit\",\r\n \"timesheets.DeclinedReason\":\"Reason for Decline\",\r\n \"timesheets.Reason\":\"Reason:\",\r\n \"timesheets.By\":\"By:\",\r\n \"timesheets.Declined\":\"Declined\",\r\n \"timesheets.Declining\":\"Declining\",\r\n \"timesheets.Dismissed\": \"Dismissed\",\r\n \"timesheets.Dismissing\": \"Dismissing\",\r\n \"timesheets.Paid\":\"Paid\",\r\n \"timesheets.Signed\":\"Signed\",\r\n \"timesheets.Signing\":\"Signing\",\r\n \"invoices.Invoice\":\"Invoice\",\r\n \"invoices.ToClient\":\"To Client\",\r\n \"invoices.FromAgency\":\"From Agency\",\r\n \"assignments.SubmissionDate\":\"Submission Date\",\r\n \"assignments.Agency\":\"Agency\",\r\n \"timesheets.ConflictingEntriesDetected\":\"Conflicting entries detected\",\r\n \"timesheets.PleaseCheck\":\"Please check before submitting\",\r\n \"timesheets.PleaseCheckClient\":\"Please check before Signing\",\r\n \"payments.From\":\"From\",\r\n \"payments.To\":\"To\",\r\n \"payments.ToSonovate\":\"To Sonovate\",\r\n \"payments.Clients\":\"Clients\",\r\n \"payments.DueOn\":\"Due on\",\r\n \"general.on\":\"on\",\r\n \"general.or\":\"or\",\r\n \"general.browse\":\"browse\",\r\n \"general.AllAccountStatuses\":\"All Account Statuses\",\r\n \"general.ThisWeek\":\"This Week\",\r\n \"general.ThisMonth\":\"This Month\",\r\n \"invoices.issuedByNameOnDate\":\"Issued by {{issuedByName}} on {{issuedOnDate}}\",\r\n \"bankaccount.ConfidentialFactoring\":\"Confidential Factoring\",\r\n \"general.Saving\":\"Saving\",\r\n \"assignments.SaveAndPreview\":\"Save And Preview\",\r\n \"assignments.SaveaAndContinue\":\"Save And Continue\",\r\n \"assignments.signatories\":\"Signatories\",\r\n \"assignments.Instructions\":\"Drag and drop to choose the order in which signatories will sign the contract\",\r\n \"assignments.ElectronicCheckDescription\":\"Sonovate will manage the electronic signature\",\r\n \"assignments.HandSignedCheckDescription\":\"The contract has been hand signed\",\r\n \"assignments.SelectTemplate\":\"Select Template\",\r\n \"assignments.UploadUnsignedPdf\":\"Upload Unsigned Pdf\",\r\n \"assignments.UploadSignedPdf\":\"Upload Signed Pdf\",\r\n \"assignments.NoPdfWarning\":\"Please Select a PDF document to upload\",\r\n \"assignments.NoTemplateWarning\":\"Please select a template\",\r\n \"assignments.Browse\":\"Browse\",\r\n \"assignments.SelectSignatories\":\"Select Signatories\",\r\n \"risk.OrganisationCompliance\":\"Compliance\",\r\n \"risk.CandidateVerification\":\"Candidate\",\r\n \"risk.AssignmentVerification\":\"Job\",\r\n \"risk.ClientPersonVerification\":\"Client\",\r\n \"risk.ClientCreditRiskAssessment\":\"Credit\",\r\n \"risk.PersonCompliance\":\"AML\",\r\n \"bankaccount.TrustAccount\":\"Trust Account\",\r\n \"customersupport.CustomerSupportInformation\":\"Customer Support Information\",\r\n \"customersupport.UseTheseContactsForAnyInvoicingEnquiries\":\"Use these contacts for any invoicing enquiries\",\r\n \"customersupport.TheseContactDetailsAreAddedToConfidentialFactoringInvoices\":\"Use these contacts for any invoicing enquiries\",\r\n \"general.Email\":\"Email\",\r\n \"general.PhoneNumber\":\"Phone Number\",\r\n \"pdftimesheets.Timesheet\":\"Timesheet\",\r\n \"pdftimesheets.Disclaimer\":\"Clients are requested to check that the information below is correct. Your signature on this Timesheet is our authority to submit a charge to you for the amount of hours claimed and is also confirmation of your acceptance to our conditions of hire. Copies of these conditions are available upon written request.\",\r\n \"pdftimesheets.PeriodEnding\":\"Period Ending:\",\r\n \"pdftimesheets.Candidate\":\"Candidate:\",\r\n \"pdftimesheets.JobTitle\":\"Job Title:\",\r\n \"pdftimesheets.Client\":\"Client:\",\r\n \"pdftimesheets.Location\":\"Location:\",\r\n \"pdftimesheets.Date\":\"Date\",\r\n \"pdftimesheets.Rate\":\"Rate\",\r\n \"pdftimesheets.Description\":\"Description\",\r\n \"pdftimesheets.Start\":\"Start\",\r\n \"pdftimesheets.Finish\":\"Finish\",\r\n \"pdftimesheets.Break\":\"Break\",\r\n \"pdftimesheets.Units\":\"Units\",\r\n \"pdftimesheets.PeriodEnd\":\"Period End\",\r\n \"pdftimesheets.ExpensesOnPage\":\"Full list of expenses on page {{page}}.\",\r\n \"pdftimesheets.Expenses\":\"Expenses\",\r\n \"pdftimesheets.Total\":\"Total\",\r\n \"pdftimesheets.TimesheetInstructionsHeader\":\"INSTRUCTIONS (PAPER TIMESHEET ONLY):\",\r\n \"pdftimesheets.TimesheetInstructionsBody\":\"Obtain the client's signature above and fax the complete Timesheet to the Timesheet hotline on +000000000. You do need to include a fax header page. A copy of this Timesheet will be available on the website for future reference.\",\r\n \"pdftimesheets.AuthorisersName\":\"Authoriser's Name:\",\r\n \"pdftimesheets.AuthorisersJobTitle\":\"Authoriser's Job Title:\",\r\n \"pdftimesheets.AuthorisersSignature\":\"Authoriser's Signature:\",\r\n \"pdftimesheets.AuthorisersEmail\":\"Authoriser's Email:\",\r\n \"pdftimesheets.SignedOnline\":\"Signed Online, IP Address: \",\r\n \"timesheets.PeriodEnding\":\"Period ending\",\r\n \"timesheets.CorrectionOf\":\"Correction of\",\r\n \"assignments.SummaryForFunding\":\"Summary For Funding\",\r\n \"assignments.FundingWarning\":\"Make sure all sections are complete and correct before submitting to Sonovate for funding approval. You won't be able to make and changes to this assignment while Sonovate are considering your funding application.\",\r\n \"pdfinvoices.InvoiceFrom\":\"Invoice From\",\r\n \"pdfinvoices.InvoiceTo\":\"Invoice To\",\r\n \"pdfinvoices.Date\":\"Date\",\r\n \"pdfinvoices.PaymentTerms\":\"Payment Terms\",\r\n \"pdfinvoices.Days\":\"Days\",\r\n \"pdfinvoices.Candidate\":\"Candidate\",\r\n \"pdfinvoices.Timesheet\":\"Timesheet\",\r\n \"pdfinvoices.Description\":\"Description\",\r\n \"pdfinvoices.Net\":\"Net\",\r\n \"pdfinvoices.Vat\":\"VAT\",\r\n \"pdfinvoices.Total\":\"Total\",\r\n \"pdfinvoices.TotalBeforeVat\":\"Total Before VAT\",\r\n \"pdfinvoices.TotalDue\":\"Total Due\",\r\n \"pdfinvoices.PleaseMakePayments\":\"Please make payments to\",\r\n \"pdfinvoices.AccountName\":\"Account Name\",\r\n \"pdfinvoices.AccountNumber\":\"Account Number\",\r\n \"pdfinvoices.SortCode\":\"Sort Code\",\r\n \"pdfinvoices.BicCode\":\"BIC\",\r\n \"pdfinvoices.IbanNumber\":\"IBAN Number\",\r\n \"pdfinvoices.NoticeOfAssignment\":\"Notice Of Assignment\",\r\n \"pdfinvoices.BusinessName\":\"Business Name\",\r\n \"pdfinvoices.VatNumber\":\"VAT Number\",\r\n \"pdfinvoices.RegistrationNumber\":\"Registration Number\",\r\n \"pdfinvoices.ThisIsNotAVatInvoice\":\"This is not a VAT invoice. You must obtain the clients VAT invoice for your tax records\",\r\n \"pdfinvoices.YouHaveSelfBilling\":\"This is not a VAT invoice as you have a self-bill agreement with the client. You must obtain the client's VAT invoice for your tax records\",\r\n \"pdfinvoices.ReasonForAdjustment\":\"Reason for adjustment\",\r\n \"pdfinvoices.Client\":\"Client\",\r\n \"pdfinvoices.Invoices\":\"Invoices\",\r\n \"pdfinvoices.Fee\":\"Fee\",\r\n \"pdfinvoices.Invoice\":\"Invoice\",\r\n \"assignments.Standard\":\"Standard\",\r\n \"oauth.LogInWithGoogle\":\"Log In With Google\",\r\n \"oauth.LogInWithLinkedIn\":\"Log In With LinkedIn\",\r\n\r\n \"migration.Banner_PreTransfer_PrimaryMessage\": \"Important Notice\",\r\n \"migration.Banner_PreTransfer_SecondaryMessage\": \"We will be switching timesheet systems soon. This is just a heads-up. You don't need to do anything right now, but after {{migrationDate}} we'll redirect you from here.\",\r\n \"migration.Banner_PostTransfer_PrimaryMessage\": \"Important Notice\",\r\n \"migration.Banner_PostTransfer_SecondaryMessage\": \"Your latest timesheets are only available on the new timesheet system. Your log in details are the same.\",\r\n\r\n \"migration.Modal_TitleMessage\": \"Your latest timesheets are on the new timesheet system\",\r\n \"migration.Modal_BodyMessage\": \"Your login details (email and password) are exactly the same. Click below to go to the new system, or stay here if you want to access an old timesheet.\",\r\n }\r\n}","/// \r\nmodule Sonovate.Config.ReferenceData {\r\n export const Countries: ViewModels.Core.LocalisedText[] = [\r\n {\r\n \"id\": \"AD\",\r\n \"text\": \"Andorra\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+376\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"AE\",\r\n \"text\": \"United Arab Emirates\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+971\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"AF\",\r\n \"text\": \"Afghanistan\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+93\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"AG\",\r\n \"text\": \"Antigua and Barbuda\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-267\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"AI\",\r\n \"text\": \"Anguilla\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-263\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"AL\",\r\n \"text\": \"Albania\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+355\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"AM\",\r\n \"text\": \"Armenia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+374\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"AO\",\r\n \"text\": \"Angola\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+244\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"AQ\",\r\n \"text\": \"Antarctica\",\r\n \"metadata\": {\r\n \"timeZone\": null,\r\n \"diallingCode\": null,\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"AR\",\r\n \"text\": \"Argentina\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+54\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"AS\",\r\n \"text\": \"American Samoa\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-683\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"AT\",\r\n \"text\": \"Austria\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+43\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"AU\",\r\n \"text\": \"Australia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+61\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"AW\",\r\n \"text\": \"Aruba\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+297\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"AX\",\r\n \"text\": \"Aland Islands !Åland Islands\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+340\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"AZ\",\r\n \"text\": \"Azerbaijan\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+277\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"BA\",\r\n \"text\": \"Bosnia and Herzegovina\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+387\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"BB\",\r\n \"text\": \"Barbados\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-245\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"BD\",\r\n \"text\": \"Bangladesh\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+880\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"BE\",\r\n \"text\": \"Belgium\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+32\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"BF\",\r\n \"text\": \"Burkina Faso\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+226\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"BG\",\r\n \"text\": \"Bulgaria\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+359\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"BH\",\r\n \"text\": \"Bahrain\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+973\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"BI\",\r\n \"text\": \"Burundi\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+257\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"BJ\",\r\n \"text\": \"Benin\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+229\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"BL\",\r\n \"text\": \"Saint Barthélemy\",\r\n \"metadata\": {\r\n \"timeZone\": null,\r\n \"diallingCode\": null,\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"BM\",\r\n \"text\": \"Bermuda\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-440\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"BN\",\r\n \"text\": \"Brunei Darussalam\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+673\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"BO\",\r\n \"text\": \"Bolivia, Plurinational State of\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+591\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"BQ\",\r\n \"text\": \"Bonaire, Sint Eustatius and Saba\",\r\n \"metadata\": {\r\n \"timeZone\": null,\r\n \"diallingCode\": null,\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"BR\",\r\n \"text\": \"Brazil\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+55\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"BS\",\r\n \"text\": \"Bahamas\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-241\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"BT\",\r\n \"text\": \"Bhutan\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+975\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"BV\",\r\n \"text\": \"Bouvet Island\",\r\n \"metadata\": {\r\n \"timeZone\": null,\r\n \"diallingCode\": null,\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"BW\",\r\n \"text\": \"Botswana\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+267\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"BY\",\r\n \"text\": \"Belarus\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+375\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"BZ\",\r\n \"text\": \"Belize\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+501\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"CA\",\r\n \"text\": \"Canada\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"CC\",\r\n \"text\": \"Cocos (Keeling) Islands\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+61\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"CD\",\r\n \"text\": \"Congo, the Democratic Republic of the\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+243\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"CF\",\r\n \"text\": \"Central African Republic\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+236\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"CG\",\r\n \"text\": \"Congo\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+242\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"CH\",\r\n \"text\": \"Switzerland\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+41\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"CI\",\r\n \"text\": \"Cote d'Ivoire !Côte d'Ivoire\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+225\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"CK\",\r\n \"text\": \"Cook Islands\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+682\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"CL\",\r\n \"text\": \"Chile\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+56\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"CM\",\r\n \"text\": \"Cameroon\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+237\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"CN\",\r\n \"text\": \"China\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+86\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"CO\",\r\n \"text\": \"Colombia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+57\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"CR\",\r\n \"text\": \"Costa Rica\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+506\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"CU\",\r\n \"text\": \"Cuba\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+53\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"CV\",\r\n \"text\": \"Cabo Verde\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+238\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"CW\",\r\n \"text\": \"Curaçao\",\r\n \"metadata\": {\r\n \"timeZone\": null,\r\n \"diallingCode\": null,\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"CX\",\r\n \"text\": \"Christmas Island\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+61\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"CY\",\r\n \"text\": \"Cyprus\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-302\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"CZ\",\r\n \"text\": \"Czech Republic\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+420\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"DE\",\r\n \"text\": \"Germany\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+49\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"DJ\",\r\n \"text\": \"Djibouti\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+253\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"DK\",\r\n \"text\": \"Denmark\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+45\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"DM\",\r\n \"text\": \"Dominica\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-766\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"DO\",\r\n \"text\": \"Dominican Republic\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-809\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"DZ\",\r\n \"text\": \"Algeria\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+213\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"EC\",\r\n \"text\": \"Ecuador\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+593\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"EE\",\r\n \"text\": \"Estonia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+372\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"EG\",\r\n \"text\": \"Egypt\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+20\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"EH\",\r\n \"text\": \"Western Sahara\",\r\n \"metadata\": {\r\n \"timeZone\": null,\r\n \"diallingCode\": null,\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"ER\",\r\n \"text\": \"Eritrea\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+291\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"ES\",\r\n \"text\": \"Spain\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+34\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"ET\",\r\n \"text\": \"Ethiopia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+251\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"FI\",\r\n \"text\": \"Finland\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+358\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"FJ\",\r\n \"text\": \"Fiji\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+679\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"FK\",\r\n \"text\": \"Falkland Islands (Malvinas)\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+500\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"FM\",\r\n \"text\": \"Micronesia, Federated States of\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+691\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"FO\",\r\n \"text\": \"Faroe Islands\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+298\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"FR\",\r\n \"text\": \"France\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+33\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"GA\",\r\n \"text\": \"Gabon\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+241\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"GB\",\r\n \"text\": \"United Kingdom of Great Britain and Northern Ireland\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+44\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": \"20\"\r\n }\r\n },\r\n {\r\n \"id\": \"GD\",\r\n \"text\": \"Grenada\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-472\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"GE\",\r\n \"text\": \"Georgia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+995\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"GF\",\r\n \"text\": \"French Guiana\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+594\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"GG\",\r\n \"text\": \"Guernsey\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+44\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"GH\",\r\n \"text\": \"Ghana\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+233\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"GI\",\r\n \"text\": \"Gibraltar\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+350\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"GL\",\r\n \"text\": \"Greenland\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+299\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"GM\",\r\n \"text\": \"Gambia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+220\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"GN\",\r\n \"text\": \"Guinea\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+224\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"GP\",\r\n \"text\": \"Guadeloupe\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+590\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"GQ\",\r\n \"text\": \"Equatorial Guinea\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+240\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"GR\",\r\n \"text\": \"Greece\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+30\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"GS\",\r\n \"text\": \"South Georgia and the South Sandwich Islands\",\r\n \"metadata\": {\r\n \"timeZone\": null,\r\n \"diallingCode\": null,\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"GT\",\r\n \"text\": \"Guatemala\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+502\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"GU\",\r\n \"text\": \"Guam\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-670\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"GW\",\r\n \"text\": \"Guinea-Bissau\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+245\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"GY\",\r\n \"text\": \"Guyana\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+592\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"HK\",\r\n \"text\": \"Hong Kong\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+852\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"HM\",\r\n \"text\": \"Heard Island and McDonald Islands\",\r\n \"metadata\": {\r\n \"timeZone\": null,\r\n \"diallingCode\": null,\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"HN\",\r\n \"text\": \"Honduras\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+504\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"HR\",\r\n \"text\": \"Croatia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+385\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"HT\",\r\n \"text\": \"Haiti\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+509\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"HU\",\r\n \"text\": \"Hungary\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+36\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"ID\",\r\n \"text\": \"Indonesia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+62\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"IE\",\r\n \"text\": \"Ireland\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+353\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"IL\",\r\n \"text\": \"Israel\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+972\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"IM\",\r\n \"text\": \"Isle of Man\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+44\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"IN\",\r\n \"text\": \"India\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+91\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"IO\",\r\n \"text\": \"British Indian Ocean Territory\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+246\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"IQ\",\r\n \"text\": \"Iraq\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+964\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"IR\",\r\n \"text\": \"Iran, Islamic Republic of\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+98\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"IS\",\r\n \"text\": \"Iceland\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+354\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"IT\",\r\n \"text\": \"Italy\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+39\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"JE\",\r\n \"text\": \"Jersey\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+44\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"JM\",\r\n \"text\": \"Jamaica\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-875\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"JO\",\r\n \"text\": \"Jordan\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+962\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"JP\",\r\n \"text\": \"Japan\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+81\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"KE\",\r\n \"text\": \"Kenya\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+254\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"KG\",\r\n \"text\": \"Kyrgyzstan\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+996\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"KH\",\r\n \"text\": \"Cambodia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+855\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"KI\",\r\n \"text\": \"Kiribati\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+686\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"KM\",\r\n \"text\": \"Comoros\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+269\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"KN\",\r\n \"text\": \"Saint Kitts and Nevis\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-868\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"KP\",\r\n \"text\": \"Korea, Democratic People's Republic of\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+850\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"KR\",\r\n \"text\": \"Korea, Republic of\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+82\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"KW\",\r\n \"text\": \"Kuwait\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+965\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"KY\",\r\n \"text\": \"Cayman Islands\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-344\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"KZ\",\r\n \"text\": \"Kazakhstan\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+7\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"LA\",\r\n \"text\": \"Lao People's Democratic Republic\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+856\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"LB\",\r\n \"text\": \"Lebanon\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+961\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"LC\",\r\n \"text\": \"Saint Lucia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-757\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"LI\",\r\n \"text\": \"Liechtenstein\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+423\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"LK\",\r\n \"text\": \"Sri Lanka\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+94\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"LR\",\r\n \"text\": \"Liberia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+231\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"LS\",\r\n \"text\": \"Lesotho\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+266\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"LT\",\r\n \"text\": \"Lithuania\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+370\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"LU\",\r\n \"text\": \"Luxembourg\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+352\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"LV\",\r\n \"text\": \"Latvia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+371\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"LY\",\r\n \"text\": \"Libya\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+218\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"MA\",\r\n \"text\": \"Morocco\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+212\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"MC\",\r\n \"text\": \"Monaco\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+377\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"MD\",\r\n \"text\": \"Moldova, Republic of\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-160\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"ME\",\r\n \"text\": \"Montenegro\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+382\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"MF\",\r\n \"text\": \"Saint Martin (French part)\",\r\n \"metadata\": {\r\n \"timeZone\": null,\r\n \"diallingCode\": null,\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"MG\",\r\n \"text\": \"Madagascar\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+261\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"MH\",\r\n \"text\": \"Marshall Islands\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+692\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"MK\",\r\n \"text\": \"Macedonia, the former Yugoslav Republic of\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+389\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"ML\",\r\n \"text\": \"Mali\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+223\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"MM\",\r\n \"text\": \"Myanmar\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+95\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"MN\",\r\n \"text\": \"Mongolia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+976\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"MO\",\r\n \"text\": \"Macao\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+853\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"MP\",\r\n \"text\": \"Northern Mariana Islands\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-669\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"MQ\",\r\n \"text\": \"Martinique\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+596\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"MR\",\r\n \"text\": \"Mauritania\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+222\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"MS\",\r\n \"text\": \"Montserrat\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-663\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"MT\",\r\n \"text\": \"Malta\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+356\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"MU\",\r\n \"text\": \"Mauritius\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+230\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"MV\",\r\n \"text\": \"Maldives\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+960\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"MW\",\r\n \"text\": \"Malawi\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+265\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"MX\",\r\n \"text\": \"Mexico\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+52\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"MY\",\r\n \"text\": \"Malaysia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+60\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"MZ\",\r\n \"text\": \"Mozambique\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+258\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"NA\",\r\n \"text\": \"Namibia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+264\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"NC\",\r\n \"text\": \"New Caledonia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+687\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"NE\",\r\n \"text\": \"Niger\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+227\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"NF\",\r\n \"text\": \"Norfolk Island\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+672\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"NG\",\r\n \"text\": \"Nigeria\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+234\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"NI\",\r\n \"text\": \"Nicaragua\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+505\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"NL\",\r\n \"text\": \"Netherlands\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+31\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"NO\",\r\n \"text\": \"Norway\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+47\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"NP\",\r\n \"text\": \"Nepal\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+977\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"NR\",\r\n \"text\": \"Nauru\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+674\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"NU\",\r\n \"text\": \"Niue\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+683\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"NZ\",\r\n \"text\": \"New Zealand\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+64\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"OM\",\r\n \"text\": \"Oman\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+968\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"PA\",\r\n \"text\": \"Panama\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+507\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"PE\",\r\n \"text\": \"Peru\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+51\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"PF\",\r\n \"text\": \"French Polynesia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+689\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"PG\",\r\n \"text\": \"Papua New Guinea\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+675\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"PH\",\r\n \"text\": \"Philippines\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+63\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"PK\",\r\n \"text\": \"Pakistan\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+92\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"PL\",\r\n \"text\": \"Poland\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+48\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"PM\",\r\n \"text\": \"Saint Pierre and Miquelon\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+508\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"PN\",\r\n \"text\": \"Pitcairn\",\r\n \"metadata\": {\r\n \"timeZone\": null,\r\n \"diallingCode\": null,\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"PR\",\r\n \"text\": \"Puerto Rico\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-787 \",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"PS\",\r\n \"text\": \"Palestine, State of\",\r\n \"metadata\": {\r\n \"timeZone\": null,\r\n \"diallingCode\": null,\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"PT\",\r\n \"text\": \"Portugal\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+351\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"PW\",\r\n \"text\": \"Palau\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+680\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"PY\",\r\n \"text\": \"Paraguay\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+595\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"QA\",\r\n \"text\": \"Qatar\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+974\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"RE\",\r\n \"text\": \"Reunion !Réunion\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+262\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"RO\",\r\n \"text\": \"Romania\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+40\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"RS\",\r\n \"text\": \"Serbia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+381\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"RU\",\r\n \"text\": \"Russian Federation\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+7\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"RW\",\r\n \"text\": \"Rwanda\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+250\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"SA\",\r\n \"text\": \"Saudi Arabia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+966\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"SB\",\r\n \"text\": \"Solomon Islands\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+677\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"SC\",\r\n \"text\": \"Seychelles\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+248\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"SD\",\r\n \"text\": \"Sudan\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+249\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"SE\",\r\n \"text\": \"Sweden\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+46\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"SG\",\r\n \"text\": \"Singapore\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+65\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"SH\",\r\n \"text\": \"Saint Helena, Ascension and Tristan da Cunha\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+290\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"SI\",\r\n \"text\": \"Slovenia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+386\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"SJ\",\r\n \"text\": \"Svalbard and Jan Mayen\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+47\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"SK\",\r\n \"text\": \"Slovakia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+421\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"SL\",\r\n \"text\": \"Sierra Leone\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+232\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"SM\",\r\n \"text\": \"San Marino\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+378\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"SN\",\r\n \"text\": \"Senegal\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+221\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"SO\",\r\n \"text\": \"Somalia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+252\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"SR\",\r\n \"text\": \"Suriname\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+597\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"SS\",\r\n \"text\": \"South Sudan\",\r\n \"metadata\": {\r\n \"timeZone\": null,\r\n \"diallingCode\": null,\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"ST\",\r\n \"text\": \"Sao Tome and Principe\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+239\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"SV\",\r\n \"text\": \"El Salvador\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+503\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"SX\",\r\n \"text\": \"Sint Maarten (Dutch part)\",\r\n \"metadata\": {\r\n \"timeZone\": null,\r\n \"diallingCode\": null,\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"SY\",\r\n \"text\": \"Syrian Arab Republic\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+963\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"SZ\",\r\n \"text\": \"Swaziland\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+268\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"TC\",\r\n \"text\": \"Turks and Caicos Islands\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-648\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"TD\",\r\n \"text\": \"Chad\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+235\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"TF\",\r\n \"text\": \"French Southern Territories\",\r\n \"metadata\": {\r\n \"timeZone\": null,\r\n \"diallingCode\": null,\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"TG\",\r\n \"text\": \"Togo\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+228\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"TH\",\r\n \"text\": \"Thailand\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+66\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"TJ\",\r\n \"text\": \"Tajikistan\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+992\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"TK\",\r\n \"text\": \"Tokelau\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+690\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"TL\",\r\n \"text\": \"Timor-Leste\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+670\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"TM\",\r\n \"text\": \"Turkmenistan\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+993\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"TN\",\r\n \"text\": \"Tunisia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+216\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"TO\",\r\n \"text\": \"Tonga\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+676\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"TR\",\r\n \"text\": \"Turkey\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+90\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"TT\",\r\n \"text\": \"Trinidad and Tobago\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-867\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"TV\",\r\n \"text\": \"Tuvalu\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+688\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"TW\",\r\n \"text\": \"Taiwan, Province of China\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+886\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"TZ\",\r\n \"text\": \"Tanzania, United Republic of\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+255\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"UA\",\r\n \"text\": \"Ukraine\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+380\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"UG\",\r\n \"text\": \"Uganda\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+256\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"UM\",\r\n \"text\": \"United States Minor Outlying Islands\",\r\n \"metadata\": {\r\n \"timeZone\": null,\r\n \"diallingCode\": null,\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"US\",\r\n \"text\": \"United States of America\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"UY\",\r\n \"text\": \"Uruguay\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+598\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"UZ\",\r\n \"text\": \"Uzbekistan\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+998\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"VA\",\r\n \"text\": \"Holy See\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+379\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"VC\",\r\n \"text\": \"Saint Vincent and the Grenadines\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-783\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"VE\",\r\n \"text\": \"Venezuela, Bolivarian Republic of\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+58\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"VG\",\r\n \"text\": \"Virgin Islands, British\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-283\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"VI\",\r\n \"text\": \"Virgin Islands, U.S.\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+1-339\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"VN\",\r\n \"text\": \"Viet Nam\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+84\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"VU\",\r\n \"text\": \"Vanuatu\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+678\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"WF\",\r\n \"text\": \"Wallis and Futuna\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+681\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"WS\",\r\n \"text\": \"Samoa\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+685\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"YE\",\r\n \"text\": \"Yemen\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+967\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"YT\",\r\n \"text\": \"Mayotte\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+262\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"ZA\",\r\n \"text\": \"South Africa\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+27\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"ZM\",\r\n \"text\": \"Zambia\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+260\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n },\r\n {\r\n \"id\": \"ZW\",\r\n \"text\": \"Zimbabwe\",\r\n \"metadata\": {\r\n \"timeZone\": \"+2\",\r\n \"diallingCode\": \"+263\",\r\n \"language\": null,\r\n \"dateShortFormat\": null,\r\n \"dateLongFormat\": null,\r\n \"timeShortFormat\": null,\r\n \"timeLongFormat\": null,\r\n \"salesTaxRate\": null\r\n }\r\n }\r\n ]\r\n}","/// \r\nmodule Sonovate.Config.ReferenceData {\r\n export const TimeZones: ViewModels.Core.LocalisedText[] = [\r\n {\r\n \"id\": \"Dateline Standard Time\",\r\n \"text\": \"(UTC-12:00) International Date Line West\"\r\n },\r\n {\r\n \"id\": \"UTC-11\",\r\n \"text\": \"(UTC-11:00) Coordinated Universal Time-11\"\r\n },\r\n {\r\n \"id\": \"Hawaiian Standard Time\",\r\n \"text\": \"(UTC-10:00) Hawaii\"\r\n },\r\n {\r\n \"id\": \"Alaskan Standard Time\",\r\n \"text\": \"(UTC-09:00) Alaska\"\r\n },\r\n {\r\n \"id\": \"Pacific Standard Time (Mexico)\",\r\n \"text\": \"(UTC-08:00) Baja California\"\r\n },\r\n {\r\n \"id\": \"Pacific Standard Time\",\r\n \"text\": \"(UTC-08:00) Pacific Time (US & Canada)\"\r\n },\r\n {\r\n \"id\": \"US Mountain Standard Time\",\r\n \"text\": \"(UTC-07:00) Arizona\"\r\n },\r\n {\r\n \"id\": \"Mountain Standard Time (Mexico)\",\r\n \"text\": \"(UTC-07:00) Chihuahua, La Paz, Mazatlan\"\r\n },\r\n {\r\n \"id\": \"Mountain Standard Time\",\r\n \"text\": \"(UTC-07:00) Mountain Time (US & Canada)\"\r\n },\r\n {\r\n \"id\": \"Central America Standard Time\",\r\n \"text\": \"(UTC-06:00) Central America\"\r\n },\r\n {\r\n \"id\": \"Central Standard Time\",\r\n \"text\": \"(UTC-06:00) Central Time (US & Canada)\"\r\n },\r\n {\r\n \"id\": \"Central Standard Time (Mexico)\",\r\n \"text\": \"(UTC-06:00) Guadalajara, Mexico City, Monterrey\"\r\n },\r\n {\r\n \"id\": \"Canada Central Standard Time\",\r\n \"text\": \"(UTC-06:00) Saskatchewan\"\r\n },\r\n {\r\n \"id\": \"SA Pacific Standard Time\",\r\n \"text\": \"(UTC-05:00) Bogota, Lima, Quito\"\r\n },\r\n {\r\n \"id\": \"Eastern Standard Time\",\r\n \"text\": \"(UTC-05:00) Eastern Time (US & Canada)\"\r\n },\r\n {\r\n \"id\": \"US Eastern Standard Time\",\r\n \"text\": \"(UTC-05:00) Indiana (East)\"\r\n },\r\n {\r\n \"id\": \"Venezuela Standard Time\",\r\n \"text\": \"(UTC-04:30) Caracas\"\r\n },\r\n {\r\n \"id\": \"Paraguay Standard Time\",\r\n \"text\": \"(UTC-04:00) Asuncion\"\r\n },\r\n {\r\n \"id\": \"Atlantic Standard Time\",\r\n \"text\": \"(UTC-04:00) Atlantic Time (Canada)\"\r\n },\r\n {\r\n \"id\": \"Central Brazilian Standard Time\",\r\n \"text\": \"(UTC-04:00) Cuiaba\"\r\n },\r\n {\r\n \"id\": \"SA Western Standard Time\",\r\n \"text\": \"(UTC-04:00) Georgetown, La Paz, Manaus, San Juan\"\r\n },\r\n {\r\n \"id\": \"Pacific SA Standard Time\",\r\n \"text\": \"(UTC-04:00) Santiago\"\r\n },\r\n {\r\n \"id\": \"Newfoundland Standard Time\",\r\n \"text\": \"(UTC-03:30) Newfoundland\"\r\n },\r\n {\r\n \"id\": \"E. South America Standard Time\",\r\n \"text\": \"(UTC-03:00) Brasilia\"\r\n },\r\n {\r\n \"id\": \"Argentina Standard Time\",\r\n \"text\": \"(UTC-03:00) Buenos Aires\"\r\n },\r\n {\r\n \"id\": \"SA Eastern Standard Time\",\r\n \"text\": \"(UTC-03:00) Cayenne, Fortaleza\"\r\n },\r\n {\r\n \"id\": \"Greenland Standard Time\",\r\n \"text\": \"(UTC-03:00) Greenland\"\r\n },\r\n {\r\n \"id\": \"Montevideo Standard Time\",\r\n \"text\": \"(UTC-03:00) Montevideo\"\r\n },\r\n {\r\n \"id\": \"Bahia Standard Time\",\r\n \"text\": \"(UTC-03:00) Salvador\"\r\n },\r\n {\r\n \"id\": \"UTC-02\",\r\n \"text\": \"(UTC-02:00) Coordinated Universal Time-02\"\r\n },\r\n {\r\n \"id\": \"Mid-Atlantic Standard Time\",\r\n \"text\": \"(UTC-02:00) Mid-Atlantic - Old\"\r\n },\r\n {\r\n \"id\": \"Azores Standard Time\",\r\n \"text\": \"(UTC-01:00) Azores\"\r\n },\r\n {\r\n \"id\": \"Cape Verde Standard Time\",\r\n \"text\": \"(UTC-01:00) Cape Verde Is.\"\r\n },\r\n {\r\n \"id\": \"Morocco Standard Time\",\r\n \"text\": \"(UTC) Casablanca\"\r\n },\r\n {\r\n \"id\": \"UTC\",\r\n \"text\": \"(UTC) Coordinated Universal Time\"\r\n },\r\n {\r\n \"id\": \"GMT Standard Time\",\r\n \"text\": \"(UTC) Dublin, Edinburgh, Lisbon, London\"\r\n },\r\n {\r\n \"id\": \"Greenwich Standard Time\",\r\n \"text\": \"(UTC) Monrovia, Reykjavik\"\r\n },\r\n {\r\n \"id\": \"W. Europe Standard Time\",\r\n \"text\": \"(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna\"\r\n },\r\n {\r\n \"id\": \"Central Europe Standard Time\",\r\n \"text\": \"(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague\"\r\n },\r\n {\r\n \"id\": \"Romance Standard Time\",\r\n \"text\": \"(UTC+01:00) Brussels, Copenhagen, Madrid, Paris\"\r\n },\r\n {\r\n \"id\": \"Central European Standard Time\",\r\n \"text\": \"(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb\"\r\n },\r\n {\r\n \"id\": \"W. Central Africa Standard Time\",\r\n \"text\": \"(UTC+01:00) West Central Africa\"\r\n },\r\n {\r\n \"id\": \"Namibia Standard Time\",\r\n \"text\": \"(UTC+01:00) Windhoek\"\r\n },\r\n {\r\n \"id\": \"GTB Standard Time\",\r\n \"text\": \"(UTC+02:00) Athens, Bucharest\"\r\n },\r\n {\r\n \"id\": \"Middle East Standard Time\",\r\n \"text\": \"(UTC+02:00) Beirut\"\r\n },\r\n {\r\n \"id\": \"Egypt Standard Time\",\r\n \"text\": \"(UTC+02:00) Cairo\"\r\n },\r\n {\r\n \"id\": \"Syria Standard Time\",\r\n \"text\": \"(UTC+02:00) Damascus\"\r\n },\r\n {\r\n \"id\": \"E. Europe Standard Time\",\r\n \"text\": \"(UTC+02:00) E. Europe\"\r\n },\r\n {\r\n \"id\": \"South Africa Standard Time\",\r\n \"text\": \"(UTC+02:00) Harare, Pretoria\"\r\n },\r\n {\r\n \"id\": \"FLE Standard Time\",\r\n \"text\": \"(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius\"\r\n },\r\n {\r\n \"id\": \"Turkey Standard Time\",\r\n \"text\": \"(UTC+02:00) Istanbul\"\r\n },\r\n {\r\n \"id\": \"Israel Standard Time\",\r\n \"text\": \"(UTC+02:00) Jerusalem\"\r\n },\r\n {\r\n \"id\": \"Libya Standard Time\",\r\n \"text\": \"(UTC+02:00) Tripoli\"\r\n },\r\n {\r\n \"id\": \"Jordan Standard Time\",\r\n \"text\": \"(UTC+03:00) Amman\"\r\n },\r\n {\r\n \"id\": \"Arabic Standard Time\",\r\n \"text\": \"(UTC+03:00) Baghdad\"\r\n },\r\n {\r\n \"id\": \"Kaliningrad Standard Time\",\r\n \"text\": \"(UTC+03:00) Kaliningrad, Minsk\"\r\n },\r\n {\r\n \"id\": \"Arab Standard Time\",\r\n \"text\": \"(UTC+03:00) Kuwait, Riyadh\"\r\n },\r\n {\r\n \"id\": \"E. Africa Standard Time\",\r\n \"text\": \"(UTC+03:00) Nairobi\"\r\n },\r\n {\r\n \"id\": \"Iran Standard Time\",\r\n \"text\": \"(UTC+03:30) Tehran\"\r\n },\r\n {\r\n \"id\": \"Arabian Standard Time\",\r\n \"text\": \"(UTC+04:00) Abu Dhabi, Muscat\"\r\n },\r\n {\r\n \"id\": \"Azerbaijan Standard Time\",\r\n \"text\": \"(UTC+04:00) Baku\"\r\n },\r\n {\r\n \"id\": \"Russian Standard Time\",\r\n \"text\": \"(UTC+04:00) Moscow, St. Petersburg, Volgograd\"\r\n },\r\n {\r\n \"id\": \"Mauritius Standard Time\",\r\n \"text\": \"(UTC+04:00) Port Louis\"\r\n },\r\n {\r\n \"id\": \"Georgian Standard Time\",\r\n \"text\": \"(UTC+04:00) Tbilisi\"\r\n },\r\n {\r\n \"id\": \"Caucasus Standard Time\",\r\n \"text\": \"(UTC+04:00) Yerevan\"\r\n },\r\n {\r\n \"id\": \"Afghanistan Standard Time\",\r\n \"text\": \"(UTC+04:30) Kabul\"\r\n },\r\n {\r\n \"id\": \"West Asia Standard Time\",\r\n \"text\": \"(UTC+05:00) Ashgabat, Tashkent\"\r\n },\r\n {\r\n \"id\": \"Pakistan Standard Time\",\r\n \"text\": \"(UTC+05:00) Islamabad, Karachi\"\r\n },\r\n {\r\n \"id\": \"India Standard Time\",\r\n \"text\": \"(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi\"\r\n },\r\n {\r\n \"id\": \"Sri Lanka Standard Time\",\r\n \"text\": \"(UTC+05:30) Sri Jayawardenepura\"\r\n },\r\n {\r\n \"id\": \"Nepal Standard Time\",\r\n \"text\": \"(UTC+05:45) Kathmandu\"\r\n },\r\n {\r\n \"id\": \"Central Asia Standard Time\",\r\n \"text\": \"(UTC+06:00) Astana\"\r\n },\r\n {\r\n \"id\": \"Bangladesh Standard Time\",\r\n \"text\": \"(UTC+06:00) Dhaka\"\r\n },\r\n {\r\n \"id\": \"Ekaterinburg Standard Time\",\r\n \"text\": \"(UTC+06:00) Ekaterinburg\"\r\n },\r\n {\r\n \"id\": \"Myanmar Standard Time\",\r\n \"text\": \"(UTC+06:30) Yangon (Rangoon)\"\r\n },\r\n {\r\n \"id\": \"SE Asia Standard Time\",\r\n \"text\": \"(UTC+07:00) Bangkok, Hanoi, Jakarta\"\r\n },\r\n {\r\n \"id\": \"N. Central Asia Standard Time\",\r\n \"text\": \"(UTC+07:00) Novosibirsk\"\r\n },\r\n {\r\n \"id\": \"China Standard Time\",\r\n \"text\": \"(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi\"\r\n },\r\n {\r\n \"id\": \"North Asia Standard Time\",\r\n \"text\": \"(UTC+08:00) Krasnoyarsk\"\r\n },\r\n {\r\n \"id\": \"Singapore Standard Time\",\r\n \"text\": \"(UTC+08:00) Kuala Lumpur, Singapore\"\r\n },\r\n {\r\n \"id\": \"W. Australia Standard Time\",\r\n \"text\": \"(UTC+08:00) Perth\"\r\n },\r\n {\r\n \"id\": \"Taipei Standard Time\",\r\n \"text\": \"(UTC+08:00) Taipei\"\r\n },\r\n {\r\n \"id\": \"Ulaanbaatar Standard Time\",\r\n \"text\": \"(UTC+08:00) Ulaanbaatar\"\r\n },\r\n {\r\n \"id\": \"North Asia East Standard Time\",\r\n \"text\": \"(UTC+09:00) Irkutsk\"\r\n },\r\n {\r\n \"id\": \"Tokyo Standard Time\",\r\n \"text\": \"(UTC+09:00) Osaka, Sapporo, Tokyo\"\r\n },\r\n {\r\n \"id\": \"Korea Standard Time\",\r\n \"text\": \"(UTC+09:00) Seoul\"\r\n },\r\n {\r\n \"id\": \"Cen. Australia Standard Time\",\r\n \"text\": \"(UTC+09:30) Adelaide\"\r\n },\r\n {\r\n \"id\": \"AUS Central Standard Time\",\r\n \"text\": \"(UTC+09:30) Darwin\"\r\n },\r\n {\r\n \"id\": \"E. Australia Standard Time\",\r\n \"text\": \"(UTC+10:00) Brisbane\"\r\n },\r\n {\r\n \"id\": \"AUS Eastern Standard Time\",\r\n \"text\": \"(UTC+10:00) Canberra, Melbourne, Sydney\"\r\n },\r\n {\r\n \"id\": \"West Pacific Standard Time\",\r\n \"text\": \"(UTC+10:00) Guam, Port Moresby\"\r\n },\r\n {\r\n \"id\": \"Tasmania Standard Time\",\r\n \"text\": \"(UTC+10:00) Hobart\"\r\n },\r\n {\r\n \"id\": \"Yakutsk Standard Time\",\r\n \"text\": \"(UTC+10:00) Yakutsk\"\r\n },\r\n {\r\n \"id\": \"Central Pacific Standard Time\",\r\n \"text\": \"(UTC+11:00) Solomon Is., New Caledonia\"\r\n },\r\n {\r\n \"id\": \"Vladivostok Standard Time\",\r\n \"text\": \"(UTC+11:00) Vladivostok\"\r\n },\r\n {\r\n \"id\": \"New Zealand Standard Time\",\r\n \"text\": \"(UTC+12:00) Auckland, Wellington\"\r\n },\r\n {\r\n \"id\": \"UTC+12\",\r\n \"text\": \"(UTC+12:00) Coordinated Universal Time+12\"\r\n },\r\n {\r\n \"id\": \"Fiji Standard Time\",\r\n \"text\": \"(UTC+12:00) Fiji\"\r\n },\r\n {\r\n \"id\": \"Magadan Standard Time\",\r\n \"text\": \"(UTC+12:00) Magadan\"\r\n },\r\n {\r\n \"id\": \"Kamchatka Standard Time\",\r\n \"text\": \"(UTC+12:00) Petropavlovsk-Kamchatsky - Old\"\r\n },\r\n {\r\n \"id\": \"Tonga Standard Time\",\r\n \"text\": \"(UTC+13:00) Nuku'alofa\"\r\n },\r\n {\r\n \"id\": \"Samoa Standard Time\",\r\n \"text\": \"(UTC+13:00) Samoa\"\r\n }\r\n] \r\n}","/// \r\nmodule Sonovate.Config {\r\n\r\n export const RiskStatusStyles: IDictionary> = {\r\n ClientPersonVerification: {\r\n \"Pending\": {\r\n color: \"daffodil\",\r\n icon: 'sn-ico sn-ico-clock-filled'\r\n },\r\n \"FirstContactAttemptFailed\": {\r\n color: \"daffodil\",\r\n icon: 'sn-ico sn-ico-clock-filled'\r\n },\r\n \"SecondContactAttemptFailed\": {\r\n color: \"daffodil\",\r\n icon: 'sn-ico sn-ico-clock-filled'\r\n },\r\n \"ThirdContactAttemptFailed\": {\r\n color: \"daffodil\",\r\n icon: 'sn-ico sn-ico-clock-filled'\r\n },\r\n \"Approved\": {\r\n color: \"apple\",\r\n icon: 'sn-ico sn-ico-tick-circle-filled'\r\n },\r\n \"Declined\": {\r\n color: \"parrot\",\r\n icon: 'sn-ico sn-ico-no-entry-filled'\r\n },\r\n },\r\n CandidateVerification: {\r\n \"Pending\": {\r\n color: \"daffodil\",\r\n icon: 'sn-ico sn-ico-clock-filled'\r\n },\r\n \"Approved\": {\r\n color: \"apple\",\r\n icon: 'sn-ico sn-ico-tick-circle-filled'\r\n },\r\n \"Declined\": {\r\n color: \"parrot\",\r\n icon: 'sn-ico sn-ico-no-entry-filled'\r\n },\r\n },\r\n OrganisationCompliance: {\r\n \"Pending\": {\r\n color: \"daffodil\",\r\n icon: 'sn-ico sn-ico-clock-filled'\r\n },\r\n \"Passed\": {\r\n color: \"apple\",\r\n icon: 'sn-ico sn-ico-tick-circle-filled'\r\n },\r\n \"Referred\": {\r\n color: \"daffodil\",\r\n icon: 'sn-ico sn-ico-clock-filled'\r\n },\r\n \"Failed\": {\r\n color: \"parrot\",\r\n icon: 'sn-ico sn-ico-no-entry-filled'\r\n },\r\n \"Verified\": {\r\n color: \"apple\",\r\n icon: 'sn-ico sn-ico-tick-circle-filled'\r\n } \r\n },\r\n ClientCreditRiskAssessment: {\r\n \"AwaitingCreditAssessment\": {\r\n color: \"daffodil\",\r\n icon: 'sn-ico sn-ico-clock-filled'\r\n },\r\n \"Pending\": {\r\n color: \"daffodil\",\r\n icon: 'sn-ico sn-ico-clock-filled'\r\n },\r\n \"ApprovedInsured\": {\r\n color: \"apple\",\r\n icon: 'sn-ico sn-ico-tick-circle-filled'\r\n },\r\n \"ApprovedUninsured\": {\r\n color: \"apple\",\r\n icon: 'sn-ico sn-ico-tick-circle-filled'\r\n },\r\n \"Declined\": {\r\n color: \"parrot\",\r\n icon: 'sn-ico sn-ico-no-entry-filled'\r\n }\r\n },\r\n AssignmentVerification: {\r\n \"Pending\": {\r\n color: \"daffodil\",\r\n icon: 'sn-ico sn-ico-clock-filled'\r\n },\r\n \"Approved\": {\r\n color: \"apple\",\r\n icon: 'sn-ico sn-ico-tick-circle-filled'\r\n },\r\n \"Declined\": {\r\n color: \"parrot\",\r\n icon: 'sn-ico sn-ico-no-entry-filled'\r\n }\r\n }\r\n }\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n export interface IActivityStreamViewModelsSet {\r\n notes: ViewModels.Activity.Note[];\r\n documents: ViewModels.Gateway.Document[];\r\n }\r\n\r\n interface IActivityStreamGetIntent {\r\n documentRiskAssessmentType: string;\r\n documentResourceType: Core.State.ActivityStreamStateContext;\r\n documentResourceId: number;\r\n noteResourceType: Core.State.ActivityStreamStateContext;\r\n noteResourceId: number;\r\n }\r\n\r\n interface IActivityStreamSubmitNoteIntent {\r\n resourceId: number;\r\n resourceType: Core.State.ActivityStreamStateContext;\r\n note: string;\r\n }\r\n\r\n interface IActivityStreamUploadDocumentIntent {\r\n resourceType: Core.State.ActivityStreamStateContext;\r\n resourceId: number;\r\n file: File;\r\n documentType: string;\r\n documentName: string;\r\n }\r\n\r\n interface IActivityStreamDeleteDocumentIntent {\r\n resourceType: Core.State.ActivityStreamStateContext;\r\n resourceId: number;\r\n documentId: number;\r\n }\r\n\r\n interface IActivityStreamUserIntents {\r\n viewActivityStream: Rx.Subject;\r\n filterByType: Rx.Subject;\r\n typeNote: Rx.Subject;\r\n selectDocumentType: Rx.Subject;\r\n submitNote: Rx.Subject;\r\n uploadDocument: Rx.Subject;\r\n deleteDocument: Rx.Subject;\r\n }\r\n\r\n\tinterface IActivityStreamHttpResults {\r\n viewActivityStreamSuccess: Rx.Subject;\r\n submitNoteSuccess: Rx.Subject;\r\n uploadDocumentSuccess: Rx.Subject;\r\n deleteDocumentSuccess: Rx.Subject;\r\n\t}\r\n\r\n export class ActivityStreamEvents {\r\n\r\n userIntents: IActivityStreamUserIntents = {\r\n viewActivityStream: new Rx.Subject(),\r\n filterByType: new Rx.Subject(),\r\n typeNote: new Rx.Subject(),\r\n selectDocumentType: new Rx.Subject(),\r\n submitNote: new Rx.Subject(),\r\n uploadDocument: new Rx.Subject(),\r\n deleteDocument: new Rx.Subject()\r\n }\r\n\r\n httpResults: IActivityStreamHttpResults = {\r\n viewActivityStreamSuccess: new Rx.Subject(),\r\n submitNoteSuccess: new Rx.Subject(),\r\n uploadDocumentSuccess: new Rx.Subject(),\r\n deleteDocumentSuccess: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\"httpService\", \"Upload\", \"ActivityStreamTransformers\", \"NoteTransformers\", \"DocumentTransformers\", \"APP_URL\"];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n protected Upload: ng.angularFileUpload.IUploadService,\r\n protected ActivityStreamTransformers: Core.Transformers.ActivityStreamTransformers,\r\n protected NoteTransformers: Core.Transformers.NoteTransformers,\r\n protected DocumentTransformers: Core.Transformers.DocumentTransformers,\r\n protected APP_URL: string\r\n ) {\r\n this.initGetOnViewActivityStream();\r\n this.initPostOnSubmitNote();\r\n this.initPostOnUploadDocument();\r\n this.initDeleteOnDeleteDocument();\r\n }\r\n\r\n private initGetOnViewActivityStream(): void {\r\n this.userIntents.viewActivityStream\r\n .flatMap((intent: IActivityStreamGetIntent) => {\r\n return Rx.Observable.combineLatest(\r\n Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/${intent.noteResourceType}/${intent.noteResourceId}/notes`)\r\n )\r\n .catch((): IEmptyObservable => Rx.Observable.empty()),\r\n Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/${intent.documentResourceType}/${intent.documentResourceId}/documents`)\r\n )\r\n .catch((): IEmptyObservable => Rx.Observable.empty()),\r\n (notes, docs): IActivityStreamViewModelsSet => {\r\n return {\r\n notes: notes.data.result,\r\n documents: docs.data.result\r\n }\r\n }\r\n )\r\n })\r\n .map((notesAndDocs: IActivityStreamViewModelsSet) => {\r\n return this.ActivityStreamTransformers.IActivityStreamViewModelSet_IActivityStreamItemArray(notesAndDocs);\r\n })\r\n .subscribe((activityStreamItems) => {\r\n this.httpResults.viewActivityStreamSuccess.onNext(activityStreamItems)\r\n });\r\n }\r\n\r\n private initPostOnSubmitNote () {\r\n this.userIntents.submitNote\r\n .flatMap((intent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.post(`/v1/${intent.resourceType}/${intent.resourceId}/notes`, {\r\n body: intent.note\r\n })\r\n )\r\n .catch(() => Rx.Observable.empty());\r\n })\r\n .map((response: IResponse) => {\r\n return this.ActivityStreamTransformers.Note_IActivityStreamItem(response.data.result);\r\n })\r\n .subscribe((note) => {\r\n this.httpResults.submitNoteSuccess.onNext(note);\r\n })\r\n }\r\n\r\n private initPostOnUploadDocument () {\r\n this.userIntents.uploadDocument\r\n .flatMap((intent) => {\r\n return Rx.Observable.fromPromise(\r\n this.Upload.upload({\r\n url: `${this.APP_URL}/v1/${intent.resourceType}/${intent.resourceId}/documents`,\r\n data: {\r\n file: intent.file,\r\n documentName: intent.documentName,\r\n documentType: intent.documentType\r\n },\r\n method: \"POST\"\r\n })\r\n )\r\n .catch (() => Rx.Observable.empty());\r\n })\r\n .map((response: IResponse) => {\r\n return this.ActivityStreamTransformers.Document_IActivityStreamItem(response.data.result);\r\n })\r\n .subscribe((document) => {\r\n this.httpResults.uploadDocumentSuccess.onNext(document);\r\n });\r\n }\r\n\r\n private initDeleteOnDeleteDocument () {\r\n this.userIntents.deleteDocument\r\n .flatMap((intent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.delete(`/v1/${intent.resourceType}/${intent.resourceId}/documents/${intent.documentId}`)\r\n )\r\n .map((): IActivityStreamDeleteDocumentIntent => {\r\n return intent;\r\n })\r\n .catch ((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .subscribe((intent) => {\r\n this.httpResults.deleteDocumentSuccess.onNext(intent);\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"ActivityStreamEvents\", ActivityStreamEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export type ActivityStreamStateContext = 'organisations' | 'people' | 'assignments' | 'assessments';\r\n\r\n export class ActivityStreamState {\r\n activityStreamItems: Models.IActivityStreamItem[];\r\n filteredActivityStreamItems: Models.IActivityStreamItem[];\r\n filter: Models.ActivityStreamFilterType;\r\n note: string;\r\n isSubmittingNote: boolean;\r\n documentType: string;\r\n isUploadingDocument: boolean;\r\n isDeletingDocument: boolean;\r\n documentResourceType: ActivityStreamStateContext;\r\n documentResourceId: number;\r\n documentRiskAssessmentType: string;\r\n noteResourceType: ActivityStreamStateContext;\r\n noteResourceId: number;\r\n \r\n\r\n constructor () {\r\n this.setDefaultState();\r\n }\r\n\r\n setActivityStreamItems (items: Models.IActivityStreamItem[]) {\r\n this.activityStreamItems = items;\r\n this.filteredActivityStreamItems = items;\r\n this.filter = 'all';\r\n }\r\n\r\n setResources (documentResourceType: ActivityStreamStateContext, documentResourceId: number, noteResourceType: ActivityStreamStateContext, noteResourceId: number, documentRiskAssessmentType: string) {\r\n this.documentResourceType = documentResourceType;\r\n this.documentResourceId = documentResourceId;\r\n this.noteResourceType = noteResourceType;\r\n this.noteResourceId = noteResourceId;\r\n this.documentRiskAssessmentType = documentRiskAssessmentType;\r\n }\r\n\r\n filterByType (type: Models.ActivityStreamFilterType) {\r\n this.filteredActivityStreamItems = R.filter((item: Models.IActivityStreamItem) => type === 'all' || item.itemType === type, this.activityStreamItems);\r\n }\r\n\r\n setNote(note: string) {\r\n this.note = note;\r\n }\r\n\r\n addNoteItem(item: Models.IActivityStreamItem) {\r\n this.activityStreamItems = R.concat([item], this.activityStreamItems);\r\n this.filterByType(this.filter);\r\n this.clearNote();\r\n }\r\n\r\n addDocumentItem(item: Models.IActivityStreamItem) {\r\n this.activityStreamItems = R.concat([item], this.activityStreamItems);\r\n this.filterByType(this.filter);\r\n this.clearDocument();\r\n }\r\n\r\n removeDocumentItemById(id: number) {\r\n this.activityStreamItems = this.activityStreamItems.filter((item) => {\r\n if (item.document) {\r\n return item.document.id !== id;\r\n }\r\n return true;\r\n });\r\n this.filterByType(this.filter);\r\n this.isDeletingDocument = false;\r\n }\r\n\r\n setStateToSubmittingNote () {\r\n this.isSubmittingNote = true;\r\n }\r\n\r\n setStateToDeletingDocument () {\r\n this.isDeletingDocument = true;\r\n }\r\n\r\n setDocumentType (type: string) {\r\n this.documentType = type;\r\n }\r\n\r\n setStateToUploading () {\r\n this.isUploadingDocument = true;\r\n }\r\n\r\n private clearDocument () {\r\n this.isUploadingDocument = false;\r\n this.documentType = '';\r\n }\r\n\r\n private clearNote () {\r\n this.isSubmittingNote = false;\r\n this.note = '';\r\n }\r\n\r\n private setDefaultState () {\r\n this.activityStreamItems = [];\r\n this.filteredActivityStreamItems = [];\r\n this.note = '';\r\n this.filter = 'all';\r\n this.isSubmittingNote = false;\r\n this.isUploadingDocument = false;\r\n this.documentType = '';\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"ActivityStreamState\", ActivityStreamState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export class RiskStatusState {\r\n\r\n public assessment: Models.IAssessment;\r\n public statuses: IDictionary;\r\n\r\n constructor() {\r\n this.setDefaultState();\r\n }\r\n\r\n setDefaultState() {\r\n this.assessment = {};\r\n this.statuses = {};\r\n }\r\n\r\n getStatusByGroupTypeAndId(groupTypeId, statusId): Models.IStatus {\r\n return Utils.Status.getStatusByGroupTypeAndId(groupTypeId, statusId, this.statuses);\r\n }\r\n\r\n setStatuses(statuses: IDictionary) {\r\n this.statuses = Utils.Status.mergeStatusStyleWithStatuses(statuses, Sonovate.Config.RiskStatusStyles);\r\n }\r\n\r\n setAssessmentStatus(status: Enums.AssessmentStatus) {\r\n this.assessment.assessmentStatus = status;\r\n }\r\n\r\n setAssessment(assessment: Models.IAssessment) {\r\n this.assessment = assessment;\r\n }\r\n\r\n getAssessmentTypeStatuesAsRadioItems(): Models.IRadioItem[] {\r\n return Utils.Status.IStatusArray_IRadioItemArray(\r\n Utils.Status.getStatusesByGroupType(this.statuses, this.assessment.assessmentType)\r\n );\r\n }\r\n\r\n getGroupTypeStatusesAsDropdownItems(groupTypeId: string): Models.IDropdownItem[] {\r\n return this.IStatusArray_IDropdownItemArray(this.getStatusesByGroupType(groupTypeId));\r\n }\r\n\r\n private IStatusArray_IDropdownItemArray(statuses: Models.IStatus[]): Models.IDropdownItem[] {\r\n return statuses.map((status: Models.IStatus): Models.IDropdownItem => {\r\n return {\r\n value: status.id,\r\n text: status.text,\r\n icon: status.icon, \r\n color: status.color\r\n };\r\n });\r\n }\r\n public getStatusesByGroupType(groupTypeId: string): Models.IStatus[] {\r\n if (this.statuses.hasOwnProperty(groupTypeId)) {\r\n return this.statuses[groupTypeId];\r\n }\r\n return [];\r\n }\r\n \r\n public getStatusesAsDropdownItems (): IDictionary {\r\n return R.mapObjIndexed(\r\n (statuses: Models.IStatus[]): Models.IDropdownItem[] => this.IStatusArray_IDropdownItemArray(statuses), \r\n this.statuses\r\n );\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"RiskStatusState\", RiskStatusState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n export let EditTermsFormStateUpdates = (\r\n EditTermsFormState: Sonovate.Core.State.EditTermsFormState, \r\n EditTermsFormEvents: Sonovate.Core.Events.EditTermsFormEvents, \r\n AgreementEvents: Events.IAgreementEvents\r\n ) => {\r\n \r\n let subject = new Rx.BehaviorSubject(EditTermsFormState);\r\n\r\n EditTermsFormEvents.userIntents.setTermsForEdit\r\n .subscribe((terms: Models.ITermsTemplate) => {\r\n EditTermsFormState.setTerms(terms);\r\n EditTermsFormState.resetSubmissionAndErrorStatus();\r\n subject.onNext(EditTermsFormState);\r\n });\r\n\r\n EditTermsFormEvents.httpResults.getTermsTemplateForEditCompleted\r\n .subscribe((terms: Models.ITermsTemplate) => {\r\n EditTermsFormState.setTerms(terms);\r\n EditTermsFormState.resetSubmissionAndErrorStatus();\r\n subject.onNext(EditTermsFormState);\r\n });\r\n\r\n EditTermsFormEvents.userIntents.getTermsTemplateForEdit\r\n .subscribe(() => {\r\n EditTermsFormState.setLoadingState();\r\n subject.onNext(EditTermsFormState);\r\n });\r\n\r\n EditTermsFormEvents.userIntents.saveEditedTermsProposals\r\n .merge(EditTermsFormEvents.userIntents.saveEditedTermsAssignments)\r\n .subscribe(() => {\r\n EditTermsFormState.setSavingState();\r\n subject.onNext(EditTermsFormState);\r\n });\r\n\r\n EditTermsFormEvents.httpResults.saveEditedTermsForAssignmentCompleted\r\n .merge( EditTermsFormEvents.httpResults.saveEditedTermsForProposalCompleted)\r\n .subscribe(() => {\r\n EditTermsFormState.resetSubmissionAndErrorStatus();\r\n subject.onNext(EditTermsFormState);\r\n });\r\n\r\n EditTermsFormEvents.userIntents.updateSelectedSectionId\r\n .subscribe((id: number) => {\r\n EditTermsFormState.setSelectedSectionId(id);\r\n subject.onNext(EditTermsFormState);\r\n });\r\n\r\n EditTermsFormEvents.userIntents.resetSelectedSectionId\r\n .subscribe(() => {\r\n EditTermsFormState.resetSelectedSectionId();\r\n subject.onNext(EditTermsFormState);\r\n });\r\n\r\n EditTermsFormEvents.httpResults.saveEditedTermsForAssignmentError\r\n .subscribe((error: string) => {\r\n EditTermsFormState.resetSubmissionAndErrorStatus();\r\n EditTermsFormState.setError(error);\r\n subject.onNext(EditTermsFormState);\r\n });\r\n\r\n EditTermsFormEvents.httpResults.saveEditedTermsForProposalError\r\n .subscribe((error: string) => {\r\n EditTermsFormState.resetSubmissionAndErrorStatus();\r\n EditTermsFormState.setError(error);\r\n subject.onNext(EditTermsFormState);\r\n });\r\n\r\n EditTermsFormEvents.userIntents.clearErrors\r\n .subscribe(() => {\r\n EditTermsFormState.resetSubmissionAndErrorStatus();\r\n EditTermsFormState.clearErrors();\r\n subject.onNext(EditTermsFormState);\r\n });\r\n\r\n return subject;\r\n }\r\n angular.module(\"sonovate.core\").factory(\"EditTermsFormStateUpdates\", EditTermsFormStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export class EditTermsFormState {\r\n submissionStatus: Models.submissionStatus;\r\n templateTerm: Models.ITermsTemplate = this.getDefaultTerms(); \r\n hasErrors: boolean;\r\n returnRoute: Events.ISpecifyReturnRouteIntent;\r\n selectedSectionId: number;\r\n isLoading: boolean = false;\r\n isSaving: boolean = false;\r\n error: string;\r\n \r\n setError(error: string) {\r\n this.hasErrors = true;\r\n this.error = error;\r\n }\r\n\r\n clearErrors() {\r\n this.hasErrors = false;\r\n this.error = null;\r\n }\r\n\r\n resetSubmissionAndErrorStatus() {\r\n this.hasErrors = false;\r\n this.isLoading = false;\r\n this.isSaving = false;\r\n }\r\n\r\n setLoadingState() {\r\n this.isLoading = true;\r\n }\r\n\r\n setSavingState() {\r\n this.isSaving = true;\r\n }\r\n\r\n getDefaultTerms(): Models.ITermsTemplate {\r\n return {\r\n sections: [{\r\n sectionId: 0,\r\n name: \"Default\",\r\n canEdit: false\r\n }],\r\n scope: \"None\",\r\n customerName: \"Default\",\r\n title: \"None\"\r\n }\r\n }\r\n\r\n setTerms(terms: Models.ITermsTemplate): void {\r\n this.templateTerm = terms\r\n }\r\n\r\n setSelectedSectionId(id: number): void {\r\n this.selectedSectionId = id;\r\n }\r\n\r\n resetSelectedSectionId(): void {\r\n this.selectedSectionId = null;\r\n }\r\n\r\n protected resetTemplateTerm () {\r\n this.templateTerm = {\r\n templateId: 0,\r\n title: \"\", \r\n lastUsed: \"\",\r\n isDefault: false\r\n };\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"EditTermsFormState\", EditTermsFormState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n export class EditTermsFormEvents {\r\n\r\n userIntents = {\r\n setTermsForEdit: new Rx.Subject(),\r\n clearForm: new Rx.Subject(),\r\n getTermsTemplateForEdit: new Rx.Subject(),\r\n updateSelectedSectionId: new Rx.Subject(),\r\n resetSelectedSectionId: new Rx.Subject(),\r\n updateSelectedSectionContent: new Rx.Subject(),\r\n saveEditedTermsProposals: new Rx.Subject(),\r\n saveEditedTermsAssignments: new Rx.Subject(),\r\n clearErrors: new Rx.Subject()\r\n };\r\n\r\n httpResults = {\r\n getTermsTemplateForEditCompleted: new Rx.Subject(),\r\n getTermsTemplateForEditError: new Rx.Subject(),\r\n saveEditedTermsForProposalCompleted: new Rx.Subject(),\r\n saveEditedTermsForProposalError: new Rx.Subject(),\r\n saveEditedTermsForAssignmentCompleted: new Rx.Subject(),\r\n saveEditedTermsForAssignmentError: new Rx.Subject()\r\n };\r\n\r\n static $inject: string[] = [\r\n \"httpService\", \r\n \"TermsTransformers\", \r\n \"Upload\", \r\n \"APP_URL\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private TermsTransformers: Transformers.TermsTransformers,\r\n private Upload: ng.angularFileUpload.IUploadService,\r\n private APP_URL: string\r\n ){\r\n this.initSaveEditedTemplateTermsProposals();\r\n this.initSaveEditedTemplateTermsAssignments();\r\n }\r\n \r\n private initSaveEditedTemplateTermsProposals(): void {\r\n this.userIntents.saveEditedTermsProposals\r\n .map((intent: ISaveEditedTemplateUserIntent) => {\r\n return this.TermsTransformers.ITermsTemplate_EditTemplate(intent.terms)\r\n })\r\n .flatMap((given: Sonovate.RequestModels.ServiceAgreement.EditTemplate) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/proposals/terms/${given.templateId}`, {\r\n templateId: given.templateId,\r\n sections: given.sections\r\n })\r\n )\r\n .catch((error: IErrorResponse): any => {\r\n this.httpResults.saveEditedTermsForProposalError.onNext(error.data.result['error']);\r\n return Rx.Observable.empty();\r\n });\r\n })\r\n .map((response) => {\r\n return response.data.result;\r\n })\r\n .map((terms: ViewModels.ServiceAgreement.Terms): Models.ITermsTemplate => {\r\n return this.TermsTransformers.Terms_ITermsTemplate(terms);\r\n })\r\n .subscribe(this.httpResults.saveEditedTermsForProposalCompleted);\r\n }\r\n \r\n private initSaveEditedTemplateTermsAssignments(): void {\r\n this.userIntents.saveEditedTermsAssignments\r\n .map((intent: ISaveEditedTemplateUserIntent) => {\r\n return this.TermsTransformers.ITermsTemplate_EditTemplate(intent.terms)\r\n })\r\n .flatMap((given: Sonovate.RequestModels.ServiceAgreement.EditTemplate) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/assignments/terms/${given.templateId}`, {\r\n templateId: given.templateId,\r\n sections: given.sections\r\n })\r\n )\r\n .catch((error: IErrorResponse): any => {\r\n this.httpResults.saveEditedTermsForAssignmentError.onNext(error.data.result['error']);\r\n return Rx.Observable.empty();\r\n });\r\n })\r\n .map((response) => {\r\n return response.data.result;\r\n })\r\n .map((terms: ViewModels.ServiceAgreement.Terms): Models.ITermsTemplate => {\r\n return this.TermsTransformers.Terms_ITermsTemplate(terms);\r\n })\r\n .subscribe(this.httpResults.saveEditedTermsForAssignmentCompleted);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"EditTermsFormEvents\", EditTermsFormEvents);\r\n\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export class DeepLinkState {\r\n route: string;\r\n params: IDictionary;\r\n\r\n constructor() {\r\n this.setDefaultState();\r\n }\r\n\r\n setRouteAndParams(route: string, params: IDictionary) {\r\n this.route = route;\r\n this.params = params;\r\n }\r\n\r\n reset() {\r\n this.setDefaultState();\r\n }\r\n\r\n private setDefaultState() {\r\n this.route = 'sonovate.Timesheets';\r\n this.params = {};\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"DeepLinkState\", DeepLinkState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class SigninTransformers {\r\n\r\n UserAccount_ISignedInUser (viewModel: ViewModels.Directory.UserAccount): Models.ISignedInUser {\r\n return {\r\n token: viewModel.token,\r\n id: viewModel.id || null,\r\n personId: viewModel.personId || null,\r\n firstName: viewModel.firstName || '',\r\n lastName: viewModel.lastName || '',\r\n email: viewModel.emailAddress,\r\n imageUrl: viewModel.pictureUrl || '',\r\n languageCode: viewModel.languageCode,\r\n organisationId: viewModel.organisationId,\r\n organisationName: viewModel.organisationName || '',\r\n settings: this.ApplicationPreferences_ISignedInUserSettings(viewModel.settings ? viewModel.settings : {}),\r\n permissions: this.setUserAccountPermissionsAsFlags(viewModel.permissions ? viewModel.permissions : []),\r\n roles: this.setUserAccountRolesAsFlags(viewModel.roles ? viewModel.roles : []),\r\n userType: viewModel.userType,\r\n shortName: viewModel.shortName,\r\n migrationDate: viewModel.migrationDate\r\n }\r\n }\r\n\r\n ApplicationPreferences_ISignedInUserSettings (viewModel: ViewModels.Directory.ApplicationPreferences): Models.ISignedInUserSettings {\r\n return {\r\n language: viewModel.language || '',\r\n countryCode: viewModel.countryCode || '',\r\n timeZone: viewModel.timeZone || '',\r\n dateFormat: viewModel.dateFormat || '',\r\n timeFormat: viewModel.timeFormat || '',\r\n weekStart: viewModel.weekStart || 'Sunday',\r\n subscriptions: viewModel.subscriptions || [],\r\n }\r\n }\r\n\r\n private setUserAccountPermissionsAsFlags(permissions: Enums.UserAccountPermissionType[]): Models.ISignedInUserPermissions {\r\n return {\r\n isSonovateAdmin: Utils.Permissions.hasPermission(permissions, \"PermissionType.Sonovate.Name\"),\r\n isCandidate: Utils.Permissions.hasPermission(permissions, \"PermissionType.Candidate.Name\"),\r\n isClientAuthoriser: Utils.Permissions.hasPermission(permissions, \"PermissionType.ClientAuthoriser.Name\")\r\n };\r\n }\r\n\r\n private setUserAccountRolesAsFlags(roles: Enums.UserAccountRolesType[]): Models.ISignedInUserRoles {\r\n return {\r\n isSuperUser: Utils.Roles.hasRole(roles, \"Role.SuperUser.Name\"),\r\n isSonovateAdmin: Utils.Roles.hasRole(roles, \"Role.SonovateAdmin.Name\"),\r\n isCandidate: Utils.Roles.hasRole(roles, \"Role.Candidate.Name\"),\r\n isClientAuthoriser: Utils.Roles.hasRole(roles, \"Role.ClientAuthoriser.Name\")\r\n };\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"SigninTransformers\", SigninTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export class SigninState {\r\n email: string;\r\n password: string;\r\n errorText: string;\r\n nonLocalisedErrorText: string;\r\n isShowingPassword: boolean;\r\n isSigningIn: boolean;\r\n hasErrors: boolean;\r\n\r\n constructor() {\r\n this.setDefaultState();\r\n }\r\n\r\n clearState(): void {\r\n this.email=\"\";\r\n this.password=\"\";\r\n }\r\n\r\n setEmail(email) {\r\n this.email = email;\r\n }\r\n\r\n setPassword(password) {\r\n this.password = password;\r\n }\r\n\r\n setError(error: string) {\r\n this.errorText = error;\r\n this.isSigningIn = false;\r\n this.hasErrors = true;\r\n }\r\n\r\n setNonLocalisedError(error: string) {\r\n this.nonLocalisedErrorText = error;\r\n this.isSigningIn = false;\r\n this.hasErrors = true;\r\n }\r\n\r\n toggleShowPassword() {\r\n this.isShowingPassword = ! this.isShowingPassword;\r\n }\r\n\r\n beginSignIn() {\r\n this.isSigningIn = true;\r\n }\r\n\r\n completeSignIn() {\r\n this.isSigningIn = false;\r\n this.hasErrors = false;\r\n }\r\n\r\n private setDefaultState() {\r\n this.email = '';\r\n this.password = '';\r\n this.isShowingPassword = false;\r\n this.isSigningIn = false;\r\n this.errorText = '';\r\n this.hasErrors = false;\r\n this.nonLocalisedErrorText = \"\";\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"SigninState\", SigninState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n interface ISigninIntent {\r\n email: string;\r\n password: string;\r\n }\r\n\r\n interface ISigninUserIntents {\r\n clickGoogleButton: Rx.Subject;\r\n clickLinkedinButton: Rx.Subject;\r\n typeEmail: Rx.Subject;\r\n typePassword: Rx.Subject;\r\n toggleShowPassword: Rx.Subject;\r\n submitSignin: Rx.Subject;\r\n }\r\n\r\n interface ISigninHttpResults {\r\n submitSigninSuccess: Rx.Subject;\r\n submitSigninError: Rx.Subject;\r\n signInFromExternalSourceWithTokenSuccess: Rx.Subject;\r\n }\r\n\r\n export class SigninEvents {\r\n\r\n userIntents: ISigninUserIntents = { \r\n clickGoogleButton: new Rx.Subject(),\r\n clickLinkedinButton: new Rx.Subject(),\r\n typeEmail: new Rx.Subject(),\r\n typePassword: new Rx.Subject(),\r\n toggleShowPassword: new Rx.Subject(),\r\n submitSignin: new Rx.Subject()\r\n }\r\n\r\n httpResults: ISigninHttpResults = {\r\n submitSigninSuccess: new Rx.Subject(),\r\n submitSigninError: new Rx.Subject(),\r\n signInFromExternalSourceWithTokenSuccess: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"SigninTransformers\",\r\n \"OAuthPopupService\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private SigninTransformers: Core.Transformers.SigninTransformers,\r\n private OAuthPopupService: Core.Utils.OAuthPopupService\r\n ) {\r\n this.initGetOnSubmitSignin();\r\n this.initOpenPopupOnClickGoogleButton();\r\n this.initOpenPopupOnClickLinkedinButton();\r\n }\r\n\r\n private initGetOnSubmitSignin() { \r\n this.userIntents.submitSignin\r\n .flatMap((intent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.post(`/v1/auth/sign-in`, {\r\n email: intent.email,\r\n password: intent.password\r\n })\r\n )\r\n .catch((response: IResponse): IEmptyObservable => {\r\n this.httpResults.submitSigninError.onNext(\r\n response.data.result.errors ? \r\n Sonovate.Core.Utils.Errors.getFirstErrorFromErrors(response.data.result.errors) : \r\n response.data.result['error']\r\n );\r\n return Rx.Observable.empty();\r\n }); \r\n }) \r\n .map((response: IResponse) => {\r\n return this.SigninTransformers.UserAccount_ISignedInUser(response.data.result);\r\n })\r\n .subscribe(this.httpResults.submitSigninSuccess);\r\n }\r\n\r\n private initOpenPopupOnClickGoogleButton() {\r\n this.userIntents.clickGoogleButton\r\n .map(() => {\r\n this.OAuthPopupService.openGoogleOAuthPopup(null);\r\n })\r\n .subscribe();\r\n }\r\n\r\n private initOpenPopupOnClickLinkedinButton() {\r\n this.userIntents.clickLinkedinButton\r\n .map(() => {\r\n this.OAuthPopupService.openLinkedinOAuthPopup(null);\r\n })\r\n .subscribe();\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"SigninEvents\", SigninEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n interface IOAuthUserIntents {\r\n getUserAccountFromOauthCode: Rx.Subject;\r\n setErrorsFromFailedOauthSignin: Rx.Subject;\r\n }\r\n\r\n interface IOauthHttpResults {\r\n getUserAccountFromOauthCodeSuccess: Rx.Subject;\r\n }\r\n\r\n export class OAuthEvents {\r\n\r\n userIntents: IOAuthUserIntents = {\r\n getUserAccountFromOauthCode: new Rx.Subject(),\r\n setErrorsFromFailedOauthSignin: new Rx.Subject()\r\n }\r\n\r\n httpResults: IOauthHttpResults = {\r\n getUserAccountFromOauthCodeSuccess: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\"httpService\", \"SigninTransformers\", \"MessageBarEvents\"];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private SigninTransformers: Sonovate.Core.Transformers.SigninTransformers,\r\n private MessageBarEvents: Events.MessageBarEvents\r\n ) {\r\n this.initGetOnGetUserAccountFromOAuthCode();\r\n }\r\n\r\n private initGetOnGetUserAccountFromOAuthCode() {\r\n this.userIntents.getUserAccountFromOauthCode\r\n .flatMap((code) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/oauth/profile/${code}`)\r\n )\r\n .catch((error: any): IEmptyObservable => {\r\n return Rx.Observable.empty()\r\n });\r\n })\r\n .map((response: IResponse) => {\r\n return this.SigninTransformers.UserAccount_ISignedInUser(response.data.result);\r\n })\r\n .subscribe(this.httpResults.getUserAccountFromOauthCodeSuccess);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"OAuthEvents\", OAuthEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n interface DeepLinkIntent {\r\n route: string;\r\n params: IDictionary;\r\n }\r\n\r\n interface IDeepLinkUserIntents {\r\n userGetsA401: Rx.Subject;\r\n redirectToRouteWithParams: Rx.Subject;\r\n }\r\n\r\n export class DeepLinkEvents {\r\n userIntents: IDeepLinkUserIntents = {\r\n userGetsA401: new Rx.Subject(),\r\n redirectToRouteWithParams: new Rx.Subject(),\r\n }\r\n\r\n $inject = [\"$state\"];\r\n\r\n constructor(\r\n protected $state: ng.ui.IStateService\r\n ) {\r\n this.initRedirectOnRedirectToRouteWithParams();\r\n }\r\n\r\n private initRedirectOnRedirectToRouteWithParams () {\r\n this.userIntents.redirectToRouteWithParams\r\n .map((intent) => {\r\n intent.params['signupToken'] = undefined;\r\n this.$state.go(intent.route, intent.params);\r\n })\r\n .subscribe();\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"DeepLinkEvents\", DeepLinkEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Utils {\r\n\r\n export class OAuthPopupService {\r\n\r\n localisedText: IDictionary = {};\r\n\r\n static $inject = [\r\n \"$state\",\r\n \"APP_URL\",\r\n 'apiKey'\r\n ];\r\n\r\n constructor(\r\n protected $state: ng.ui.IStateService,\r\n protected APP_URL: string,\r\n protected apiKey: Sonovate.IApiKey\r\n ) {\r\n }\r\n\r\n openGoogleOAuthPopup(signupToken) {\r\n this.openPopup(\r\n this.getUrlForOAuthProvider('google', signupToken)\r\n );\r\n }\r\n\r\n openLinkedinOAuthPopup(signupToken) {\r\n this.openPopup(\r\n this.getUrlForOAuthProvider('linkedin', signupToken)\r\n );\r\n }\r\n\r\n private openPopup (url) {\r\n var newWindow = window.open(url, '', 'scrollbars=yes, width=' + 400 + ', height=' + 500 + ', top=' + this.getTop() + ', left=' + this.getLeft());\r\n\r\n if (window.focus) {\r\n newWindow.focus();\r\n }\r\n }\r\n\r\n private getLeft() {\r\n let dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen['left'];\r\n let width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;\r\n return ((width / 2) - 200) + dualScreenLeft;\r\n }\r\n\r\n private getTop() {\r\n let dualScreenTop = window.screenTop != undefined ? window.screenTop : screen['top'];\r\n let height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;\r\n return ((height / 2) - 250) + dualScreenTop;\r\n }\r\n\r\n private getAppUrl() {\r\n return this.APP_URL.replace(/\\/$/, \"\");\r\n }\r\n\r\n private getOAuthCallbackUrl() {\r\n return this.$state.href(\"sonovate.OAuthInPopupCallback\", {\r\n signupToken: undefined\r\n }, { absolute: true });\r\n }\r\n\r\n private getSignupTokenAsQueryParam(signupToken: string) {\r\n return signupToken ? `&signupToken=${signupToken}` : '';\r\n }\r\n\r\n private getUrlForOAuthProvider(provider: string, signupToken: string) {\r\n return `${this.getAppUrl()}/oauth/${provider}?api-key=${this.apiKey.getKey()}&redirect_uri=${this.getOAuthCallbackUrl()}${this.getSignupTokenAsQueryParam(signupToken)}`\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"OAuthPopupService\", OAuthPopupService);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class SignupTransformers {\r\n\r\n IUserSignupDetails_AuthenticationRequest (model: Models.IUserSignupDetails): ViewModels.Directory.AuthenticationRequest {\r\n return {\r\n firstName: model.firstName || '',\r\n lastName: model.lastName || '',\r\n password: model.password || '',\r\n email: model.email || '',\r\n signUpToken: model.signUpToken,\r\n oAuthProvider: model.oAuthProvider || 'None',\r\n oAuthId: model.oAuthId || null,\r\n jobTitle: model.jobTitle || '',\r\n pictureUrl: model.pictureUrl || '',\r\n location: model.location || ''\r\n }\r\n }\r\n\r\n UserAccount_IUserSignupDetails (viewModel: ViewModels.Directory.UserAccount): Models.IUserSignupDetails {\r\n return {\r\n firstName: viewModel.firstName || '',\r\n lastName: viewModel.lastName || '',\r\n password: '',\r\n email: viewModel.emailAddress || '',\r\n signUpToken: viewModel.token,\r\n oAuthProvider: 'None',\r\n oAuthId: null,\r\n jobTitle: '',\r\n pictureUrl: viewModel.pictureUrl || '',\r\n location: '',\r\n acceptTermsAndConditions: true\r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"SignupTransformers\", SignupTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n \r\n export interface IUserSubmittedDetailsForAccountActivationIntent {\r\n userDetails: Models.IUserSignupDetails,\r\n isFormValid: boolean\r\n }\r\n\r\n export interface ISignupUserIntents {\r\n userToggledTermsAndConditions: Rx.Subject;\r\n submitUserTokenForAuthentication: Rx.Subject;\r\n submitUserDetailsForAccountActivation: Rx.Subject;\r\n userTypedInFirstNameInput: Rx.Subject;\r\n userTypedInLastNameInput: Rx.Subject;\r\n userTypedInEmailInput: Rx.Subject;\r\n userTypedInPasswordInput: Rx.Subject;\r\n clickGoogleButton: Rx.Subject;\r\n clickLinkedinButton: Rx.Subject;\r\n userSubmittedDetailsForAccountActivation: Rx.Subject;\r\n toggleShowPassword: Rx.Subject;\r\n formIsNotValidForSubmission: Rx.Subject;\r\n oAuthFormIsNotValidForSubmission:Rx.Subject;\r\n }\r\n\r\n export interface ISignupUserHttpResults {\r\n submitUserTokenForAuthenticationSuccess: Rx.Subject;\r\n submitUserTokenForAuthenticationFailure: Rx.Subject;\r\n userSubmittedDetailsForAccountActivationSuccess: Rx.Subject;\r\n userSubmittedDetailsForAccountActivationFailure: Rx.Subject;\r\n }\r\n\r\n export class SignupEvents {\r\n\r\n userIntents: ISignupUserIntents = {\r\n userToggledTermsAndConditions: new Rx.Subject(),\r\n submitUserTokenForAuthentication: new Rx.Subject(),\r\n submitUserDetailsForAccountActivation: new Rx.Subject(),\r\n\r\n formIsNotValidForSubmission: new Rx.Subject(),\r\n oAuthFormIsNotValidForSubmission: new Rx.Subject(),\r\n userTypedInFirstNameInput: new Rx.Subject(),\r\n userTypedInLastNameInput: new Rx.Subject(),\r\n userTypedInEmailInput: new Rx.Subject(),\r\n userTypedInPasswordInput: new Rx.Subject(),\r\n clickGoogleButton: new Rx.Subject(),\r\n clickLinkedinButton: new Rx.Subject(),\r\n userSubmittedDetailsForAccountActivation: new Rx.Subject(),\r\n toggleShowPassword: new Rx.Subject()\r\n }\r\n\r\n httpResults: ISignupUserHttpResults = {\r\n submitUserTokenForAuthenticationSuccess: new Rx.Subject(),\r\n submitUserTokenForAuthenticationFailure: new Rx.Subject(),\r\n userSubmittedDetailsForAccountActivationSuccess: new Rx.Subject(),\r\n userSubmittedDetailsForAccountActivationFailure: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"SigninTransformers\",\r\n \"SignupTransformers\",\r\n \"OAuthPopupService\",\r\n \"$location\"\r\n ];\r\n\r\n constructor(\r\n protected httpService: IHttpService,\r\n protected SigninTransformers: Core.Transformers.SigninTransformers,\r\n protected SignupTransformers: Core.Transformers.SignupTransformers,\r\n protected OAuthPopupService: Core.Utils.OAuthPopupService,\r\n protected $location: ng.ILocationService\r\n \r\n ) {\r\n this.initAuthenticateToken();\r\n this.initSubmitUserDetailsForAccountActivation();\r\n this.initIsFormInvalidOnSubmitUserDetailsForAccountActivation();\r\n this.initOpenPopupOnClickGoogleButton();\r\n this.initOpenPopupOnClickLinkedinButton();\r\n this.initIsFormInvalidOpenPopupOnClickGoogleButton();\r\n this.initIsFormInvalidOpenPopupOnClickLinkedinButton();\r\n }\r\n\r\n private initAuthenticateToken () {\r\n this.userIntents.submitUserTokenForAuthentication\r\n .flatMap((token: string) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/auth/sign-up/${token}`)\r\n )\r\n .catch((response: IResponse): IEmptyObservable => {\r\n if (response.status === 400 && response.hasResult) {\r\n this.httpResults.submitUserTokenForAuthenticationFailure.onNext(\r\n Sonovate.Core.Utils.Errors.getFirstErrorFromErrors(response.data.result.errors) \r\n ); \r\n } else if (response.status === 400 && !response.hasResult) {\r\n this.httpResults.submitUserTokenForAuthenticationFailure.onNext(\"\");\r\n }\r\n return Rx.Observable.empty();\r\n });\r\n }).map((response: IResponse)=>{\r\n return this.SignupTransformers.UserAccount_IUserSignupDetails(response.data.result);\r\n })\r\n .subscribe((UserAccount: Models.IUserSignupDetails) => {\r\n this.httpResults.submitUserTokenForAuthenticationSuccess.onNext(UserAccount);\r\n });\r\n }\r\n\r\n private initSubmitUserDetailsForAccountActivation () {\r\n this.userIntents.userSubmittedDetailsForAccountActivation\r\n .filter((intent: IUserSubmittedDetailsForAccountActivationIntent) => intent.isFormValid)\r\n .map((intent) => intent.userDetails)\r\n .map((userAccountDetails: Models.IUserSignupDetails) => this.SignupTransformers.IUserSignupDetails_AuthenticationRequest(userAccountDetails))\r\n .flatMap((userAccountViewModel: ViewModels.Directory.AuthenticationRequest) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.post('/v1/auth/sign-up', userAccountViewModel)\r\n )\r\n .catch((response: IResponse): IEmptyObservable => {\r\n if (response.status === 400) {\r\n this.httpResults.userSubmittedDetailsForAccountActivationFailure.onNext(\r\n Sonovate.Core.Utils.Errors.getFirstErrorFromErrors(response.data.result.errors)\r\n ); \r\n }\r\n return Rx.Observable.empty();\r\n }); \r\n })\r\n .map((response: IResponse) => this.SigninTransformers.UserAccount_ISignedInUser(response.data.result))\r\n .subscribe(this.httpResults.userSubmittedDetailsForAccountActivationSuccess);\r\n }\r\n \r\n private initIsFormInvalidOnSubmitUserDetailsForAccountActivation () {\r\n this.userIntents.userSubmittedDetailsForAccountActivation\r\n .filter((intent: IUserSubmittedDetailsForAccountActivationIntent) => !intent.isFormValid) \r\n .map((intent) => intent.userDetails)\r\n .subscribe(this.userIntents.formIsNotValidForSubmission)\r\n }\r\n\r\n private initOpenPopupOnClickGoogleButton() {\r\n this.userIntents.clickGoogleButton\r\n .filter((userAccountDetails) => userAccountDetails.acceptTermsAndConditions)\r\n .map((userAccountDetails) => {\r\n this.OAuthPopupService.openGoogleOAuthPopup(userAccountDetails.signUpToken);\r\n })\r\n .subscribe();\r\n }\r\n \r\n private initIsFormInvalidOpenPopupOnClickGoogleButton() {\r\n this.userIntents.clickGoogleButton\r\n .filter((userAccountDetails) => !userAccountDetails.acceptTermsAndConditions)\r\n .subscribe(this.userIntents.oAuthFormIsNotValidForSubmission)\r\n }\r\n\r\n\r\n private initOpenPopupOnClickLinkedinButton() {\r\n this.userIntents.clickLinkedinButton\r\n .filter((userAccountDetails) => userAccountDetails.acceptTermsAndConditions)\r\n .map((userAccountDetails) => {\r\n this.OAuthPopupService.openLinkedinOAuthPopup(userAccountDetails.signUpToken);\r\n })\r\n .subscribe(); \r\n }\r\n \r\n private initIsFormInvalidOpenPopupOnClickLinkedinButton() {\r\n this.userIntents.clickLinkedinButton\r\n .filter((userAccountDetails) => !userAccountDetails.acceptTermsAndConditions)\r\n .subscribe(this.userIntents.oAuthFormIsNotValidForSubmission)\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"SignupEvents\", SignupEvents);\r\n}","/// \r\nmodule Sonovate.Core.State {\r\n\r\n export interface ISignUp {\r\n userDetails: Models.IUserSignupDetails;\r\n errors: IDictionary;\r\n errorMessage: string;\r\n isShowingPassword: boolean;\r\n isSigningUp: boolean;\r\n }\r\n\r\n export class SignupState {\r\n state: ISignUp;\r\n\r\n constructor() {\r\n this.setDefaultSignedInUserState();\r\n }\r\n\r\n setUserDetailsFromAuthenticationSuccess(userDetails: Models.IUserSignupDetails) {\r\n this.state.userDetails = userDetails; \r\n }\r\n\r\n setErrorResponse(errorMessage: string) {\r\n this.state.errorMessage = errorMessage;\r\n }\r\n\r\n setFirstName(firstName: string) {\r\n this.state.userDetails.firstName = firstName;\r\n }\r\n\r\n setLastName(lastName: string) {\r\n this.state.userDetails.lastName = lastName;\r\n }\r\n\r\n setEmailAddress(email: string) {\r\n this.state.userDetails.email = email;\r\n }\r\n\r\n setPassword(password: string) {\r\n this.state.userDetails.password = password;\r\n }\r\n\r\n clearState() {\r\n this.setDefaultSignedInUserState();\r\n }\r\n\r\n toggleShowPassword() {\r\n this.state.isShowingPassword = ! this.state.isShowingPassword;\r\n }\r\n\r\n toggleTermsAndConditionsAcceptance() {\r\n this.state.userDetails.acceptTermsAndConditions = !this.state.userDetails.acceptTermsAndConditions;\r\n }\r\n\r\n beginSigningUp() {\r\n this.state.isSigningUp = true;\r\n }\r\n\r\n finishSigningUp() {\r\n this.state.isSigningUp = false;\r\n }\r\n\r\n validateState() {\r\n this.state = R.pipe(\r\n Validation.SignUp.ValidateFirstName,\r\n Validation.SignUp.ValidateLastName,\r\n Validation.SignUp.ValidatePassword,\r\n Validation.SignUp.ValidateTermsAndConditions\r\n )(this.state);\r\n }\r\n\r\n validateTermsAndConditions() {\r\n this.state = R.pipe(\r\n Validation.SignUp.ValidateTermsAndConditions\r\n )(this.state);\r\n }\r\n\r\n isFormValid() {\r\n return Validation.SignUp.IsStateValid(this.state);\r\n }\r\n \r\n\r\n private setDefaultSignedInUserState(): void {\r\n \r\n this.state = {\r\n userDetails: {\r\n firstName: \"\",\r\n lastName: \"\",\r\n password: \"\",\r\n email: \"\",\r\n signUpToken: \"\",\r\n oAuthProvider: \"None\",\r\n oAuthId: null,\r\n jobTitle: \"\",\r\n pictureUrl: \"\",\r\n location: \"\",\r\n acceptTermsAndConditions: true\r\n },\r\n errors : {\r\n \"userDetails.firstName\": {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n \"userDetails.lastName\": {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n \"userDetails.password\": {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n \"userDetails.acceptTermsAndConditions\": {\r\n isValid: true,\r\n message: \"\"\r\n }\r\n },\r\n isShowingPassword: false,\r\n isSigningUp: false,\r\n errorMessage: ''\r\n };\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"SignupState\", SignupState);\r\n}","/// \r\nmodule Sonovate.Core.State {\r\n\r\n export class PasswordStrengthState {\r\n\r\n passwordStrength: Models.IPasswordStrength;\r\n password: string;\r\n\r\n constructor() {\r\n this.setDefaultPasswordStrength();\r\n }\r\n\r\n public setPasswordValue(password): void {\r\n this.password = password;\r\n } \r\n\r\n public setPasswordStrength(password): void {\r\n switch (true) {\r\n case password.length >= 15:\r\n this.passwordStrength = 'Strong';\r\n break;\r\n case password.length >= 12:\r\n this.passwordStrength = 'Good';\r\n break;\r\n case password.length >= 8:\r\n this.passwordStrength = 'Fair';\r\n break;\r\n default:\r\n this.passwordStrength = 'Weak';\r\n }\r\n }\r\n\r\n private setDefaultPasswordStrength(): void {\r\n this.password = '';\r\n this.passwordStrength = 'Weak';\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"PasswordStrengthState\", PasswordStrengthState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class PasswordResetTransformers {\r\n\r\n RequestPasswordResetRequest_IResetPassword (viewModel: RequestModels.Gateway.RequestPasswordResetRequest): Models.IResetPassword {\r\n return {\r\n emailAddress: viewModel.emailAddress\r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"PasswordResetTransformers\", PasswordResetTransformers);\r\n}","/// \r\nmodule Sonovate.Core.State {\r\n\r\n export class PasswordResetState {\r\n\r\n emailAddress: string;\r\n errorMessage: string;\r\n emailSent: boolean;\r\n isSendingEmail: boolean;\r\n\r\n constructor() {\r\n this.setDefaultPasswordResetState();\r\n }\r\n\r\n public setEmailAddress(emailAddress: string): void {\r\n this.emailAddress = emailAddress;\r\n }\r\n\r\n public beginSendingEmail(): void {\r\n this.isSendingEmail = true;\r\n }\r\n\r\n public finishSendingEmail(): void {\r\n this.isSendingEmail = false;\r\n }\r\n\r\n public setEmailAsSent(): void {\r\n this.emailSent = true;\r\n }\r\n\r\n public setErrorMessage(errorMessage: string): void {\r\n this.errorMessage = errorMessage;\r\n }\r\n\r\n public clearState(): void {\r\n this.setDefaultPasswordResetState();\r\n }\r\n\r\n private setDefaultPasswordResetState(): void {\r\n this.emailAddress = '';\r\n this.errorMessage = '';\r\n this.emailSent = false;\r\n this.isSendingEmail = false;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"PasswordResetState\", PasswordResetState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n export interface IPasswordResetUserIntents {\r\n userRequestedAPasswordReset: Rx.Subject;\r\n clearPasswordResetState: Rx.Subject;\r\n userTypedInEmailAddressInput: Rx.Subject;\r\n }\r\n\r\n export interface IPasswordResetUserHttpResults {\r\n userRequestedAPasswordResetSuccess: Rx.Subject;\r\n userRequestedAPasswordResetFailure: Rx.Subject;\r\n }\r\n\r\n export class PasswordResetEvents {\r\n\r\n userIntents: IPasswordResetUserIntents = {\r\n userRequestedAPasswordReset: new Rx.Subject(),\r\n clearPasswordResetState: new Rx.Subject(),\r\n userTypedInEmailAddressInput: new Rx.Subject()\r\n }\r\n\r\n httpResults: IPasswordResetUserHttpResults = {\r\n userRequestedAPasswordResetSuccess: new Rx.Subject(),\r\n userRequestedAPasswordResetFailure: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"PasswordResetTransformers\"\r\n ];\r\n\r\n constructor(\r\n protected httpService: IHttpService,\r\n protected PasswordResetTransformers: Core.Transformers.PasswordResetTransformers,\r\n ) {\r\n this.initRequestPasswordResetRequest();\r\n }\r\n\r\n private initRequestPasswordResetRequest () {\r\n this.userIntents.userRequestedAPasswordReset\r\n .flatMap((emailAddress: string) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.post(\"/v1/user-accounts/request-password-reset\", {\r\n emailAddress: emailAddress\r\n })\r\n )\r\n .catch((response: IResponse): IEmptyObservable => {\r\n this.httpResults.userRequestedAPasswordResetFailure.onNext(\r\n Sonovate.Core.Utils.Errors.getFirstErrorFromErrors(response.data.result.errors)\r\n ); \r\n return Rx.Observable.empty();\r\n });\r\n })\r\n .subscribe((emailAddressObject: Models.IResetPassword) => {\r\n this.httpResults.userRequestedAPasswordResetSuccess.onNext(null);\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"PasswordResetEvents\", PasswordResetEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n export interface IRiskUserIntents {\r\n setAssessmentStatus: Rx.Subject;\r\n carryOutGetRiskStatusesHttpRequest: Rx.Subject;\r\n submitRiskStatus: Rx.Subject;\r\n submitRiskFlags: Rx.Subject;\r\n }\r\n\r\n export interface IRiskHttpResults {\r\n carryOutGetRiskStatusesHttpRequestSuccessful: Rx.Subject>;\r\n submittedRiskStatusSuccessful: Rx.Subject;\r\n submittedRiskStatusError: Rx.Subject;\r\n submittedRiskFlagsSuccessful: Rx.Subject;\r\n submittedRiskFlagsError: Rx.Subject;\r\n }\r\n\r\n export class RiskEvents {\r\n\r\n userIntents: IRiskUserIntents = {\r\n setAssessmentStatus: new Rx.Subject(),\r\n carryOutGetRiskStatusesHttpRequest: new Rx.Subject(),\r\n submitRiskStatus: new Rx.Subject(),\r\n submitRiskFlags: new Rx.Subject()\r\n }\r\n\r\n httpResults: IRiskHttpResults = {\r\n carryOutGetRiskStatusesHttpRequestSuccessful: new Rx.Subject>(),\r\n submittedRiskStatusSuccessful: new Rx.Subject(),\r\n submittedRiskStatusError: new Rx.Subject(),\r\n submittedRiskFlagsSuccessful: new Rx.Subject(),\r\n submittedRiskFlagsError: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"RiskTransformers\"\r\n ]; \r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private RiskTransformers: Transformers.RiskTransformers\r\n ) {\r\n this.getOncarryOutGetRiskStatusesHttpRequest();\r\n this.putRiskFlagsOnSubmitRiskFlags();\r\n this.putRiskStatusOnSubmitRiskStatus();\r\n }\r\n\r\n protected getOncarryOutGetRiskStatusesHttpRequest (): void {\r\n this.userIntents.carryOutGetRiskStatusesHttpRequest\r\n .flatMap(() => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.getReferenceData>(`/v1/risk/statuses`)\r\n )\r\n .retry(3)\r\n .catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .map((response) => response.data.result)\r\n .map((statuses: IDictionary) => \r\n this.RiskTransformers.DictionaryOfAssessmentStatusViewModelArray_DictionaryOfIStatusArray(statuses)\r\n )\r\n .subscribe(this.httpResults.carryOutGetRiskStatusesHttpRequestSuccessful)\r\n }\r\n\r\n protected putRiskStatusOnSubmitRiskStatus() : void {\r\n this.userIntents.submitRiskStatus\r\n .flatMap((given: IRiskVerificationIntent) => {\r\n let ownerId = given.ownerId;\r\n \r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/risk/assessments/${given.assessmentId}/risk-status`, {\r\n id: given.status,\r\n note: {\r\n body: given.note\r\n }\r\n })\r\n ).map(() => {\r\n return {\r\n assessmentId: given.assessmentId,\r\n assessmentStatus: given.status\r\n }\r\n }).catch((): IEmptyObservable => Rx.Observable.empty())\r\n })\r\n .subscribe((given) => {\r\n this.httpResults.submittedRiskStatusSuccessful.onNext(given);\r\n });\r\n }\r\n\r\n protected putRiskFlagsOnSubmitRiskFlags() : void {\r\n this.userIntents.submitRiskFlags\r\n .flatMap((given: IRiskVerificationIntent) => {\r\n let ownerId = given.ownerId;\r\n\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/risk/assessments/${given.assessmentId}/risk-flags`, {\r\n flags: given.flags,\r\n noteText: given.note\r\n })\r\n ).map((response: any) => {\r\n return {\r\n result: response.data.result,\r\n ownerId: ownerId\r\n }\r\n }).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.submittedRiskFlagsError.onNext(error.data.result);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .subscribe((given) => {\r\n this.httpResults.submittedRiskFlagsSuccessful.onNext({\r\n result: given.result\r\n });\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"RiskEvents\", RiskEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class RiskTransformers {\r\n\r\n DictionaryOfAssessmentStatusViewModelArray_DictionaryOfIStatusArray(viewModel: IDictionary): IDictionary {\r\n return >R.fromPairs(\r\n R.zip(\r\n this.Dictionary_PascalCaseStringArray(viewModel),\r\n this.DictionaryOfAssessmentStatusViewModelArray_IStatusArray(viewModel)\r\n )\r\n );\r\n }\r\n\r\n Dictionary_PascalCaseStringArray(dictionary:IDictionary): string[] {\r\n return R.pipe(\r\n R.keys,\r\n R.map((key:string) => key.charAt(0).toUpperCase().concat(key.slice(1)) )\r\n )(dictionary);\r\n }\r\n\r\n DictionaryOfAssessmentStatusViewModelArray_IStatusArray(viewModel: IDictionary): Models.IStatus[] {\r\n return R.pipe(\r\n R.values,\r\n R.map((array: ViewModels.Risk.AssessmentStatus[]) => this.AssessmentStatusViewModelArray_IStatusArray(array))\r\n )(viewModel);\r\n } \r\n\r\n AssessmentStatusViewModelArray_IStatusArray (viewModel: ViewModels.Risk.AssessmentStatus[]): Models.IStatus[] {\r\n return R.map((item) => this.AssessmentStatusViewModel_IStatus(item), viewModel);\r\n }\r\n\r\n AssessmentStatusViewModel_IStatus (viewModel: ViewModels.Risk.AssessmentStatus): Models.IStatus { \r\n return {\r\n id: viewModel.id,\r\n text: viewModel.text\r\n };\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"RiskTransformers\", RiskTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export class PersonSettingsProfileState {\r\n\r\n profile: Models.IPersonProfile;\r\n editEmailMode: boolean = false;\r\n emailToEdit: string = \"\";\r\n showPassword: boolean = false;\r\n password: string = \"\";\r\n saving: boolean = false;\r\n enableInfoPanel: boolean = false;\r\n showEmailChangeMessageBox: boolean = false;\r\n changeEmailConfirmationStatus: \"\" | \"confirmed\" | \"canceled\" | \"pending\" | \"errored\";\r\n uploading: boolean;\r\n\r\n constructor() {\r\n this.setDefaultState();\r\n }\r\n\r\n setPersonId(id) {\r\n this.profile.id = id;\r\n }\r\n\r\n setPerson(profile: Models.IPersonProfile) {\r\n this.profile = profile;\r\n }\r\n\r\n setDefaultState() {\r\n this.profile = {\r\n id: null,\r\n firstName: \"\",\r\n lastName: \"\",\r\n fullName: \"\",\r\n primaryEmail: \"\",\r\n pictureUrl: null,\r\n taxProfiles: [],\r\n phoneNumbers: [],\r\n newEmail: \"\",\r\n newEmailSentOn: \"\"\r\n }\r\n }\r\n\r\n hasPhoneNumbers(): boolean {\r\n return this.profile.phoneNumbers.length > 0;\r\n }\r\n\r\n hasTaxProfiles(): boolean {\r\n return this.profile.taxProfiles.length > 0;\r\n }\r\n\r\n setUploadingState(): void {\r\n this.uploading = true;\r\n }\r\n\r\n resetUploadingState(): void {\r\n this.uploading = false;\r\n }\r\n\r\n setProfilePictureUrl(url: string): void {\r\n this.profile.pictureUrl = url;\r\n }\r\n\r\n showEditEmail(): void {\r\n this.editEmailMode = true;\r\n }\r\n\r\n hideEditEmail(): void {\r\n this.editEmailMode = false;\r\n }\r\n\r\n updateEmail(emailText: string): void {\r\n this.emailToEdit = emailText;\r\n }\r\n\r\n enablePassword(): void {\r\n this.showPassword = true;\r\n }\r\n\r\n disablePassword(): void {\r\n this.showPassword = false;\r\n }\r\n\r\n togglePassword(): void {\r\n this.showPassword = !this.showPassword;\r\n }\r\n\r\n updatePassword(passwordText: string): void {\r\n this.password = passwordText;\r\n }\r\n\r\n setSavingState(): void {\r\n this.saving = true;\r\n }\r\n\r\n resetSavingState(): void {\r\n this.saving = false;\r\n this.password = \"\";\r\n }\r\n\r\n showInfoPanel(): void {\r\n this.enableInfoPanel = !this.enableInfoPanel;\r\n }\r\n\r\n toggleEmailChangeMessageBox(): void {\r\n this.showEmailChangeMessageBox = !this.showEmailChangeMessageBox;\r\n }\r\n\r\n hideInfoPanel(): void {\r\n this.enableInfoPanel = false;\r\n }\r\n\r\n resetNewEmail(): void {\r\n this.profile.newEmail = null;\r\n this.profile.newEmailSentOn = null;\r\n }\r\n\r\n setNewEmail(newEmail: string): void {\r\n this.profile.newEmail = newEmail;\r\n }\r\n\r\n showEmailChangeConfirmationMessage(): void {\r\n this.toggleEmailChangeMessageBox();\r\n this.resetEmailChangeMessageType();\r\n }\r\n \r\n\r\n setEmailChangeMessageTypeConfirm(): void {\r\n this.changeEmailConfirmationStatus = \"confirmed\";\r\n }\r\n\r\n setEmailChangeMessageTypeCancel(): void {\r\n this.changeEmailConfirmationStatus = \"canceled\";\r\n }\r\n\r\n setEmailChangeMessageTypeError(): void {\r\n this.changeEmailConfirmationStatus = \"errored\";\r\n }\r\n\r\n resetEmailChangeMessageType(): void {\r\n this.changeEmailConfirmationStatus = \"\";\r\n }\r\n }\r\n \r\n angular.module(\"sonovate.core\")\r\n .service(\"PersonSettingsProfileState\", PersonSettingsProfileState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n export interface IUpdateEmailIntent {\r\n newEmail: string,\r\n password: string\r\n }\r\n\r\n export interface IAddProfilePictureIntent {\r\n File?: File;\r\n Url?: string;\r\n userId: number\r\n }\r\n \r\n\r\n interface IPersonProfileUserIntents {\r\n carryOutGetPersonHttpRequest: Rx.Subject,\r\n showEditEmail: Rx.Subject,\r\n hideEditEmail: Rx.Subject,\r\n submitEmailForVerification: Rx.Subject,\r\n typeEmail: Rx.Subject,\r\n typePassword: Rx.Subject,\r\n toggleShowPassword: Rx.Subject,\r\n submitEmailChangeRequest: Rx.Subject,\r\n showInfoPanel: Rx.Subject,\r\n cancelEmailChange: Rx.Subject\r\n clearState: Rx.Subject;\r\n resendEmail: Rx.Subject;\r\n uploadProfilePicture: Rx.Subject;\r\n featureSubscription: Rx.Subject;\r\n unsubscribed: Rx.Subject;\r\n }\r\n\r\n interface IPersonProfileHttpResults {\r\n getPersonSuccessful: Rx.Subject,\r\n getPersonFailed: Rx.Subject,\r\n submitEmailForVerificationCompleted: Rx.Subject,\r\n submitEmailForVerificationFailed: Rx.Subject,\r\n submitEmailChangeRequestCompleted: Rx.Subject,\r\n submitEmailChangeRequestFailed: Rx.Subject,\r\n cancelEmailChangeCompleted: Rx.Subject,\r\n cancelEmailChangeFailed: Rx.Subject,\r\n resendEmailCompleted: Rx.Subject;\r\n resendEmailFailed: Rx.Subject;\r\n uploadProfilePictureCompleted: Rx.Subject;\r\n uploadProfilePictureError: Rx.Subject;\r\n }\r\n\r\n export class PersonProfileEvents {\r\n\r\n userIntents: IPersonProfileUserIntents = {\r\n carryOutGetPersonHttpRequest: new Rx.Subject(),\r\n showEditEmail: new Rx.Subject(),\r\n hideEditEmail: new Rx.Subject(),\r\n submitEmailForVerification: new Rx.Subject(),\r\n typeEmail: new Rx.Subject(),\r\n typePassword: new Rx.Subject(),\r\n toggleShowPassword: new Rx.Subject(),\r\n submitEmailChangeRequest: new Rx.Subject(),\r\n showInfoPanel: new Rx.Subject(),\r\n cancelEmailChange: new Rx.Subject(),\r\n clearState: new Rx.Subject(),\r\n resendEmail: new Rx.Subject(),\r\n uploadProfilePicture: new Rx.Subject(),\r\n featureSubscription: new Rx.Subject(),\r\n unsubscribed: new Rx.Subject()\r\n }\r\n\r\n httpResults: IPersonProfileHttpResults = {\r\n getPersonSuccessful: new Rx.Subject(),\r\n getPersonFailed: new Rx.Subject(),\r\n submitEmailForVerificationCompleted: new Rx.Subject(),\r\n submitEmailForVerificationFailed: new Rx.Subject(),\r\n submitEmailChangeRequestCompleted: new Rx.Subject(),\r\n submitEmailChangeRequestFailed: new Rx.Subject(),\r\n cancelEmailChangeCompleted: new Rx.Subject(),\r\n cancelEmailChangeFailed: new Rx.Subject(),\r\n resendEmailCompleted: new Rx.Subject(),\r\n resendEmailFailed: new Rx.Subject(),\r\n uploadProfilePictureCompleted: new Rx.Subject(),\r\n uploadProfilePictureError: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"PeopleTransformers\",\r\n \"Upload\",\r\n \"APP_URL\",\r\n ];\r\n\r\n constructor(\r\n protected httpService: IHttpService,\r\n protected PeopleTransformers: Transformers.PeopleTransformers,\r\n protected Upload: angular.angularFileUpload.IUploadService,\r\n protected APP_URL: string\r\n ) {\r\n this.initGetOnCarryOutGetPersonHttpRequest();\r\n this.initSubmitEmailForVerificationRequest();\r\n this.initUpdateEmailRequest();\r\n this.initCancelChangeEmailRequest();\r\n this.initResendEmailRequest();\r\n this.initUploadProfilePicture();\r\n }\r\n\r\n protected initGetOnCarryOutGetPersonHttpRequest (): void {\r\n this.userIntents.carryOutGetPersonHttpRequest\r\n .flatMap((personId) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/people/${personId}`)\r\n )\r\n .catch((error): IEmptyObservable => {\r\n this.httpResults.getPersonFailed.onNext(null);\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response) => {\r\n return response.data.result;\r\n })\r\n .map(\r\n (response: Sonovate.ViewModels.Directory.PersonProfile) => \r\n this.PeopleTransformers.PersonProfileViewModel_IPersonProfile(response)\r\n )\r\n .subscribe(this.httpResults.getPersonSuccessful)\r\n }\r\n\r\n protected initSubmitEmailForVerificationRequest() : void {\r\n this.userIntents.submitEmailForVerification\r\n .filter((emailText: string): boolean => {\r\n if(R.isEmpty(emailText) || R.isNil(emailText)){\r\n return false\r\n }\r\n return true;\r\n })\r\n .flatMap((emailText: string) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/people/email/is-available`, {\r\n \"emailAddress\": emailText\r\n })\r\n )\r\n .catch((error): IEmptyObservable => {\r\n this.httpResults.submitEmailForVerificationFailed.onNext(error);\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response) => {\r\n return response.data.result;\r\n })\r\n .subscribe((response: boolean) => {\r\n this.httpResults.submitEmailForVerificationCompleted.onNext(response);\r\n })\r\n }\r\n\r\n protected initUpdateEmailRequest() : void {\r\n this.userIntents.submitEmailChangeRequest\r\n .flatMap((intent: IUpdateEmailIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/people/email`, {\r\n \"newEmail\": intent.newEmail,\r\n \"password\": intent.password\r\n })\r\n .then((response: IResponse): any => {\r\n return {\r\n emailSent: intent.newEmail,\r\n response: response\r\n }\r\n })\r\n )\r\n .catch((error): IEmptyObservable => {\r\n this.httpResults.submitEmailChangeRequestFailed.onNext(error.data.result);\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response) => {\r\n return response;\r\n })\r\n .subscribe((response) => {\r\n this.httpResults.submitEmailChangeRequestCompleted.onNext(response.emailSent);\r\n })\r\n }\r\n \r\n protected initCancelChangeEmailRequest() : void {\r\n this.userIntents.cancelEmailChange\r\n .flatMap((intent: IUpdateEmailIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/people/email/cancel`, {\r\n })\r\n )\r\n .catch((error): IEmptyObservable => {\r\n this.httpResults.cancelEmailChangeFailed.onNext(error.data.result);\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response) => {\r\n return response;\r\n })\r\n .subscribe((response) => {\r\n this.httpResults.cancelEmailChangeCompleted.onNext(null);\r\n })\r\n }\r\n\r\n protected initResendEmailRequest(): void {\r\n this.userIntents.resendEmail\r\n .flatMap((intent: IUpdateEmailIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/people/email/resend`, {\r\n })\r\n )\r\n .catch((error): IEmptyObservable => {\r\n this.httpResults.resendEmailFailed.onNext(error.data.result);\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response) => {\r\n return response;\r\n })\r\n .subscribe((response) => {\r\n this.httpResults.resendEmailCompleted.onNext(null);\r\n })\r\n }\r\n\r\n private initUploadProfilePicture(): void {\r\n this.userIntents.uploadProfilePicture\r\n .flatMap((intent: IAddProfilePictureIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.Upload.upload({\r\n url: `${this.APP_URL}/v1/people/${intent.userId}/profile/picture`,\r\n data: {\r\n file: intent.File,\r\n },\r\n method: \"POST\"\r\n })\r\n ).catch((error): IEmptyObservable => {\r\n this.httpResults.uploadProfilePictureError.onNext(error.data);\r\n return Rx.Observable.empty();\r\n });\r\n })\r\n .map((response: IResponse): string => {\r\n return response.data.result.url;\r\n })\r\n .subscribe((url: string) => {\r\n this.httpResults.uploadProfilePictureCompleted.onNext(url);\r\n });\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"PersonProfileEvents\", PersonProfileEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events { \r\n\r\n export interface ITimesheetDismissEvents extends IEvents {}\r\n\r\n interface ITimesheetDismissUserIntents {\r\n dismissTimesheet: Rx.Subject\r\n dismissTimesheetFromListing: Rx.Subject\r\n }\r\n\r\n interface ITimesheetDismissHttpResults {\r\n dismissTimesheetSuccess: Rx.Subject;\r\n dismissTimesheetFailure: Rx.Subject;\r\n dismissTimesheetFromListingSuccess: Rx.Subject;\r\n dismissTimesheetFromListingFailure: Rx.Subject;\r\n userSetActionInProgress: Rx.Subject;\r\n\r\n }\r\n\r\n export class TimesheetDismissEvents implements ITimesheetDismissEvents {\r\n\r\n userIntents: ITimesheetDismissUserIntents = {\r\n dismissTimesheet: new Rx.Subject(),\r\n dismissTimesheetFromListing: new Rx.Subject()\r\n }\r\n\r\n httpResults: ITimesheetDismissHttpResults = {\r\n dismissTimesheetSuccess: new Rx.Subject(),\r\n dismissTimesheetFailure: new Rx.Subject(),\r\n dismissTimesheetFromListingSuccess: new Rx.Subject(),\r\n dismissTimesheetFromListingFailure: new Rx.Subject(),\r\n userSetActionInProgress: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"TimesheetTransformers\",\r\n \"TimesheetSearchResultTransformers\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n protected TimesheetTransformers: Core.Transformers.TimesheetTransformers,\r\n protected TimesheetSearchResultTransformers: Core.Transformers.TimesheetSearchResultTransformers\r\n ) {\r\n this.initDismissTimesheet();\r\n this.initDismissTimesheetFromListing();\r\n }\r\n \r\n private initDismissTimesheet () {\r\n this.userIntents\r\n .dismissTimesheet\r\n .flatMap((intent: ITimesheetDismissIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\r\n `/v1/timesheets/${intent.timesheetId}/dismiss`, \r\n {},\r\n { \r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n }\r\n }\r\n )\r\n )\r\n .catch((error): IEmptyObservable => {\r\n this.httpResults.dismissTimesheetFailure.onNext(error.data.result['error']);\r\n return Rx.Observable.empty(); \r\n });\r\n })\r\n\r\n .map((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.TimesheetNew): Models.ITimesheetNew => {\r\n return this.TimesheetTransformers.TimesheetNew_ITimesheetNew(timesheet);\r\n })\r\n .subscribe(this.httpResults.dismissTimesheetSuccess);\r\n }\r\n\r\n private initDismissTimesheetFromListing () {\r\n this.userIntents\r\n .dismissTimesheetFromListing\r\n .flatMap((intent: ITimesheetDismissIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\r\n `/v1/timesheets/${intent.timesheetId}/dismiss`, \r\n {},\r\n { \r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n }\r\n }\r\n )\r\n )\r\n .catch((): IEmptyObservable => (error): IEmptyObservable => {\r\n this.httpResults.dismissTimesheetFromListingFailure.onNext(\r\n {\r\n timesheetId:intent.timesheetId,\r\n error: error.data.result['error']\r\n }\r\n );\r\n return Rx.Observable.empty()\r\n });\r\n })\r\n .map((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.TimesheetNew): Models.ITimesheetSearchResult => {\r\n return this.TimesheetSearchResultTransformers.Timesheet_ITimesheetSearchResult(timesheet);\r\n })\r\n .subscribe(this.httpResults.dismissTimesheetFromListingSuccess);\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetDismissEvents\", TimesheetDismissEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export interface IChangePasswordErrors {\r\n oldpassword: string,\r\n changePassword: string\r\n }\r\n\r\n export class PersonSettingsChangePasswordState {\r\n\r\n oldPassword: string;\r\n changePassword: string;\r\n saving: boolean;\r\n showOldPassword: boolean;\r\n showChangePassword: boolean;\r\n errorMessageText: string;\r\n enableSaveButton: boolean;\r\n showSuccessMessage: boolean;\r\n showErrorMessage: boolean;\r\n errors: IChangePasswordErrors;\r\n\r\n constructor() {\r\n this.setDefaultState();\r\n }\r\n\r\n private resetSaveButtonIfPasswordsAreEmpty() {\r\n if(this.changePassword.length == 0 && this.oldPassword.length == 0) {\r\n this.enableSaveButton = false;\r\n }\r\n }\r\n\r\n setChangePassword(passwordText: string) {\r\n this.hideSuccessMessage();\r\n this.changePassword = passwordText;\r\n this.resetSaveButtonIfPasswordsAreEmpty();\r\n }\r\n\r\n setOldPassword(passwordText: string) {\r\n this.hideSuccessMessage();\r\n this.oldPassword = passwordText;\r\n this.resetSaveButtonIfPasswordsAreEmpty();\r\n }\r\n\r\n setSaving() {\r\n this.saving = true;\r\n }\r\n\r\n resetSaving() {\r\n this.saving = false;\r\n }\r\n\r\n showSaveButton() {\r\n this.enableSaveButton = true;\r\n }\r\n\r\n hideSaveButton() {\r\n this.enableSaveButton = false;\r\n }\r\n\r\n toggleShowChangePassword() {\r\n this.showChangePassword = !this.showChangePassword;\r\n }\r\n\r\n toggleShowOldPassword() {\r\n this.showOldPassword = !this.showOldPassword;\r\n }\r\n\r\n enableSuccessMessage() {\r\n this.showSuccessMessage = true;\r\n }\r\n\r\n hideSuccessMessage() {\r\n this.showSuccessMessage = false;\r\n }\r\n\r\n setSavingState() {\r\n this.saving = true;\r\n }\r\n\r\n resetSavingState() {\r\n this.saving = false;\r\n }\r\n\r\n showErrorMessageBar(errorMessageText: string) {\r\n this.showErrorMessage = true;\r\n this.errorMessageText = errorMessageText\r\n }\r\n\r\n hideErrorMessageBar() {\r\n this.showErrorMessage = false;\r\n this.errorMessageText = \"\";\r\n }\r\n\r\n setErrors(oldPasswordError: string, newPasswordError: string) {\r\n if(oldPasswordError) {\r\n this.errors.oldpassword = oldPasswordError;\r\n }\r\n\r\n if(newPasswordError) {\r\n this.errors.changePassword = newPasswordError;\r\n }\r\n }\r\n\r\n resetOldPasswordError() {\r\n this.errors.oldpassword = \"\";\r\n }\r\n\r\n resetChangePasswordError() {\r\n this.errors.changePassword = \"\";\r\n }\r\n\r\n resetErrors() {\r\n this.errors.oldpassword = \"\",\r\n this.errors.changePassword = \"\"\r\n }\r\n\r\n setDefaultState() {\r\n this.enableSaveButton = false;\r\n this.oldPassword = \"\";\r\n this.changePassword = \"\";\r\n this.saving = false;\r\n this.showOldPassword = false;\r\n this.showChangePassword = false;\r\n this.showSuccessMessage = false;\r\n this.errors = {\r\n oldpassword: \"\",\r\n changePassword: \"\"\r\n }\r\n }\r\n\r\n }\r\n \r\n angular.module(\"sonovate.core\")\r\n .service(\"PersonSettingsChangePasswordState\", PersonSettingsChangePasswordState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n export interface IPersonSettingsChangePasswordUserIntents {\r\n saveChangePassword: Rx.Subject;\r\n updateOldPassword: Rx.Subject,\r\n updateChangePassword: Rx.Subject,\r\n toggleShowChangePassword: Rx.Subject,\r\n toggleShowOldPassword: Rx.Subject,\r\n dismissSuccessMessage: Rx.Subject\r\n dismissErrorMessage: Rx.Subject,\r\n resetState: Rx.Subject\r\n }\r\n\r\n export interface IPersonSettingsChangePasswordHttpResults {\r\n saveChangePasswordCompleted: Rx.Subject;\r\n saveChangePasswordError: Rx.Subject;\r\n }\r\n\r\n export class PersonSettingsChangePasswordEvents {\r\n\r\n userIntents: IPersonSettingsChangePasswordUserIntents = {\r\n saveChangePassword: new Rx.Subject(),\r\n updateOldPassword: new Rx.Subject(),\r\n updateChangePassword: new Rx.Subject(),\r\n toggleShowChangePassword: new Rx.Subject(),\r\n toggleShowOldPassword: new Rx.Subject(),\r\n dismissSuccessMessage: new Rx.Subject(),\r\n dismissErrorMessage: new Rx.Subject(),\r\n resetState: new Rx.Subject()\r\n }\r\n\r\n httpResults: IPersonSettingsChangePasswordHttpResults = {\r\n saveChangePasswordCompleted: new Rx.Subject(),\r\n saveChangePasswordError: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService\r\n ) {\r\n this.initPostOnSaveChangePassword();\r\n }\r\n\r\n protected initPostOnSaveChangePassword() : void {\r\n this.userIntents.saveChangePassword\r\n .flatMap((intent: Sonovate.Core.Events.IChangePasswordIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/user-accounts/change-password`, {\r\n oldPassword: intent.oldPassword,\r\n newPassword: intent.changePassword\r\n })\r\n ).catch((error): IEmptyObservable => {\r\n this.httpResults.saveChangePasswordError.onNext(error.data.result);\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .subscribe((response: null) => {\r\n this.httpResults.saveChangePasswordCompleted.onNext(null);\r\n });\r\n }\r\n \r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"PersonSettingsChangePasswordEvents\", PersonSettingsChangePasswordEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export class ChangePasswordState {\r\n\r\n errorMessage: string;\r\n password: string;\r\n isShowingPassword: boolean;\r\n\r\n constructor() {\r\n this.setDefaultState();\r\n }\r\n\r\n toggleShowPassword(){\r\n this.isShowingPassword = !this.isShowingPassword;\r\n }\r\n\r\n setPasswordAs(password: string){\r\n this.password = password;\r\n }\r\n\r\n\r\n setErrorMessage(errorMessage: string) {\r\n this.errorMessage = errorMessage;\r\n }\r\n\r\n setDefaultState() {\r\n this.errorMessage = \"\";\r\n this.password = \"\";\r\n this.isShowingPassword = false;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"ChangePasswordState\", ChangePasswordState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n export interface IChangePasswordUserIntents {\r\n passwordChangeRequest: Rx.Subject<{token: string, newPassword: string}>;\r\n userTypedInPassword: Rx.Subject;\r\n toggleShowPassword: Rx.Subject;\r\n }\r\n\r\n export interface IChangePasswordHttpResults {\r\n passwordChangeRequestSuccess: Rx.Subject;\r\n passwordChangeRequestFailure: Rx.Subject;\r\n }\r\n\r\n export class ChangePasswordEvents {\r\n\r\n userIntents: IChangePasswordUserIntents = {\r\n passwordChangeRequest: new Rx.Subject<{token: string, newPassword: string}>(),\r\n userTypedInPassword: new Rx.Subject(),\r\n toggleShowPassword: new Rx.Subject()\r\n }\r\n\r\n httpResults: IChangePasswordHttpResults = {\r\n passwordChangeRequestSuccess: new Rx.Subject(),\r\n passwordChangeRequestFailure: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"$state\", \r\n \"$stateParams\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private $state: ng.ui.IStateService,\r\n private $stateParams: ng.ui.IStateParamsService\r\n ) {\r\n this.initSubmitChangePasswordRequest();\r\n }\r\n\r\n private initSubmitChangePasswordRequest() {\r\n this.userIntents.passwordChangeRequest\r\n .flatMap((newPasswordObj: {token: string, newPassword: string}) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.post(\"/v1/user-accounts/reset-password\", newPasswordObj)\r\n ).catch((response: IResponse): IEmptyObservable => {\r\n if (response.status === 400) {\r\n this.httpResults.passwordChangeRequestFailure.onNext(\r\n Sonovate.Core.Utils.Errors.getFirstErrorFromErrors(response.data.result.errors) \r\n ); \r\n }\r\n return Rx.Observable.empty();\r\n });\r\n })\r\n .subscribe(() => {\r\n this.httpResults.passwordChangeRequestSuccess.onNext(null)\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"ChangePasswordEvents\", ChangePasswordEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export class PersonLocalePreferencesState {\r\n\r\n selectedCountry: string;\r\n selectedTimeZone: string;\r\n saving: boolean;\r\n errorMessageText: string;\r\n enableSaveButton: boolean;\r\n showSuccessMessage: boolean;\r\n showErrorMessage: boolean;\r\n saved: boolean;\r\n\r\n constructor() {\r\n this.setDefaultState();\r\n }\r\n\r\n setSaved(){\r\n this.saved = true;\r\n }\r\n\r\n resetSaved(){\r\n this.saved = false\r\n }\r\n\r\n setSaving() {\r\n this.saving = true;\r\n }\r\n\r\n resetSaving() {\r\n this.saving = false;\r\n }\r\n\r\n showSaveButton() {\r\n this.enableSaveButton = true;\r\n }\r\n\r\n hideSaveButton() {\r\n this.enableSaveButton = false;\r\n }\r\n\r\n showSuccessMessageBar() {\r\n this.showSuccessMessage = true;\r\n }\r\n\r\n hideSuccessMessageBar() {\r\n this.showSuccessMessage = false;\r\n }\r\n\r\n setSavingState() {\r\n this.saving = true;\r\n }\r\n\r\n resetSavingState() {\r\n this.saving = false;\r\n }\r\n\r\n showErrorMessageBar(errorMessageText: string) {\r\n this.showErrorMessage = true;\r\n this.errorMessageText = errorMessageText\r\n }\r\n\r\n hideErrorMessageBar() {\r\n this.showErrorMessage = false;\r\n this.errorMessageText = \"\";\r\n }\r\n\r\n setSelectedCountry(country: string) {\r\n this.selectedCountry = country;\r\n }\r\n\r\n setSelectedTimeZone(timeZone: string) {\r\n this.selectedTimeZone = timeZone;\r\n }\r\n\r\n setDefaultState() {\r\n this.selectedCountry = \"\";\r\n this.selectedTimeZone = \"\";\r\n this.saving = false;\r\n this.errorMessageText = \"\";\r\n this.enableSaveButton = false;\r\n this.showSuccessMessage = false;\r\n this.showErrorMessage = false;\r\n }\r\n\r\n }\r\n \r\n angular.module(\"sonovate.core\")\r\n .service(\"PersonLocalePreferencesState\", PersonLocalePreferencesState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n interface IAddPersonUserIntents {\r\n userOpenedAddUserModal: Rx.Subject;\r\n userClosedAddUserModal: Rx.Subject;\r\n userTypedInFirstNameInput: Rx.Subject;\r\n userTypedInLastNameInput: Rx.Subject;\r\n userTypedInEmailAddressInput: Rx.Subject;\r\n userSubmittedRequestToAddPerson: Rx.Subject;\r\n resetErrors: Rx.Subject;\r\n }\r\n\r\n interface IAddPersonHttpResults {\r\n addPersonHttpRequestSuccess: Rx.Subject;\r\n addPersonHttpRequestFailure: Rx.Subject;\r\n }\r\n\r\n interface IAddPersonRequestModel {\r\n firstName: string;\r\n lastName: string;\r\n primaryEmail: string;\r\n }\r\n \r\n export class AddPersonEvents {\r\n\r\n userIntents: IAddPersonUserIntents = {\r\n userOpenedAddUserModal: new Rx.Subject(),\r\n userClosedAddUserModal: new Rx.Subject(),\r\n userTypedInFirstNameInput: new Rx.Subject(),\r\n userTypedInLastNameInput: new Rx.Subject(),\r\n userTypedInEmailAddressInput: new Rx.Subject(),\r\n userSubmittedRequestToAddPerson: new Rx.Subject(),\r\n resetErrors: new Rx.Subject()\r\n }\r\n\r\n httpResults: IAddPersonHttpResults = {\r\n addPersonHttpRequestSuccess: new Rx.Subject(), //add def\r\n addPersonHttpRequestFailure: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService\r\n ) { \r\n this.setupAddPerson();\r\n }\r\n\r\n private setupAddPerson () {\r\n this.userIntents.userSubmittedRequestToAddPerson\r\n .flatMap((person: IAddPersonRequestModel) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.post('/v1/people/sonovate', person)\r\n )\r\n .catch((error:IErrorResponse) => {\r\n if (error.status === 400) {\r\n this.httpResults.addPersonHttpRequestFailure.onNext(error.data.result); \r\n }\r\n return Rx.Observable.empty();\r\n });\r\n })\r\n .subscribe((response) => {\r\n this.httpResults.addPersonHttpRequestSuccess.onNext(null);\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"AddPersonEvents\", AddPersonEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export class AddPersonState {\r\n\r\n firstName: string = \"\";\r\n lastName: string = \"\";\r\n emailAddress: string = \"\";\r\n errorMessages: {\r\n firstName: string,\r\n lastName: string,\r\n primaryEmail: string\r\n } = {\r\n firstName: \"\",\r\n lastName: \"\",\r\n primaryEmail: \"\"\r\n };\r\n addPersonModalIsOpen: boolean = false;\r\n isSendingInvitation: boolean = false;\r\n isAddPersonSuccessFeedbackShowing: boolean = false;\r\n\r\n static $inject = [\r\n \"$state\"\r\n ];\r\n\r\n constructor(protected $state: ng.ui.IStateService) {\r\n }\r\n\r\n public openAddPersonModal(): void {\r\n this.resetState();\r\n this.addPersonModalIsOpen = true;\r\n this.$state.go(`${this.$state.current.name}.modals`, {\r\n modal: 'add-person'\r\n });\r\n }\r\n\r\n public closeAddPersonModal(): void {\r\n this.addPersonModalIsOpen = false;\r\n this.$state.go('^');\r\n }\r\n\r\n public setFirstName(name:string) : void {\r\n this.firstName = name;\r\n }\r\n\r\n public setLastName(name:string) : void {\r\n this.lastName = name;\r\n }\r\n\r\n public setEmailAddress(emailAddress:string) : void {\r\n this.emailAddress = emailAddress;\r\n }\r\n\r\n public addErrorMessages(errors): void {\r\n this.errorMessages.firstName = errors['request.FirstName'];\r\n this.errorMessages.lastName = errors['request.LastName'];\r\n this.errorMessages.primaryEmail = errors['request.PrimaryEmail'] || errors['person.PrimaryEmailAddress'];\r\n }\r\n\r\n public clearErrorMessage(): void {\r\n this.errorMessages.firstName = '';\r\n this.errorMessages.lastName = '';\r\n this.errorMessages.primaryEmail = '';\r\n }\r\n\r\n public setInvitationStatusAsSending(): void {\r\n this.isSendingInvitation = true;\r\n }\r\n\r\n public setInvitationStatusToDefault(): void {\r\n this.isSendingInvitation = false;\r\n }\r\n\r\n public showAddPersonSuccessFeedback(): void {\r\n this.isAddPersonSuccessFeedbackShowing = true;\r\n }\r\n\r\n public hideAddPersonSuccessFeedback(): void {\r\n this.isAddPersonSuccessFeedbackShowing = false;\r\n }\r\n\r\n public resetState(): void {\r\n this.firstName = \"\";\r\n this.lastName = \"\";\r\n this.emailAddress = \"\";\r\n this.isSendingInvitation = false;\r\n this.errorMessages = {\r\n firstName: '',\r\n lastName: '',\r\n primaryEmail: ''\r\n };\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"AddPersonState\", AddPersonState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n export class NotificationsEvents {\r\n\r\n userIntents: INotificationsUserIntents = {\r\n getNotifications: new Rx.Subject(),\r\n seeMoreNotifications: new Rx.Subject(),\r\n viewNotifications: new Rx.Subject(),\r\n closeNotificationsList: new Rx.Subject(),\r\n openNotificationList: new Rx.Subject()\r\n }\r\n\r\n httpResults: INotificationsHttpResults = {\r\n getNotificationsSuccess: new Rx.Subject(),\r\n viewNotificationsSuccess: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\"httpService\", \"NotificationTransformers\"];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private NotificationTransformers: Core.Transformers.NotificationTransformers\r\n ) {\r\n this.initGetNotifications();\r\n this.initViewNotifications();\r\n }\r\n\r\n private initGetNotifications () {\r\n this.userIntents.getNotifications\r\n .merge(this.userIntents.seeMoreNotifications)\r\n .flatMap((query) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(\r\n PageStateQueryBuilder.buildEndpointFromState(\r\n '/v1/notifications',\r\n query\r\n )\r\n )\r\n )\r\n .catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .map((response: IResponse<{\r\n notifications: Sonovate.ViewModels.Activity.Notification[],\r\n unreadNotifications: number\r\n }>): INotificationResult => {\r\n return {\r\n notifications: this.NotificationTransformers.NotificationArray_INotificationArray(response.data.result.notifications),\r\n unreadNotificationsCount: response.data.result.unreadNotifications\r\n };\r\n })\r\n .subscribe(this.httpResults.getNotificationsSuccess);\r\n }\r\n\r\n private initViewNotifications () {\r\n this.userIntents.viewNotifications\r\n .throttle(250)\r\n .filter((ids) => {\r\n return ids.length? true : false;\r\n })\r\n .concatMap((ids) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put('/v1/notifications/mark-as-read', ids)\r\n )\r\n .catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .map((response: IResponse<{\r\n unreadNotifications: number\r\n }>): INotificationResult => {\r\n return {\r\n notifications: null,\r\n unreadNotificationsCount: response.data.result.unreadNotifications\r\n };\r\n })\r\n .subscribe(this.httpResults.viewNotificationsSuccess);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"NotificationsEvents\", NotificationsEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n export class NotificationsState {\r\n\t notifications: Models.INotification[] = [];\r\n unreadNotificationCount: number = 0;\r\n isNotificationsListOpen: boolean = false;\r\n showNotificationAnimations: boolean;\r\n\r\n clear() {\r\n this.notifications = [];\r\n }\r\n\r\n setNotifications (notifications: Models.INotification[]) {\r\n this.notifications = notifications;\r\n }\r\n\r\n setUnreadNotificationCount (count: number) {\r\n this.unreadNotificationCount = count;\r\n }\r\n\r\n getUnreadNotificationIds (): number[] {\r\n return this.notifications\r\n .filter((notification) => {\r\n return ! notification.isRead;\r\n })\r\n .map((notification) => {\r\n return notification.id;\r\n });\r\n }\r\n\r\n addNotificationsToList (notifications: Models.INotification[]) {\r\n this.notifications = this.notifications.concat(notifications);\r\n }\r\n\r\n openNotificationsList () {\r\n this.isNotificationsListOpen = true;\r\n } \r\n\r\n closeNotificationsList () {\r\n this.isNotificationsListOpen = false;\r\n }\r\n\r\n showNotificationsAnimations() {\r\n this.showNotificationAnimations = true;\r\n }\r\n\r\n hideNotificationsAnimations() {\r\n this.showNotificationAnimations = false;\r\n }\r\n\r\n markAllAsRead() {\r\n this.notifications = this.notifications.map((notification) => {\r\n notification.isRead = true;\r\n return notification;\r\n });\r\n\r\n this.displayAllAsRead();\r\n }\r\n\r\n protected displayAllAsRead () {\r\n this.notifications = this.notifications.map((notification) => {\r\n notification.isShowingAsRead = true;\r\n return notification;\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"NotificationsState\", NotificationsState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n export interface IPersonLocalePreferencesUserIntents {\r\n getLocalePreferences: Rx.Subject\r\n saveLocalePreferences: Rx.Subject;\r\n updateCountrySetting: Rx.Subject,\r\n updateTimeZoneSetting: Rx.Subject,\r\n dismissSuccessMessage: Rx.Subject\r\n dismissErrorMessage: Rx.Subject,\r\n resetState: Rx.Subject,\r\n resetSavedState: Rx.Subject\r\n }\r\n\r\n export interface IPersonLocalePreferencesHttpResults {\r\n saveLocalePreferencesCompleted: Rx.Subject;\r\n saveLocalePreferencesError: Rx.Subject;\r\n getLocalePreferencesCompleted: Rx.Subject,\r\n getLocalePreferencesError: Rx.Subject\r\n }\r\n\r\n export class PersonLocalePreferencesEvents {\r\n\r\n userIntents: IPersonLocalePreferencesUserIntents = {\r\n getLocalePreferences: new Rx.Subject(),\r\n saveLocalePreferences: new Rx.Subject(),\r\n updateCountrySetting: new Rx.Subject(),\r\n updateTimeZoneSetting: new Rx.Subject(),\r\n dismissSuccessMessage: new Rx.Subject(),\r\n dismissErrorMessage: new Rx.Subject(),\r\n resetState: new Rx.Subject(),\r\n resetSavedState: new Rx.Subject()\r\n }\r\n\r\n httpResults: IPersonLocalePreferencesHttpResults = {\r\n saveLocalePreferencesCompleted: new Rx.Subject(),\r\n saveLocalePreferencesError: new Rx.Subject(),\r\n getLocalePreferencesCompleted: new Rx.Subject(),\r\n getLocalePreferencesError: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService\r\n ) {\r\n this.initPutOnSaveLocalePreferences();\r\n this.initGetLocalePreferences();\r\n }\r\n\r\n protected initGetLocalePreferences(): void {\r\n this.userIntents.getLocalePreferences\r\n .flatMap((intent: number) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/people/${intent}/settings`)\r\n ).catch((error): IEmptyObservable => {\r\n this.httpResults.getLocalePreferencesError.onNext(error.data.result);\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .subscribe((response: Sonovate.IResponse) => {\r\n this.httpResults.getLocalePreferencesCompleted.onNext(response.data.result);\r\n });\r\n }\r\n\r\n protected initPutOnSaveLocalePreferences() : void {\r\n this.userIntents.saveLocalePreferences\r\n .flatMap((intent: Sonovate.Core.Events.ISaveLocalePreferencesIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/people/${intent.userId}/settings`, {\r\n countryCode: intent.countryCode,\r\n timeZone: intent.timeZone\r\n })\r\n ).catch((error): IEmptyObservable => {\r\n this.httpResults.saveLocalePreferencesError.onNext(error.data.result);\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response) => response.data.result)\r\n .subscribe((response: Sonovate.IResponse) => {\r\n this.httpResults.saveLocalePreferencesCompleted.onNext(null);\r\n });\r\n }\r\n \r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"PersonLocalePreferencesEvents\", PersonLocalePreferencesEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n interface IChangeEmailUserIntents {\r\n carryOutConfirmEmailChangeHttpRequest: Rx.Subject<{token: string}>;\r\n carryOutCancelEmailChangeHttpRequest: Rx.Subject;\r\n }\r\n\r\n interface IChangeEmailHttpResults {\r\n confirmEmailChangeHttpRequestSuccessful: Rx.Subject\r\n cancelEmailChangeHttpRequestSuccessful: Rx.Subject\r\n confirmEmailChangeHttpRequestFailure: Rx.Subject\r\n cancelEmailChangeHttpRequestFailure: Rx.Subject\r\n }\r\n\r\n export class ChangeEmailEvents {\r\n\r\n userIntents: IChangeEmailUserIntents = {\r\n carryOutConfirmEmailChangeHttpRequest: new Rx.Subject<{token: string}>(),\r\n carryOutCancelEmailChangeHttpRequest: new Rx.Subject()\r\n }\r\n\r\n httpResults: IChangeEmailHttpResults = {\r\n confirmEmailChangeHttpRequestSuccessful: new Rx.Subject(),\r\n cancelEmailChangeHttpRequestSuccessful: new Rx.Subject(),\r\n confirmEmailChangeHttpRequestFailure: new Rx.Subject(),\r\n cancelEmailChangeHttpRequestFailure: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\"\r\n ];\r\n\r\n\r\n constructor(\r\n protected httpService: IHttpService\r\n ) {\r\n this.initCarryOutConfirmEmailChangeHttpRequest();\r\n this.initCarryOutCancelEmailChangeHttpRequest();\r\n }\r\n\r\n protected initCarryOutConfirmEmailChangeHttpRequest (): void {\r\n this.userIntents.carryOutConfirmEmailChangeHttpRequest\r\n .flatMap((confirmEmailObj: {token: string}) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/people/email/confirm/` + confirmEmailObj.token, {})\r\n )\r\n .catch((): IEmptyObservable => {\r\n this.httpResults.confirmEmailChangeHttpRequestFailure.onNext(null)\r\n return Rx.Observable.empty()\r\n });\r\n })\r\n .map((response) => {\r\n return response.data.result;\r\n })\r\n .subscribe(()=> {\r\n this.httpResults.confirmEmailChangeHttpRequestSuccessful.onNext(null)\r\n })\r\n }\r\n\r\n protected initCarryOutCancelEmailChangeHttpRequest (): void {\r\n this.userIntents.carryOutCancelEmailChangeHttpRequest\r\n .flatMap(() => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/people/email/cancel`, {})\r\n )\r\n .catch((): IEmptyObservable => {\r\n this.httpResults.cancelEmailChangeHttpRequestFailure.onNext(null)\r\n return Rx.Observable.empty()\r\n });\r\n })\r\n .map((response) => {\r\n return response.data.result;\r\n })\r\n .subscribe(()=> {\r\n this.httpResults.cancelEmailChangeHttpRequestSuccessful.onNext(null)\r\n })\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"ChangeEmailEvents\", ChangeEmailEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events { \r\n\r\n export interface ITimesheetEvents {\r\n userIntents: ITimesheetEventsUserIntents,\r\n httpResults: ITimesheetEventsHttpResults\r\n }\r\n\r\n export interface ITimesheetEventsUserIntents{\r\n viewTimesheet: Rx.Subject,\r\n viewNonWorkReasons: Rx.Subject;\r\n getTimesheet: Rx.Subject;\r\n getNextTimesheet: Rx.Subject;\r\n getPreviousTimesheet: Rx.Subject;\r\n downloadTimesheet: Rx.Subject;\r\n openCalanderView: Rx.Subject;\r\n setActiveTimesheetByTimesheetId: Rx.Subject;\r\n clearAvailableTimesheets: Rx.Subject;\r\n clickDownloadTimesheet: Rx.Subject;\r\n dismissDownloadTimesheetError: Rx.Subject;\r\n toggleTimesheetStatusHistory: Rx.Subject;\r\n deleteTimesheet: Rx.Subject<{timesheetId: number; version: number;}>;\r\n actionSubmitted: Rx.Subject;\r\n actionCompleted: Rx.Subject;\r\n actionFailed: Rx.Subject;\r\n setDownloadFilename: Rx.Subject;\r\n }\r\n\r\n export interface ITimesheetEventsHttpResults{\r\n getTimesheetCompleted: Rx.Subject,\r\n getTimesheetError: Rx.Subject,\r\n getNonWorkReasonsSuccess : Rx.Subject\r\n downloadTimesheetCompleted: Rx.Subject,\r\n downloadTimesheetFailed: Rx.Subject,\r\n getPreviousTimesheetCompleted: Rx.Subject;\r\n getNextTimesheetCompleted: Rx.Subject;\r\n deleteTimesheetSuccess: Rx.Subject<{timesheetId: number}>;\r\n deleteTimesheetFailed: Rx.Subject;\r\n }\r\n \r\n export class TimesheetEvents {\r\n\r\n userIntents: ITimesheetEventsUserIntents = {\r\n viewTimesheet: new Rx.Subject(),\r\n viewNonWorkReasons: new Rx.Subject(),\r\n getTimesheet: new Rx.Subject(),\r\n getNextTimesheet: new Rx.Subject(),\r\n getPreviousTimesheet: new Rx.Subject(),\r\n downloadTimesheet: new Rx.Subject(),\r\n openCalanderView: new Rx.Subject(),\r\n setActiveTimesheetByTimesheetId: new Rx.Subject(),\r\n clearAvailableTimesheets: new Rx.Subject(),\r\n clickDownloadTimesheet: new Rx.Subject(),\r\n dismissDownloadTimesheetError: new Rx.Subject(),\r\n toggleTimesheetStatusHistory: new Rx.Subject(),\r\n deleteTimesheet: new Rx.Subject<{timesheetId: number; version: number;}>(),\r\n actionSubmitted: new Rx.Subject(),\r\n actionCompleted: new Rx.Subject(),\r\n actionFailed: new Rx.Subject(),\r\n setDownloadFilename: new Rx.Subject()\r\n }\r\n\r\n httpResults: ITimesheetEventsHttpResults = {\r\n getTimesheetCompleted: new Rx.Subject(),\r\n getNextTimesheetCompleted: new Rx.Subject(),\r\n getPreviousTimesheetCompleted: new Rx.Subject(),\r\n getTimesheetError: new Rx.Subject(),\r\n getNonWorkReasonsSuccess: new Rx.Subject(),\r\n downloadTimesheetCompleted: new Rx.Subject(),\r\n downloadTimesheetFailed: new Rx.Subject(),\r\n deleteTimesheetSuccess: new Rx.Subject<{timesheetId: number}>(),\r\n deleteTimesheetFailed: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"TimesheetTransformers\",\r\n \"$stateParams\",\r\n \"$state\",\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n protected TimesheetTransformers: Core.Transformers.TimesheetTransformers,\r\n protected $stateParams: ng.ui.IStateParamsService,\r\n protected $state: ng.ui.IStateService,\r\n ) {\r\n this.getTimesheet();\r\n this.viewNonWorkReasons();\r\n this.getNextTimesheet();\r\n this.getPreviousTimesheet();\r\n this.deleteTimesheet();\r\n this.downloadTimesheet();\r\n }\r\n\r\n protected getTimesheet() : void { \r\n this.userIntents.getTimesheet\r\n // .throttle(1000)\r\n .flatMap((intent: IViewTimesheetOnAssignmentUserIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/timesheets/${intent.timesheetId}`)\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.getTimesheetError.onNext({errorName: \"GetTimesheetBadRequest\", error: error.data.result['error']});\r\n this.$state.go(\"sonovate.TimesheetsWorkView.modals\", {modal: \"unauthorised-to-view\"});\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n .subscribe((response: Sonovate.ViewModels.Timesheets.TimesheetNew) => {\r\n this.httpResults.getTimesheetCompleted.onNext(this.TimesheetTransformers.TimesheetNew_ITimesheetNew(response));\r\n });\r\n }\r\n\r\n protected getPreviousTimesheet() : void {\r\n this.userIntents.getPreviousTimesheet\r\n .flatMap((intent: IGetPreviousTimesheet) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/timesheets/${intent.timesheetId}`)\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.getTimesheetError.onNext(error.data.result['error']);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n .subscribe((response: Sonovate.ViewModels.Timesheets.TimesheetNew) => {\r\n let transformedResponse: Models.ITimesheetNew = this.TimesheetTransformers.TimesheetNew_ITimesheetNew(response);\r\n this.httpResults.getPreviousTimesheetCompleted.onNext(transformedResponse);\r\n });\r\n }\r\n\r\n protected getNextTimesheet() : void { \r\n this.userIntents.getNextTimesheet\r\n .flatMap((intent: IGetNextTimesheet) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/timesheets/${intent.timesheetId}`)\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.getTimesheetError.onNext(error.data.result['error']);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n .subscribe((response: Sonovate.ViewModels.Timesheets.TimesheetNew) => {\r\n let transformedResponse: Models.ITimesheetNew = this.TimesheetTransformers.TimesheetNew_ITimesheetNew(response);\r\n this.httpResults.getNextTimesheetCompleted.onNext(transformedResponse);\r\n });\r\n }\r\n\r\n protected downloadTimesheet(): void {\r\n this.userIntents.downloadTimesheet\r\n .flatMap((intent: IDownloadTimesheet) => {\r\n return Rx.Observable.create(() => {\r\n this.httpService.get(`/v1/timesheets/${intent.timesheetId}/pdf`, { responseType: 'arraybuffer' })\r\n .then(response => {\r\n const fileName = `${intent.candidateName} - ${intent.deliveryPeriodEndDate}.pdf`;\r\n this.userIntents.setDownloadFilename.onNext(fileName);\r\n saveAs(new Blob([response.data], {type: \"application/pdf\"}), fileName);\r\n intent.resolve();\r\n })\r\n .catch((err) => {\r\n const error = `Error Downloading Timesheet: ${err.data.result.error}`;\r\n intent.reject(error);\r\n })\r\n })\r\n }).subscribe(() => {\r\n this.httpResults.downloadTimesheetCompleted.onNext(null);\r\n });\r\n }\r\n\r\n protected viewNonWorkReasons () {\r\n this.userIntents.viewNonWorkReasons\r\n .take(1)\r\n .flatMap(() => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/timesheets/non-work-reasons`)\r\n ).catch((error): IEmptyObservable => Rx.Observable.empty())\r\n })\r\n .map((response: IResponse) => {\r\n return response.data.result;\r\n })\r\n .subscribe(this.httpResults.getNonWorkReasonsSuccess);\r\n }\r\n\r\n protected deleteTimesheet () {\r\n this.userIntents.deleteTimesheet\r\n .flatMap((intent: {timesheetId: number, version: number})=> {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.delete(`/v1/timesheets/${intent.timesheetId}/delete`, {\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n } \r\n })\r\n\r\n .then((response: IResponse>) => {\r\n return {\r\n timesheetId: intent.timesheetId \r\n }\r\n })\r\n ).catch((error): IEmptyObservable => {\r\n this.httpResults.deleteTimesheetFailed.onNext(error.data.result['error']);\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .subscribe(this.httpResults.deleteTimesheetSuccess);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetEvents\", TimesheetEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n interface IExternalSigninIntents {\r\n signInFromExternalSourceWithToken: Rx.Subject;\r\n }\r\n\r\n export class ExternalSigninEvents {\r\n\r\n userIntents: IExternalSigninIntents = {\r\n signInFromExternalSourceWithToken: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\"httpService\", \"SigninTransformers\", \"SigninEvents\", \"signedInUserStore\"];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private SigninTransformers: Sonovate.Core.Transformers.SigninTransformers,\r\n private SigninEvents: Sonovate.Core.Events.SigninEvents,\r\n private signedInUserStore: ISignedInUserStore\r\n ) {\r\n this.initGetOnGetUserAccountFromBearerToken();\r\n }\r\n\r\n private initGetOnGetUserAccountFromBearerToken() {\r\n this.userIntents.signInFromExternalSourceWithToken\r\n .flatMap((intent: Sonovate.Core.Events.IExternalSigninIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/auth/session-user`, {\r\n headers: {\r\n \"Authorization\": `Bearer ${intent.params.bearer}`\r\n } \r\n })\r\n )\r\n .catch(() => null);\r\n })\r\n .map((response: IResponse) => {\r\n return this.SigninTransformers.UserAccount_ISignedInUser(response.data.result);\r\n }).subscribe(this.SigninEvents.httpResults.signInFromExternalSourceWithTokenSuccess);\r\n\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"ExternalSigninEvents\", ExternalSigninEvents);\r\n}","/// \r\n\r\nmodule Sonovate.ChangePassword {\r\n \r\n class ChangePasswordController extends Core.BaseController {\r\n \r\n static $inject = [\r\n '$scope',\r\n 'ChangePasswordEvents',\r\n 'ChangePasswordStateUpdates'\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected ChangePasswordEvents: Core.Events.ChangePasswordEvents,\r\n protected ChangePasswordStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope);\r\n }\r\n }\r\n \r\n angular.module(\"sonovate.ChangePassword\").controller(\"ChangePasswordController\", ChangePasswordController);\r\n}\r\n\r\n\r\n","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n export interface ITimesheetAddWorkUserIntents {\r\n\r\n typeStartTime: Rx.Subject;\r\n blurStartTime: Rx.Subject;\r\n typeEndTime: Rx.Subject;\r\n blurEndTime: Rx.Subject;\r\n typeBreakHours: Rx.Subject;\r\n blurBreakHours: Rx.Subject;\r\n typeBreakMinutes: Rx.Subject;\r\n blurBreakMinutes: Rx.Subject;\r\n openAddWorkModal: Rx.Subject;\r\n \r\n typeHours: Rx.Subject;\r\n blurHours: Rx.Subject;\r\n typeMinutes: Rx.Subject;\r\n blurMinutes: Rx.Subject;\r\n typeQuantity: Rx.Subject;\r\n blurQuantity: Rx.Subject;\r\n\r\n clearSelectedDates: Rx.Subject;\r\n userSelectsDatesToAddWork: Rx.Subject;\r\n userCancelsAddingWorkDates: Rx.Subject;\r\n userCompletesAddingWorkDates: Rx.Subject;\r\n userStartsAddWorkFlow: Rx.Subject;\r\n typeDescription: Rx.Subject;\r\n selectServiceRate: Rx.Subject;\r\n submitEntry: Rx.Subject;\r\n validate: Rx.Subject;\r\n setNonWorkUnitOfMeasure: Rx.Subject;\r\n dismissSuccess: Rx.Subject;\r\n dismissError: Rx.Subject;\r\n setCalendarView: Rx.Subject;\r\n\r\n editWorkEntry: Rx.Subject;\r\n setServiceRateIdToEdit: Rx.Subject;\r\n userStartsEditWorkFlow: Rx.Subject;\r\n deleteEntry: Rx.Subject;\r\n cancelEdit: Rx.Subject;\r\n clickReadMore: Rx.Subject;\r\n closeAddWorkModal: Rx.Subject;\r\n clearAddWorkForm: Rx.Subject;\r\n\r\n startEditingWorkEntry: Rx.Subject;\r\n stopEditingWorkEntry: Rx.Subject;\r\n\r\n }\r\n\r\n export interface ITimesheetAddWorkHttpResults {\r\n submitWorkEntrySuccess: Rx.Subject;\r\n submitWorkEntryFail: Rx.Subject;\r\n submitNonWorkEntrySuccess: Rx.Subject;\r\n submitNonWorkEntryFail: Rx.Subject,\r\n conflictError: Rx.Subject;\r\n deleteWorkEntrySuccess: Rx.Subject;\r\n deleteWorkEntryFail: Rx.Subject;\r\n deleteNonWorkEntrySuccess: Rx.Subject;\r\n deleteNonWorkEntryFail: Rx.Subject;\r\n editWorkEntrySuccess: Rx.Subject;\r\n editNonWorkEntrySuccess: Rx.Subject;\r\n editWorkEntryFailure: Rx.Subject;\r\n editNonWorkEntryFailure: Rx.Subject; \r\n }\r\n\r\n export interface IDeleteEntryUserIntent {\r\n timesheetId: number;\r\n entry: Models.ITimesheetEntry;\r\n version: number;\r\n isDeleting: boolean;\r\n isLastEntry: boolean;\r\n }\r\n\r\n export class TimesheetAddWorkEvents {\r\n\r\n userIntents: ITimesheetAddWorkUserIntents = {\r\n\r\n typeStartTime: new Rx.Subject(),\r\n blurStartTime: new Rx.Subject(),\r\n typeEndTime: new Rx.Subject(),\r\n blurEndTime: new Rx.Subject(),\r\n typeBreakHours: new Rx.Subject(),\r\n blurBreakHours: new Rx.Subject(),\r\n typeBreakMinutes: new Rx.Subject(),\r\n blurBreakMinutes: new Rx.Subject(),\r\n typeQuantity: new Rx.Subject(),\r\n blurQuantity: new Rx.Subject(),\r\n \r\n typeHours: new Rx.Subject(),\r\n blurHours: new Rx.Subject(),\r\n typeMinutes: new Rx.Subject(),\r\n blurMinutes: new Rx.Subject(),\r\n \r\n openAddWorkModal: new Rx.Subject(),\r\n clearSelectedDates: new Rx.Subject(),\r\n userSelectsDatesToAddWork: new Rx.Subject(),\r\n userCancelsAddingWorkDates: new Rx.Subject(),\r\n userCompletesAddingWorkDates: new Rx.Subject(),\r\n typeDescription: new Rx.Subject(),\r\n selectServiceRate: new Rx.Subject(),\r\n submitEntry: new Rx.Subject(),\r\n validate: new Rx.Subject(),\r\n setNonWorkUnitOfMeasure: new Rx.Subject(),\r\n dismissSuccess: new Rx.Subject(),\r\n dismissError: new Rx.Subject(),\r\n setCalendarView: new Rx.Subject(),\r\n setServiceRateIdToEdit: new Rx.Subject(),\r\n userStartsEditWorkFlow: new Rx.Subject(),\r\n deleteEntry: new Rx.Subject(),\r\n cancelEdit: new Rx.Subject(),\r\n clickReadMore: new Rx.Subject(),\r\n editWorkEntry: new Rx.Subject(),\r\n closeAddWorkModal: new Rx.Subject(),\r\n clearAddWorkForm: new Rx.Subject(),\r\n userStartsAddWorkFlow: new Rx.Subject(),\r\n\r\n startEditingWorkEntry: new Rx.Subject(),\r\n stopEditingWorkEntry: new Rx.Subject()\r\n\r\n }\r\n\r\n httpResults: ITimesheetAddWorkHttpResults = {\r\n submitWorkEntrySuccess: new Rx.Subject(),\r\n submitWorkEntryFail: new Rx.Subject(),\r\n submitNonWorkEntryFail: new Rx.Subject(),\r\n submitNonWorkEntrySuccess: new Rx.Subject(),\r\n conflictError: new Rx.Subject(),\r\n deleteWorkEntrySuccess: new Rx.Subject(),\r\n deleteWorkEntryFail: new Rx.Subject(),\r\n deleteNonWorkEntrySuccess: new Rx.Subject(),\r\n deleteNonWorkEntryFail: new Rx.Subject(),\r\n editWorkEntrySuccess: new Rx.Subject(),\r\n editNonWorkEntrySuccess: new Rx.Subject(),\r\n editWorkEntryFailure: new Rx.Subject(),\r\n editNonWorkEntryFailure: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"TimesheetTransformers\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private TimesheetTransformers: Core.Transformers.TimesheetTransformers\r\n ) {\r\n this.initSubmitWorkEntry();\r\n this.initSubmitNonWorkEntry();\r\n this.initSubmitWorkEntryEdit();\r\n this.initSubmitNonWorkEntryEdit();\r\n this.initDeleteWorkEntry();\r\n this.initDeleteNonWorkEntry();\r\n }\r\n\r\n private initSubmitWorkEntry () {\r\n this.userIntents.submitEntry\r\n .filter((intent: ISubmitAddWorkUserIntent) => {\r\n return intent.isFormValid\r\n })\r\n .filter((intent: ISubmitAddWorkUserIntent) => {\r\n return !intent.isAdding;\r\n })\r\n .filter((intent) => {\r\n return intent.entry.type === 'WorkEntry';\r\n })\r\n .flatMap((intent: ISubmitAddWorkUserIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.post(\r\n `/v1/timesheets/${intent.timesheetId}/log-work`,\r\n this.TimesheetTransformers.ITimesheetEntry_RateBasedCharge(intent.entry, intent.selectedDates),\r\n {\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n }\r\n }\r\n )\r\n ).catch((error): IEmptyObservable => {\r\n if(error && error.status == '409'){\r\n this.httpResults.conflictError.onNext(error);\r\n return Rx.Observable.empty();\r\n }\r\n this.httpResults.submitWorkEntryFail.onNext(error.data.result.codes.workEntry);\r\n return Rx.Observable.empty();\r\n });\r\n })\r\n .map((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.TimesheetNew): Models.ITimesheetNew => {\r\n return this.TimesheetTransformers.TimesheetNew_ITimesheetNew(timesheet);\r\n })\r\n .subscribe(this.httpResults.submitWorkEntrySuccess);\r\n }\r\n\r\n private initSubmitNonWorkEntry () {\r\n this.userIntents.submitEntry\r\n .filter((intent: ISubmitAddWorkUserIntent) => {\r\n return intent.isFormValid;\r\n }) \r\n .filter((intent: ISubmitAddWorkUserIntent) => {\r\n return !intent.isAdding;\r\n }) \r\n .filter((intent) => {\r\n return intent.entry.type === 'NonWorkEntry';\r\n })\r\n .flatMap((intent: ISubmitAddWorkUserIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.post(\r\n `/v1/timesheets/${intent.timesheetId}/log-non-work`,\r\n this.TimesheetTransformers.ITimesheetEntry_NonWorkEntry(intent.entry, intent.selectedDates),\r\n {\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n } \r\n }\r\n )\r\n ).catch((error): IEmptyObservable => {\r\n if(error && error.status == '409'){\r\n this.httpResults.conflictError.onNext(error);\r\n return Rx.Observable.empty();\r\n }\r\n this.httpResults.submitNonWorkEntryFail.onNext(error.data.result.codes.workEntry)\r\n return Rx.Observable.empty();\r\n });\r\n })\r\n .map((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.TimesheetNew): Models.ITimesheetNew => {\r\n return this.TimesheetTransformers.TimesheetNew_ITimesheetNew(timesheet);\r\n })\r\n .subscribe(this.httpResults.submitNonWorkEntrySuccess);\r\n }\r\n\r\n private initSubmitWorkEntryEdit () {\r\n this.userIntents.editWorkEntry\r\n .filter((intent: ISubmitEditWorkUserIntent) => {\r\n return intent.isFormValid;\r\n })\r\n .filter((intent) => {\r\n return intent.entry.type === 'WorkEntry';\r\n })\r\n .flatMap((intent: ISubmitEditWorkUserIntent) => {\r\n var timesheetEntry = this.TimesheetTransformers.ITimesheetEntry_RateBasedCharge(intent.entry, intent.selectedDates);\r\n timesheetEntry.rateBasedChargeId = intent.entry.id;\r\n\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\r\n `/v1/timesheets/${intent.timesheetId}/log-work`,\r\n timesheetEntry,\r\n {\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n }\r\n }\r\n )\r\n ).catch((error): IEmptyObservable => {\r\n if(error && error.status == '409'){\r\n this.httpResults.conflictError.onNext(null);\r\n return Rx.Observable.empty();\r\n }else if(error && error.status !=='409'){\r\n this.httpResults.editWorkEntryFailure.onNext(error.data.result.codes.rateBasedCharge);\r\n return Rx.Observable.empty();\r\n }else{\r\n return Rx.Observable.empty();\r\n }\r\n });\r\n })\r\n .map((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.TimesheetNew): Models.ITimesheetNew => {\r\n return this.TimesheetTransformers.TimesheetNew_ITimesheetNew(timesheet);\r\n })\r\n .subscribe(this.httpResults.editWorkEntrySuccess);\r\n }\r\n\r\n private initSubmitNonWorkEntryEdit () {\r\n this.userIntents.editWorkEntry\r\n .filter((intent: ISubmitEditWorkUserIntent) => {\r\n return intent.isFormValid;\r\n })\r\n .filter((intent) => {\r\n return intent.entry.type === 'NonWorkEntry';\r\n })\r\n .flatMap((intent: ISubmitEditWorkUserIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\r\n `/v1/timesheets/${intent.timesheetId}/log-non-work`, \r\n {\r\n nonWorkEntryId: intent.entry.id,\r\n quantity: intent.entry.quantity,\r\n nonWorkReason: intent.entry.reasonId,\r\n entryDates: [intent.entry.entryDate],\r\n description: intent.entry.description \r\n }, \r\n {\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n }\r\n }\r\n )\r\n ).catch((error): IEmptyObservable => {\r\n if(error && error.status == '409'){\r\n this.httpResults.conflictError.onNext(null);\r\n return Rx.Observable.empty();\r\n }else if(error && error.status !=='409'){\r\n this.httpResults.editNonWorkEntryFailure.onNext(error.data.result.codes.rateBasedCharge);\r\n return Rx.Observable.empty();\r\n }else{\r\n return Rx.Observable.empty();\r\n }\r\n });\r\n })\r\n .map((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.TimesheetNew): Models.ITimesheetNew => {\r\n return this.TimesheetTransformers.TimesheetNew_ITimesheetNew(timesheet);\r\n })\r\n .subscribe(this.httpResults.editNonWorkEntrySuccess);\r\n }\r\n\r\n private initDeleteWorkEntry () {\r\n this.userIntents.deleteEntry\r\n .filter((intent: IDeleteEntryUserIntent) => {\r\n return intent.entry.type === 'WorkEntry';\r\n })\r\n .filter((intent: IDeleteEntryUserIntent) => {\r\n return !intent.isDeleting\r\n })\r\n .flatMap((intent: IDeleteEntryUserIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.delete(\r\n `/v1/timesheets/${intent.timesheetId}/log-work/${intent.entry.id}`,\r\n {\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n }\r\n }\r\n )\r\n .then((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n if (intent.isLastEntry) this.userIntents.stopEditingWorkEntry.onNext(null)\r\n return response.data.result;\r\n })\r\n ).catch((error): IEmptyObservable => {\r\n if(error && error.status == '409'){\r\n this.httpResults.conflictError.onNext(null);\r\n return Rx.Observable.empty();\r\n }else if(error && error.status !=='409'){\r\n this.httpResults.deleteNonWorkEntryFail.onNext(\"\")\r\n return Rx.Observable.empty();\r\n }else{\r\n return Rx.Observable.empty();\r\n }\r\n });\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.TimesheetNew): Models.ITimesheetNew => {\r\n return this.TimesheetTransformers.TimesheetNew_ITimesheetNew(timesheet);\r\n })\r\n .subscribe(this.httpResults.deleteWorkEntrySuccess);\r\n }\r\n\r\n private initDeleteNonWorkEntry () {\r\n this.userIntents.deleteEntry\r\n .filter((intent: IDeleteEntryUserIntent) => {\r\n return intent.entry.type === 'NonWorkEntry';\r\n })\r\n .filter((intent: IDeleteEntryUserIntent) => {\r\n return !intent.isDeleting\r\n })\r\n .flatMap((intent: IDeleteEntryUserIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.delete(\r\n `/v1/timesheets/${intent.timesheetId}/log-non-work/${intent.entry.id}`,\r\n {\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n }\r\n }\r\n )\r\n .then((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n ).catch((error): IEmptyObservable => {\r\n if(error && error.status == '409'){\r\n this.httpResults.conflictError.onNext(null);\r\n return Rx.Observable.empty();\r\n }else if(error && error.status !=='409'){\r\n this.httpResults.deleteWorkEntryFail.onNext(\"\")\r\n return Rx.Observable.empty();\r\n }else {\r\n return Rx.Observable.empty();\r\n }\r\n });\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.TimesheetNew): Models.ITimesheetNew => {\r\n return this.TimesheetTransformers.TimesheetNew_ITimesheetNew(timesheet);\r\n })\r\n .subscribe(this.httpResults.deleteNonWorkEntrySuccess);\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetAddWorkEvents\", TimesheetAddWorkEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events { \r\n\r\n interface ITimesheetClearUserIntents {\r\n clearTimesheet: Rx.Subject\r\n }\r\n\r\n interface ITimesheetClearHttpResults {\r\n clearTimesheetSuccess: Rx.Subject\r\n clearTimesheetError: Rx.Subject\r\n }\r\n\r\n interface ITimesheetClearIntent {\r\n timesheetId: number;\r\n version: number;\r\n }\r\n\r\n export class TimesheetClearEvents {\r\n\r\n userIntents: ITimesheetClearUserIntents = {\r\n clearTimesheet: new Rx.Subject()\r\n \r\n }\r\n\r\n httpResults: ITimesheetClearHttpResults = {\r\n clearTimesheetSuccess: new Rx.Subject(),\r\n clearTimesheetError: new Rx.Subject()\r\n \r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"TimesheetTransformers\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n protected TimesheetTransformers: Core.Transformers.TimesheetTransformers\r\n ) {\r\n this.initClearTimesheet();\r\n }\r\n \r\n private initClearTimesheet () {\r\n this.userIntents\r\n .clearTimesheet\r\n .flatMap((intent: ITimesheetClearIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\r\n `/v1/timesheets/${intent.timesheetId}/clear`, \r\n {},\r\n {\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n }\r\n }\r\n )\r\n )\r\n .catch((error: IErrorResponse): IEmptyObservable => {\r\n this.httpResults.clearTimesheetError.onNext(error.data.result['error']);\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.TimesheetNew): Models.ITimesheetNew => {\r\n return this.TimesheetTransformers.TimesheetNew_ITimesheetNew(timesheet);\r\n })\r\n .subscribe(this.httpResults.clearTimesheetSuccess);\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetClearEvents\", TimesheetClearEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events { \r\n\r\n interface ITimesheetDeclineUserIntents {\r\n typeDeclineReason: Rx.Subject,\r\n declineTimesheet: Rx.Subject,\r\n clearState: Rx.Subject\r\n }\r\n\r\n interface ITimesheetDeclineHttpResults {\r\n declineTimesheetSuccess: Rx.Subject\r\n declineTimesheetError: Rx.Subject\r\n }\r\n\r\n interface ITimesheetDeclineIntent {\r\n timesheetId: number;\r\n version: number;\r\n message: string;\r\n }\r\n\r\n export class TimesheetDeclineEvents {\r\n\r\n userIntents: ITimesheetDeclineUserIntents = {\r\n declineTimesheet: new Rx.Subject(),\r\n typeDeclineReason: new Rx.Subject(),\r\n clearState: new Rx.Subject()\r\n \r\n }\r\n\r\n httpResults: ITimesheetDeclineHttpResults = {\r\n declineTimesheetSuccess: new Rx.Subject(),\r\n declineTimesheetError: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"TimesheetTransformers\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n protected TimesheetTransformers: Core.Transformers.TimesheetTransformers\r\n ) {\r\n this.initDeclineTimesheet();\r\n }\r\n \r\n private initDeclineTimesheet () {\r\n this.userIntents\r\n .declineTimesheet\r\n .flatMap((intent: ITimesheetDeclineIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\r\n `/v1/timesheets/${intent.timesheetId}/decline`, \r\n {\r\n message: intent.message\r\n },\r\n {\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n }\r\n }\r\n )\r\n )\r\n .catch((error: IErrorResponse): IEmptyObservable => {\r\n this.httpResults.declineTimesheetError.onNext(error.data.result['error']);\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.TimesheetNew): Models.ITimesheetNew => {\r\n return this.TimesheetTransformers.TimesheetNew_ITimesheetNew(timesheet);\r\n })\r\n .subscribe(this.httpResults.declineTimesheetSuccess);\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetDeclineEvents\", TimesheetDeclineEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n export interface ITypeInRateAmountIntent {\r\n amount: string;\r\n amountHours: string;\r\n amountMinutes: string;\r\n summaryIndex: number;\r\n workEntryIndex: number;\r\n }\r\n\r\n export interface ISelectRateIntent {\r\n serviceRateId: number;\r\n summaryIndex: number;\r\n workEntryIndex: number;\r\n }\r\n\r\n export interface IAddRateIntent {\r\n summaryIndex: number;\r\n }\r\n\r\n export interface IRemoveRateIntent {\r\n summaryIndex: number;\r\n workEntryIndex: number;\r\n }\r\n\r\n export interface IUploadSignedTimesheetIntent {\r\n timesheetId: number;\r\n file: File;\r\n summaryIndex: number;\r\n }\r\n\r\n export interface IRemoveEvidenceIntent {\r\n summaryIndex: number;\r\n }\r\n\r\n export interface IUploadFileResult {\r\n file: string;\r\n summaryIndex: number;\r\n }\r\n\r\n export interface ITypeInNotesBoxIntent {\r\n text: string;\r\n }\r\n\r\n export interface ISubmitManagedTimesheetIntent {\r\n timesheetId: number;\r\n version: number;\r\n adhocTransactions: Models.IAdhocTransaction[];\r\n summaries: Models.ISonovateWorkSummary[];\r\n notes: string;\r\n }\r\n\r\n export interface IActionTimesheetIntent {\r\n timesheetId: number;\r\n version: number;\r\n }\r\n\r\n export interface IApproveTimesheetIntent {\r\n timesheetId: number;\r\n force: boolean;\r\n version: number;\r\n }\r\n\r\n export interface IDeclineTimesheetIntent {\r\n timesheetId: number;\r\n version: number;\r\n message: string;\r\n }\r\n\r\n export interface IRemoveTimesheetFileIntent {\r\n summaryIndex: number;\r\n }\r\n\r\n export interface ITypeInDescriptionIntent {\r\n adhocTransactionIndex: number;\r\n description: string;\r\n }\r\n\r\n export interface ITypeInPayAmountIntent {\r\n adhocTransactionIndex: number;\r\n payAmount: number;\r\n }\r\n\r\n export interface ITypeInChargeAmountIntent {\r\n adhocTransactionIndex: number;\r\n chargeAmount: number;\r\n }\r\n\r\n export interface IApproveFromListingIntent {\r\n timesheetId: number;\r\n version: number;\r\n }\r\n\r\n export interface IBulkApproveTimesheetFromListing {\r\n isBulkApproving: boolean;\r\n showMessage: boolean;\r\n }\r\n\r\n export interface ITimesheetSonovateActionUserIntents {\r\n uploadSignedTimesheet: Rx.Subject;\r\n removeTimesheetFile: Rx.Subject;\r\n addRate: Rx.Subject;\r\n removeRate: Rx.Subject;\r\n typeInRateHoursInput: Rx.Subject;\r\n blurHours: Rx.Subject;\r\n typeInRateMinutesInput: Rx.Subject;\r\n blurMinutes: Rx.Subject;\r\n typeInRateAmountInput: Rx.Subject;\r\n selectRate: Rx.Subject;\r\n addMoreEvidence: Rx.Subject;\r\n removeEvidence: Rx.Subject;\r\n typeInNotesBox: Rx.Subject;\r\n submitManagedTimesheet: Rx.Subject;\r\n reopenTimesheet: Rx.Subject;\r\n closeErrorMessage: Rx.Subject;\r\n userTypedTransactionDescription: Rx.Subject;\r\n userTypedTransactionPayAmount: Rx.Subject;\r\n userTypedTransactionChargeAmount: Rx.Subject;\r\n userClickedAddAdhocTransaction:Rx.Subject;\r\n userClickedDeleteAdhocTransaction:Rx.Subject;\r\n userApprovedTimesheetFromListing: Rx.Subject;\r\n userApprovedTimesheet: Rx.Subject; \r\n userBulkApprovedTimesheetsFromListing: Rx.Subject;\r\n dismissError: Rx.Subject;\r\n }\r\n\r\n export interface ITimesheetSonovateActionHttpResults {\r\n uploadSignedTimesheetSuccess: Rx.Subject;\r\n submitManagedTimesheetSuccess: Rx.Subject;\r\n userApprovedTimesheetSuccess: Rx.Subject;\r\n userApprovedTimesheetFailure: Rx.Subject;\r\n reopenTimesheetSuccess: Rx.Subject;\r\n reopenTimesheetFailure: Rx.Subject;\r\n uploadSignedTimesheetError: Rx.Subject;\r\n submitManagedTimesheetError: Rx.Subject;\r\n userApprovedTimesheetFromListingSuccess: Rx.Subject;\r\n userApprovedTimesheetFromListingFailure: Rx.Subject;\r\n conflictError: Rx.Subject;\r\n conflictListingError: Rx.Subject;\r\n currentBulkApprovalStatusComplete: Rx.Subject;\r\n userBulkApprovedTimesheetsFromListing: Rx.Subject\r\n getCurrentBulkApprovalStatus: Rx.Subject;\r\n currentBulkApprovalRequest: Rx.Subject;\r\n currentBulkApprovalRequestError: Rx.Subject; \r\n userApprovedTimesheetForcePrompt: Rx.Subject;\r\n }\r\n \r\n export class TimesheetSonovateActionEvents {\r\n\r\n userIntents: ITimesheetSonovateActionUserIntents = {\r\n uploadSignedTimesheet: new Rx.Subject(),\r\n removeTimesheetFile: new Rx.Subject(),\r\n addRate: new Rx.Subject(),\r\n removeRate: new Rx.Subject(),\r\n typeInRateHoursInput: new Rx.Subject(),\r\n blurHours: new Rx.Subject(),\r\n typeInRateMinutesInput: new Rx.Subject(), \r\n blurMinutes: new Rx.Subject(),\r\n typeInRateAmountInput: new Rx.Subject(),\r\n selectRate: new Rx.Subject(),\r\n addMoreEvidence: new Rx.Subject(),\r\n removeEvidence: new Rx.Subject(),\r\n typeInNotesBox: new Rx.Subject(),\r\n submitManagedTimesheet: new Rx.Subject(),\r\n userApprovedTimesheet: new Rx.Subject(),\r\n reopenTimesheet: new Rx.Subject(),\r\n closeErrorMessage: new Rx.Subject(),\r\n userTypedTransactionDescription: new Rx.Subject(),\r\n userTypedTransactionPayAmount: new Rx.Subject(),\r\n userTypedTransactionChargeAmount: new Rx.Subject(),\r\n userClickedDeleteAdhocTransaction: new Rx.Subject(),\r\n userClickedAddAdhocTransaction: new Rx.Subject(),\r\n userApprovedTimesheetFromListing: new Rx.Subject(), \r\n userBulkApprovedTimesheetsFromListing: new Rx.Subject(),\r\n dismissError: new Rx.Subject()\r\n }\r\n\r\n httpResults: ITimesheetSonovateActionHttpResults = {\r\n uploadSignedTimesheetSuccess: new Rx.Subject(),\r\n submitManagedTimesheetSuccess: new Rx.Subject(),\r\n submitManagedTimesheetError: new Rx.Subject(),\r\n uploadSignedTimesheetError: new Rx.Subject(),\r\n userApprovedTimesheetSuccess: new Rx.Subject(),\r\n userApprovedTimesheetFailure: new Rx.Subject(),\r\n reopenTimesheetSuccess: new Rx.Subject(),\r\n reopenTimesheetFailure: new Rx.Subject(),\r\n userApprovedTimesheetFromListingSuccess: new Rx.Subject(),\r\n userApprovedTimesheetFromListingFailure: new Rx.Subject(),\r\n conflictError: new Rx.Subject(),\r\n conflictListingError: new Rx.Subject(), \r\n currentBulkApprovalStatusComplete: new Rx.Subject(),\r\n getCurrentBulkApprovalStatus: new Rx.Subject(),\r\n currentBulkApprovalRequest: new Rx.Subject(),\r\n currentBulkApprovalRequestError: new Rx.Subject(),\r\n userBulkApprovedTimesheetsFromListing: new Rx.Subject(),\r\n userApprovedTimesheetForcePrompt: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"APP_URL\",\r\n \"Upload\",\r\n \"TimesheetTransformers\",\r\n \"ErrorsTransformer\",\r\n \"TimesheetSearchResultTransformers\",\r\n \"$state\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private APP_URL: string,\r\n private Upload: angular.angularFileUpload.IUploadService,\r\n private TimesheetTransformers: Core.Transformers.TimesheetTransformers,\r\n private ErrorsTransformer: Core.Transformers.ErrorsTransformer,\r\n private TimesheetSearchResultTransformers: Core.Transformers.TimesheetSearchResultTransformers,\r\n private $state: ng.ui.IStateService\r\n ) {\r\n this.initUploadSignedTimesheet();\r\n this.initSubmitManagedTimesheet();\r\n this.inituserApprovedTimesheet();\r\n this.initReopenTimesheet();\r\n this.inituserApprovedTimesheetFromListing();\r\n this.inituserBulkApprovedTimesheetsFromListing();\r\n this.GetCurrentBulkApprovalStatus();\r\n }\r\n\r\n private initUploadSignedTimesheet() {\r\n this.userIntents.uploadSignedTimesheet\r\n .flatMap((intent: IUploadSignedTimesheetIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.Upload.upload({\r\n url: `${this.APP_URL}/v1/timesheets/${intent.timesheetId}/manage/evidence`,\r\n data: {\r\n file: intent.file\r\n },\r\n method: \"POST\"\r\n })\r\n .then((response: IResponse): IUploadFileResult => {\r\n return {\r\n summaryIndex: intent.summaryIndex,\r\n file: response.data.result\r\n }\r\n })\r\n ).catch((error): IEmptyObservable => {\r\n if (error.data.result.errors) {\r\n this.httpResults.uploadSignedTimesheetError.onNext(\r\n this.ErrorsTransformer.IErrors_String(error.data.result.errors)\r\n );\r\n }\r\n return Rx.Observable.empty();\r\n });\r\n })\r\n .subscribe(this.httpResults.uploadSignedTimesheetSuccess);\r\n }\r\n\r\n private initSubmitManagedTimesheet() {\r\n this.userIntents.submitManagedTimesheet\r\n .flatMap((intent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\r\n `/v1/timesheets/${intent.timesheetId}/sonovatesubmit`,\r\n {\r\n lumpSumEntries: intent.adhocTransactions.map((transaction) => this.TimesheetTransformers.IAdhocTransaction_LumpSumEntry(transaction)),\r\n summaries: intent.summaries.map((summary) => this.TimesheetTransformers.ISonovateWorkSummary_IEvidenceSummary(summary)), \r\n notes: intent.notes\r\n },\r\n {\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n } \r\n }\r\n )\r\n ).catch((error): IEmptyObservable => {\r\n if (error.data.result.errors) {\r\n this.httpResults.submitManagedTimesheetError.onNext(\r\n this.ErrorsTransformer.IErrors_String(error.data.result.errors)\r\n );\r\n }\r\n return Rx.Observable.empty();\r\n });\r\n })\r\n .map((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.TimesheetNew): Models.ITimesheetNew => {\r\n return this.TimesheetTransformers.TimesheetNew_ITimesheetNew(timesheet);\r\n })\r\n .subscribe(this.httpResults.submitManagedTimesheetSuccess);\r\n }\r\n\r\n private inituserApprovedTimesheet() {\r\n this.userIntents.userApprovedTimesheet\r\n .flatMap((intent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\r\n `/v1/timesheets/${intent.timesheetId}/approve`,\r\n {\r\n force: intent.force\r\n },\r\n {\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n } \r\n }\r\n )\r\n ).catch((error): IEmptyObservable => {\r\n if(error && error.status == '412') {\r\n this.httpResults.userApprovedTimesheetForcePrompt.onNext(error);\r\n return Rx.Observable.empty();\r\n }\r\n if(error && error.status == '409') {\r\n this.httpResults.conflictError.onNext(error);\r\n return Rx.Observable.empty();\r\n }\r\n if(error && error.status != '409') {\r\n if(error.data.result) {\r\n var errorText = error.data.result.error\r\n }\r\n if(error.data.message) {\r\n var errorText = error.data.message\r\n }\r\n this.httpResults.userApprovedTimesheetFailure.onNext(error.data.result['error']);\r\n return Rx.Observable.empty();\r\n }\r\n });\r\n })\r\n .map((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.TimesheetNew): Models.ITimesheetNew => {\r\n return this.TimesheetTransformers.TimesheetNew_ITimesheetNew(timesheet);\r\n })\r\n .subscribe(this.httpResults.userApprovedTimesheetSuccess);\r\n }\r\n\r\n private inituserApprovedTimesheetFromListing() {\r\n this.userIntents.userApprovedTimesheetFromListing\r\n .flatMap((intent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\r\n `/v1/timesheets/${intent.timesheetId}/approve`,\r\n {},\r\n {\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n } \r\n }\r\n )\r\n ).catch((error): IEmptyObservable => {\r\n if(error && error.status == '409') {\r\n this.httpResults.conflictListingError.onNext({\r\n timesheetId:intent.timesheetId,\r\n error: error.data.result['error']\r\n });\r\n return Rx.Observable.empty();\r\n }\r\n if (error && error.status == '412') {\r\n this.$state.go(`sonovate.TimesheetsWorkView.modals`, {\r\n modal: 'force-approval',\r\n timesheetId: intent.timesheetId,\r\n timesheetAssignmentId: 0\r\n });\r\n return Rx.Observable.empty();\r\n }\r\n if(error && error.status != '409') {\r\n if(error.data.result) {\r\n var errorText = error.data.result.error\r\n }\r\n if(error.data.message) {\r\n var errorText = error.data.message\r\n }\r\n this.httpResults.userApprovedTimesheetFromListingFailure.onNext({\r\n timesheetId:intent.timesheetId,\r\n error: error.data.result['error']\r\n });\r\n return Rx.Observable.empty();\r\n }\r\n });\r\n })\r\n .map((response: IResponse): Sonovate.ViewModels.Timesheets.Timesheet => {\r\n return response.data.result;\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.Timesheet): Models.ITimesheetSearchResult => {\r\n return this.TimesheetSearchResultTransformers.Timesheet_ITimesheetSearchResult(timesheet);\r\n })\r\n .subscribe(this.httpResults.userApprovedTimesheetFromListingSuccess);\r\n }\r\n\r\n private inituserBulkApprovedTimesheetsFromListing() {\r\n \r\n this.userIntents.userBulkApprovedTimesheetsFromListing\r\n .flatMap(() => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.post(\r\n `v1/timesheets/jobs/bulk-approve`,\r\n {}, \r\n ) \r\n )\r\n .catch((error): IEmptyObservable => { \r\n return Rx.Observable.empty();\r\n });\r\n })\r\n .map((response: IResponse<{}>): IBulkApproveTimesheetFromListing => {\r\n return {\r\n isBulkApproving: response.status !== 204 ? true : false,\r\n showMessage: response.status === 204 ? true : false\r\n }\r\n })\r\n .subscribe(this.httpResults.currentBulkApprovalRequest);\r\n }\r\n\r\n private GetCurrentBulkApprovalStatus() {\r\n \r\n this.httpResults.getCurrentBulkApprovalStatus\r\n .flatMap(() => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(\r\n `v1/timesheets/jobs/bulk-approve`,\r\n {}, \r\n ) \r\n )\r\n .catch((error): IEmptyObservable => { \r\n return Rx.Observable.empty();\r\n });\r\n })\r\n .map((response: any): boolean => { \r\n return response.data.result == null ? false : true;\r\n })\r\n .subscribe(this.httpResults.currentBulkApprovalStatusComplete);\r\n }\r\n\r\n private initReopenTimesheet() {\r\n this.userIntents.reopenTimesheet\r\n .flatMap((intent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\r\n `/v1/timesheets/${intent.timesheetId}/sonovate/reopen`,\r\n {},\r\n {\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n } \r\n }\r\n )\r\n ).catch((error): IEmptyObservable => {\r\n this.httpResults.reopenTimesheetFailure.onNext(error.data.result['error']);\r\n return Rx.Observable.empty();\r\n });\r\n })\r\n .map((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.TimesheetNew): Models.ITimesheetNew => {\r\n return this.TimesheetTransformers.TimesheetNew_ITimesheetNew(timesheet);\r\n })\r\n .subscribe(this.httpResults.reopenTimesheetSuccess);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetSonovateActionEvents\", TimesheetSonovateActionEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n //TODO: get rid of base state, make services.\r\n export class TimesheetAddWorkState extends TimesheetWorkBaseState {\r\n \r\n isAdding: boolean;\r\n isEditing: boolean;\r\n serviceRates: Models.IServiceRate[] = [];\r\n state: ITimesheetAddWork;\r\n nonWorkSubUnitsOfMeasure: Models.ISubUnit[];\r\n \r\n selectedDates: string[] = [];\r\n selectedDatesCopy: string[] = [];\r\n isSelectedDatesValid: boolean = false;\r\n unitOfMeasureTextId: string;\r\n showSubUnits: boolean;\r\n showNonWorkSection: boolean;\r\n showSuccess: boolean = false;\r\n showCalendarView: boolean = false;\r\n nonWorkRate: any;\r\n dateError: boolean;\r\n expandedIndex: number;\r\n\r\n addingBulkTime: boolean;\r\n\r\n private nonWorkReasons: Models.INonWorkReason[] = [];\r\n private workServiceRates: Models.IServiceRate[] = [];\r\n private previousServiceRate: Models.IServiceRate;\r\n \r\n protected $inject = [\r\n \"DateService\",\r\n \"$state\"\r\n ];\r\n\r\n constructor (\r\n protected DateService: Core.Utils.DateService,\r\n protected $state: ng.ui.IStateService\r\n ) { \r\n super(DateService);\r\n this.state = this.instantiateState(); \r\n }\r\n\r\n setExpandedIndex = (index: number) => index === this.expandedIndex ? this.expandedIndex = undefined : this.expandedIndex = index\r\n clearExpandedIndex = () => this.expandedIndex = undefined\r\n copySelectedDates = () => this.selectedDatesCopy = this.selectedDates\r\n resetSelectedDates = () => this.selectedDates = this.selectedDatesCopy\r\n resetSelectedDatesCopy = () => this.selectedDatesCopy = []\r\n setAddingBulkTime = (value: boolean) => this.addingBulkTime = value;\r\n \r\n typeQuantity(quantity: string): void {\r\n this.state.entry.quantity = quantity;\r\n }\r\n\r\n setSuccess() {\r\n this.showSuccess = true;\r\n }\r\n \r\n resetSuccess() {\r\n this.showSuccess = false;\r\n }\r\n\r\n setCalendarViewable(value: boolean) {\r\n this.showCalendarView = value;\r\n }\r\n\r\n isFormValid(): boolean {\r\n return !this.checkErrors(this.state)\r\n }\r\n\r\n attemptSubmit(): void {\r\n if (this.isFormValid() && this.isQuantityValid) {\r\n this.isAdding = true;\r\n }\r\n \r\n if (\r\n this.activeServiceRate &&\r\n this.isQuantityValid && \r\n (R.isEmpty(this.state.entry.quantity) || R.isNil(this.state.entry.quantity))\r\n ) {\r\n this.isQuantityValid = false;\r\n return;\r\n }\r\n \r\n if (\r\n this.activeServiceRate &&\r\n this.activeServiceRate.unitOfMeasure && \r\n this.isQuantityValid && \r\n (R.isEmpty(this.state.entry.quantity) || R.isNil(this.state.entry.quantity))\r\n ) {\r\n this.isQuantityValid = false;\r\n return;\r\n }\r\n \r\n if (this.state.entry.type === \"NonWorkEntry\" && this.nonWorkExceedsLimit()) {\r\n this.isQuantityValid = false;\r\n return;\r\n }\r\n }\r\n\r\n typeStartTime (time: string): void {\r\n this.resetSuccess();\r\n this.state.entry.startTime = time;\r\n }\r\n\r\n typeEndTime (time: string) {\r\n this.resetSuccess();\r\n this.state.entry.endTime = time;\r\n }\r\n\r\n typeBreakHours(hours:string): void {\r\n this.resetSuccess();\r\n this.state.addBreakHours = hours;\r\n }\r\n\r\n typeBreakMinutes(minutes:string): void {\r\n this.resetSuccess();\r\n this.state.addBreakMinutes = minutes;\r\n }\r\n\r\n calculateTime() {\r\n const fieldsToClear = ['entry.hours', 'entry.minutes']\r\n this.clearErrors(fieldsToClear)\r\n this.clearWorkHours()\r\n this.state = R.pipe(\r\n Validation.TimesheetAddWork.ValidateStartTime,\r\n Validation.TimesheetAddWork.ValidateEndTime,\r\n Validation.Time.Hours(\"addBreakHours\"),\r\n Validation.Time.Minutes(\"addBreakMinutes\"),\r\n Validation.TimesheetAddWork.UpdateBreakAmountWithBreakHoursAndMinutes,\r\n Validation.TimesheetAddWork.UpdateHourlyQuantityWithStartEnd(this.activeServiceRate),\r\n Validation.TimesheetAddWork.UpdateHourlyQuantityHoursMinutesWithStartEnd(this.activeServiceRate)\r\n )(this.state)\r\n }\r\n\r\n validateWorkEntry() {\r\n this.hasDateSelected();\r\n this.clearAllErrors();\r\n this.state = R.pipe(\r\n Validation.TimesheetAddWork.ValidateStartTime,\r\n Validation.TimesheetAddWork.ValidateEndTime,\r\n Validation.TimesheetAddWork.ValidateUnit,\r\n Validation.TimesheetAddWork.ValidateHoursAndMinutes,\r\n Validation.TimesheetAddWork.validateMetadata\r\n )(this.state);\r\n }\r\n\r\n validateAddHourlyWork() {\r\n this.state = R.pipe(\r\n Validation.Time.Hours(\"addWorkHours\"),\r\n Validation.Time.Minutes(\"addWorkMinutes\"),\r\n Validation.TimesheetAddWork.UpdateQuantityWithWorkHoursAndMinutes,\r\n Validation.TimesheetAddWork.UpdateWorkEntryToBeEmpty\r\n )(this.state);\r\n }\r\n\r\n validatieHoursAndMinutes() {\r\n this.state = R.pipe(\r\n Validation.TimesheetAddWork.ValidateHoursAndMinutes\r\n )(this.state)\r\n }\r\n\r\n private resetTimes(): void {\r\n this.entry.startTime = '';\r\n this.entry.endTime = '';\r\n this.entry.breakAmount = '';\r\n }\r\n\r\n typeWorkHours(hours: string): void {\r\n this.resetSuccess();\r\n this.resetTimes();\r\n this.state.addWorkHours = hours;\r\n }\r\n\r\n typeWorkMinutes(minutes:string): void {\r\n this.resetSuccess();\r\n this.resetTimes();\r\n this.state.addWorkMinutes = minutes;\r\n }\r\n\r\n blurQuantity(): void {\r\n this.resetSuccess();\r\n }\r\n\r\n getQuantityAsNumber(): number {\r\n return parseInt(this.state.entry.quantity);\r\n }\r\n\r\n setNonWorkReasons (nonWorkReasons: Models.INonWorkReason[]): void {\r\n this.nonWorkReasons = nonWorkReasons;\r\n this.mergeServiceRates();\r\n }\r\n\r\n setUserSelectedDates (dates: string[]): void {\r\n this.selectedDates = dates;\r\n this.validateSelectedDates();\r\n this.setAddingBulkTime(false);\r\n }\r\n\r\n openAddWorkModal() {\r\n this.$state.go(`${this.$state.current.name}.modals`, {modal: 'timesheet-add-work'})\r\n }\r\n\r\n closeAddWorkModal() {\r\n this.$state.go(`${this.$state.current.parent}`)\r\n }\r\n\r\n setServiceRates (rates: Models.IServiceRate[]): void {\r\n this.workServiceRates = rates.filter((rate) => {\r\n return ! rate.isExpense;\r\n });\r\n\r\n this.mergeServiceRates();\r\n\r\n if (rates.length) {\r\n this.selectServiceRate(rates[0].serviceRateId);\r\n }\r\n\r\n if (this.doesActiveServiceRateHaveSubUnits()) {\r\n this.setQuantityToDefaultForDay();\r\n } else {\r\n this.state.entry.quantity = \"\";\r\n }\r\n }\r\n\r\n selectServiceRate (id: number): void {\r\n this.previousServiceRate = angular.copy(this.activeServiceRate);\r\n this.activeServiceRate = R.find((rate) => rate.serviceRateId === id, this.serviceRates);\r\n this.showNonWorkSection = this.activeServiceRate.isNonWorkReason === true;\r\n this.updateAddWorkFormWithServiceRateChange();\r\n this.setQuantityDefaults();\r\n }\r\n\r\n setTimesheetEntryToAdd(){\r\n this.isEditing = false;\r\n }\r\n\r\n setTimesheetEntryToEdit(timesheetEntry: Models.ITimesheetEntry) {\r\n this.isEditing = true;\r\n this.previousServiceRate = angular.copy(this.activeServiceRate);\r\n this.state.entry = angular.copy(timesheetEntry);\r\n this.setActiveServiceRate(this.state.entry);\r\n this.setUserSelectedDates([this.state.entry.entryDate]);\r\n this.setBreakHoursMinutesFromAmount();\r\n this.setWorkHoursMinutesFromQuantity();\r\n \r\n this.updateAddWorkFormWithServiceRateChange();\r\n\r\n if(this.state.entry.startTime && this.state.entry.endTime){\r\n this.state.entry.startTime = moment(this.state.entry.startTime, 'HH:mm:SS').format('h:mm A');\r\n this.state.entry.endTime = moment(this.state.entry.endTime, 'HH:mm:SS').format('h:mm A');\r\n }\r\n }\r\n\r\n updateAddWorkFormWithServiceRateChange() {\r\n this.resetSuccess();\r\n this.state.entry.type = this.getEntryWorkTypeBasedOnActiveServiceRate();\r\n this.state.quantityType = this.getWorkQuantityType();\r\n this.state.entry.serviceRateId = this.activeServiceRate.serviceRateId;\r\n this.showTimes = this.isActiveServiceRateHourly(); \r\n this.clearAllErrors();\r\n\r\n if (this.state.entry.reasonId) {\r\n this.state.entry.reasonId = this.activeServiceRate.serviceRateId;\r\n }\r\n }\r\n\r\n private setQuantityDefaults(): void {\r\n if(this.activeServiceRate.isNonWorkReason) {\r\n this.setNonWorkQuantityToDefaultForDay();\r\n } else {\r\n this.setQuantityToDefaultForDay();\r\n };\r\n }\r\n\r\n private mergeServiceRates (): void {\r\n this.serviceRates = angular.copy(this.workServiceRates);\r\n this.nonWorkReasons.map((nonWorkReason) => {\r\n this.serviceRates.push({\r\n serviceRateId: nonWorkReason.id,\r\n label: nonWorkReason.text,\r\n isNonWorkReason: true\r\n });\r\n });\r\n this.serviceRates = this.serviceRates.filter((rate) => {\r\n return rate.serviceRateId !== 'None';\r\n });\r\n }\r\n\r\n private getEntryWorkTypeBasedOnActiveServiceRate(): Models.ITimesheetEntryType {\r\n if (this.activeServiceRate.isNonWorkReason) {\r\n return \"NonWorkEntry\"; \r\n } else {\r\n return \"WorkEntry\";\r\n }\r\n }\r\n\r\n private isActiveServiceRateHourly(): boolean {\r\n return (\r\n this.activeServiceRate.unitOfMeasure &&\r\n R.contains(this.activeServiceRate.unitOfMeasure.unitOfMeasureTextId, [\"Hour\"])\r\n );\r\n }\r\n\r\n getServiceRatesAsDropdownItems(): Models.IDropdownItem[] {\r\n return this.serviceRates.map((rate) => this.IServiceRate_IDropdownItem(rate));\r\n }\r\n\r\n private IServiceRate_IDropdownItem(serviceRate): Models.IDropdownItem {\r\n return {\r\n text: serviceRate.label,\r\n value: serviceRate.serviceRateId \r\n }\r\n }\r\n\r\n private setQuantityToDefaultForDay(): void {\r\n this.state = R.pipe(\r\n Validation.TimesheetAddWork.SetQuantityDefault(this.previousServiceRate, this.activeServiceRate)\r\n )(this.state);\r\n }\r\n\r\n private setNonWorkQuantityToDefaultForDay(): void {\r\n //Why is this a validation function?! TODO: move to service.\r\n this.state = R.pipe(\r\n Validation.TimesheetAddWork.SetQuantityDefaultForNonWork(this.previousServiceRate, this.activeServiceRate)\r\n )(this.state);\r\n }\r\n\r\n private checkSubUnitsAreNotEmpty(): boolean {\r\n return (\r\n !R.isEmpty(this.activeServiceRate.unitOfMeasure.subUnits) && \r\n !R.isNil(this.activeServiceRate.unitOfMeasure.subUnits)\r\n );\r\n }\r\n\r\n private checkActiveServiceRateIsNonWork(): boolean {\r\n return this.activeServiceRate.isNonWorkReason;\r\n }\r\n\r\n clearAll(): void {\r\n this.isAdding = false;\r\n this.isEditing = false;\r\n this.showCalendarView = false;\r\n this.state.entry.hasRejection = false;\r\n this.state.entry.quantity = '1';\r\n this.state.entry.id = null;\r\n this.state.entry.entryId = null;\r\n this.state.entry.entryDate = \"\";\r\n this.state.entry.type = null;\r\n this.state.entry.serviceRateId = \"\";\r\n this.state.entry.reasonId = null;\r\n this.state.entry.hasRejection = false;\r\n this.state.entry.startTime = '';\r\n this.state.entry.endTime = '';\r\n this.state.entry.breakAmount = '';\r\n this.state.entry.description = '';\r\n this.state.addBreakHours = '';\r\n this.state.addBreakMinutes = '';\r\n this.state.addWorkHours = '';\r\n this.state.addWorkMinutes = '';\r\n this.selectedDates = [];\r\n this.isSelectedDatesValid = false;\r\n this.entry.id = null;\r\n this.entry.showConflict = false;\r\n this.isStartTimeValid = true;\r\n this.isEndTimeValid = true;\r\n this.isBreakAmountValid = true;\r\n this.isQuantityValid = true;\r\n this.mode = 'quantity';\r\n this.dateError = false;\r\n super.clearAll(); //do we need this?\r\n }\r\n\r\n clearAllErrors(): void {\r\n this.state.errors = {\r\n \"entry.startTime\": {\r\n isValid: true,\r\n message: \"\"\r\n }, \r\n \"entry.endTime\": {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n \"entry.breakAmount\": {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n \"entry.units\": {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n \"entry.hours\": {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n \"entry.minutes\": {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n \"entry.breakHours\": {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n \"entry.breakMinutes\": {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n addWorkHours: {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n addWorkMinutes: {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n addBreakHours: {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n addBreakMinutes: {\r\n isValid: true,\r\n message: \"\"\r\n }\r\n }\r\n }\r\n\r\n clearErrors(fields: string[]): void {\r\n fields.forEach(field => {\r\n this.state.errors[field].isValid = true\r\n this.state.errors[field].message = ''\r\n })\r\n }\r\n\r\n clearWorkHours(): void {\r\n this.state.addWorkHours = '0'\r\n this.state.addWorkMinutes = '0'\r\n }\r\n\r\n setTimeFormat (format: string): void {\r\n this.state.timeFormat = format;\r\n }\r\n\r\n clearDropdowns(){\r\n this.nonWorkReasons = [];\r\n this.workServiceRates = [];\r\n }\r\n\r\n private setActiveServiceRate(timesheetEntry: Models.ITimesheetEntry): void {\r\n this.activeServiceRate = R.find((rate) => rate.serviceRateId === timesheetEntry.serviceRateId, this.serviceRates);\r\n \r\n if(this.state.entry.type === \"NonWorkEntry\") {\r\n this.nonWorkRate = this.nonWorkReasons.filter((rate) => {\r\n return rate.id === timesheetEntry.reasonId;\r\n })[0];\r\n this.state.entry.rateLabel = this.nonWorkRate.label;\r\n this.state.entry.serviceRateId = this.nonWorkRate.id;\r\n \r\n };\r\n \r\n if(this.state.entry.type === \"WorkEntry\"){\r\n this.state.entry.serviceRateId = timesheetEntry.serviceRateId;\r\n };\r\n\r\n this.showNonWorkSection = this.state.entry.type === \"NonWorkEntry\" ? true : false;\r\n this.activeServiceRate.isNonWorkReason = this.state.entry.type === \"NonWorkEntry\" ? true : false;\r\n }\r\n\r\n private setBreakHoursMinutesFromAmount() {\r\n this.state.addBreakHours = Core.Utils.Time.Decimal_Hours(this.state.entry.breakAmount);\r\n this.state.addBreakMinutes = Core.Utils.Time.Decimal_Minutes(this.state.entry.breakAmount);\r\n }\r\n\r\n private setWorkHoursMinutesFromQuantity() {\r\n this.state.addWorkHours = Core.Utils.Time.Decimal_Hours(this.state.entry.quantity);\r\n this.state.addWorkMinutes = Core.Utils.Time.Decimal_Minutes(this.state.entry.quantity);\r\n }\r\n\r\n hasDateSelected() {\r\n if (this.selectedDates === [] || this.selectedDates.length == 0) {\r\n this.dateError = true;\r\n return;\r\n }\r\n }\r\n\r\n clearCalendarError() {\r\n this.dateError = false;\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetAddWorkState\", TimesheetAddWorkState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export class TimesheetSonovateAddWorkState {\r\n\r\n state: Models.ITimesheetSonovateAddWork;\r\n\r\n protected $inject = [];\r\n\r\n constructor () { \r\n this.setDefault();\r\n }\r\n \r\n setDefault() {\r\n this.state = {\r\n summaries: [this.createSummary()],\r\n serviceRates: [],\r\n adhocTransactions: [],\r\n notes: \"\",\r\n showError: false\r\n }\r\n }\r\n\r\n clear() {\r\n this.setDefault();\r\n }\r\n\r\n setAdhocTransactions(transactions: Models.IAdhocTransaction[]) {\r\n this.state.adhocTransactions = transactions;\r\n }\r\n\r\n setServiceRateSummariesAndNote(summaries: Models.ISonovateWorkSummary[], note: string) {\r\n this.state.summaries = [this.createSummary()];\r\n this.state.notes = note;\r\n if (summaries.length !== 0) {\r\n this.state.summaries = summaries;\r\n }\r\n }\r\n\r\n removeSignedTimesheetFile(summaryIndex: number) {\r\n if (this.state.summaries[summaryIndex]) {\r\n this.state.summaries[summaryIndex] = R.assoc('timesheetFile', null, this.state.summaries[summaryIndex]);\r\n }\r\n }\r\n\r\n setSignedTimesheetFile(summaryIndex:number, fileUrl: string) {\r\n this.state.summaries[summaryIndex].timesheetFile = fileUrl;\r\n }\r\n\r\n setServiceRates(rates: Models.IServiceRate[]) {\r\n this.state.serviceRates = rates;\r\n\r\n if (rates.length && this.state.summaries[0].workEntries.length == 0) {\r\n this.state.summaries = R.forEach((summary) => {\r\n {\r\n if(summary.workEntries.length){\r\n summary.workEntries[0].isNonWorkReason = rates[0].isNonWorkReason || false;\r\n summary.workEntries[0].candidatePayRate = rates[0].candidatePayRate || null;\r\n summary.workEntries[0].clientChargeRate = rates[0].clientChargeRate || null;\r\n summary.workEntries[0].serviceRateId = rates[0].serviceRateId;\r\n } \r\n }\r\n\r\n return summary;\r\n }, this.state.summaries);\r\n }\r\n }\r\n\r\n setNotes(notes: string) {\r\n this.state.notes = notes;\r\n }\r\n\r\n addWorkEntry(summaryIndex: number) {\r\n this.state.summaries[summaryIndex].workEntries.push(this.createWorkEntry());\r\n }\r\n\r\n removeWorkEntry(summaryIndex: number, workEntryIndex:number) {\r\n this.state.summaries[summaryIndex].workEntries = R.remove(workEntryIndex, 1, this.state.summaries[summaryIndex].workEntries);\r\n }\r\n\r\n updateServiceRate(summaryIndex: number, workEntryIndex:number, serviceRateId: number) {\r\n let serviceRate = R.find(R.propEq('serviceRateId', serviceRateId))(this.state.serviceRates);\r\n\r\n this.state.summaries[summaryIndex].workEntries[workEntryIndex].serviceRateId = serviceRate.serviceRateId;\r\n this.state.summaries[summaryIndex].workEntries[workEntryIndex].isNonWorkReason = serviceRate.isNonWorkReason;\r\n this.state.summaries[summaryIndex].workEntries[workEntryIndex].clientChargeRate = serviceRate.clientChargeRate;\r\n this.state.summaries[summaryIndex].workEntries[workEntryIndex].candidatePayRate = serviceRate.candidatePayRate;\r\n this.state.summaries[summaryIndex].workEntries[workEntryIndex].serviceRateLabel = serviceRate.label;\r\n }\r\n\r\n updateWorkEntryAmount(summaryIndex: number, workEntryIndex:number, amount: string) {\r\n this.state.summaries[summaryIndex].workEntries[workEntryIndex].amount = amount;\r\n }\r\n\r\n updateWorkEntryAmountHoursAndMinutes(workEntry: Models.ISonovateWorkEntry): Models.ISonovateWorkEntry {\r\n if (workEntry.errors['addWorkHours'].isValid && workEntry.errors['addWorkMinutes'].isValid) {\r\n workEntry.amount = Utils.Time.HoursAndMinutes_Decimal(\r\n workEntry.addWorkHours,\r\n workEntry.addWorkMinutes);\r\n }\r\n else {\r\n workEntry.amount = \"0\";\r\n }\r\n\r\n return workEntry;\r\n }\r\n\r\n typeWorkHours(summaryIndex: number, workEntryIndex:number, hours: string): void {\r\n this.state.summaries[summaryIndex].workEntries[workEntryIndex].addWorkHours = hours;\r\n }\r\n\r\n typeWorkMinutes(summaryIndex: number, workEntryIndex:number, minutes: string): void {\r\n this.state.summaries[summaryIndex].workEntries[workEntryIndex].addWorkMinutes = minutes;\r\n }\r\n\r\n validateHourlyWork(summaryIndex: number, workEntryIndex: number) {\r\n const maxHoursSonovateManaged = 9999999;\r\n \r\n this.state.summaries[summaryIndex].workEntries[workEntryIndex] = R.pipe(\r\n Validation.Time.HoursWithCustomMax(\"addWorkHours\", maxHoursSonovateManaged),\r\n Validation.Time.Minutes(\"addWorkMinutes\"),\r\n ((workEntry) => {\r\n this.updateWorkEntryAmountHoursAndMinutes(workEntry);\r\n return workEntry;\r\n })\r\n )(this.state.summaries[summaryIndex].workEntries[workEntryIndex]);\r\n }\r\n\r\n addEvidence() {\r\n this.state.summaries = R.append(this.createSummary(), this.state.summaries);\r\n }\r\n\r\n removeEvidence(summaryIndex: number) {\r\n this.state.summaries = R.remove(summaryIndex, 1, this.state.summaries);\r\n }\r\n\r\n closeMessageBar () {\r\n this.state.showError = false;\r\n }\r\n\r\n openMessageBar () {\r\n this.state.showError = true;\r\n }\r\n\r\n setAdhocTransactionDescription (adhocTransactionIndex: number, description: string) {\r\n this.state.adhocTransactions[adhocTransactionIndex].description = description;\r\n }\r\n\r\n setAdhocTransactionPayAmount (adhocTransactionIndex: number, payAmount: number) {\r\n this.state.adhocTransactions[adhocTransactionIndex].payAmount = payAmount;\r\n }\r\n\r\n setAdhocTransactionChargeAmount (adhocTransactionIndex: number, chargeAmount: number) {\r\n this.state.adhocTransactions[adhocTransactionIndex].chargeAmount = chargeAmount;\r\n }\r\n\r\n deleteAdhocTransaction(index: number) {\r\n this.state.adhocTransactions.splice(index, 1);\r\n }\r\n\r\n addAdhocTransaction() {\r\n this.state.adhocTransactions.push(this.createTransaction());\r\n }\r\n\r\n private createTransaction() {\r\n return {\r\n transactionId: null,\r\n description: \"\",\r\n chargeAmount: undefined,\r\n payAmount: undefined,\r\n }\r\n }\r\n\r\n private createSummary() {\r\n let firstServiceRate = this.getFirstServiceRate();\r\n return {\r\n timesheetFile: null,\r\n workEntries: [{\r\n isNonWorkReason: this.getFirstServiceRate() ? this.getFirstServiceRate().isNonWorkReason : false,\r\n candidatePayRate: this.getFirstServiceRate() ? this.getFirstServiceRate().candidatePayRate : null,\r\n clientChargeRate: this.getFirstServiceRate() ? this.getFirstServiceRate().clientChargeRate : null,\r\n serviceRateId: this.getFirstServiceRate() ? this.getFirstServiceRate().serviceRateId : null,\r\n amount: null,\r\n addWorkHours: null,\r\n addWorkMinutes: null,\r\n errors: {\r\n addWorkHours: {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n addWorkMinutes: {\r\n isValid: true,\r\n message: \"\"\r\n }\r\n }\r\n }],\r\n };\r\n }\r\n\r\n private getFirstServiceRate() {\r\n if (this.state && this.state.serviceRates.length) {\r\n return this.state.serviceRates[0];\r\n }\r\n return null;\r\n }\r\n\r\n private createWorkEntry(): Models.ISonovateWorkEntry {\r\n return {\r\n isNonWorkReason: this.state.serviceRates.length ? this.state.serviceRates[0].isNonWorkReason : false,\r\n candidatePayRate: this.state.serviceRates.length ? this.state.serviceRates[0].candidatePayRate : null,\r\n clientChargeRate: this.state.serviceRates.length ? this.state.serviceRates[0].clientChargeRate : null,\r\n serviceRateId: this.state.serviceRates.length ? this.state.serviceRates[0].serviceRateId : null,\r\n amount: null,\r\n addWorkHours: null,\r\n addWorkMinutes: null,\r\n errors: {\r\n addWorkHours: {\r\n isValid: true,\r\n message: \"\"\r\n },\r\n addWorkMinutes: {\r\n isValid: true,\r\n message: \"\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetSonovateAddWorkState\", TimesheetSonovateAddWorkState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export class TimesheetAddExpenseState {\r\n\r\n expense: Models.ITimesheetExpense = this.getDefaultExpense();\r\n \r\n showRateBasedExpense: boolean = false;\r\n evidenceImagesAmount: string = \"\";\r\n \r\n vatError: boolean = false;\r\n netError: boolean = false;\r\n rateQuantityError: boolean = false;\r\n\r\n canSubmit: boolean = false;\r\n\r\n saving: boolean = false;\r\n saved: boolean = false;\r\n\r\n showConflictError: boolean = false;\r\n\r\n protected $inject = [\"DateService\"];\r\n\r\n constructor (protected DateService: Sonovate.Core.Utils.DateService) { \r\n \r\n }\r\n\r\n enableConflictError(): void {\r\n this.showConflictError = true;\r\n }\r\n\r\n disableConflictError(): void {\r\n this.showConflictError = false;\r\n }\r\n\r\n setSaving(): void {\r\n this.saving = true;\r\n }\r\n \r\n resetSaving(): void {\r\n this.saving = false;\r\n }\r\n\r\n setSaved(): void {\r\n this.saved = true;\r\n }\r\n\r\n resetSaved(): void {\r\n this.saved = false;\r\n }\r\n\r\n removeEvidencePicture(): void {\r\n this.expense.evidenceImages = [];\r\n }\r\n \r\n private resetexpense(): any{\r\n return {\r\n id: 0,\r\n date: \"12/12/1912\",\r\n evidenceImages: new Array(0),\r\n selectedExpenseTypeId: this.expense.selectedExpenseTypeId,\r\n selectedExpenseTypeText: this.expense.selectedExpenseTypeText,\r\n selectedExpenseRateLabel: this.expense.selectedExpenseRateLabel,\r\n netAmount: \"\",\r\n vatAmount: \"\",\r\n rateQuantity: \"\",\r\n descriptionText: \"\",\r\n isRate: false,\r\n grossAmount: \"\",\r\n rateLabel: this.expense.rateLabel\r\n }\r\n }\r\n\r\n private getDefaultExpense(): Models.ITimesheetExpense {\r\n return {\r\n id: 0,\r\n date: \"12/12/1912\",\r\n evidenceImages: new Array(0),\r\n selectedExpenseTypeId: 0,\r\n selectedExpenseTypeText: \"\",\r\n selectedExpenseRateLabel: \"\",\r\n netAmount: \"\",\r\n vatAmount: \"\",\r\n rateQuantity: \"\",\r\n rateLabel: \"\",\r\n descriptionText: \"\",\r\n isRate: false,\r\n grossAmount: \"\"\r\n }\r\n }\r\n\r\n public clearErrors(): void {\r\n this.vatError = false;\r\n this.netError = false;\r\n this.rateQuantityError = false;\r\n }\r\n\r\n public clear(): void{\r\n this.expense = this.resetexpense();\r\n this.vatError = false;\r\n this.netError = false;\r\n this.rateQuantityError = false;\r\n }\r\n\r\n public setRateQuantity(expenseQuantity: string): void{\r\n this.expense.rateQuantity = expenseQuantity;\r\n }\r\n\r\n public addExpenseType(expense: string): void {\r\n this.expense.rateLabel = expense;\r\n }\r\n\r\n public setNetAmount(netAmount: string): void {\r\n this.expense.netAmount = netAmount;\r\n }\r\n\r\n public setVatAmount(vatAmount: string): void {\r\n this.expense.vatAmount = vatAmount;\r\n }\r\n\r\n public setDescription(descriptionText: string): void {\r\n this.expense.descriptionText = descriptionText;\r\n }\r\n\r\n public addEvidencePicture(picture: any): void {\r\n this.expense.evidenceImages.push(picture);\r\n } \r\n\r\n public replaceEvidencePictures(pictures: any): void {\r\n if(pictures){\r\n \r\n this.expense.evidenceImages = pictures;\r\n return\r\n }\r\n this.expense.evidenceImages = [];\r\n } \r\n\r\n public checkExpenseType(expenseType: Models.IExpenseTypeDropdownItem): void {\r\n if(expenseType.isRateBased == true){\r\n this.showRateBasedExpense = true;\r\n this.expense.rateLabel = expenseType.rateBasedChargeLabel;\r\n this.expense.vatAmount = \"\";\r\n this.expense.netAmount = \"\";\r\n return\r\n }\r\n this.expense.rateQuantity = \"\";\r\n this.showRateBasedExpense = false;\r\n }\r\n\r\n public setExpenseType(expenseType: Models.IExpenseTypeDropdownItem): void {\r\n this.expense.selectedExpenseTypeId = expenseType.value;\r\n this.expense.selectedExpenseTypeText = expenseType.text\r\n this.expense.selectedExpenseRateLabel = expenseType.rateBasedChargeLabel\r\n } \r\n\r\n public showVatError(): void {\r\n this.vatError = true;\r\n }\r\n\r\n public hideVatError(): void {\r\n this.vatError = false;\r\n }\r\n\r\n public showNetError(): void {\r\n this.netError = true;\r\n }\r\n\r\n public hideNetError(): void {\r\n this.netError = false;\r\n }\r\n\r\n public checkQuantity (quantity): void {\r\n if(!quantity){\r\n this.rateQuantityError = true;\r\n return\r\n }\r\n if(isNaN(quantity)){\r\n this.rateQuantityError = true;\r\n return\r\n }\r\n this.rateQuantityError = false;\r\n return\r\n }\r\n\r\n public checkVatInput (vatAmount): boolean {\r\n if(isNaN(vatAmount)) {\r\n this.vatError = true;\r\n return;\r\n } \r\n if(vatAmount.toString().length > 10){\r\n this.vatError = true;\r\n return;\r\n }\r\n if(parseInt(vatAmount) < 0){\r\n this.vatError = true;\r\n return;\r\n }\r\n if(vatAmount % 1 == 0 ){\r\n this.vatError = false;\r\n return;\r\n }\r\n if(vatAmount.indexOf('.') !== -1){\r\n var deciamls = vatAmount.split('.');\r\n if (deciamls[1].length <= 2 && !isNaN(vatAmount) && !isNaN(deciamls[1])){\r\n this.vatError = false;\r\n return;\r\n } \r\n }\r\n this.vatError = true;\r\n return;\r\n }\r\n\r\n public doSubmitValidations() {\r\n if(this.expense.netAmount === ''){\r\n this.netError = true;\r\n return;\r\n }\r\n }\r\n\r\n public checkNetInput (netAmount): void {\r\n if(netAmount === ''){\r\n this.netError = false;\r\n return;\r\n }\r\n if(!netAmount){\r\n this.netError = true;\r\n return;\r\n }\r\n if(netAmount.toString().length > 10){\r\n this.netError = true;\r\n return;\r\n }\r\n if(isNaN(netAmount)) {\r\n this.netError = true;\r\n return;\r\n } \r\n if(parseInt(netAmount) <= 0 ){\r\n this.netError = true;\r\n return;\r\n }\r\n if(netAmount % 1 == 0 ){\r\n this.netError = false;\r\n return;\r\n }\r\n if(netAmount.indexOf('.') !== -1){\r\n var deciamls = netAmount.split('.');\r\n if (deciamls[1].length <= 2 && !isNaN(netAmount) && !isNaN(deciamls[1])){\r\n this.netError = false;\r\n return;\r\n } \r\n }\r\n this.netError = true;\r\n return;\r\n }\r\n\r\n public isFormValid(): boolean {\r\n this.clearErrors();\r\n if(this.showRateBasedExpense == true){\r\n this.checkQuantity(this.expense.rateQuantity);\r\n if (\r\n this.rateQuantityError == false &&\r\n this.expense.selectedExpenseTypeId &&\r\n this.expense.selectedExpenseTypeText &&\r\n this.expense.rateQuantity \r\n ) {\r\n return true\r\n } \r\n return false;\r\n }else {\r\n this.checkNetInput(this.expense.netAmount);\r\n this.checkVatInput(this.expense.vatAmount);\r\n if(\r\n this.vatError == false &&\r\n this.netError == false &&\r\n this.expense.selectedExpenseTypeId &&\r\n this.expense.selectedExpenseTypeText &&\r\n this.expense.netAmount\r\n ){\r\n return true\r\n }\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetAddExpenseState\", TimesheetAddExpenseState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class TimesheetEditExpenseState implements ITimesheetEditExpensesState {\r\n\r\n expense: Models.ITimesheetExpense = this.getDefaultExpense();\r\n showRateBasedExpense: boolean = false;\r\n showDescription: boolean = false;\r\n evidenceImagesAmount: number = 0;\r\n selectedExpenseId: number = 0;\r\n newEvidencePictures: Models.IImage[] = new Array(0);\r\n vatError: boolean = false;\r\n netError: boolean = false;\r\n rateError: boolean = false;\r\n rateQuantityError: boolean = false;\r\n showConflictError: boolean = false;\r\n canSubmit: boolean = false;\r\n uploadedEvidenceType: Models.IExpenseEvidenceType = \"none\";\r\n pictureToDisplay: any;\r\n editDescriptionOnly: boolean;\r\n\r\n protected $inject = [\r\n \"DateService\", \r\n \"$timeout\"\r\n ];\r\n\r\n constructor (\r\n protected DateService: Sonovate.Core.Utils.DateService,\r\n protected $timeout: ng.ITimeoutService\r\n ) {}\r\n\r\n private getDefaultExpense(): Models.ITimesheetExpense {\r\n return {\r\n id: 0,\r\n date: \"12/12/1912\",\r\n evidenceImages: new Array(0),\r\n selectedExpenseTypeId: 0,\r\n selectedExpenseTypeText: \"\",\r\n selectedExpenseRateLabel: \"\",\r\n netAmount: \"\",\r\n vatAmount: \"\",\r\n rateQuantity: \"\",\r\n rateLabel: \"\",\r\n descriptionText: \"\",\r\n isRate: false,\r\n grossAmount: \"\"\r\n }\r\n }\r\n\r\n openEditDescriptionOnly(): void {\r\n this.editDescriptionOnly = true;\r\n }\r\n\r\n closeEditDescriptionOnly(): void {\r\n this.editDescriptionOnly = false;\r\n }\r\n\r\n enableConflictError() {\r\n this.showConflictError = true;\r\n }\r\n\r\n disableConflictError() {\r\n this.showConflictError = false;\r\n }\r\n\r\n setSelectedExpenseId(id: number) {\r\n this.selectedExpenseId = id;\r\n this.setPictureToDisplay();\r\n }\r\n\r\n setExpense(expense: Models.ITimesheetExpense) {\r\n this.expense = expense;\r\n this.setTotalImageAmount();\r\n this.showRateBasedExpense = !!this.expense.isRate;\r\n this.expense.rateLabel = expense.selectedExpenseRateLabel;\r\n this.uploadedEvidenceType = Validation.TimesheetEditExpense.getUploadedEvidenceType(this.expense);\r\n }\r\n\r\n clearExpense() {\r\n this.selectedExpenseId = null;\r\n this.expense = this.getDefaultExpense();\r\n this.newEvidencePictures = []\r\n this.evidenceImagesAmount = 0;\r\n this.editDescriptionOnly = false;\r\n }\r\n\r\n setRateQuantity(expenseQuantity: string) {\r\n this.expense.rateQuantity = expenseQuantity;\r\n }\r\n\r\n addExpenseType(expense: string) {\r\n this.expense.rateLabel = expense;\r\n }\r\n\r\n setNetAmount(netAmount: string) {\r\n this.expense.netAmount = netAmount;\r\n }\r\n\r\n setVatAmount(vatAmount: string) {\r\n this.expense.vatAmount = vatAmount;\r\n }\r\n\r\n openDescription() {\r\n this.showDescription = true;\r\n }\r\n\r\n dismissDescription() {\r\n this.showDescription = false;\r\n }\r\n\r\n setDescription(descriptionText: string) {\r\n this.expense.descriptionText = descriptionText;\r\n }\r\n\r\n addEvidencePicture(picture: Models.IImage) { \r\n this.newEvidencePictures.push(picture);\r\n this.setTotalImageAmount();\r\n this.setPictureToDisplay();\r\n } \r\n\r\n private setPictureToDisplay(): void {\r\n if(this.expense.evidenceImages.length >=1){\r\n this.pictureToDisplay = this.expense.evidenceImages[0].url\r\n }else {\r\n this.pictureToDisplay = this.newEvidencePictures[0]\r\n }\r\n }\r\n\r\n public replaceEvidencePictures(pictures: Models.IImage[]): void {\r\n if(pictures){\r\n this.expense.evidenceImages = [];\r\n this.newEvidencePictures = pictures;\r\n this.uploadedEvidenceType = this.newEvidencePictures[0].type === \"application/pdf\" ? \"pdf\" : \"image\";\r\n this.setTotalImageAmount();\r\n this.setPictureToDisplay();\r\n return\r\n }\r\n } \r\n\r\n private setTotalImageAmount(): void { \r\n this.evidenceImagesAmount = this.expense.evidenceImages.length + this.newEvidencePictures.length;\r\n }\r\n\r\n public checkExpenseType(expenseType: Models.IExpenseTypeDropdownItem): void {\r\n if(expenseType.isRateBased == true){\r\n this.showRateBasedExpense = true;\r\n this.expense.rateLabel = expenseType.rateBasedChargeLabel;\r\n this.expense.vatAmount = \"\";\r\n this.expense.netAmount = \"\";\r\n return\r\n }\r\n this.expense.rateQuantity = \"\";\r\n this.showRateBasedExpense = false;\r\n }\r\n\r\n public setExpenseType(expenseType: Models.IExpenseTypeDropdownItem): void {\r\n this.expense.selectedExpenseTypeId = expenseType.value;\r\n this.expense.selectedExpenseTypeText = expenseType.text;\r\n } \r\n\r\n public showVatError(): void{\r\n this.vatError = true;\r\n }\r\n\r\n public hideVatError(): void{\r\n this.vatError = false;\r\n }\r\n\r\n public showNetError(): void{\r\n this.netError = true;\r\n }\r\n\r\n public hideNetError(): void{\r\n this.netError = false;\r\n }\r\n\r\n public checkVatInput (vatAmount): boolean {\r\n if(isNaN(vatAmount)) {\r\n this.vatError = true;\r\n return;\r\n } \r\n if(vatAmount % 1 == 0 ){\r\n this.vatError = false;\r\n return;\r\n }\r\n if(vatAmount.indexOf('.') !== -1){\r\n var deciamls = vatAmount.split('.');\r\n if (deciamls[1].length <= 2 && !isNaN(vatAmount) && !isNaN(deciamls[1])){\r\n this.vatError = false;\r\n return;\r\n } \r\n }\r\n this.vatError = true;\r\n return;\r\n }\r\n\r\n public checkNetInput (netAmount): void {\r\n if(!netAmount){\r\n this.netError = true;\r\n return;\r\n }\r\n if(isNaN(netAmount)) {\r\n this.netError = true;\r\n return;\r\n } \r\n if(netAmount % 1 == 0 ){\r\n this.netError = false;\r\n return;\r\n }\r\n if(netAmount.indexOf('.') !== -1){\r\n var deciamls = netAmount.split('.');\r\n if (deciamls[1].length <= 2 && !isNaN(netAmount) && !isNaN(deciamls[1])){\r\n this.netError = false;\r\n return;\r\n } \r\n }\r\n this.netError = true;\r\n return;\r\n }\r\n\r\n public checkRateQuantity(quantity): void {\r\n if(!quantity){\r\n this.rateError = true;\r\n return\r\n }\r\n if(!isNaN(quantity)){\r\n this.rateError = false;\r\n return\r\n }\r\n this.rateError = true;\r\n return;\r\n }\r\n\r\n public isFormValid(): boolean {\r\n if(this.showRateBasedExpense == true){\r\n this.checkRateQuantity(this.expense.rateQuantity);\r\n if (\r\n this.rateQuantityError == false &&\r\n this.expense.selectedExpenseTypeId &&\r\n this.expense.selectedExpenseTypeText &&\r\n (\r\n this.expense.rateQuantity \r\n )\r\n ) {\r\n return true\r\n } \r\n return false;\r\n }else{\r\n this.checkNetInput(this.expense.netAmount);\r\n this.checkVatInput(this.expense.vatAmount);\r\n if(\r\n this.vatError == false &&\r\n this.netError == false &&\r\n this.expense.selectedExpenseTypeId &&\r\n this.expense.selectedExpenseTypeText &&\r\n this.expense.netAmount\r\n ){\r\n return true\r\n }\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetEditExpenseState\", TimesheetEditExpenseState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events { \r\n\r\n interface ITimesheetSignUserIntents {\r\n signTimesheet: Rx.Subject\r\n signTimesheetFromListing: Rx.Subject<{ timesheetId: number, version: number }>\r\n }\r\n\r\n interface ITimesheetSignHttpResults {\r\n signTimesheetSuccess: Rx.Subject\r\n signTimesheetError: Rx.Subject\r\n signTimesheetFromListingSuccess: Rx.Subject\r\n signTimesheetFromListingError: Rx.Subject\r\n }\r\n\r\n interface ITimesheetSignIntent {\r\n timesheetId: number;\r\n version: number;\r\n }\r\n\r\n export class TimesheetSignEvents {\r\n\r\n userIntents: ITimesheetSignUserIntents = {\r\n signTimesheet: new Rx.Subject(),\r\n signTimesheetFromListing: new Rx.Subject()\r\n \r\n }\r\n\r\n httpResults: ITimesheetSignHttpResults = {\r\n signTimesheetSuccess: new Rx.Subject(),\r\n signTimesheetError: new Rx.Subject(),\r\n signTimesheetFromListingSuccess: new Rx.Subject(),\r\n signTimesheetFromListingError: new Rx.Subject()\r\n \r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"TimesheetTransformers\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n protected TimesheetTransformers: Core.Transformers.TimesheetTransformers\r\n ) {\r\n this.initSignTimesheet();\r\n this.initSignTimesheetFromListing();\r\n }\r\n \r\n private initSignTimesheet () {\r\n this.userIntents\r\n .signTimesheet\r\n .flatMap((intent: ITimesheetSignIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\r\n `/v1/timesheets/${intent.timesheetId}/sign`, \r\n {},\r\n {\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n }\r\n }\r\n )\r\n )\r\n .catch((error: IErrorResponse): IEmptyObservable => {\r\n this.httpResults.signTimesheetError.onNext(error.data.result['error']);\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.TimesheetNew): Models.ITimesheetNew => {\r\n return this.TimesheetTransformers.TimesheetNew_ITimesheetNew(timesheet);\r\n })\r\n .subscribe(this.httpResults.signTimesheetSuccess);\r\n }\r\n\r\n private initSignTimesheetFromListing () {\r\n this.userIntents\r\n .signTimesheetFromListing\r\n .flatMap((intent: { timesheetId: number, version: number }) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\r\n `/v1/timesheets/${intent.timesheetId}/sign`, \r\n {},\r\n {\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n }\r\n }\r\n )\r\n )\r\n .catch((error: IErrorResponse): IEmptyObservable => {\r\n this.httpResults.signTimesheetFromListingError.onNext({\r\n timesheetId: intent.timesheetId,\r\n error: error.data.result['error']\r\n });\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse) => {\r\n return response.data.result;\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.Timesheet): Models.ISignTimesheetListingResult => {\r\n return {\r\n timesheetId: timesheet.timesheetId,\r\n timesheetVersion: timesheet.version,\r\n timesheetStatus: timesheet.timesheetStatusId,\r\n timesheetStatusLabel: timesheet.timesheetStatusLabel\r\n }\r\n })\r\n .subscribe(this.httpResults.signTimesheetFromListingSuccess);\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetSignEvents\", TimesheetSignEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export class TimesheetSearchState extends BaseSearchState {\r\n\r\n context: string;\r\n showConflictError: boolean = false;\r\n isBulkApproving: boolean = false;\r\n showBulkApprovalMessage: boolean = false;\r\n actionsInProgress: Models.IListingActionsInProgress;\r\n\r\n public setContext(context: string): void {\r\n if (context) { \r\n this.context = context;\r\n }\r\n }\r\n\r\n public setActionStateOnTimesheet(timesheetId: number, propertyName: string, propertyValue: boolean): void {\r\n this.collection.forEach((searchResult: Models.ITimesheetSearchResult, index, array) => {\r\n if(timesheetId === searchResult.timesheetId){\r\n searchResult.actionsInProgress[propertyName] = propertyValue;\r\n }\r\n })\r\n }\r\n \r\n public replaceSearchResult(timesheet: Models.ITimesheetSearchResult): void {\r\n this.collection.forEach((searchResult: Models.ITimesheetSearchResult, index, array) => {\r\n if(timesheet.timesheetId === searchResult.timesheetId){\r\n //assignmentId, jobtitle, currencyCode, clientID, candidateName, clientname, jobReference and permissions don't come back on dismiss or approve response\r\n //repopulate from previous result.\r\n timesheet.agencyName = searchResult.agencyName;\r\n timesheet.jobReference = searchResult.jobReference;\r\n timesheet.clientID = searchResult.clientID;\r\n timesheet.candidateName = searchResult.candidateName;\r\n timesheet.clientName = searchResult.clientName;\r\n timesheet.jobTitle = searchResult.jobTitle;\r\n timesheet.permissions = searchResult.permissions;\r\n timesheet.timesheetAssignmentId = searchResult.timesheetAssignmentId;\r\n timesheet.currencyCode = searchResult.currencyCode;\r\n array[index] = timesheet;\r\n }\r\n })\r\n }\r\n\r\n public updateSignedSearchResult(timesheetInfo: Models.ISignTimesheetListingResult): void {\r\n this.collection.forEach((searchResult: Models.ITimesheetSearchResult, index, array: Models.ISignTimesheetListingResult[]) => {\r\n if(timesheetInfo.timesheetId === searchResult.timesheetId){\r\n array[index].timesheetVersion = timesheetInfo.timesheetVersion;\r\n array[index].timesheetStatus = timesheetInfo.timesheetStatus,\r\n array[index].timesheetStatusLabel = timesheetInfo.timesheetStatusLabel\r\n }\r\n })\r\n }\r\n\r\n setActionInProgressDismissing(timesheetId: number) {\r\n this.actionsInProgress.approvingTimesheetWithId = timesheetId;\r\n }\r\n\r\n enableConflictError(): void {\r\n this.showConflictError = true;\r\n }\r\n\r\n disableConflictError(): void {\r\n this.showConflictError = false;\r\n }\r\n\r\n public setBulkApprovalStatus(isApproving: boolean): void {\r\n this.isBulkApproving = isApproving;\r\n }\r\n\r\n public showBulkApprovalValidationMessage(showMessage: boolean): void {\r\n this.showBulkApprovalMessage = showMessage;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetSearchState\", TimesheetSearchState);\r\n}","/// \r\nmodule Sonovate.Core.State {\r\n\r\n export class TimesheetRejectState {\r\n rejectionReason: string = '';\r\n currentDeliveryPeriod: Models.IDeliveryPeriod = {};\r\n rejecting: boolean = false;\r\n showValidationMessage: boolean = false;\r\n\r\n setTimesheetAsInRejection() { \r\n this.rejecting = true; \r\n }\r\n\r\n setTimesheetAsDoneRejecting() {\r\n this.rejecting = false;\r\n }\r\n\r\n typeRejectionReason (text: string) {\r\n this.rejectionReason = text;\r\n this.showValidationMessage = false;\r\n }\r\n\r\n setVaidationMessage(value: boolean) {\r\n this.showValidationMessage = value;\r\n }\r\n\r\n setCurrentDeliveryPeriod (deliveryPeriod: Models.IDeliveryPeriod) {\r\n this.currentDeliveryPeriod = deliveryPeriod;\r\n }\r\n\r\n clear () {\r\n this.rejectionReason = '';\r\n this.showValidationMessage = false;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetRejectState\", TimesheetRejectState);\r\n}","/// \r\nmodule Sonovate.Core.State {\r\n\r\n export class TimesheetState {\r\n\r\n availableTimesheets: Models.ITimesheet[];\r\n activeTimesheet: Models.ITimesheetNew = this.getDefaultActiveTimesheet();\r\n loading: boolean = false;\r\n nonWorkReasons: Models.INonWorkReason[] = [];\r\n signedInUserId: number;\r\n signedInUserType: Models.UserType;\r\n signing: boolean = false;\r\n dismissing: boolean = false;\r\n deleting: boolean = false;\r\n downloadingTimesheet: boolean = false;\r\n showDownloadTimesheetErrorMessage: boolean = false;\r\n permissions: Core.Permissions.TimesheetPermissions.IPermissionSet = {};\r\n isShowingTimesheetStatusHistory: boolean = false;\r\n showConflictError: boolean = false;\r\n actionsInProgress: Models.IActionsInProgress;\r\n errors: IDictionary = {};\r\n action: Models.ITimesheetAction = this.getDefaultAction();\r\n\r\n downloadFileName: string; // added for Sonovate4-0/#18556 to allow download on mobile\r\n\r\n protected $inject = [\r\n \"TimesheetTransformers\",\r\n \"$state\"\r\n ];\r\n\r\n constructor(\r\n protected TimesheetTransformers: Sonovate.Core.Transformers.TimesheetTransformers,\r\n protected $state: ng.ui.IStateService\r\n ) {\r\n\r\n }\r\n\r\n setDownloadFilename = filename => this.downloadFileName = filename;\r\n\r\n enableConflictError(): void {\r\n this.showConflictError = true;\r\n }\r\n\r\n disableConflictError(): void {\r\n this.showConflictError = false;\r\n }\r\n\r\n toggleTimesheetStatusHistory() {\r\n this.isShowingTimesheetStatusHistory = ! this.isShowingTimesheetStatusHistory;\r\n }\r\n\r\n setSignedInUser (id, userType: Sonovate.Models.UserType) {\r\n this.signedInUserId = id;\r\n this.signedInUserType = userType;\r\n }\r\n\r\n setNonWorkReasons (nonWorkReasons: Models.INonWorkReason[]) {\r\n this.nonWorkReasons = nonWorkReasons;\r\n }\r\n\r\n setLoadedState(): void {\r\n this.loading = false;\r\n }\r\n\r\n setLoadingState(): void {\r\n this.loading = true;\r\n }\r\n\r\n setCurrentAction(currentAction): void {\r\n this.action.name = currentAction;\r\n }\r\n\r\n clearCurrentAction(): void {\r\n this.action = this.getDefaultAction();\r\n }\r\n\r\n setIsBusy(): void {\r\n this.action.isBusy = true;\r\n }\r\n\r\n setNotBusy(): void {\r\n this.action.isBusy = false;\r\n }\r\n\r\n setActionFailed(error: String): void {\r\n this.action.failed = true;\r\n this.action.error = error;\r\n }\r\n\r\n setActiveTimesheetByTimesheetId(timesheetId: number): void {\r\n this.activeTimesheet = R.find(R.propEq('timesheetId', timesheetId))(this.availableTimesheets);\r\n this.setTimesheetPermissions();\r\n };\r\n\r\n setTimesheetPermissions(): void {\r\n this.permissions = Core.Permissions.TimesheetPermissions.getPermissionSet({\r\n activeTimesheet: this.activeTimesheet,\r\n userId: this.signedInUserId,\r\n userType: this.signedInUserType,\r\n candidateId: this.activeTimesheet.assignment.candidateId\r\n });\r\n };\r\n\r\n setTimesheet(timesheet: Models.ITimesheetNew): void {\r\n this.activeTimesheet = timesheet;\r\n this.setTimesheetPermissions();\r\n };\r\n\r\n getTimesheetAssignment(): Models.IAssignmentNew {\r\n return this.activeTimesheet.assignment;\r\n };\r\n\r\n clearAvailableAndActiveTimesheets(): void {\r\n this.activeTimesheet = this.getDefaultActiveTimesheet();\r\n };\r\n\r\n setSigningState(): void {\r\n this.signing = true;\r\n }\r\n\r\n resetSigningState(): void {\r\n this.signing = false;\r\n }\r\n\r\n setDismissingState(): void {\r\n this.dismissing = true;\r\n }\r\n\r\n resetDismissingState(): void {\r\n this.dismissing = false;\r\n }\r\n\r\n setDeletingState(): void {\r\n this.deleting = true;\r\n }\r\n\r\n resetDeletingState(): void {\r\n this.deleting = false;\r\n }\r\n\r\n setDownloadingTimesheetState(): void {\r\n this.downloadingTimesheet = true;\r\n }\r\n\r\n resetDownloadingTimesheetState(): void {\r\n this.downloadingTimesheet = false;\r\n }\r\n\r\n enableDownloadTimesheetError(): void {\r\n this.showDownloadTimesheetErrorMessage = true;\r\n }\r\n\r\n dismissDownloadTimesheetError(): void {\r\n this.showDownloadTimesheetErrorMessage = false;\r\n }\r\n\r\n setActionInProgress(actionName: string, value: boolean) {\r\n this.activeTimesheet.actionsInProgress[actionName] = value;\r\n }\r\n\r\n setError(errorObj: Models.IErrorList): void {\r\n this.errors[errorObj.errorName] = errorObj.error;\r\n }\r\n\r\n replacePermissionWithAction(permission) { //Move to service\r\n switch(permission) {\r\n case \"CanSeeSignButton\" : return \"Sign\";\r\n case \"CanSeeRejectButton\" : return \"Reject\";\r\n case \"CanSeeResubmitButton\" : return \"Resubmit\";\r\n case \"CanSeeSubmitButton\" : return \"Submit\";\r\n case \"CanSeeAutofillButton\" : return \"Copy last timesheet\";\r\n case \"CanSeeDismissButton\" : return \"Dismiss\";\r\n case \"CandidateCanSeeDeleteTimesheetButton\" : return \"Delete\";\r\n case \"CanSeeEditTimesheetButton\" : return \"Edit\";\r\n case \"SonovateCanSeeDeleteTimesheetButton\" : return \"Delete\";\r\n case \"CanSeeClearButton\" : return \"Clear\";\r\n case \"CanSeeManagedSubmitButton\" : return \"Submit\";\r\n case \"CanSeeTakeControlButton\" : return \"Take control\";\r\n case \"CanSeeApproveButton\" : return \"Approve\";\r\n case \"CanSeeDeclineButton\" : return \"Decline\";\r\n case \"CanSeeReopenButton\" : return \"Reopen\";\r\n case \"CanSeeAddNewTimesheetButton\" : return \"Add timesheet\";\r\n case \"CanChangeAuthoriser\" : return \"Change authoriser\";\r\n case \"CanDownloadTimesheet\" : return \"Download\";\r\n }\r\n }\r\n\r\n setButtonListByPriority(): string[] {\r\n const buttonPriority = [ //Move to service\r\n \"CanSeeSignButton\",\r\n \"CanSeeRejectButton\",\r\n \"CanSeeResubmitButton\",\r\n \"CanSeeSubmitButton\",\r\n \"CanSeeAutofillButton\",\r\n \"CanSeeDismissButton\",\r\n \"CandidateCanSeeDeleteTimesheetButton\",\r\n \"CanSeeEditTimesheetButton\",\r\n \"SonovateCanSeeDeleteTimesheetButton\",\r\n \"CanSeeClearButton\",\r\n \"CanSeeManagedSubmitButton\",\r\n \"CanSeeTakeControlButton\",\r\n \"CanSeeApproveButton\",\r\n \"CanSeeDeclineButton\",\r\n \"CanSeeReopenButton\",\r\n \"CanSeeAddNewTimesheetButton\",\r\n \"CanChangeAuthoriser\",\r\n \"CanDownloadTimesheet\"\r\n ];\r\n return R.pipe(\r\n R.pickBy((val, key) => val === true), //Reduce object to permissions with only true values\r\n R.keys, // convert to list of keys\r\n R.filter((property: Sonovate.Core.Permissions.TimesheetPermissions.Permission) => {\r\n return buttonPriority.indexOf(property) > -1; //only include permissions from the priorty list (buttons only)\r\n }),\r\n R.sort((a: Permissions.TimesheetPermissions.Permission, b: Permissions.TimesheetPermissions.Permission) => {\r\n return buttonPriority.indexOf(a) - buttonPriority.indexOf(b);\r\n //if the permissions compared are out of the order stated in buttonPriority they will be sorted by subtracting their indexes in the buttonPriority list.\r\n // if the index is a negative value, the evaluated permission of a will be placed before b\r\n }),\r\n R.map((permission): string => this.replacePermissionWithAction(permission))\r\n )(this.permissions);\r\n }\r\n\r\n private getDefaultDeliveryPeriod(): Models.IDeliveryPeriod {\r\n return {\r\n startDate: \"1900-01-01\",\r\n endDate: \"1900-01-01\"\r\n };\r\n }\r\n\r\n private getDefaultActiveTimesheet(): Models.ITimesheetNew {\r\n return {\r\n assignment: this.getDefaultAssignment(),\r\n permissions: {\r\n canAuthoriseWork: false,\r\n canSubmitTimesheet: false\r\n },\r\n authoriserId:null,\r\n authoriserName:\"\",\r\n timesheetPeriodEntries:{\r\n deliveryPeriodId: null,\r\n dates: []\r\n },\r\n expenses:[],\r\n expensesGrossTotal:0,\r\n lastStatusChange:\"\",\r\n message:\"\",\r\n passesValidation:false,\r\n rejections:Array[0],\r\n signatoryPersonName:\"\",\r\n signatures: [],\r\n status:\"\",\r\n timesheetStatusLabel: \"\",\r\n statusMessage:\"\",\r\n timesheetAuthoriserId: null,\r\n timesheetId:null,\r\n validationMessages:[],\r\n workTypeSummaries:[],\r\n deliveryPeriodStartDate: \"\",\r\n deliveryPeriodEndDate: \"\",\r\n deliveryPeriodId: null,\r\n version: null,\r\n isManaged: false,\r\n summaries: [],\r\n adhocTransactions: [],\r\n managedNotes: \"\",\r\n flags: [],\r\n actionsInProgress: this.TimesheetTransformers.setDefaultActionsInProgress(),\r\n nextTimesheet: {\r\n id: null,\r\n reference: \"\",\r\n status: \"\"\r\n },\r\n previousTimesheet: {\r\n id: null,\r\n reference: \"\",\r\n status: \"\"\r\n },\r\n timesheetsInPeriod: [],\r\n hasPreviousTimesheet: false,\r\n hasNextTimesheet: false,\r\n hasWork: false,\r\n hasExpenses: false\r\n }\r\n }\r\n\r\n private getDefaultAction(): Models.ITimesheetAction {\r\n return {\r\n error: null,\r\n failed: false,\r\n isBusy: false,\r\n name: null\r\n }\r\n }\r\n\r\n private getDefaultActionsInProgress(): Models.IActionsInProgress {\r\n return {\r\n approve: false,\r\n editingTimesheet: false,\r\n dismissingTimesheet: false,\r\n rejectingTimesheet: false,\r\n reopenAsManagedTimesheet: false,\r\n submitManagedTimesheet: false,\r\n decliningTimesheet: false,\r\n submittingTimesheet: false,\r\n deletingTimesheet: false\r\n }\r\n }\r\n\r\n\r\n private getDefaultAssignment(): Models.IAssignmentNew {\r\n return {\r\n timesheetAssignmentId: null,\r\n pictureUrl: \"\",\r\n customerOrganisationId: null,\r\n customerOrganisationShortName: \"\",\r\n clientName: \"\",\r\n candidateName: \"\",\r\n jobTitle: \"\",\r\n candidateId: null,\r\n referenceNumber: \"\",\r\n serviceRates: [],\r\n customerName: \"\",\r\n supplierOrganisationId: null,\r\n supplierOrganisationPictureUrl: \"\",\r\n supplierOrganisationName: \"\",\r\n supplierOrganisationShortName: \"\",\r\n supplierCustomerServicesNumber: \"\",\r\n timesheetAuthorisers: [],\r\n currencyCode: \"\",\r\n canBookNonWork: false,\r\n canBookExpense: false,\r\n lastModifiedOn: \"\",\r\n version: 0,\r\n percentageCompleted: 0,\r\n progressStatus: \"\",\r\n days: [],\r\n nonWorkLabel: \"\",\r\n nonWorkUnit: \"\",\r\n nonWorkSubUnits: [],\r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetState\", TimesheetState);\r\n}\r\n","/// \r\n\r\nmodule Sonovate.Core.Permissions.TimesheetPermissions {\r\n export type Permission = \r\n \"CanSeePanelSummaryForCandidate\"\r\n | \"CanSeeDeliveryPeriodArrows\"\r\n | \"CanSeeDeliveryPeriodArrows\"\r\n | \"CanSeeByCandidate\"\r\n | \"CanSeeByAuthoriser\"\r\n | \"CanSeeToAuthoriser\"\r\n | \"CanSeeAuditHistory\"\r\n | \"CanSeeApprovedInAuditHistory\"\r\n | \"CanChangeAuthoriser\"\r\n | \"CanDownloadTimesheet\"\r\n | \"CanSeeGenericConflictedEntriesBox\"\r\n | \"CanSeeSignedWithConflictingEntriesBox\"\r\n | \"CanSeeSubmittedWithConflictingEntriesBox\"\r\n | \"CanSeeRejectedWithConflictingEntriesBox\"\r\n | \"CanSeeManagedTimesheetMessageBox\"\r\n | \"CanSeeTimesheetNote\"\r\n | \"CanSeeRejectionReason\"\r\n | \"CanSeeDeclinedReason\"\r\n | \"CanSeeButtonsArea\"\r\n | \"CanSeeSignButton\"\r\n | \"CanSeeRejectButton\"\r\n | \"CanSeeAutofillButton\"\r\n | \"CanSeeSubmitButton\"\r\n | \"CanSeeResubmitButton\"\r\n | \"CanSeeDismissButton\"\r\n | \"CanSeeClearButton\"\r\n | \"CanSeeTakeControlButton\"\r\n | \"CanSeeManagedSubmitButton\"\r\n | \"CanSeeApproveButton\"\r\n | \"CanSeeDeclineButton\"\r\n | \"CanSeeReopenButton\"\r\n | \"CanSeeSignatureImage\"\r\n | \"CanSeeAllTimeLink\"\r\n | \"CanUseAllTimeLink\"\r\n | \"CanSeeExpensesLink\"\r\n | \"CanSeeAddNewTimesheetButton\"\r\n | \"CanSeeEditTimesheetButton\"\r\n | \"CanAddAndEditWorkInCandidateView\"\r\n | \"CanAddAndEditWorkInManagedView\"\r\n | \"CanViewNonEditableWorkInManagedView\"\r\n | \"CanAddAndEditExpensesInExpensesView\"\r\n | \"CanAddAndEditExpensesInManagedView\"\r\n | \"CanAddAndEditExpenseItems\"\r\n | \"CanViewWorkInCandidateView\"\r\n | \"CanSeeFlags\"\r\n | \"SonovateCanSeeDeleteTimesheetButton\"\r\n | \"CandidateCanSeeDeleteTimesheetButton\";\r\n\r\n export const DefaultPemissionsSet: IPermissionSet = {\r\n \"CanSeePanelSummaryForCandidate\": false,\r\n \"CanSeeDeliveryPeriodArrows\": false,\r\n \"CanSeeByCandidate\": false,\r\n \"CanSeeByAuthoriser\": false,\r\n \"CanSeeToAuthoriser\": false,\r\n \"CanSeeAuditHistory\": false,\r\n \"CanSeeApprovedInAuditHistory\": false,\r\n \"CanChangeAuthoriser\": false,\r\n \"CanDownloadTimesheet\": false,\r\n \"CanSeeGenericConflictedEntriesBox\": false,\r\n \"CanSeeSignedWithConflictingEntriesBox\": false,\r\n \"CanSeeSubmittedWithConflictingEntriesBox\": false,\r\n \"CanSeeRejectedWithConflictingEntriesBox\": false,\r\n \"CanSeeManagedTimesheetMessageBox\": false,\r\n \"CanSeeTimesheetNote\": false,\r\n \"CanSeeRejectionReason\": false,\r\n \"CanSeeDeclinedReason\": false,\r\n \"CanSeeButtonsArea\": false,\r\n \"CanSeeSignButton\": false,\r\n \"CanSeeRejectButton\": false,\r\n \"CanSeeAutofillButton\": false,\r\n \"CanSeeSubmitButton\": false,\r\n \"CanSeeResubmitButton\": false,\r\n \"CanSeeDismissButton\": false,\r\n \"CanSeeClearButton\": false,\r\n \"CanSeeManagedSubmitButton\": false,\r\n \"CanSeeTakeControlButton\": false,\r\n \"CanSeeApproveButton\": false,\r\n \"CanSeeDeclineButton\": false,\r\n \"CanSeeReopenButton\": false,\r\n \"CanSeeSignatureImage\": false,\r\n \"CanSeeAllTimeLink\": false,\r\n \"CanUseAllTimeLink\": false,\r\n \"CanSeeExpensesLink\": false,\r\n \"CanSeeAddNewTimesheetButton\": false,\r\n \"CanSeeEditTimesheetButton\" : false,\r\n \"CanAddAndEditWorkInCandidateView\": false,\r\n \"CanAddAndEditWorkInManagedView\": false,\r\n \"CanViewNonEditableWorkInManagedView\": false,\r\n \"CanAddAndEditExpensesInExpensesView\": false,\r\n \"CanAddAndEditExpensesInManagedView\": false,\r\n \"CanViewWorkInCandidateView\": false,\r\n \"SonovateCanSeeDeleteTimesheetButton\": false,\r\n \"CandidateCanSeeDeleteTimesheetButton\": false\r\n\r\n }\r\n\r\n export interface ITimesheetPermissionsData {\r\n userType: Models.UserType;\r\n activeTimesheet: Models.ITimesheetNew;\r\n userId: number;\r\n candidateId: number;\r\n }\r\n \r\n export interface ITimesheetPermissionPayload extends ITimesheetPermissionsData {\r\n permissions: Permission[];\r\n }\r\n\r\n export interface IPermissionSet {\r\n [permission: string]: boolean;\r\n }\r\n\r\n export function getPermissions (data: ITimesheetPermissionsData): Permission[] {\r\n let payload: ITimesheetPermissionPayload = R.assoc('permissions', [], data);\r\n return R.pipe(\r\n R.pipe(\r\n Add_CanSeePanelSummaryForCandidate_Permission,\r\n Add_CanSeeDeliveryPeriodArrows_Permission,\r\n Add_CanSeeByCandidate_Permission,\r\n Add_CanSeeToAuthoriser_Permission,\r\n Add_CanAddAndEditExpenseItems_Permission\r\n ),\r\n R.pipe(\r\n Add_CanSeeByAuthoriser_Permission,\r\n Add_CanChangeAuthoriser_Permission,\r\n Add_CanDownloadTimesheet_Permission,\r\n Add_CanSeeGenericConflictedEntriesBox_Permission,\r\n Add_CanSeeSignedWithConflictingEntriesBox_Permission,\r\n Add_CanSeeSubmittedWithConflictingEntriesBox_Permission,\r\n Add_CanSeeRejectedWithConflictingEntriesBox_Permission,\r\n Add_CanSeeManagedTimesheetMessageBox_Permission,\r\n Add_CanSeeTimesheetNote_Permission,\r\n Add_CanSeeRejectionReason_Permission,\r\n Add_CanSeeDeclinedReason_Permission\r\n ),\r\n R.pipe(\r\n Add_CanSeeSignButton_Permission,\r\n Add_CanSeeRejectButton_Permission,\r\n Add_CanSeeAutofillButton_Permission,\r\n Add_CanSeeSubmitButton_Permission,\r\n Add_CanSeeResubmitButton_Permission,\r\n Add_CanSeeDismissButton_Permission,\r\n Add_CanSeeClearButton_Permission,\r\n Add_CanSeeManagedSubmitButton_Permission,\r\n Add_CanSeeApproveButton_Permission,\r\n Add_CanSeeDeclineButton_Permission,\r\n Add_CanSeeReopenButton_Permission,\r\n ),\r\n R.pipe(\r\n Add_CanSeeSignatureImage_Permission,\r\n Add_CanUseAllTimeLink_Permission,\r\n Add_CanSeeExpensesLink_Permission,\r\n Add_CanSeeAddNewTimesheetButton_Permission, \r\n Add_CanAddWorkInCandidateView_Permission,\r\n Add_CanAddAndEditWorkInManagedView_Permission,\r\n Add_CanViewNonEditableWorkInManagedView_Permission,\r\n Add_CanAddAndEditExpensesInExpensesView_Permission,\r\n Add_CanAddAndEditExpensesInManagedView_Permission,\r\n Add_CanViewWorkInCandidateView_Permission,\r\n Add_CanSeeTakeControlButton_Permission\r\n ),\r\n R.pipe(\r\n Add_CanSeeEditTimesheetButton_Permission,\r\n Add_SonovateCanSeeDeleteTimesheetButton_Permission,\r\n Add_CandidateCanSeeDeleteTimesheetButton_Permission\r\n )\r\n )(payload).permissions;\r\n }\r\n\r\n export function getPermissionSet(data: ITimesheetPermissionsData): IPermissionSet {\r\n return Permissions_IPermissionSet(getPermissions(data));\r\n }\r\n\r\n export function Add_CanSeePanelSummaryForCandidate_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return isUserType(data, ['Candidate']) ? setPermission(data, 'CanSeePanelSummaryForCandidate'): data;\r\n }\r\n\r\n export function Add_CanSeeDeliveryPeriodArrows_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return isUserType(data, ['Candidate']) ? setPermission(data, 'CanSeeDeliveryPeriodArrows'): data;\r\n }\r\n\r\n export function Add_CanSeeByCandidate_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return data.activeTimesheet.status === 'Submitted'\r\n && isUserType(data, ['Client'])\r\n ? setPermission(data, 'CanSeeByCandidate'): data;\r\n }\r\n\r\n export function Add_CanSeeToAuthoriser_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return data.activeTimesheet.status === 'Submitted'\r\n && isUserType(data, ['Sonovate', 'Candidate'])\r\n ? setPermission(data, 'CanSeeToAuthoriser'): data;\r\n }\r\n\r\n export function Add_CanSeeByAuthoriser_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return data.activeTimesheet.status === 'Signed'\r\n ? setPermission(data, 'CanSeeByAuthoriser'): data;\r\n }\r\n\r\n export function Add_CanChangeAuthoriser_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return data.activeTimesheet.status === 'Submitted'\r\n && isUserType(data, ['Candidate'])\r\n ? setPermission(data, 'CanChangeAuthoriser'): data;\r\n }\r\n\r\n export function Add_CanDownloadTimesheet_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return data.activeTimesheet.isManaged === false\r\n && ! isTimesheetStatusEditable(data.activeTimesheet.status)\r\n ? setPermission(data, 'CanDownloadTimesheet'): data;\r\n }\r\n\r\n export function Add_CanSeeGenericConflictedEntriesBox_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return data.activeTimesheet.validationMessages\r\n && data.activeTimesheet.validationMessages.length > 0\r\n && data.activeTimesheet.status !== \"Signed\"\r\n && data.activeTimesheet.status !== \"Submitted\"\r\n && data.activeTimesheet.status !== \"Rejected\"\r\n ? setPermission(data, 'CanSeeGenericConflictedEntriesBox'): data;\r\n }\r\n\r\n export function Add_CanSeeSignedWithConflictingEntriesBox_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return data.activeTimesheet.validationMessages\r\n && data.activeTimesheet.validationMessages.length > 0\r\n && data.activeTimesheet.status === \"Signed\"\r\n ? setPermission(data, 'CanSeeSignedWithConflictingEntriesBox'): data;\r\n }\r\n\r\n export function Add_CanSeeSubmittedWithConflictingEntriesBox_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return data.activeTimesheet.validationMessages\r\n && data.activeTimesheet.validationMessages.length > 0\r\n && data.activeTimesheet.status === \"Submitted\"\r\n ? setPermission(data, 'CanSeeSubmittedWithConflictingEntriesBox'): data;\r\n }\r\n\r\n export function Add_CanSeeRejectedWithConflictingEntriesBox_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return data.activeTimesheet.validationMessages\r\n && data.activeTimesheet.validationMessages.length > 0\r\n && data.activeTimesheet.status === \"Rejected\"\r\n ? setPermission(data, 'CanSeeRejectedWithConflictingEntriesBox'): data;\r\n }\r\n\r\n export function Add_CanSeeManagedTimesheetMessageBox_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return ! isUserType(data, ['Sonovate'])\r\n && data.activeTimesheet.isManaged\r\n ? setPermission(data, 'CanSeeManagedTimesheetMessageBox'): data;\r\n }\r\n\r\n export function Add_CanSeeTimesheetNote_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return ! isTimesheetStatusEditable(data.activeTimesheet.status)\r\n && data.activeTimesheet.isManaged\r\n && isUserType(data, [\"Sonovate\"])\r\n && data.activeTimesheet.managedNotes\r\n ? setPermission(data, 'CanSeeTimesheetNote'): data;\r\n }\r\n\r\n export function Add_CanSeeRejectionReason_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return data.activeTimesheet.status == \"Rejected\"\r\n && data.activeTimesheet.rejections.length > 0\r\n ? setPermission(data, 'CanSeeRejectionReason'): data;\r\n }\r\n\r\n export function Add_CanSeeDeclinedReason_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return data.activeTimesheet.status == \"Declined\"\r\n && data.activeTimesheet.rejections.length > 0\r\n ? setPermission(data, 'CanSeeDeclinedReason'): data;\r\n }\r\n\r\n export function Add_CanSeeSignButton_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return (data.activeTimesheet.authoriserId === data.userId\r\n && data.activeTimesheet.status === \"Submitted\"\r\n && !data.activeTimesheet.isManaged\r\n ) ? setPermission(data, 'CanSeeSignButton'): data;\r\n }\r\n\r\n export function Add_CanSeeRejectButton_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return data.activeTimesheet.authoriserId === data.userId\r\n && data.activeTimesheet.status === \"Submitted\"\r\n && !data.activeTimesheet.isManaged\r\n ? setPermission(data, 'CanSeeRejectButton'): data;\r\n }\r\n\r\n export function Add_CanSeeAutofillButton_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return data.candidateId === data.userId\r\n && isTimesheetStatusEditable(data.activeTimesheet.status)\r\n && data.activeTimesheet.isManaged === false\r\n ? setPermission(data, 'CanSeeAutofillButton'): data;\r\n }\r\n\r\n export function Add_CanSeeSubmitButton_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return data.candidateId === data.userId\r\n && data.activeTimesheet.status === 'Open'\r\n && data.activeTimesheet.isManaged === false\r\n && ! isTimesheetEmpty(data.activeTimesheet)\r\n ? setPermission(data, 'CanSeeSubmitButton'): data;\r\n }\r\n\r\n export function Add_CanSeeResubmitButton_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return data.candidateId === data.userId\r\n && (data.activeTimesheet.status === 'Rejected'\r\n || data.activeTimesheet.status === 'Declined')\r\n && data.activeTimesheet.isManaged === false\r\n && ! isTimesheetEmpty(data.activeTimesheet)\r\n ? setPermission(data, 'CanSeeResubmitButton'): data;\r\n }\r\n\r\n export function Add_CanSeeDismissButton_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload { \r\n return (\r\n // User is Sonovate user and timesheet is managed\r\n (isUserType(data, [\"Sonovate\"]) \r\n && data.activeTimesheet.isManaged \r\n && (!data.activeTimesheet.hasWork || data.activeTimesheet.hasExpenses)\r\n && !data.activeTimesheet.timesheetsInPeriod.length\r\n && isTimesheetStatusEditable(data.activeTimesheet.status)\r\n && isTimesheetEmpty(data.activeTimesheet))\r\n ||\r\n // User is candidate and timesheet isn't managed\r\n (isUserType(data, [\"Candidate\"])\r\n && !data.activeTimesheet.isManaged\r\n && !data.activeTimesheet.timesheetsInPeriod.length\r\n && isTimesheetStatusEditable(data.activeTimesheet.status)\r\n && isTimesheetEmpty(data.activeTimesheet))\r\n ) ? setPermission(data, 'CanSeeDismissButton'): data;\r\n }\r\n\r\n export function Add_CanSeeClearButton_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return isTimesheetStatusEditable(data.activeTimesheet.status)\r\n && data.userType === \"Sonovate\"\r\n && (data.activeTimesheet.hasWork || data.activeTimesheet.hasExpenses)\r\n && data.activeTimesheet.isManaged\r\n ? setPermission(data, 'CanSeeClearButton'): data;\r\n }\r\n\r\n export function Add_CanSeeManagedSubmitButton_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return isTimesheetStatusEditable(data.activeTimesheet.status)\r\n && data.userType === \"Sonovate\"\r\n && data.activeTimesheet.isManaged\r\n ? setPermission(data, 'CanSeeManagedSubmitButton'): data;\r\n }\r\n\r\n export function Add_CanSeeTakeControlButton_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return (isTimesheetStatusEditable(data.activeTimesheet.status))\r\n && data.userType === \"Sonovate\"\r\n && ! data.activeTimesheet.isManaged\r\n ? setPermission(data, 'CanSeeTakeControlButton'): data;\r\n }\r\n\r\n export function Add_CanSeeApproveButton_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return data.activeTimesheet.status === 'Signed'\r\n && data.userType === \"Sonovate\"\r\n ? setPermission(data, 'CanSeeApproveButton'): data;\r\n }\r\n\r\n export function Add_CanSeeDeclineButton_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return data.activeTimesheet.status === 'Signed'\r\n && data.userType === \"Sonovate\"\r\n ? setPermission(data, 'CanSeeDeclineButton'): data;\r\n }\r\n\r\n export function Add_CanSeeReopenButton_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return (\r\n isUserType(data, [\"Sonovate\"])\r\n && isTimesheetStatusReopenable(data.activeTimesheet.status)\r\n ) ? setPermission(data, 'CanSeeReopenButton'): data;\r\n }\r\n\r\n export function Add_CanSeeSignatureImage_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return data.activeTimesheet.signatures \r\n && data.activeTimesheet.signatures.length\r\n && data.activeTimesheet.signatures[0].signatureUrl\r\n ? setPermission(data, 'CanSeeSignatureImage'): data;\r\n }\r\n\r\n export function Add_CanUseAllTimeLink_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return ! data.activeTimesheet.isManaged\r\n ? setPermission(data, 'CanUseAllTimeLink'): data;\r\n }\r\n\r\n export function Add_CanSeeExpensesLink_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return ! data.activeTimesheet.isManaged\r\n ? setPermission(data, 'CanSeeExpensesLink'): data;\r\n }\r\n \r\n export function Add_CanSeeAddNewTimesheetButton_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return (\r\n // IF user is Sonovate or Candidate\r\n isUserType(data, [\"Sonovate\", \"Candidate\"])\r\n && !isTimesheetStatusReopenable(data.activeTimesheet.status)\r\n && !isTimesheetStatusEditable(data.activeTimesheet.status)\r\n && R.all((ts: Models.ITimesheetsInPeriod) => !isTimesheetStatusReopenable(ts.timesheetStatus) && !isTimesheetStatusEditable(ts.timesheetStatus))(data.activeTimesheet.timesheetsInPeriod) \r\n ) ? setPermission(data, 'CanSeeAddNewTimesheetButton'): data; \r\n } \r\n\r\n export function Add_CanSeeEditTimesheetButton_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload { \r\n return (\r\n // IF user is Sonovate or Candidate\r\n isUserType(data, [\"Candidate\"]) \r\n && isTimesheetStatusReopenable(data.activeTimesheet.status)\r\n && !data.activeTimesheet.isManaged \r\n ) ? setPermission(data, 'CanSeeEditTimesheetButton'): data; \r\n }\r\n\r\n export function Add_SonovateCanSeeDeleteTimesheetButton_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload { \r\n return (\r\n (isUserType(data, [\"Sonovate\"]) \r\n && isTimesheetStatusEditable(data.activeTimesheet.status)\r\n && (!!data.activeTimesheet.timesheetsInPeriod.length))\r\n && data.activeTimesheet.isManaged\r\n ) ? setPermission(data, 'SonovateCanSeeDeleteTimesheetButton') : data;\r\n }\r\n\r\n export function Add_CandidateCanSeeDeleteTimesheetButton_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload { \r\n return (\r\n isUserType(data, [\"Candidate\"]) \r\n && isTimesheetStatusEditable(data.activeTimesheet.status)\r\n && (!!data.activeTimesheet.timesheetsInPeriod.length)\r\n && !data.activeTimesheet.isManaged\r\n ) ? setPermission(data, 'CandidateCanSeeDeleteTimesheetButton') : data;\r\n }\r\n\r\n export function Add_CanAddWorkInCandidateView_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return isUserType(data, [\"Candidate\"])\r\n && isTimesheetStatusEditable(data.activeTimesheet.status)\r\n && ! data.activeTimesheet.isManaged\r\n ? setPermission(data, 'CanAddAndEditWorkInCandidateView'): data;\r\n }\r\n\r\n export function Add_CanAddAndEditWorkInManagedView_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return isTimesheetStatusEditable(data.activeTimesheet.status)\r\n && data.activeTimesheet.isManaged\r\n && isUserType(data, [\"Sonovate\"])\r\n ? setPermission(data, 'CanAddAndEditWorkInManagedView'): data;\r\n }\r\n\r\n export function Add_CanViewNonEditableWorkInManagedView_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return ! isTimesheetStatusEditable(data.activeTimesheet.status)\r\n && data.activeTimesheet.isManaged\r\n && isUserType(data, [\"Sonovate\"])\r\n ? setPermission(data, 'CanViewNonEditableWorkInManagedView'): data;\r\n }\r\n\r\n export function Add_CanAddAndEditExpensesInExpensesView_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return isTimesheetStatusEditable(data.activeTimesheet.status)\r\n && isUserType(data, [\"Candidate\"])\r\n ? setPermission(data, 'CanAddAndEditExpensesInExpensesView'): data;\r\n }\r\n\r\n export function Add_CanAddAndEditExpensesInManagedView_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return isTimesheetStatusEditable(data.activeTimesheet.status)\r\n && isUserType(data, [\"Sonovate\"])\r\n && data.activeTimesheet.isManaged === true\r\n ? setPermission(data, 'CanAddAndEditExpensesInManagedView'): data;\r\n }\r\n\r\n export function Add_CanAddAndEditExpenseItems_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return isTimesheetStatusEditable(data.activeTimesheet.status)\r\n && isUserType(data, [\"Sonovate\", \"Candidate\"])\r\n ? setPermission(data, 'CanAddAndEditExpenseItems'): data;\r\n }\r\n\r\n export function Add_CanViewWorkInCandidateView_Permission(data: ITimesheetPermissionPayload): ITimesheetPermissionPayload {\r\n return data.activeTimesheet.isManaged === false\r\n ? setPermission(data, 'CanViewWorkInCandidateView'): data;\r\n }\r\n\r\n export function isUserType(data: ITimesheetPermissionPayload, userTypes: Models.UserType[]) {\r\n return userTypes.indexOf(data.userType) > -1;\r\n }\r\n\r\n export function isTimesheetStatusEditable(status: string): boolean {\r\n return status === \"Open\"\r\n || status === \"Rejected\"\r\n || status === \"Declined\";\r\n }\r\n\r\n export function isTimesheetStatusReopenable(status: string): boolean {\r\n return status === \"Dismissed\"\r\n || status === \"Signed\"\r\n || status === \"Submitted\";\r\n }\r\n\r\n export function isTimesheetEmpty(timesheet: Models.ITimesheetNew): boolean {\r\n return timesheet.expenses.length === 0\r\n && timesheet.timesheetPeriodEntries.dates.filter((date) => date.entries && date.entries.length).length === 0;\r\n }\r\n\r\n export function setPermission(data: ITimesheetPermissionPayload, permission: Permission): ITimesheetPermissionPayload {\r\n return R.assoc('permissions', R.append(permission, data.permissions), data);\r\n }\r\n\r\n export function Permissions_IPermissionSet(permissions: Permission[]): IPermissionSet {\r\n return R.merge(DefaultPemissionsSet, R.fromPairs([]>R.map((permission) => [permission, true], permissions)));\r\n }\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events { \r\n\r\n interface ITimesheetManageUserIntents {\r\n manageTimesheet: Rx.Subject\r\n }\r\n\r\n interface ITimesheetManageHttpResults {\r\n manageTimesheetSuccess: Rx.Subject\r\n manageTimesheetError: Rx.Subject\r\n }\r\n\r\n interface ITimesheetManageIntent {\r\n timesheetId: number;\r\n version: number;\r\n }\r\n\r\n export class TimesheetManageEvents {\r\n\r\n userIntents: ITimesheetManageUserIntents = {\r\n manageTimesheet: new Rx.Subject()\r\n \r\n }\r\n\r\n httpResults: ITimesheetManageHttpResults = {\r\n manageTimesheetSuccess: new Rx.Subject(),\r\n manageTimesheetError: new Rx.Subject()\r\n \r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"TimesheetTransformers\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n protected TimesheetTransformers: Core.Transformers.TimesheetTransformers\r\n ) {\r\n this.initManageTimesheet();\r\n }\r\n \r\n private initManageTimesheet () {\r\n this.userIntents\r\n .manageTimesheet\r\n .flatMap((intent: ITimesheetManageIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\r\n `/v1/timesheets/${intent.timesheetId}/manage`, \r\n {},\r\n {\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n }\r\n }\r\n )\r\n )\r\n .catch((error: IErrorResponse): IEmptyObservable => {\r\n this.httpResults.manageTimesheetError.onNext(error.data.result['error']);\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.TimesheetNew) => {\r\n return this.TimesheetTransformers.TimesheetNew_ITimesheetNew(timesheet);\r\n })\r\n .subscribe(this.httpResults.manageTimesheetSuccess);\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetManageEvents\", TimesheetManageEvents);\r\n}","/// \r\nmodule Sonovate.Core.State {\r\n\r\n export interface ILoadingState {\r\n showLoadingScreen: boolean;\r\n }\r\n\r\n export class LoadingState {\r\n\r\n showLoadingScreen: boolean = false;\r\n\r\n constructor(\r\n ) {\r\n }\r\n \r\n setLoadingScreenToOff() {\r\n this.showLoadingScreen = false;\r\n }\r\n\r\n setLoadingScreenToOn() {\r\n this.showLoadingScreen = true;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"LoadingState\", LoadingState);\r\n}","/// \r\nmodule Sonovate.Core.Utils.Time {\r\n\r\n export function HoursAndMinutes_Decimal(hours:string, minutes:string): string {\r\n try {\r\n return math.add(\r\n math.number(hours), \r\n math.divide(math.number(minutes), 60)\r\n );\r\n } catch (e) {\r\n return \"0\";\r\n }\r\n }\r\n\r\n export function Decimal_HoursAndMinutes(decimalHours:string): {hours: string, minutes: string } {\r\n try {\r\n let decimal = math.number(decimalHours);\r\n return { \r\n hours: math.floor(decimal),\r\n minutes: math.round(math.multiply( math.subtract(decimal, math.floor(decimal)), 60 )),\r\n };\r\n } catch (e) {\r\n return {\r\n hours: \"0\",\r\n minutes: \"0\"\r\n }\r\n }\r\n }\r\n\r\n export function Decimal_Hours(decimalHours:string): string {\r\n return Decimal_HoursAndMinutes(decimalHours).hours;\r\n }\r\n\r\n export function Decimal_Minutes(decimalHours:string): string {\r\n return Decimal_HoursAndMinutes(decimalHours).minutes;\r\n }\r\n}","/// \r\n\r\nmodule Sonovate.Core.Validation.Time {\r\n\r\n export var Hours = R.curry((propertyName:string, state:Models.IStateSkeleton): any => {\r\n if (state.hasOwnProperty(propertyName) && state.errors.hasOwnProperty(propertyName)) {\r\n try {\r\n let hours = math.number(state[propertyName]);\r\n state.errors[propertyName].isValid = math.largerEq(hours, 0) && math.smaller(hours, 24);\r\n } catch (e) {\r\n state.errors[propertyName].isValid = false;\r\n }\r\n return state;\r\n } else {\r\n throw new Error(`[Validation.Time->Hours]: Property name \"${propertyName}\" could not be found on the state supplied.`);\r\n }\r\n });\r\n \r\n export var HoursWithCustomMax = R.curry((propertyName:string, maxHours: number, state:Models.IStateSkeleton): any => {\r\n if (state.hasOwnProperty(propertyName) && state.errors.hasOwnProperty(propertyName)) {\r\n try {\r\n let hours = math.number(state[propertyName]);\r\n state.errors[propertyName].isValid = math.largerEq(hours, 0) && math.smaller(hours, maxHours);\r\n } catch (e) {\r\n state.errors[propertyName].isValid = false;\r\n }\r\n return state;\r\n } else {\r\n throw new Error(`[Validation.Time->Hours]: Property name \"${propertyName}\" could not be found on the state supplied.`);\r\n }\r\n });\r\n\r\n export var Minutes = R.curry((propertyName:string, state:Models.IStateSkeleton): any => {\r\n if (state.hasOwnProperty(propertyName) && state.errors.hasOwnProperty(propertyName)) {\r\n try {\r\n let minutes = math.number(state[propertyName]);\r\n state.errors[propertyName].isValid = math.largerEq(minutes, 0) && math.smaller(minutes, 60);\r\n } catch (e) {\r\n state.errors[propertyName].isValid = false;\r\n }\r\n return state;\r\n } else {\r\n throw new Error(`[Validation.Time->Minutes]: Property name \"${propertyName}\" could not be found on the state supplied.`);\r\n }\r\n });\r\n}","/// \r\n\r\nmodule Sonovate.Core.Validation.TimesheetAddWork {\r\n\r\n export function ValidateStartTime(state: State.ITimesheetAddWork): State.ITimesheetAddWork {\r\n if(state.entry.endTime){\r\n try {\r\n if(R.isEmpty(state.entry.startTime) || R.isNil(state.entry.startTime)){\r\n state.errors['entry.startTime'].isValid = false;\r\n return state\r\n }\r\n state.entry.startTime = parseTime(state.entry.startTime, \"h:mm A\");\r\n state.errors['entry.startTime'].isValid = true;\r\n } catch (e) { \r\n state.errors['entry.startTime'].isValid = false;\r\n }\r\n return state\r\n }\r\n\r\n if(R.isEmpty(state.entry.startTime) || R.isNil(state.entry.startTime)){\r\n state.errors['entry.startTime'].isValid = true;\r\n return state\r\n }\r\n try {\r\n state.entry.startTime = parseTime(state.entry.startTime, \"h:mm A\");\r\n state.errors['entry.startTime'].isValid = true;\r\n } catch (e) { \r\n state.errors['entry.startTime'].isValid = false;\r\n }\r\n\r\n return state;\r\n }\r\n\r\n export function ValidateEndTime(state: State.ITimesheetAddWork): State.ITimesheetAddWork {\r\n if(state.entry.startTime){\r\n try {\r\n if(R.isEmpty(state.entry.endTime) || R.isNil(state.entry.endTime)){\r\n state.errors['entry.endTime'].isValid = false;\r\n return state\r\n }\r\n state.entry.endTime = parseTime(state.entry.endTime, \"h:mm A\");\r\n state.errors['entry.endTime'].isValid = true;\r\n } catch (e) { \r\n state.errors['entry.endTime'].isValid = false;\r\n }\r\n return state\r\n }\r\n\r\n if(R.isEmpty(state.entry.endTime) || R.isNil(state.entry.endTime)){\r\n state.errors['entry.endTime'].isValid = true;\r\n return state\r\n }\r\n try {\r\n state.entry.endTime = parseTime(state.entry.endTime, \"h:mm A\");\r\n state.errors['entry.endTime'].isValid = true;\r\n } catch (e) { \r\n state.errors['entry.endTime'].isValid = false;\r\n }\r\n\r\n return state;\r\n }\r\n\r\n export function ValidateBreakAmount(state: State.ITimesheetAddWork): State.ITimesheetAddWork {\r\n try {\r\n if (ConvertStartEndToQuantity(state) < math.number(state.entry.breakAmount)) {\r\n throw new Error('Break amount can not be bigger than difference between start and end dates.'); \r\n }\r\n state.errors[\"entry.breakAmount\"].isValid = state.errors['addBreakHours'].isValid && state.errors['addBreakMinutes'].isValid;\r\n\r\n } catch (e) {\r\n state.errors[\"entry.breakHours\"].isValid = false; \r\n state.errors[\"entry.breakHours\"].isValid = false; \r\n state.errors[\"entry.breakAmount\"].isValid = false; \r\n }\r\n return state;\r\n }\r\n\r\n export function ValidateUnit(state: State.ITimesheetAddWork): State.ITimesheetAddWork {\r\n if (state.quantityType === 'Unit') {\r\n if (R.isEmpty(state.entry.quantity)) {\r\n state.errors['entry.units'].isValid = false\r\n state.errors['entry.units'].message = 'You have to enter a number of units'\r\n } else {\r\n if (isNaN(parseInt(state.entry.quantity))) {\r\n state.errors['entry.units'].isValid = false\r\n state.errors['entry.units'].message = 'Units has to be a number'\r\n }\r\n if (parseInt(state.entry.quantity) == 0) {\r\n state.errors['entry.units'].isValid = false\r\n state.errors['entry.units'].message = 'Must be greater than 0'\r\n }\r\n }\r\n }\r\n return state\r\n }\r\n\r\n export function ValidateHoursAndMinutes(state: State.ITimesheetAddWork): State.ITimesheetAddWork {\r\n if (state.quantityType === 'Hour') {\r\n if (R.isEmpty(state.addWorkHours) && R.isEmpty(state.addWorkMinutes)) {\r\n state.errors['entry.hours'].isValid = false\r\n state.errors['entry.hours'].message = 'Required'\r\n state.errors['entry.minutes'].isValid = false\r\n state.errors['entry.minutes'].message = 'Required'\r\n return state\r\n }\r\n if (!R.isEmpty(state.addWorkHours) && isNaN(parseInt(state.addWorkHours))) {\r\n state.errors['entry.hours'].isValid = false\r\n state.errors['entry.hours'].message = 'Must be a number'\r\n }\r\n if (!R.isEmpty(state.addWorkMinutes) && isNaN(parseInt(state.addWorkMinutes))) {\r\n state.errors['entry.minutes'].isValid = false\r\n state.errors['entry.minutes'].message = 'Must be a number'\r\n }\r\n if (!R.isEmpty(state.addWorkHours) && R.isEmpty(state.addWorkMinutes) && parseInt(state.addWorkHours) < 1) {\r\n state.errors['entry.hours'].isValid = false\r\n state.errors['entry.hours'].message = 'Must be greater than 0'\r\n }\r\n if (!R.isEmpty(state.addWorkMinutes) && R.isEmpty(state.addWorkHours) && parseInt(state.addWorkMinutes) < 1) {\r\n state.errors['entry.minutes'].isValid = false\r\n state.errors['entry.minutes'].message = 'Must be greater than 0'\r\n }\r\n if (!R.isEmpty(state.addWorkHours) && !R.isEmpty(state.addWorkMinutes) && parseInt(state.addWorkHours) < 1 && parseInt(state.addWorkMinutes) < 1) {\r\n state.errors['entry.hours'].isValid = false\r\n state.errors['entry.hours'].message = 'Must be greater than 0'\r\n state.errors['entry.minutes'].isValid = false\r\n state.errors['entry.minutes'].message = 'Must be greater than 0'\r\n }\r\n }\r\n return state\r\n }\r\n\r\n export function validateMetadata(state: State.ITimesheetAddWork): State.ITimesheetAddWork {\r\n // if start time, require end time\r\n state = Validation.TimesheetAddWork.ValidateStartTime(state)\r\n // if end time, require start time\r\n state = Validation.TimesheetAddWork.ValidateEndTime(state)\r\n // if break hours or minutes, require start and end time\r\n if ((state.addBreakHours || state.addBreakMinutes) && (!state.entry.startTime || !state.entry.endTime)) {\r\n if (!state.entry.startTime) state.errors['entry.startTime'].isValid = false\r\n if (!state.entry.endTime) state.errors['entry.endTime'].isValid = false\r\n }\r\n // if break hours is nan\r\n if (state.addBreakHours !== '' && isNaN(parseInt(state.addBreakHours))) {\r\n state.errors['entry.breakHours'].isValid = false\r\n state.errors['entry.breakHours'].message = 'Must be a number'\r\n }\r\n // if break minutes is nan\r\n if (state.addBreakMinutes !== '' && isNaN(parseInt(state.addBreakMinutes))) {\r\n state.errors['entry.breakMinutes'].isValid = false\r\n state.errors['entry.breakMinutes'].message = 'Must be a number'\r\n }\r\n // if break minutes is lt 0 or gt 59\r\n if (state.addBreakMinutes !== '' && (parseInt(state.addBreakMinutes) < 0 || parseInt(state.addBreakMinutes) > 59)) {\r\n state.errors['entry.breakMinutes'].isValid = false\r\n state.errors['entry.breakMinutes'].message = 'Invalid'\r\n }\r\n // if break hours is lt 0 or gt 23\r\n if (state.addBreakHours !== '' && (parseInt(state.addBreakHours) < 0 || parseInt(state.addBreakHours) > 23)) {\r\n state.errors['entry.breakHours'].isValid = false\r\n state.errors['entry.breakHours'].message = 'Invalid'\r\n }\r\n return state\r\n }\r\n\r\n export function UpdateWorkEntryToBeEmpty(state: State.ITimesheetAddWork): State.ITimesheetAddWork {\r\n\r\n // Slices have to be done because there is a rounding differences on the the last decimal number \r\n // sometimes like 1.4444445 versus 1.4444444\r\n if ( ConvertStartEndAndBreakToQuantity(state).toString().slice(0,4) !== state.entry.quantity.toString().slice(0,4)) { \r\n state.entry.startTime = \"\";\r\n state.errors['entry.startTime'].isValid = true;\r\n state.entry.endTime = \"\";\r\n state.errors['entry.endTime'].isValid = true;\r\n state.entry.breakAmount = \"\";\r\n state.errors['entry.breakAmount'].isValid = true;\r\n state.addBreakMinutes = \"\";\r\n state.errors['addBreakMinutes'].isValid = true;\r\n state.addBreakHours = \"\"; \r\n state.errors['addBreakHours'].isValid = true;\r\n }\r\n\r\n return state;\r\n };\r\n\r\n export function CheckForNullValues(state: State.ITimesheetAddWork): State.ITimesheetAddWork {\r\n if(!state.addWorkHours || state.addWorkHours == \"0\"){\r\n state.errors['addWorkHours'].isValid = false;\r\n if(!state.addWorkMinutes){\r\n state.errors['addWorkMinutes'].isValid = false;\r\n }\r\n return state;\r\n }\r\n return state\r\n }\r\n\r\n export var UpdateHourlyQuantityWithStartEnd = R.curry((serviceRate: Models.IServiceRate, state: State.ITimesheetAddWork): State.ITimesheetAddWork => {\r\n\r\n if (\r\n serviceRate && \r\n serviceRate.unitOfMeasure && \r\n serviceRate.unitOfMeasure.unitOfMeasureTextId !== \"Hour\" &&\r\n state.quantityType !== 'Hour'\r\n ){\r\n return state;\r\n } \r\n\r\n let quantity = ConvertStartEndAndBreakToQuantity(state);\r\n \r\n state.entry.quantity = quantity ? quantity.toString() : '';\r\n \r\n return state;\r\n });\r\n\r\n export var UpdateHourlyQuantityHoursMinutesWithStartEnd = R.curry((serviceRate: Models.IServiceRate, state: State.ITimesheetAddWork): State.ITimesheetAddWork => {\r\n\r\n if (\r\n serviceRate && \r\n serviceRate.unitOfMeasure && \r\n serviceRate.unitOfMeasure.unitOfMeasureTextId !== \"Hour\" &&\r\n state.quantityType !== 'Hour'\r\n ){\r\n return state;\r\n }\r\n\r\n if(!state.entry.startTime) {\r\n return state;\r\n }\r\n \r\n let quantityHoursMinutes = Utils.Time.Decimal_HoursAndMinutes(state.entry.quantity);\r\n state.addWorkHours = quantityHoursMinutes.hours; \r\n state.addWorkMinutes = quantityHoursMinutes.minutes; \r\n return state; \r\n });\r\n\r\n export function UpdateQuantityWithWorkHoursAndMinutes(state: State.ITimesheetAddWork): State.ITimesheetAddWork {\r\n if (\r\n state.errors['addWorkHours'].isValid && \r\n state.errors['addWorkMinutes'].isValid && \r\n state.quantityType === 'Hour'\r\n ){\r\n state.entry.quantity = Utils.Time.HoursAndMinutes_Decimal(\r\n state.addWorkHours, \r\n state.addWorkMinutes\r\n );\r\n }\r\n return state;\r\n }\r\n\r\n export function UpdateBreakAmountWithBreakHoursAndMinutes(state: State.ITimesheetAddWork): State.ITimesheetAddWork {\r\n if (state.errors['addBreakHours'].isValid && state.errors['addBreakMinutes'].isValid) {\r\n state.entry.breakAmount = Utils.Time.HoursAndMinutes_Decimal(\r\n state.addBreakHours, \r\n state.addBreakMinutes \r\n );\r\n } else {\r\n state.entry.breakAmount = \"0\";\r\n }\r\n return state;\r\n }\r\n\r\n export function UpdateBreakAmountWithBreakHoursAndMinutesEditWork(state: State.ITimesheetAddWork): State.ITimesheetAddWork {\r\n if(!state.entry.startTime && !state.entry.endTime){\r\n state.addBreakHours = null\r\n state.addBreakMinutes = null;\r\n state.entry.breakAmount = null;\r\n return state;\r\n }\r\n if (state.errors['addBreakHours'].isValid && state.errors['addBreakMinutes'].isValid) {\r\n state.entry.breakAmount = Utils.Time.HoursAndMinutes_Decimal(\r\n state.addBreakHours, \r\n state.addBreakMinutes \r\n );\r\n } else {\r\n state.entry.breakAmount = \"0\";\r\n }\r\n return state;\r\n }\r\n\r\n export function ConvertStartEndToQuantity (state: State.ITimesheetAddWork): mathjs.BigNumber {\r\n \r\n let quantity: mathjs.BigNumber = null;\r\n\r\n if (state.errors['entry.endTime'].isValid && state.errors['entry.startTime'].isValid) {\r\n\r\n let start = getMomentTime(state.entry.startTime);\r\n let end = getMomentTime(state.entry.endTime);\r\n\r\n quantity = Math.abs(\r\n moment.duration(\r\n start.diff(end)\r\n ).asHours()\r\n );\r\n\r\n if (start.isAfter(end)) {\r\n quantity = math.subtract(math.number(24), quantity);\r\n }\r\n\r\n }\r\n\r\n return quantity;\r\n }\r\n\r\n export function ConvertStartEndAndBreakToQuantity (state: State.ITimesheetAddWork): mathjs.BigNumber {\r\n \r\n let quantity = ConvertStartEndToQuantity(state);\r\n \r\n if ( \r\n state.errors[\"entry.startTime\"].isValid && \r\n state.errors[\"entry.endTime\"].isValid\r\n ) {\r\n quantity = math.subtract(\r\n quantity, \r\n state.errors[\"entry.breakAmount\"].isValid ? math.number(state.entry.breakAmount): 0\r\n );\r\n }\r\n return quantity;\r\n }\r\n\r\n export function ValidateQuantity (state: State.ITimesheetAddWork): mathjs.BigNumber {\r\n \r\n let quantity = ConvertStartEndToQuantity(state);\r\n \r\n if ( \r\n state.errors[\"entry.startTime\"].isValid && \r\n state.errors[\"entry.endTime\"].isValid\r\n ) {\r\n quantity = math.subtract(\r\n quantity, \r\n state.errors[\"entry.breakAmount\"].isValid ? math.number(state.entry.breakAmount): 0\r\n );\r\n }\r\n return quantity;\r\n }\r\n\r\n export function CheckHours(state: State.ITimesheetAddWork): State.ITimesheetAddWork {\r\n\r\n if(state.addWorkHours == \"0\"){\r\n state.errors[\"addWorkHours\"].isValid = false;\r\n };\r\n\r\n if(!state.addWorkHours){\r\n state.errors[\"addWorkHours\"].isValid = false;\r\n };\r\n\r\n return state;\r\n }\r\n\r\n export function CheckQuantity(state: State.ITimesheetAddWork): State.ITimesheetAddWork {\r\n\r\n if(state.entry.quantity == \"0\"){\r\n state.errors[\"quantity\"].isValid = false;\r\n };\r\n\r\n if(!state.entry.quantity){\r\n state.errors[\"quantity\"].isValid = false;\r\n };\r\n\r\n return state;\r\n }\r\n\r\n export function CheckMinutes(state: State.ITimesheetAddWork): State.ITimesheetAddWork {\r\n state.errors[\"addWorkHours\"].isValid = true;\r\n\r\n if(state.errors[\"addWorkHours\"].isValid = false){\r\n state.errors[\"addWorkMinutes\"].isValid = false;\r\n return state;\r\n };\r\n\r\n if(state.errors[\"addWorkHours\"].isValid = true){\r\n if(state.addWorkMinutes == \"0\"){\r\n state.errors[\"addWorkMinutes\"].isValid = false;\r\n }\r\n if(!state.addWorkMinutes){\r\n state.errors[\"addWorkMinutes\"].isValid = false;\r\n }\r\n return state;\r\n };\r\n\r\n return state;\r\n }\r\n\r\n export function ResetErrors(state: State.ITimesheetAddWork): State.ITimesheetAddWork {\r\n state.errors[\"addBreakHours\"].isValid = true;\r\n state.errors[\"addBreakMinutes\"].isValid = true;\r\n state.errors[\"addWorkHours\"].isValid = true;\r\n state.errors[\"addWorkMinutes\"].isValid = true;\r\n state.errors[\"entry.breakAmount\"].isValid = true;\r\n state.errors[\"entry.endTime\"].isValid = true;\r\n state.errors[\"entry.startTime\"].isValid = true;\r\n return state;\r\n }\r\n\r\n export var SetQuantityDefault = R.curry((\r\n previousServiceRate: Models.IServiceRate, \r\n activeServiceRate: Models.IServiceRate, \r\n state: State.ITimesheetAddWork\r\n ): State.ITimesheetAddWork => {\r\n\r\n if(activeServiceRate.unitOfMeasure.unitOfMeasureTextId == 'Unit'){\r\n state.entry.quantity = \"\";\r\n state.entry.startTime = \"\";\r\n state.entry.endTime = \"\";\r\n state.addBreakHours = \"\";\r\n state.addBreakMinutes = \"\";\r\n state.addWorkHours = \"\";\r\n state.addWorkMinutes = \"\";\r\n return state;\r\n }\r\n\r\n if(\r\n previousServiceRate && \r\n (!previousServiceRate.isNonWorkReason) &&\r\n (previousServiceRate.unitOfMeasure.unitOfMeasureTextId === \r\n activeServiceRate.unitOfMeasure.unitOfMeasureTextId)\r\n ){\r\n return state;\r\n }\r\n\r\n if(activeServiceRate.unitOfMeasure && activeServiceRate.unitOfMeasure.unitOfMeasureTextId === \"Day\") {\r\n state.entry.quantity = 1;\r\n return state;\r\n }\r\n\r\n if(\r\n activeServiceRate.unitOfMeasure &&\r\n activeServiceRate.unitOfMeasure.type &&\r\n activeServiceRate.unitOfMeasure.type == \"time\"\r\n ){\r\n state.entry.quantity = \"\";\r\n state.entry.startTime = \"\";\r\n state.entry.endTime = \"\";\r\n state.addBreakHours = \"\";\r\n state.addBreakMinutes = \"\";\r\n state.addWorkHours = \"\";\r\n state.addWorkMinutes = \"\";\r\n return state;\r\n }\r\n\r\n if(\r\n activeServiceRate.unitOfMeasure && \r\n activeServiceRate.unitOfMeasure.unitOfMeasureTextId === \"Day\" \r\n ) {\r\n state.entry.quantity = \"\";\r\n return state;\r\n }\r\n\r\n return state;\r\n });\r\n\r\n export var SetQuantityDefaultForNonWork = R.curry((\r\n previousServiceRate: Models.IServiceRate, \r\n activeServiceRate: Models.IServiceRate, \r\n state: State.ITimesheetAddWork\r\n ): State.ITimesheetAddWork => {\r\n if(previousServiceRate && previousServiceRate.isNonWorkReason){\r\n state.entry.quantity = state.entry.quantity;\r\n return state;\r\n }\r\n state.entry.quantity = \"1\";\r\n return state;\r\n });\r\n\r\n // The following belong in a date service or are in one that is not exported\r\n export function parseTime(date: string, timeFormat: string) {\r\n\r\n let momentDate = getMomentTime(date);\r\n\r\n if (momentDate.isValid()) {\r\n return momentDate.format(timeFormat);\r\n }\r\n throw new Error('Invalid date');\r\n }\r\n\r\n export function getMomentTime(time: string) {\r\n return moment(time, [\r\n 'HH:mm',\r\n 'H:mm',\r\n 'hh:mm',\r\n 'h:mm',\r\n 'HH:mma',\r\n 'hh:mm A',\r\n 'h:mm A'\r\n ]);\r\n }\r\n}","/// \r\n\r\nmodule Sonovate.Core.Validation.TimesheetEditExpense {\r\n \r\n export function getUploadedEvidenceType(expense:Models.ITimesheetExpense): Models.IExpenseEvidenceType {\r\n\r\n if (this.hasEvidenceBeenUploaded(expense) && this.isFirstEvidenceUploadAPDF(expense)) {\r\n return \"pdf\";\r\n }\r\n else if (this.hasEvidenceBeenUploaded(expense) && !this.isFirstEvidenceUploadAPDF(expense)) {\r\n return \"image\";\r\n }\r\n return \"none\";\r\n }\r\n\r\n export function hasEvidenceBeenUploaded(expense:Models.ITimesheetExpense): boolean {\r\n return expense.evidenceImages.length >= 1;\r\n }\r\n\r\n export function isFirstEvidenceUploadAPDF(expense:Models.ITimesheetExpense): boolean {\r\n return R.contains(\"pdf\", expense.evidenceImages[0].url);\r\n }\r\n}","/// \r\n\r\nmodule Sonovate.Core.Validation.SignUp {\r\n \r\n export function ValidateFirstName(state: State.ISignUp): State.ISignUp {\r\n state.errors[\"userDetails.firstName\"].isValid = IsFirstNameValid(state);\r\n state.errors[\"userDetails.firstName\"].message = state.errors[\"userDetails.firstName\"].isValid ? \"\" : \"general.RequiredField\";\r\n return state;\r\n }\r\n \r\n export function ValidateLastName(state: State.ISignUp): State.ISignUp {\r\n state.errors[\"userDetails.lastName\"].isValid = IsLastNameValid(state);\r\n state.errors[\"userDetails.lastName\"].message = state.errors[\"userDetails.lastName\"].isValid ? \"\" : \"general.RequiredField\";\r\n return state;\r\n }\r\n \r\n export function ValidatePassword(state: State.ISignUp): State.ISignUp {\r\n state.errors[\"userDetails.password\"].isValid = IsPasswordValid(state);\r\n state.errors[\"userDetails.password\"].message = state.errors[\"userDetails.password\"].isValid ? \"\" : \"general.RequiredField\";\r\n return state;\r\n }\r\n\r\n export function ValidateTermsAndConditions(state: State.ISignUp): State.ISignUp {\r\n state.errors[\"userDetails.acceptTermsAndConditions\"].isValid = AreTermsAndConditionsValid(state);\r\n state.errors[\"userDetails.acceptTermsAndConditions\"].message = state.errors[\"userDetails.acceptTermsAndConditions\"].isValid ? \"\" : \"signup.YouMustAcceptTermsAndConditionsToSignUp\";\r\n return state;\r\n }\r\n\r\n export function IsValueAFullString(inputValue:any): boolean {\r\n return R.type(inputValue) === \"String\" && !R.isEmpty(inputValue.trim())\r\n }\r\n\r\n export function IsStateValid(state: State.ISignUp): boolean {\r\n return IsFirstNameValid(state)\r\n && IsLastNameValid(state)\r\n && IsPasswordValid(state)\r\n && AreTermsAndConditionsValid(state);\r\n }\r\n\r\n export function IsFirstNameValid(state: State.ISignUp): boolean {\r\n return IsValueAFullString(state.userDetails.firstName);\r\n }\r\n\r\n export function IsPasswordValid(state: State.ISignUp): boolean {\r\n return IsValueAFullString(state.userDetails.password);\r\n }\r\n\r\n export function IsLastNameValid(state: State.ISignUp): boolean {\r\n return IsValueAFullString(state.userDetails.lastName);\r\n }\r\n\r\n export function AreTermsAndConditionsValid(state: State.ISignUp): boolean {\r\n return state.userDetails.acceptTermsAndConditions;\r\n }\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n interface DropdownScroll {\r\n current: number,\r\n future: number\r\n }\r\n\r\n \r\n export class BaseDropdown { \r\n\r\n snModel: string;\r\n snItems: Models.IDropdownItem[];\r\n snHeightInItems: string;\r\n snOnOpen: () => void;\r\n snOnClose: (d:{value:any}) => void;\r\n snOnChange: (item: any) => void;\r\n snSelectObject: (item: any) => void;\r\n snOnType: (any) => void;\r\n snDisableLabel: string;\r\n snSetModelToFilterTextWhenNothingFound: boolean;\r\n\r\n hasBeenOpenedAtLeastOnce: boolean;\r\n open: boolean;\r\n scrollStep: number;\r\n filterText: string;\r\n selectedItem: Models.IDropdownItem;\r\n tabbedItemNumber: number;\r\n selectedItemIndex: number;\r\n heightInItems: number;\r\n isFocused: boolean;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $filter: ng.IFilterService,\r\n protected $timeout: ng.ITimeoutService\r\n ) {\r\n this.open = false;\r\n this.hasBeenOpenedAtLeastOnce = false;\r\n this.scrollStep = 65;\r\n this.selectedItem = this.getDefaultSelectedItem();\r\n this.tabbedItemNumber = -1;\r\n this.heightInItems = parseInt(this.snHeightInItems);\r\n this.setFilterTextToSelectedItemText();\r\n this.isFocused = false;\r\n this.filterText = \"\";\r\n\r\n $scope.$watch(\"vm.snItems\", (newValue: Models.IDropdownItem[]) => {\r\n this.selectedItem = this.getDefaultSelectedItem();\r\n this.setFilterTextToSelectedItemText();\r\n });\r\n\r\n $scope.$watch(\"vm.snModel\", (newValue: string) => {\r\n this.selectedItem = this.getDefaultSelectedItem();\r\n this.setFilterTextToSelectedItemText();\r\n });\r\n\r\n $scope.$watch(\"vm.filterText\", () => {\r\n this.resetTabbedItemNumber();\r\n this.setModelToEmptyStringWhenFilterTextLengthIsZero();\r\n if (this.snOnType) {\r\n this.snOnType({value: this.filterText});\r\n }\r\n });\r\n }\r\n\r\n openDropdownOrSelectTabbedItem(): void {\r\n if (this.open) {\r\n this.selectTabbedItem();\r\n this.closeDropdown()\r\n } else {\r\n this.openDropdown();\r\n }\r\n }\r\n\r\n openDropdownOrTabToNextItem(): void { \r\n if (this.open) {\r\n this.tabToNextItem();\r\n } else {\r\n this.openDropdown();\r\n }\r\n }\r\n\r\n public closeDropdownOnBlurAfterDelay(): void {\r\n // this is necessary to be used on blur, because \r\n // an item wont be selected before the dropdown closes as the blur even \r\n // gets fired before the click event\r\n this.$timeout(() => {\r\n this.isFocused = false;\r\n this.closeDropdown();\r\n }, 200);\r\n }\r\n\r\n public labelShouldStayUp() : boolean {\r\n return this.open || !R.isNil(this.selectedItem);\r\n }\r\n \r\n public toggleDropdown(): void {\r\n if (this.isFocused && this.open) {\r\n this.closeDropdown();\r\n } else if (this.isFocused && !this.open) {\r\n this.openDropdown();\r\n }\r\n }\r\n\r\n public setDropdownAsFocused(): void {\r\n this.isFocused = true;\r\n }\r\n\r\n public openDropdown(): void {\r\n this.snOnOpen();\r\n this.setOpenState();\r\n this.resetFilter();\r\n this.setFilterTextToNullWhenFlagged();\r\n }\r\n\r\n protected setOpenState() : void {\r\n this.open = true;\r\n this.hasBeenOpenedAtLeastOnce = true;\r\n this.selectedItemIndex = this.getTabIndexOfSelectedItem();\r\n }\r\n\r\n protected resetFilter() : void {\r\n this.filterText = \"\";\r\n }\r\n\r\n public closeDropdown(): void {\r\n this.callOnCloseCallback();\r\n this.open = false;\r\n this.setFilterTextToSelectedItemText();\r\n }\r\n\r\n public openDropdownWhenTextIsTyped(event: JQueryEventObject): void {\r\n if(!this.keyPressedIsADropdownControlKey(event.keyCode) && !this.open) {\r\n this.snOnOpen();\r\n this.setOpenState();\r\n } else {\r\n this.setModelToFilterTextIfNoResultsFoundAndIsFlaggedToDoSo();\r\n }\r\n }\r\n\r\n protected setModelToEmptyStringWhenFilterTextLengthIsZero(){\r\n if((this.filterText) && this.filterText.length == 0 && this.filterText && this.setModelToFilterTextIfNoResultsFoundAndIsFlaggedToDoSo){\r\n this.filterText = \"\";\r\n }\r\n }\r\n \r\n protected setFilterTextToNullWhenFlagged(){\r\n if(this.snSetModelToFilterTextWhenNothingFound){\r\n this.snModel = this.filterText;\r\n }\r\n }\r\n\r\n protected setModelToFilterTextIfNoResultsFoundAndIsFlaggedToDoSo(): void {\r\n if ((!this.getFilteredItems().length || this.filteredTextContainsFilterText())\r\n && this.snSetModelToFilterTextWhenNothingFound) {\r\n this.snModel = this.filterText;\r\n if (this.snOnType) {\r\n this.snOnType({value: this.filterText});\r\n }\r\n }\r\n }\r\n\r\n protected filteredTextContainsFilterText(): any {\r\n return this.getFilteredItems().every(elem => elem.text !== this.filterText.trim());\r\n }\r\n\r\n protected keyPressedIsADropdownControlKey(keyCode) {\r\n return R.contains(keyCode, [\r\n 38, // up arrow \r\n 40, // down arrow\r\n 13 // enter\r\n ]);\r\n }\r\n\r\n\r\n private setFilterTextToSelectedItemText() : void {\r\n if (this.selectedItem) {\r\n this.filterText = this.selectedItem.text;\r\n }\r\n }\r\n\r\n scrollBasedOnSelectedTab(): number {\r\n if (this.tabbedItemNumber > -1) {\r\n return this.getScrollMoveValue();\r\n }\r\n return 0;\r\n }\r\n\r\n protected getScrollMoveValue(): number {\r\n\r\n var scroll: DropdownScroll = this.getDropdownSroll();\r\n\r\n if (this.shouldDropdownScrollFurther(scroll)) {\r\n return scroll.future;\r\n }\r\n return scroll.current;\r\n }\r\n\r\n protected getDropdownSroll(): DropdownScroll {\r\n return {\r\n current: (this.tabbedItemNumber - (this.heightInItems)) * this.scrollStep,\r\n future: this.tabbedItemNumber * this.scrollStep\r\n };\r\n }\r\n\r\n protected shouldDropdownScrollFurther(scroll: DropdownScroll): boolean {\r\n return (scroll.future - scroll.current) > this.scrollStep * (this.heightInItems - 1);\r\n }\r\n\r\n public selectTabbedItem(): void {\r\n if (this.tabbedItemNumber > -1) {\r\n var filteredItems = this.getFilteredItems();\r\n this.selectItem(filteredItems[this.tabbedItemNumber]);\r\n }\r\n } \r\n\r\n selectItem(item: Models.IDropdownItem): void {\r\n this.setSelectedItem(item);\r\n this.$timeout(() => {\r\n this.snOnChange({ item: item });\r\n }, 100);\r\n\r\n this.callSelectObject(item);\r\n\r\n this.closeDropdown();\r\n }\r\n\r\n private callSelectObject(item: Models.IDropdownItem): void {\r\n if (typeof this.snSelectObject === \"function\") {\r\n this.snSelectObject({item});\r\n }\r\n }\r\n\r\n protected setSelectedItem(item: Models.IDropdownItem): void {\r\n this.snModel = item.value;\r\n this.selectedItem = item;\r\n }\r\n\r\n tabToPreviousItem(): void {\r\n if (this.tabbedItemNumber > 0) {\r\n this.tabbedItemNumber -= 1;\r\n }\r\n }\r\n\r\n tabToNextItem(): void {\r\n if (this.tabbedItemNumber < this.getFilteredItems().length - 1) {\r\n this.tabbedItemNumber += 1;\r\n }\r\n }\r\n\r\n isItemTabbedOrSelected(itemIndex: number, item: Models.IDropdownItem): boolean {\r\n return this.isItemTabbed(itemIndex, item) || this.isItemSelected(itemIndex, item);\r\n }\r\n\r\n isItemTabbed(itemIndex: number, item: Models.IDropdownItem): boolean {\r\n return this.tabbedItemNumber === itemIndex;\r\n }\r\n\r\n isItemSelected(itemIndex: number, item: Models.IDropdownItem): boolean {\r\n return this.smartCompare(this.snModel, item);\r\n }\r\n\r\n protected getFilteredItems(): Models.IDropdownItem[] {\r\n return this.$filter(\"filter\")(this.snItems, { text: this.filterText });\r\n }\r\n\r\n protected resetTabbedItemNumber() {\r\n this.tabbedItemNumber = -1;\r\n }\r\n\r\n protected isHeightInItems(numberOfItems: number): boolean {\r\n return numberOfItems === this.heightInItems;\r\n }\r\n\r\n protected getTabIndexOfSelectedItem(): number {\r\n var selectedItemIndex: number;\r\n _.each(this.snItems, (item: Models.IDropdownItem, index: number) => {\r\n if (item.text === this.snModel) {\r\n selectedItemIndex = index;\r\n return;\r\n }\r\n });\r\n return selectedItemIndex;\r\n }\r\n\r\n protected getDefaultSelectedItem(): Models.IDropdownItem {\r\n \treturn _.find(this.snItems, (item) => {\r\n\t \treturn this.smartCompare(this.snModel, item);\r\n\t });\r\n }\r\n\r\n protected smartCompare(value: any, item: any) {\r\n if (_.isObject(value)) {\r\n return value[item.value] === [item.value];\r\n }\r\n return value === item.value;\r\n }\r\n\r\n protected callOnCloseCallback(): void {\r\n if (this.open) {\r\n this.snOnClose({\r\n value: this.snModel\r\n });\r\n }\r\n }\r\n\r\n public labelIsDisabled(): boolean {\r\n return !R.isNil(this.snDisableLabel);\r\n }\r\n }\r\n}","/// \r\nmodule Sonovate {\r\n\r\n class Application {\r\n\r\n static $inject = [\"$locationProvider\", \"$httpProvider\", \"$stateProvider\", \"$urlMatcherFactoryProvider\", \"$sceDelegateProvider\"];\r\n\r\n constructor(\r\n private $locationProvider: ng.ILocationProvider,\r\n private $httpProvider: ng.IHttpProvider,\r\n private $stateProvider: ng.ui.IStateProvider,\r\n private $urlMatcherFactoryProvider: ng.ui.IUrlMatcherFactory,\r\n private $sceDelegateProvider: ng.ISCEDelegateProvider\r\n ) {\r\n window['ObjectAssign'].polyfill();\r\n this.$locationProvider.html5Mode(true);\r\n this.$httpProvider.interceptors.push(\"httpInterceptorService\");\r\n this.$urlMatcherFactoryProvider.caseInsensitive(true);\r\n this.$stateProvider\r\n .state(\"sonovate\", {\r\n url: \"?signupToken&mode\",\r\n abstract: true,\r\n template: \"\",\r\n resolve: {\r\n apiKey: resolveApiKey()\r\n }\r\n });\r\n this.$stateProvider\r\n .state(\"otherwise\", {\r\n url: \"*path\",\r\n templateUrl: \"errorRedirects/404.html\",\r\n controller: \"errorRedirectController as vm\",\r\n resolve: {\r\n apiKey: resolveApiKey()\r\n }\r\n });\r\n this.$sceDelegateProvider.resourceUrlWhitelist([\r\n 'self',\r\n 'https://*.sonovate.com/**',\r\n 'https://*.sonovate.dev/**'\r\n ]);\r\n function resolveApiKey(): any {\r\n return [\r\n \"apiKeyActions\",\r\n \"$q\",\r\n \"$location\",\r\n (apiKeyActions: IApiKeyActions, $q: ng.IQService, $location: ng.ILocationService): Rx.Promise => {\r\n\r\n let sub = apiKeyActions.getApiKey();\r\n\r\n return apiKeyActions.subjects.getApiKeySuccess\r\n .take(1)\r\n .toPromise($q)\r\n .then((apiKey): string => {\r\n sub.dispose();\r\n return apiKey;\r\n });\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate\").config(Application);\r\n\r\n \r\n}\r\n\r\n","/// \r\nangular.module(\"sonovate\")\r\n.run((StateChangeService) => null);","/// \r\nangular.module(\"sonovate\")\r\n.run((APP_ENVIRONMENT, SEGMENT_LIVE_ENVIRONMENT, $rootScope, $injector) => {\r\n if (APP_ENVIRONMENT === SEGMENT_LIVE_ENVIRONMENT) {\r\n let location: ng.ILocationService;\r\n $rootScope.$on('$stateChangeSuccess', function (state) {\r\n if (! location) {\r\n location = $injector.get('$location');\r\n }\r\n analytics.page(location.path());\r\n });\r\n }\r\n});\r\n\r\n","/// \r\nangular.module(\"sonovate\")\r\n.run(($rootScope, $injector) => {\r\n\r\n $rootScope.$on('$stateChangeStart', (e, state: ng.ui.IState, params) => {\r\n\r\n var $state = $state ? $state : $injector.get('$state');\r\n var $location = $location ? $location : $injector.get('$location');\r\n\r\n var sessionHelpers = Sonovate.Core.Utils.SessionHelpers;\r\n\r\n if (!sessionHelpers.getSessionExpiry()) { \r\n sessionHelpers.setSessionExpiry()\r\n sessionHelpers.clearSession();\r\n window.location.href = $location.protocol() + \"://\" + $location.host() + $state.get('sonovate.signin').url;\r\n }\r\n\r\n if (\r\n !sessionHelpers.hasValidSession() && \r\n sessionHelpers.routeRequiresSession(state.name, params)\r\n ) {\r\n sessionHelpers.clearSession();\r\n window.location.href = $location.protocol() + \"://\" + $location.host() + $state.get('sonovate.signin').url;\r\n }\r\n });\r\n});\r\n\r\n","/// \r\n\r\nmodule Sonovate.ChangeEmail {\r\n \r\n class CancelEmailController extends ChangeEmail.ChangeEmailBaseController {\r\n \r\n static $inject = [\r\n \"$scope\",\r\n \"$state\",\r\n \"signedInUserStore\",\r\n \"ChangeEmailEvents\",\r\n \"PersonSettingsProfileStateUpdates\"\r\n ];\r\n\r\n userId: number;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected signedInUserStore: ISignedInUserStore,\r\n protected ChangeEmailEvents: Core.Events.ChangeEmailEvents,\r\n protected PersonSettingsProfileStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope, $state, signedInUserStore, ChangeEmailEvents, PersonSettingsProfileStateUpdates);\r\n this.initEmailRequest();\r\n }\r\n\r\n private initEmailRequest() {\r\n this.ChangeEmailEvents.userIntents.carryOutCancelEmailChangeHttpRequest.onNext(null);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.ChangeEmail\").controller(\"CancelEmailController\", CancelEmailController);\r\n}","/// \r\n\r\nmodule Sonovate.core {\r\n\r\n class OAuthRouter {\r\n\r\n static $inject = [\"$stateProvider\"];\r\n\r\n constructor(private $stateProvider: ng.ui.IStateProvider) {\r\n\r\n this.$stateProvider\r\n .state(\r\n 'sonovate.ApproveEmail',\r\n {\r\n url:'/email/approve?confirmToken', \r\n controller: \"ConfirmEmailController\",\r\n controllerAs: 'vm'\r\n }\r\n )\r\n .state(\r\n 'sonovate.CancelEmail',\r\n {\r\n url: '/email/cancel',\r\n controller: \"CancelEmailController\",\r\n controllerAs: 'vm'\r\n }\r\n );\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").config(OAuthRouter);\r\n}","/// \r\n\r\nmodule Sonovate.ChangeEmail {\r\n \r\n class ConfirmEmailController extends ChangeEmail.ChangeEmailBaseController {\r\n \r\n static $inject = [\r\n \"$scope\",\r\n \"$state\",\r\n \"$location\",\r\n \"signedInUserStore\",\r\n \"ChangeEmailEvents\",\r\n \"PersonSettingsProfileStateUpdates\"\r\n ];\r\n\r\n userId: number;\r\n confirmToken: string;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected $location: ng.ILocationService,\r\n protected signedInUserStore: ISignedInUserStore,\r\n protected ChangeEmailEvents: Core.Events.ChangeEmailEvents,\r\n protected PersonSettingsProfileStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope, $state, signedInUserStore, ChangeEmailEvents, PersonSettingsProfileStateUpdates);\r\n this.fetchConfirmTokenFromWebAddress();\r\n this.initEmailRequest();\r\n }\r\n\r\n private initEmailRequest() {\r\n this.ChangeEmailEvents.userIntents.carryOutConfirmEmailChangeHttpRequest.onNext({\r\n token: this.confirmToken\r\n });\r\n }\r\n\r\n private fetchConfirmTokenFromWebAddress(): void {\r\n this.confirmToken = this.$location.search().confirmToken;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.ChangeEmail\").controller(\"ConfirmEmailController\", ConfirmEmailController);\r\n}","/// \r\n\r\nmodule Sonovate.ChangePassword {\r\n \r\n class PasswordResetRouter {\r\n\r\n static $inject = [\"$stateProvider\"];\r\n\r\n constructor(private $stateProvider: ng.ui.IStateProvider) {\r\n\r\n this.$stateProvider\r\n .state('sonovate.ChangePassword', {\r\n url: '/newpassword?token', //we should possibly change this to changepassword in future for consistency\r\n templateUrl: 'ChangePassword/ChangePassword.html',\r\n controller: 'ChangePasswordController',\r\n controllerAs: 'vm'\r\n });\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.PasswordReset\").config(PasswordResetRouter);\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n \r\n export class BaseProposal {\r\n \r\n protected subscriptions: Rx.IDisposable[];\r\n protected events: Function[];\r\n\r\n constructor() {\r\n this.subscriptions = [];\r\n this.events = [];\r\n }\r\n }\r\n\r\n}","/// \r\nmodule Sonovate.errorRedirects {\r\n\r\n class errorRedirectController extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\", \r\n \"localiser\", \r\n \"$state\", \r\n \"$window\"\r\n ];\r\n \r\n text: IDictionary = {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected $state: ng.ui.IStateService,\r\n private $window: ng.IWindowService\r\n ) {\r\n super($scope);\r\n this.getText();\r\n this.setRootToRedirect();\r\n }\r\n\r\n private setRootToRedirect(): void {\r\n \tif (this.$state.current.url === \"/\") {\r\n \t\tthis.goToTimesheets();\r\n \t}\r\n }\r\n\r\n private getText(): void {\r\n this.subscriptions.push(this.localiser\r\n .get([\"errorredirect\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.text = data.errorredirect;\r\n }).subscribe());\r\n };\r\n\r\n private goToTimesheets(): void {\r\n this.$state.go(\"sonovate.Timesheets\");\r\n } \r\n\r\n private goBack(): void{\r\n this.$window.history.back();\r\n }\r\n }\r\n angular.module(\"sonovate.errorRedirects\")\r\n .controller(\"errorRedirectController\", errorRedirectController);\r\n}\r\n","/// \r\nmodule Sonovate.errorRedirects {\r\n\r\n class errorRouter {\r\n\r\n static $inject = [\"$stateProvider\"];\r\n\r\n constructor(private $stateProvider: ng.ui.IStateProvider) {\r\n\r\n $stateProvider\r\n .state(\r\n \"sonovate.root\",\r\n {\r\n url: '/',\r\n controller: \"errorRedirectController as vm\"\r\n }\r\n )\r\n .state(\r\n \"sonovate.404\",\r\n {\r\n url: '/404',\r\n templateUrl: \"errorRedirects/404.html\",\r\n controller: \"errorRedirectController as vm\"\r\n }\r\n );\r\n $stateProvider\r\n .state(\r\n \"sonovate.403\",\r\n {\r\n url: '/403',\r\n templateUrl: \"errorRedirects/403.html\",\r\n controller: \"errorRedirectController as vm\"\r\n }\r\n );\r\n $stateProvider\r\n .state(\r\n \"sonovate.500\",\r\n {\r\n url: '/500',\r\n templateUrl: \"errorRedirects/500.html\",\r\n controller: \"errorRedirectController as vm\"\r\n }\r\n );\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.errorRedirects\").config(errorRouter);\r\n}","/// \r\n\r\nmodule Sonovate.Invoice {\r\n \r\n class InvoiceController extends Core.BaseController \r\n {\r\n static $inject = [ \r\n \"$scope\",\r\n \"$state\",\r\n \"$filter\",\r\n \"localiser\",\r\n \"InvoiceEvents\",\r\n \"InvoiceStateUpdates\",\r\n \"InvoiceStatusStateUpdates\",\r\n \"PdfViewerEvents\",\r\n \"APP_URL\"\r\n ];\r\n\r\n showPdf: boolean;\r\n invoice: Models.IInvoice;\r\n issuedBy: Models.IIssuedBy;\r\n status: Models.IStatus; \r\n localised: IDictionary = {};\r\n \r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected $filter: ng.IFilterService,\r\n protected localiser: ILocaliserService,\r\n protected InvoiceEvents: Core.Events.IInvoiceEvents,\r\n protected InvoiceStateUpdates: Rx.BehaviorSubject,\r\n protected InvoiceStatusStateUpdates: Rx.BehaviorSubject,\r\n protected PdfViewerEvents: Core.Events.IPdfViewerEvents,\r\n protected APP_URL: string\r\n ) {\r\n super($scope);\r\n\r\n this.issuedBy = {};\r\n this.localised = {}; \r\n \r\n this.InvoiceEvents.userIntents.getInvoiceStatuses.onNext(null);\r\n this.InvoiceEvents.userIntents.viewInvoice.onNext(this.$state.params[\"id\"]);\r\n this.setViewVariablesOnInvoiceStateUpdates();\r\n this.setStatusOnInvoiceStateAndStatusUpdates();\r\n\r\n this.setLocalisationWhenInvoicesTextUpdates();\r\n this.setLocalisationTextWhenGeneralTextUpdates();\r\n }\r\n\r\n public showIssuedBy(): boolean {\r\n return !R.isEmpty(R.keys(this.issuedBy));\r\n } \r\n\r\n private setViewVariablesOnInvoiceStateUpdates(): void {\r\n this.subscriptions.push(\r\n this.InvoiceStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.showPdf = state.showPdf; \r\n this.invoice = state.invoice; \r\n this.requestPdf();\r\n this.setIssuedByFromInvoice();\r\n })\r\n .subscribe()\r\n );\r\n } \r\n\r\n private requestPdf(): void {\r\n if (this.invoice.id) { \r\n this.PdfViewerEvents.userIntents.setPdfUrl.onNext(`${this.APP_URL}/v1/invoices/${this.invoice.id}/pdf`);\r\n }\r\n }\r\n\r\n private setIssuedByFromInvoice(): void { \r\n var lastIssuedRecord = R.last(this.invoice.issueRecord || []);\r\n if (lastIssuedRecord) {\r\n this.issuedBy.issuedOn = lastIssuedRecord.issuedOn;\r\n this.issuedBy.name = lastIssuedRecord.name;\r\n } \r\n }\r\n\r\n private setStatusOnInvoiceStateAndStatusUpdates(): void {\r\n this.subscriptions.push(\r\n Rx.Observable.combineLatest( \r\n this.InvoiceStateUpdates, \r\n this.InvoiceStatusStateUpdates,\r\n (InvoiceState, InvoiceStatusState) => {\r\n return {\r\n state: InvoiceState,\r\n statusState: InvoiceStatusState \r\n }\r\n }\r\n ).safeApply(this.$scope, (given) => {\r\n this.status = given.statusState.getStatusByGroupTypeAndId(\"main\", given.state.invoice.status);\r\n })\r\n .subscribe()\r\n );\r\n }\r\n\r\n private setLocalisationWhenInvoicesTextUpdates(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .interpolate([\"invoices\"], () => {\r\n return {\r\n issuedByName: this.issuedBy.name,\r\n issuedOnDate: this.$filter(\"date\")(this.issuedBy.issuedOn, \"dd/MM/yyyy\")\r\n }\r\n })\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n if (data.invoices) {\r\n this.localised = R.merge(this.localised, data.invoices);\r\n }\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private setLocalisationTextWhenGeneralTextUpdates(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n if (data.general ) {\r\n this.localised = R.merge(this.localised, data.general);\r\n }\r\n }).subscribe()\r\n );\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.Invoice\")\r\n .controller(\"InvoiceController\", InvoiceController);\r\n}","/// \r\n\r\nmodule Sonovate.Invoices {\r\n \r\n class InvoicesRoutes {\r\n\r\n static $inject = [\"$stateProvider\"];\r\n\r\n constructor(private $stateProvider: ng.ui.IStateProvider) {\r\n\r\n // this.$stateProvider \r\n // .state(\"sonovate.Invoice\", {\r\n // url: \"/invoices/:id\",\r\n // templateUrl: \"Invoice/Invoice.html\",\r\n // controller: \"InvoiceController as vm\",\r\n // });\r\n }\r\n } \r\n \r\n angular.module(\"sonovate.Invoice\").config(InvoicesRoutes);\r\n}","/// \r\n\r\nmodule Sonovate.Invoices {\r\n \r\n class InvoicesListingController extends Core.BaseController \r\n {\r\n static $inject = [ \r\n \"$scope\",\r\n \"$state\"\r\n ];\r\n \r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService\r\n ) {\r\n super($scope);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.Invoices\")\r\n .controller(\"InvoicesListingController\", InvoicesListingController);\r\n}","/// \r\n\r\nmodule Sonovate.Invoices {\r\n \r\n class InvoicesRoutes {\r\n\r\n static $inject = [\"$stateProvider\"];\r\n\r\n constructor(private $stateProvider: ng.ui.IStateProvider) {\r\n\r\n // this.$stateProvider\r\n // .state(\"sonovate.Invoices\", {\r\n // url: \"/invoices\",\r\n // templateUrl: \"Invoices/InvoicesListing.html\",\r\n // controller: \"InvoicesListingController as vm\",\r\n // });\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.Invoices\").config(InvoicesRoutes);\r\n}","/// \r\n\r\nmodule Sonovate.core {\r\n\r\n class OAuthRouter {\r\n\r\n static $inject = [\"$stateProvider\"];\r\n\r\n constructor(private $stateProvider: ng.ui.IStateProvider) {\r\n\r\n this.$stateProvider\r\n // This route gets called inside the oauth modal. It triggers a rediect in the parent window, passing in the 'code' as a query param.\r\n .state(\r\n 'sonovate.OAuthInPopupCallback',\r\n {\r\n url:'/oauth/oauth-popup-callback?code&error', \r\n controller: ($state: ng.ui.IStateService, $stateParams: ng.ui.IStateParamsService) => {\r\n window.opener.location.href = $state.href('sonovate.OauthInAppRedirect', {\r\n signupToken: undefined,\r\n code: $stateParams['code'],\r\n error: $stateParams['error']\r\n });\r\n window.close(); \r\n }\r\n }\r\n )\r\n // This route gets called in main app window after the redirect above. It triggers the get that returns the signed in user.\r\n .state(\r\n 'sonovate.OauthInAppRedirect',\r\n {\r\n url: '/oauth/callback?code&error',\r\n controller: (\r\n OAuthEvents: Sonovate.Core.Events.OAuthEvents,\r\n $stateParams: ng.ui.IStateParamsService,\r\n $state: ng.ui.IStateService,\r\n signedInUserStore, // Otherwise it won't be loaded when the GET comes back\r\n SigninStateUpdates,\r\n DeepLinkStateUpdates: Rx.BehaviorSubject // Otherwise it won't be loaded when the GET comes back\r\n ) => {\r\n if ($stateParams['code']) {\r\n OAuthEvents.userIntents.getUserAccountFromOauthCode.onNext($stateParams['code']);\r\n } else {\r\n OAuthEvents.userIntents.setErrorsFromFailedOauthSignin.onNext($stateParams['error']);\r\n }\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").config(OAuthRouter);\r\n}","\r\n/// \r\n\r\nmodule Sonovate.People {\r\n\r\n\tclass PeopleRouter {\r\n\r\n\t\tstatic $inject = [\"$stateProvider\"];\r\n\r\n\t\tconstructor(private $stateProvider: ng.ui.IStateProvider) {\r\n\r\n\t\t\t$stateProvider\r\n\t\t\t.state(\r\n\t\t\t\t\"sonovate.peopleSearch\",\r\n\t\t\t\t{\r\n\t\t\t\t\turl: '/people?q&filter&offset&size&order',\r\n\t\t\t\t\ttemplateUrl: \"PersonListing/people.html\",\r\n\t\t\t\t\tcontroller: \"PeopleController as vm\"\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t\t.state(\r\n\t\t\t\t\"sonovate.peopleSearch.modals\",\r\n\t\t\t\t{\r\n\t\t\t\t\turl: '/modals/:modal/:modalId', \r\n\t\t\t\t\ttemplateUrl: \"PersonListing/people.html\",\r\n\t\t\t\t\tcontroller: \"PeopleController as vm\",\r\n\t\t\t\t\tparent: 'sonovate.peopleSearch'\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tangular.module(\"sonovate.People\").config(PeopleRouter);\r\n}","/// \r\n\r\nmodule Sonovate.People {\r\n\r\n class PeopleController extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\"];\r\n\r\n constructor(\r\n protected $scope: ng.IScope\r\n ) {\r\n super($scope);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.People\")\r\n .controller(\"PeopleController\", PeopleController);\r\n}","/// \r\n\r\nmodule Sonovate.PersonSettings {\r\n \r\n class PersonSettingsController extends Core.BaseController\r\n {\r\n\t\r\n static $inject = [ \r\n \"$scope\",\r\n \"localiser\",\r\n \"$rootScope\",\r\n \"PersonProfileEvents\",\r\n \"PersonSettingsProfileStateUpdates\"\r\n ];\r\n\r\n localised: {};\r\n personId: number;\r\n menuItems: Array = [\r\n {\r\n localisedText: \"PhoneNumbers\",\r\n id: \"phonenumbers\",\r\n isShowing: false\r\n },\r\n {\r\n localisedText: \"TaxDetails\",\r\n id: \"taxdetails\",\r\n isShowing: false\r\n },\r\n {\r\n localisedText: \"LocalePreferences\",\r\n id: \"localepreferences\"\r\n },\r\n {\r\n localisedText: \"ChangePassword\",\r\n id: \"changepassword\"\r\n }\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected $rootScope: ng.IRootScopeService,\r\n protected PersonProfileEvents: Core.Events.PersonProfileEvents,\r\n protected PersonSettingsProfileStateUpdates: Rx.BehaviorSubject,\r\n\r\n ) {\r\n super($scope);\r\n this.setupPersonSettingsProfileStateUpdates();\r\n this.setupStateChangeListener();\r\n this.setLocalisedTextWhenRetrieved();\r\n }\r\n\r\n private setupPersonSettingsProfileStateUpdates() {\r\n this.subscriptions.push(\r\n this.PersonSettingsProfileStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.menuItems[0].isShowing = state.hasPhoneNumbers();\r\n this.menuItems[1].isShowing = state.hasTaxProfiles();\r\n })\r\n .subscribe()\r\n );\r\n }\r\n\r\n private setupStateChangeListener(): void {\r\n this.events.push(\r\n this.$rootScope.$on('$stateChangeStart', (event, toState, toParams, fromState, fromParams) => {\r\n if (toState.name.indexOf(\"PersonSettings\") > -1) {\r\n this.PersonProfileEvents.userIntents.clearState.onNext(null);\r\n }\r\n })\r\n );\r\n }\r\n\r\n private setLocalisedTextWhenRetrieved(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"assignments\", \"general\", \"organisation\"]) \r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = R.mergeAll(\r\n [\r\n data.assignments,\r\n data.general,\r\n data.organisation\r\n ]\r\n );\r\n })\r\n .subscribe()\r\n );\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.PersonSettings\")\r\n .controller(\"PersonSettingsController\", PersonSettingsController);\r\n}","/// \r\n\r\nmodule Sonovate.PersonSettings {\r\n \r\n class PersonSettingsRouter {\r\n\r\n static $inject = [\"$stateProvider\"];\r\n\r\n constructor(private $stateProvider: ng.ui.IStateProvider) {\r\n\r\n this.$stateProvider\r\n .state(\"sonovate.PersonSettings\", { \r\n url: \"/people/:personSettingsId/settings\",\r\n templateUrl: \"PersonSettings/PersonSettings.html\",\r\n controller: \"PersonSettingsController as vm\",\r\n }) \r\n .state(\"sonovate.PersonSettings.modals\", {\r\n url: \"/:modal\",\r\n parent: 'sonovate.PersonSettings'\r\n })\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.PersonSettings\").config(PersonSettingsRouter);\r\n}","/// \r\n\r\nmodule Sonovate.PasswordReset {\r\n \r\n class PasswordResetController extends Core.BaseController {\r\n \r\n static $inject = [\r\n \"$scope\",\r\n \"$rootScope\",\r\n \"$state\",\r\n \"PasswordResetEvents\",\r\n \"PasswordResetStateUpdates\",\r\n \"localiser\",\r\n ];\r\n\r\n localisedText: IDictionary;\r\n emailSent: boolean;\r\n isSendingEmail: boolean; \r\n emailAddress: string;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $rootScope: ng.IRootScopeService,\r\n protected $state: ng.ui.IState,\r\n protected PasswordResetEvents: Core.Events.PasswordResetEvents,\r\n protected PasswordResetStateUpdates: Rx.BehaviorSubject,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n this.initLocalisationSubscription();\r\n this.setupStateChangeListener();\r\n this.setupPasswordResetState();\r\n }\r\n\r\n userTypedInEmailInput() {\r\n this.PasswordResetEvents.userIntents.userTypedInEmailAddressInput.onNext(this.emailAddress);\r\n }\r\n\r\n userTriggeredPasswordResetSubmission() {\r\n this.PasswordResetEvents.userIntents.userRequestedAPasswordReset.onNext(this.emailAddress);\r\n }\r\n\r\n setupPasswordResetState() {\r\n this.subscriptions.push(\r\n this.PasswordResetStateUpdates.safeApply(this.$scope, (state: Core.State.PasswordResetState) => {\r\n this.emailSent = state.emailSent;\r\n this.isSendingEmail = state.isSendingEmail;\r\n this.emailAddress = state.emailAddress;\r\n }).subscribe()\r\n )\r\n }\r\n\r\n private setupStateChangeListener(): void {\r\n this.events.push(\r\n this.$rootScope.$on('$stateChangeStart', (event, toState, toParams, fromState, fromParams) => {\r\n if (toState.name.indexOf('passwordReset') < 0) {\r\n this.PasswordResetEvents.userIntents.clearPasswordResetState.onNext(null);\r\n }\r\n })\r\n );\r\n }\r\n\r\n private initLocalisationSubscription () {\r\n this.subscriptions.push(\r\n this.localiser.interpolate([\"passwordreset\"], () => {\r\n return {\r\n email: this.emailAddress\r\n };\r\n })\r\n .safeApply(this.$scope, (data: { passwordreset: IDictionary } ) => {\r\n this.localisedText = data.passwordreset;\r\n })\r\n .subscribe()\r\n )\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.PasswordReset\").controller(\"PasswordResetController\", PasswordResetController);\r\n}","/// \r\n\r\nmodule Sonovate.PasswordReset {\r\n \r\n class PasswordResetRouter {\r\n\r\n static $inject = [\"$stateProvider\"];\r\n\r\n constructor(private $stateProvider: ng.ui.IStateProvider) {\r\n\r\n this.$stateProvider\r\n .state('sonovate.passwordReset', {\r\n url: '/passwordreset',\r\n templateUrl: 'resetPassword/PasswordReset.html',\r\n controller: 'PasswordResetController',\r\n controllerAs: 'vm'\r\n });\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.PasswordReset\").config(PasswordResetRouter);\r\n}","/// \r\n\r\nmodule Sonovate.SignIn {\r\n \r\n class SignInController extends Core.BaseController {\r\n \r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"SigninStateUpdates\",\r\n \"SigninEvents\",\r\n \"$state\",\r\n \"DeepLinkStateUpdates\"\r\n ];\r\n\r\n localised: ILocalisationData;\r\n email: string;\r\n password: string;\r\n errorText: string;\r\n isShowingPassword: boolean;\r\n isSigningIn: boolean;\r\n hasErrors: boolean;\r\n\r\n constructor(\r\n protected $scope: ISignInScope,\r\n protected localiser: Sonovate.ILocaliserService,\r\n protected SigninStateUpdates: Rx.BehaviorSubject,\r\n protected SigninEvents: Core.Events.SigninEvents,\r\n protected $state: ng.ui.IStateService,\r\n protected DeepLinkStateUpdates: Rx.BehaviorSubject // So that it is loaded\r\n ) {\r\n super($scope);\r\n this.initLocalisationSubscription();\r\n this.initSigninStateUpdatesSubscription(); \r\n }\r\n\r\n clickGoogleButton() {\r\n this.SigninEvents.userIntents.clickGoogleButton.onNext(null);\r\n }\r\n\r\n clickLinkedinButton() {\r\n this.SigninEvents.userIntents.clickLinkedinButton.onNext(null);\r\n }\r\n\r\n typeEmail(email: string) {\r\n this.SigninEvents.userIntents.typeEmail.onNext(email);\r\n }\r\n\r\n typePassword(password: string) {\r\n this.SigninEvents.userIntents.typePassword.onNext(password);\r\n }\r\n\r\n toggleShowPassword() {\r\n this.SigninEvents.userIntents.toggleShowPassword.onNext(null);\r\n }\r\n\r\n submitSignin() {\r\n this.SigninEvents.userIntents.submitSignin.onNext({\r\n email: this.email,\r\n password: this.password\r\n });\r\n }\r\n\r\n private initSigninStateUpdatesSubscription() {\r\n this.subscriptions.push(\r\n this.SigninStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.email = state.email;\r\n this.password = state.password;\r\n this.isShowingPassword = state.isShowingPassword;\r\n this.isSigningIn = state.isSigningIn;\r\n this.errorText = state.errorText || this.localised.general[state.nonLocalisedErrorText];\r\n this.hasErrors = state.hasErrors;\r\n })\r\n .subscribe()\r\n );\r\n }\r\n\r\n private initLocalisationSubscription () {\r\n this.subscriptions.push(\r\n this.localiser.get(['login', 'general'])\r\n .safeApply(this.$scope, (state: ILocalisationData) => {\r\n this.localised = state;\r\n })\r\n .subscribe()\r\n )\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.signin\").controller(\"signInController\", SignInController);\r\n}","/// \r\n\r\nmodule Sonovate.SignIn {\r\n \r\n class SignInRouter {\r\n\r\n static $inject = [\"$stateProvider\"];\r\n\r\n constructor(private $stateProvider: ng.ui.IStateProvider) {\r\n\r\n this.$stateProvider\r\n // This route gets called from an external source with a bearer token. (Mobile app)\r\n .state(\r\n 'sonovate.ExternalSignin',\r\n {\r\n url:'/external-signin?bearer&redirect&personSettingsId', \r\n controller: ($stateParams: ng.ui.IStateParamsService, ExternalSigninEvents: Sonovate.Core.Events.ExternalSigninEvents, DeepLinkStateUpdates: Core.State.DeepLinkState) => {\r\n\r\n ExternalSigninEvents.userIntents.signInFromExternalSourceWithToken.onNext(\r\n {\r\n route: $stateParams['redirect'],\r\n params: {\r\n mode: $stateParams['mode'],\r\n personSettingsId: $stateParams['personSettingsId'],\r\n bearer: $stateParams['bearer']\r\n }\r\n }\r\n );\r\n }\r\n }\r\n )\r\n .state(\"sonovate.signin\", {\r\n url: \"/signin\",\r\n templateUrl: \"signin/SigninView.html\",\r\n controller: \"signInController\",\r\n controllerAs: 'vm'\r\n });\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.signin\").config(SignInRouter);\r\n}","/// \r\n\r\nmodule Sonovate.SignIn {\r\n \r\n class SignupController extends Core.BaseController {\r\n \r\n static $inject = [\r\n '$scope',\r\n '$state'\r\n ];\r\n\r\n constructor(\r\n public $scope: ng.IScope,\r\n private $state: ng.ui.IStateService\r\n\r\n ) {\r\n super($scope);\r\n }\r\n \r\n }\r\n\r\n angular.module(\"sonovate.signup\").controller(\"signupController\", SignupController);\r\n}\r\n","/// \r\n\r\nmodule Sonovate.Timesheets {\r\n \r\n class TimesheetsController extends Core.BaseController {\r\n\r\n static $inject = [ \r\n \"$scope\",\r\n \"TimesheetMessageStateUpdates\",\r\n \"signedInUserStore\",\r\n \"localiser\",\r\n \"LoadingStateUpdates\",\r\n \"TimesheetSonovateActionEvents\",\r\n \"TimesheetStateUpdates\",\r\n \"TimesheetEvents\",\r\n \"$stateParams\",\r\n \"$state\",\r\n \"$timeout\"\r\n ];\r\n\r\n message: string;\r\n id: string;\r\n periodEnd: string;\r\n candidateName: string;\r\n userDateFormat: string = this.userDateFormat ? this.userDateFormat : \"dd/MM/yyyy\";\r\n localisedText: IDictionary = {};\r\n pageIsLoading: boolean = true;\r\n migrationDate: string | undefined;\r\n userType: string;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected TimesheetMessageStateUpdates: Rx.BehaviorSubject,\r\n protected signedInUserStore: ISignedInUserStore,\r\n protected localiser: ILocaliserService,\r\n protected LoadingStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetSonovateActionEvents: Core.Events.TimesheetSonovateActionEvents,\r\n protected TimesheetStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetEvents: Sonovate.Core.Events.ITimesheetEvents,\r\n protected $StateParams: ng.ui.IStateParamsService,\r\n protected $state: ng.ui.IStateService,\r\n protected $timeout: any\r\n ) {\r\n super($scope);\r\n this.setupLoadingStateSubscription();\r\n this.getLocalisedText();\r\n this.setupTimesheetMessageState();\r\n this.getSignedInUser();\r\n\r\n setTimeout(() => {\r\n this.displayMigrationModal();\r\n }, 1000);\r\n }\r\n\r\n setupLoadingStateSubscription() {\r\n this.subscriptions.push(\r\n this.LoadingStateUpdates.safeApply(this.$scope,\r\n (state: Core.State.LoadingState) => {\r\n this.pageIsLoading = state.showLoadingScreen;\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n\r\n getSignedInUser(): void {\r\n\t\t\tthis.subscriptions.push(\r\n\t\t\t\tthis.signedInUserStore.subject.subscribe(user => {\r\n\t\t\t\t\tthis.userDateFormat = user.settings.dateFormat;\r\n this.migrationDate = user.migrationDate;\r\n this.userType = user.userType;\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\r\n getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"timesheets\"]).safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = data.timesheets;\r\n }).subscribe()\r\n )\r\n }\r\n \r\n setupTimesheetMessageState(): void {\r\n this.subscriptions.push(\r\n this.TimesheetMessageStateUpdates.safeApply(this.$scope, (state: Core.State.ITimesheetMessageState) => {\r\n this.message = state.message;\r\n this.id = state.id;\r\n this.periodEnd = state.periodEnd;\r\n this.candidateName = state.candidateName;\r\n }).subscribe()\r\n )\r\n }\r\n\r\n displayMigrationModal(): void {\r\n if (this.userHasMigrationDate() && this.userMigrationDateIsExpired()) {\r\n this.$state.go(`${this.$state.current.name}.modals`, {\r\n modal: 'migrate'\r\n });\r\n }\r\n }\r\n\r\n private userHasMigrationDate(): boolean {\r\n const validUserTypes = ['Candidate', 'Client'];\r\n return validUserTypes.indexOf(this.userType) !== -1 && this.migrationDate != undefined;\r\n }\r\n\r\n private userMigrationDateIsExpired(): boolean | undefined {\r\n if (this.migrationDate != undefined)\r\n return new Date(this.migrationDate).getTime() < Date.now();\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.Timesheets\")\r\n .controller(\"TimesheetsController\", TimesheetsController);\r\n}","/// \r\n\r\nmodule Sonovate.Timesheets {\r\n \r\n class TimesheetsDetailedViewController extends Core.BaseController\r\n {\r\n \r\n static $inject = [ \r\n \"$scope\",\r\n \"$state\",\r\n \"localiser\",\r\n \"LoadingStateUpdates\",\r\n \"TimesheetEvents\",\r\n \"TimesheetStateUpdates\",\r\n \"$stateParams\",\r\n \"WindowResizeService\",\r\n \"$window\",\r\n \"TimesheetEditExpenseEvents\",\r\n \"TimesheetAddExpensesEvents\"\r\n ];\r\n\r\n assignment: Models.IAssignmentNew;\r\n localisedText: IDictionary = {};\r\n activeTimesheet: Models.ITimesheetNew;\r\n timesheetId: number;\r\n timesheetAssignmentId: number;\r\n canEditOrSubmit: boolean;\r\n permissions: Core.Permissions.TimesheetPermissions.IPermissionSet = {};\r\n pageIsLoading: boolean = true;\r\n showConflictError: boolean;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected localiser: ILocaliserService,\r\n protected LoadingStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetEvents: Sonovate.Core.Events.ITimesheetEvents,\r\n protected TimesheetStateUpdates: Rx.BehaviorSubject,\r\n protected stateParams: ng.ui.IStateParamsService,\r\n protected WindowResizeService: IWindowResizeService,\r\n protected $window: ng.IWindowService,\r\n protected TimesheetEditExpenseEvents: Sonovate.Core.Events.ITimesheetEditExpensesEvents,\r\n protected TimesheetAddExpensesEvents: Sonovate.Core.Events.ITimesheetAddExpensesEvents\r\n ) {\r\n super($scope);\r\n this.setupLoadingStateSubscription();\r\n this.getLocalisedText();\r\n this.setupTimesheetStateUpdates();\r\n\r\n this.$scope.$on('$stateChangeSuccess', () => {\r\n this.cacheIds();\r\n });\r\n }\r\n\r\n public setupLoadingStateSubscription() {\r\n this.subscriptions.push(\r\n this.LoadingStateUpdates.safeApply(this.$scope,\r\n (state: Core.State.LoadingState) => {\r\n this.pageIsLoading = state.showLoadingScreen;\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n\r\n setupTimesheetStateUpdates() {\r\n this.subscriptions.push(\r\n this.TimesheetStateUpdates.safeApply(this.$scope,\r\n (state: Core.State.TimesheetState) => {\r\n this.showConflictError = state.showConflictError;\r\n this.assignment = state.activeTimesheet.assignment;\r\n this.permissions = state.permissions;\r\n this.activeTimesheet = state.activeTimesheet;\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n\r\n public getRoutingInformation() {\r\n return {\r\n timesheetId:this.stateParams[\"timesheetId\"],\r\n timesheetAssignmentId: this.stateParams[\"timesheetAssignmentId\"]\r\n }\r\n }\r\n\r\n private cacheIds () {\r\n this.timesheetId = this.stateParams[\"timesheetId\"];\r\n this.timesheetAssignmentId = this.stateParams[\"timesheetAssignmentId\"];\r\n }\r\n\r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"timesheets\", \"general\"]).safeApply(this.$scope,\r\n (data: ILocalisationData) => {\r\n this.localisedText = R.merge(\r\n data.timesheets,\r\n data.general\r\n );\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n\r\n public addEvidiencePhotoMultiSelect(photos: File[]): void {\r\n this.TimesheetEditExpenseEvents.userIntents.addMultipleEvidencePictures.onNext(photos);\r\n }\r\n\r\n public addEvidiencePhotoMultiSelectAdd(photos: File[]): void {\r\n this.TimesheetAddExpensesEvents.userIntents.addMultipleEvidencePictures.onNext(photos);\r\n }\r\n\r\n private goToTimesheetListings() {\r\n this.$state.go('sonovate.Timesheets');\r\n this.$state.go('sonovate.Timesheets');\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.Timesheets\")\r\n .controller(\"TimesheetsDetailedViewController\", TimesheetsDetailedViewController);\r\n}","/// \r\n\r\nmodule Sonovate.Timesheets {\r\n \r\n class TimesheetsRouter {\r\n\r\n static $inject = [\"$stateProvider\"];\r\n\r\n constructor(private $stateProvider: ng.ui.IStateProvider) {\r\n\r\n this.$stateProvider\r\n // // Timesheets Listing\r\n .state(\"sonovate.Timesheets\", {\r\n url: \"/timesheets?q&filter&offset&size&order\",\r\n templateUrl: \"Timesheets/Timesheets.html\",\r\n controller: \"TimesheetsController as vm\",\r\n reloadOnSearch : false\r\n })\r\n .state(\"sonovate.Timesheets.modals\", {\r\n url: \"/:modal\",\r\n parent: 'sonovate.Timesheets'\r\n })\r\n // Timesheets Work\r\n .state(\"sonovate.TimesheetsWorkView\", {\r\n url: \"/assignments/:timesheetAssignmentId/timesheets/:timesheetId/work\",\r\n templateUrl: \"Timesheets/TimesheetsWorkView.html\",\r\n controller: \"TimesheetsDetailedViewController as vm\",\r\n })\r\n .state(\"sonovate.TimesheetsWorkView.modals\", {\r\n url: \"/:modal\",\r\n parent: 'sonovate.TimesheetsWorkView'\r\n })\r\n // Timesheets Expenses\r\n .state(\"sonovate.TimesheetsExpensesView\", {\r\n url: \"/assignments/:timesheetAssignmentId/timesheets/:timesheetId/expenses\",\r\n templateUrl: \"Timesheets/TimesheetsExpensesView.html\",\r\n controller: \"TimesheetsDetailedViewController as vm\"\r\n })\r\n .state(\"sonovate.TimesheetsExpensesView.modals\", {\r\n url: \"/:modal\",\r\n parent: 'sonovate.TimesheetsExpensesView'\r\n })\r\n // Timesheet download page/\r\n .state(\"sonovate.TimesheetDownload\", {\r\n url: \"/timesheets/:timesheetId/download?api-key&auth-token\"\r\n })\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\").config(TimesheetsRouter);\r\n}","/// \r\n\r\nmodule Sonovate.Timesheets {\r\n \r\n class TimesheetsWorkViewController extends Core.BaseController\r\n {\r\n\r\n mobileBreakpoint: number = 767;\r\n\r\n static $inject = [ \r\n \"$scope\",\r\n \"$state\",\r\n \"localiser\",\r\n \"LoadingStateUpdates\",\r\n \"TimesheetEvents\",\r\n \"TimesheetStateUpdates\",\r\n \"$stateParams\",\r\n \"WindowResizeService\",\r\n \"$window\",\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected localiser: ILocaliserService,\r\n protected LoadingStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetEvents: Sonovate.Core.Events.ITimesheetEvents,\r\n protected TimesheetStateUpdates: Rx.BehaviorSubject,\r\n protected stateParams: ng.ui.IStateParamsService,\r\n protected WindowResizeService: IWindowResizeService,\r\n protected $window: ng.IWindowService,\r\n protected TimesheetEditExpenseEvents: Sonovate.Core.Events.ITimesheetEditExpensesEvents,\r\n protected TimesheetAddExpensesEvents: Sonovate.Core.Events.ITimesheetAddExpensesEvents\r\n ) {\r\n super($scope);\r\n }\r\n\r\n public getRoutingInformation() {\r\n return {\r\n timesheetId:this.stateParams[\"timesheetId\"],\r\n timesheetAssignmentId: this.stateParams[\"timesheetAssignmentId\"]\r\n }\r\n }\r\n\r\n private goToTimesheetListings() {\r\n \t\tthis.$state.go('sonovate.Timesheets');\r\n }\r\n\r\n public addEvidiencePhotoMultiSelect(photos: File[]): void {\r\n this.TimesheetEditExpenseEvents.userIntents.addMultipleEvidencePictures.onNext(photos);\r\n }\r\n\r\n public addEvidiencePhotoMultiSelectAdd(photos: File[]): void {\r\n this.TimesheetAddExpensesEvents.userIntents.addMultipleEvidencePictures.onNext(photos);\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.Timesheets\")\r\n .controller(\"TimesheetsWorkViewController\", TimesheetsWorkViewController);\r\n}","/// \r\n\r\nmodule Sonovate.SignIn {\r\n \r\n class SignupController extends Core.BaseController {\r\n \r\n static $inject = [\r\n '$scope',\r\n '$state',\r\n 'SignupStateUpdates',\r\n 'SignupEvents',\r\n '$location',\r\n 'localiser',\r\n 'DeepLinkStateUpdates'\r\n ];\r\n\r\n public localisedText: { general: IDictionary, signup: IDictionary };\r\n public userDetails: Models.IUserSignupDetails;\r\n public isShowingPassword: boolean;\r\n public isSigningUp: boolean;\r\n\r\n private errorMessage: string = '';\r\n private signupToken: string;\r\n\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected SignupStateUpdates: Rx.BehaviorSubject,\r\n protected SignupEvents: Core.Events.SignupEvents,\r\n protected $location: ng.ILocationService,\r\n protected localiser: ILocaliserService,\r\n protected DeepLinkStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope);\r\n this.setupSignupState();\r\n this.fetchSignupTokenFromWebAddress(); //Change();\r\n this.getUserAccountViaWebTokenAuthentication();\r\n this.getLocalisedText();\r\n }\r\n\r\n private fetchSignupTokenFromWebAddress(): void {\r\n this.signupToken = this.$location.search().signupToken;\r\n }\r\n\r\n private getUserAccountViaWebTokenAuthentication(): void {\r\n if(this.signupToken) { // may not need this\r\n this.SignupEvents.userIntents.submitUserTokenForAuthentication.onNext(this.signupToken);\r\n } else {\r\n this.$state.go(\"sonovate.signin\");\r\n }\r\n }\r\n\r\n private setupSignupState(): void {\r\n this.subscriptions.push(\r\n this.SignupStateUpdates.safeApply(this.$scope, (state: Core.State.SignupState) => {\r\n this.userDetails = state.state.userDetails;\r\n this.errorMessage = state.state.errorMessage;\r\n this.isShowingPassword = state.state.isShowingPassword;\r\n this.isSigningUp = state.state.isSigningUp; \r\n }).subscribe()\r\n )\r\n }\r\n\r\n public onUserKeyupInFirstNameInput(): void {\r\n this.SignupEvents.userIntents.userTypedInFirstNameInput.onNext(this.userDetails.firstName);\r\n }\r\n\r\n public onUserKeyupInLastNameInput(): void {\r\n this.SignupEvents.userIntents.userTypedInLastNameInput.onNext(this.userDetails.lastName);\r\n }\r\n\r\n public onUserKeyupInEmailAddressInput(): void {\r\n this.SignupEvents.userIntents.userTypedInEmailInput.onNext(this.userDetails.email);\r\n }\r\n\r\n public onUserKeyupInPasswordInput(): void {\r\n this.SignupEvents.userIntents.userTypedInPasswordInput.onNext(this.userDetails.password);\r\n }\r\n\r\n public submitUserDetailsForAccountActivation(): void {\r\n this.SignupEvents.userIntents.userSubmittedDetailsForAccountActivation.onNext({\r\n userDetails: this.userDetails,\r\n isFormValid: true\r\n });\r\n }\r\n\r\n public launchLinkedinSignupFlow(): void {\r\n this.SignupEvents.userIntents.clickLinkedinButton.onNext(this.userDetails);\r\n }\r\n\r\n public launchGoogleSignupFlow(): void {\r\n this.SignupEvents.userIntents.clickGoogleButton.onNext(this.userDetails);\r\n }\r\n\r\n public toggleShowPassword() {\r\n this.SignupEvents.userIntents.toggleShowPassword.onNext(null);\r\n }\r\n\r\n private getLocalisedText(): void {\r\n this.localiser.get(['general', 'signup']).safeApply(this.$scope, \r\n (data: {general: IDictionary, signup: IDictionary}) => {\r\n this.localisedText = R.merge(data.general, data.signup);\r\n }\r\n ).subscribe();\r\n }\r\n }\r\n \r\n \r\n}\r\n\r\n/// \r\n\r\nmodule Sonovate.ChangePassword {\r\n \r\n class ChangePasswordController extends Core.BaseController {\r\n \r\n static $inject = [\r\n '$scope',\r\n 'localiser',\r\n '$stateParams',\r\n 'ChangePasswordEvents',\r\n 'ChangePasswordStateUpdates'\r\n ];\r\n\r\n localisedText: {};\r\n password: string;\r\n errorMessage: string;\r\n isShowingPassword: boolean;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected $stateParams: ng.ui.IStateParamsService,\r\n protected ChangePasswordEvents: Core.Events.ChangePasswordEvents,\r\n protected ChangePasswordStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n this.setupChangePasswordState();\r\n }\r\n\r\n userRequestsPasswordChange (): void {\r\n this.ChangePasswordEvents.userIntents.passwordChangeRequest.onNext({\r\n token: this.$stateParams['token'],\r\n newPassword: this.password\r\n });\r\n }\r\n\r\n setupChangePasswordState(): void {\r\n this.subscriptions.push(\r\n this.ChangePasswordStateUpdates.safeApply(this.$scope, (state: Core.State.ChangePasswordState) => {\r\n this.password = state.password;\r\n this.errorMessage = state.errorMessage;\r\n this.isShowingPassword = state.isShowingPassword;\r\n }).subscribe()\r\n )\r\n }\r\n\r\n onUserKeyupInPasswordInput(passwordObject: {value: string}): void {\r\n this.ChangePasswordEvents.userIntents.userTypedInPassword.onNext(passwordObject.value);\r\n }\r\n\r\n public toggleShowPassword() {\r\n this.ChangePasswordEvents.userIntents.toggleShowPassword.onNext(null);\r\n }\r\n\r\n private getLocalisedText(): void {\r\n this.localiser.get(['changepassword']).safeApply(this.$scope, \r\n (data: {changepassword: IDictionary}) => {\r\n this.localisedText = data.changepassword;\r\n }\r\n ).subscribe();\r\n }\r\n }\r\n \r\n angular.module(\"sonovate.ChangePassword\")\r\n .directive(\r\n \"snChangePassword\",\r\n function snChangePassword(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: ChangePasswordController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'ChangePassword/viewDirectives/snChangePasswordViewDirective.html',\r\n scope: {}\r\n };\r\n }\r\n );\r\n}\r\n\r\n\r\n","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n export class AgreementEvents implements IAgreementEvents {\r\n\r\n userIntents: IAgreementUserIntents = {\r\n duplicateTerms: new Rx.Subject(),\r\n editTermsTemplate: new Rx.Subject()\r\n };\r\n\r\n httpResults: IAgreementHttpResults = {\r\n termsDuplicated: new Rx.Subject(),\r\n termsEdited: new Rx.Subject()\r\n };\r\n\r\n static $inject: string[] = [\"httpService\", \"TermsTransformers\", \"Upload\", \"APP_URL\"];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private TermsTransformers: Transformers.TermsTransformers,\r\n private Upload: ng.angularFileUpload.IUploadService,\r\n private APP_URL: string\r\n ){\r\n this.initDuplicateTermsHandler();\r\n this.initEditTermsTemplateHandler(); \r\n }\r\n\r\n public initDuplicateTermsHandler(): void {\r\n this.userIntents.duplicateTerms\r\n .flatMap((req: IDuplicateTermsRequest) => { \r\n return Rx.Observable.fromPromise(\r\n this.httpService.post(`/v1/agreements/${req.agreementId}/templates/${req.templateId}/duplicate`)\r\n )\r\n .catch((): IEmptyObservable => Rx.Observable.empty())\r\n })\r\n .map((res: IResponse): ViewModels.ServiceAgreement.Terms => { \r\n return res.data.result;\r\n })\r\n .map((model: ViewModels.ServiceAgreement.Terms): Models.ITermsTemplate => { \r\n return this.TermsTransformers.Terms_ITermsTemplate(model);\r\n })\r\n .subscribe(this.httpResults.termsDuplicated);\r\n }\r\n\r\n public initEditTermsTemplateHandler(): void {\r\n this.userIntents.editTermsTemplate\r\n .flatMap((req: IEditTermsIntent): Rx.Observable> => { \r\n // if there is a file, convert it to Section first\r\n if(!R.isNil(req.file)) {\r\n return this.streamFileConvert(req); \r\n }\r\n // otherwise, continue on the pipeline as if nothing had happened.\r\n else {\r\n return Rx.Observable.return(req);\r\n } \r\n })\r\n .flatMap((req: IEditTermsIntent) => { \r\n let requestObject = this.TermsTransformers.ITemplateTerms_Terms(req.template);\r\n\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/agreements/${req.agreementId}/templates/${req.template.templateId}`, requestObject)\r\n )\r\n .catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .map((res: IResponse): ViewModels.ServiceAgreement.Terms => {\r\n return res.data.result;\r\n })\r\n .map((template: ViewModels.ServiceAgreement.Terms) => {\r\n return this.TermsTransformers.Terms_ITermsTemplate(template);\r\n })\r\n .subscribe(this.httpResults.termsEdited); \r\n }\r\n\r\n private streamFileConvert(req: IEditTermsIntent): Rx.Observable> {\r\n return Rx.Observable.fromPromise(\r\n this.Upload.upload({\r\n url: `${this.APP_URL}/v1/documents/pdf-to-section`,\r\n method: 'POST',\r\n data: {\r\n file: req.file, \r\n }\r\n })\r\n .then((res: IResponse) => {\r\n // remap the template's sections and replace the editable one with the result from the conversion\r\n req.template.sections = req.template.sections.map((sec: Models.ITemplateSection) => { \r\n if(sec.canEdit){\r\n let result = res.data.result;\r\n result.id = sec.sectionId;\r\n return this.TermsTransformers.Section_ITemplateSection(result);\r\n }\r\n else {\r\n return sec;\r\n } \r\n });\r\n return req;\r\n })\r\n )\r\n .catch((): IEmptyObservable => Rx.Observable.empty());\r\n } \r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"AgreementEvents\", AgreementEvents);\r\n\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n class ChangeRiskAssessmentStatusEvents implements IChangeRiskAssessmentStatusEvents {\r\n\r\n userIntents: IChangeRiskAssessmentStatusUserIntents = {\r\n selectAssessmentStatus: new Rx.Subject(),\r\n typeNote: new Rx.Subject(),\r\n submitAssessmentStatus: new Rx.Subject()\r\n }\r\n\r\n httpResults: IChangeRiskAssessmentStatusHttpResults = {\r\n submitAssessmentStatusSuccess: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"InvoicesTransformers\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService\r\n ) {\r\n this.initSubmitAssessmentStatus();\r\n }\r\n\r\n private initSubmitAssessmentStatus() : void {\r\n this.userIntents.submitAssessmentStatus\r\n .flatMap((given: IAssessmentStatusUserIntent) => {\r\n let personId = given.personId;\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/risk/assessments/${given.assessmentId}/risk-status`, {\r\n id: given.status,\r\n note: {\r\n body: given.note\r\n }\r\n })\r\n ).map((response:any) => {\r\n return {\r\n result: response.data.result,\r\n personId: personId\r\n }\r\n }).catch((): IEmptyObservable => Rx.Observable.empty())\r\n })\r\n .subscribe((given) => {\r\n this.httpResults.submitAssessmentStatusSuccess.onNext(null);\r\n });\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"ChangeRiskAssessmentStatusEvents\", ChangeRiskAssessmentStatusEvents);\r\n}"," /// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n class DashboardEvents implements IDashboardEvents {\r\n\r\n userIntents: IDashboardUserIntents = {\r\n viewDashboard: new Rx.Subject()\r\n }\r\n\r\n httpResults: IDashboardHttpResults = {\r\n getKpiSummariesSuccess: new Rx.Subject(),\r\n getKpiSuccess: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"KpiTransformers\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private KpiTransformers: Transformers.KpiTransformers\r\n ) {\r\n this.initKpiRequests();\r\n }\r\n\r\n private initKpiRequests () {\r\n return this.userIntents.viewDashboard\r\n .flatMap(() => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get('/v1/kpis')\r\n )\r\n .catch(():IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .map((response: IResponse) => {\r\n return this.KpiTransformers.KpiSummaryArray_IKpiContainerArray(response.data.result);\r\n })\r\n .flatMap((containers) => {\r\n this.httpResults.getKpiSummariesSuccess.onNext(containers);\r\n return containers;\r\n })\r\n .flatMap((container: Models.IKpiContainer) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/kpis/${container.id}`)\r\n .then((response: IResponse): IKpiResult => {\r\n return {\r\n id: container.id,\r\n kpi: this.KpiTransformers.Kpi_IKpi(response.data.result)\r\n }\r\n })\r\n )\r\n .catch(():IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .map((result) => {\r\n return result;\r\n })\r\n .subscribe(this.httpResults.getKpiSuccess);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"DashboardEvents\", DashboardEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n class InvoiceEvents implements IInvoiceEvents {\r\n\r\n userIntents: IInvoiceUserIntents = {viewInvoice: new Rx.Subject(),\r\n getInvoiceStatuses: new Rx.Subject()\r\n }\r\n\r\n httpResults: IInvoiceHttpResults = {\r\n invoiceRetrievedError: new Rx.Subject(),\r\n invoiceRetrievedSuccessfuly: new Rx.Subject(),\r\n invoiceStatusesRetrievedError: new Rx.Subject(),\r\n invoiceStatusesRetrievedSuccessful: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"InvoicesTransformers\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private InvoicesTransformers: Transformers.InvoicesTransformers\r\n ) {\r\n this.getInvoiceOnViewInvoice();\r\n this.getInvoiceStatusesOnGetInvoiceStatuses();\r\n }\r\n\r\n protected getInvoiceOnViewInvoice(): void {\r\n this.userIntents.viewInvoice\r\n .flatMap((id) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/invoices/${id}`)\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.invoiceRetrievedError.onNext(error.data.result);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse>): RequestModels.Invoices.Invoice => {\r\n return response.data.result;\r\n })\r\n .subscribe((response: RequestModels.Invoices.Invoice) => {\r\n this.httpResults.invoiceRetrievedSuccessfuly.onNext(\r\n this.InvoicesTransformers.Invoice_IInvoice(response)\r\n );\r\n });\r\n }\r\n\r\n protected getInvoiceStatusesOnGetInvoiceStatuses(): void {\r\n this.userIntents.getInvoiceStatuses\r\n .take(1)\r\n .flatMap(() => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/invoices/statuses`)\r\n )\r\n .retry(3)\r\n .catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.invoiceStatusesRetrievedError.onNext(error.data.result);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse) => {\r\n return response.data.result;\r\n })\r\n .subscribe((response) => {\r\n this.httpResults.invoiceStatusesRetrievedSuccessful.onNext(\r\n this.InvoicesTransformers.InvoiceStatusArray_IStatusArray(response)\r\n );\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"InvoiceEvents\", InvoiceEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n class InvoicesSearchEvents extends BaseSearchEvents implements IInvoicesSearchEvents {\r\n\r\n userIntents: IInvoicesSearchUserIntents = {\r\n loadMoreInvoices: new Rx.Subject(),\r\n searchInvoices: new Rx.Subject(),\r\n filterByDate: new Rx.Subject()\r\n }\r\n\r\n httpResults: IInvoicesSearchHttpResults = {\r\n searchInvoicesSuccess: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\"httpService\", \"InvoicesTransformers\", \"$state\", \"$log\"];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private InvoicesTransformers: Core.Transformers.InvoicesTransformers,\r\n protected $state: ng.ui.IStateService\r\n ) {\r\n super($state);\r\n this.initSearchInvoices();\r\n }\r\n\r\n private initSearchInvoices (): void { \r\n this.userIntents.searchInvoices\r\n .merge(this.userIntents.filterByDate)\r\n .merge(this.userIntents.loadMoreInvoices)\r\n .do((query: IPageState) => {\r\n this.goToStateWithQuery(\"sonovate.Invoices\", query);\r\n })\r\n .flatMap((query: IPageState) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get( \r\n PageStateQueryBuilder.buildEndpointFromState(`/v1/invoices`, query)\r\n )\r\n )\r\n .catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .map((result: IResponse): IInvoicesSearchResult => {\r\n return {\r\n invoices: this.InvoicesTransformers.InvoiceArray_IInvoiceSearchResultArray(result.data.result),\r\n totalResults: result.data.metadata['totalResults']\r\n }\r\n })\r\n .subscribe(this.httpResults.searchInvoicesSuccess)\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"InvoicesSearchEvents\", InvoicesSearchEvents);\r\n}","/// \r\nmodule Sonovate.Core.Events {\r\n\r\n class MergedOrganisationSearchEvents implements IMergedOrganisationSearchEvents {\r\n\r\n userIntents: IMergedOrganisationSearchUserIntents = {\r\n searchMergedOrganisations: new Rx.Subject(),\r\n seeMoreMergedOrganisations: new Rx.Subject(),\r\n typeInMergedOrganisationSearchBox: new Rx.Subject()\r\n }\r\n\r\n httpResults: IMergedOrganisationSearchHttpResults = {\r\n searchedMergedOrganisations: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"OrganisationTransformers\"\r\n ];\r\n\r\n constructor(\r\n protected httpService: IHttpService,\r\n protected OrganisationTransformers: Core.Transformers.OrganisationTransformers\r\n ) {\r\n this.initSearchOrganisations();\r\n } \r\n \r\n private initSearchOrganisations(): void {\r\n this.userIntents\r\n .searchMergedOrganisations\r\n .merge(this.userIntents.seeMoreMergedOrganisations)\r\n .throttle(250)\r\n .concatMap((search: IPageState) => {\r\n return Rx.Observable.fromPromise( \r\n this.httpService.get(\r\n PageStateQueryBuilder.buildEndpointFromState(\r\n `/v1/agreements/organisations`, \r\n search\r\n )\r\n )\r\n )\r\n .catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n // Insert view model\r\n .map((response: IResponse): IOrganisationSearchResult => {\r\n return {\r\n organisations: this.OrganisationTransformers.MergedOrganisationSearchResultArray_IOrganisationArray(response.data.result),\r\n totalRowCount: response.data.metadata.totalRowCount\r\n };\r\n }) \r\n .subscribe(this.httpResults.searchedMergedOrganisations); \r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"MergedOrganisationSearchEvents\", MergedOrganisationSearchEvents);\r\n}"," /// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n class OnboardingDocumentEvents implements IOnboardingDocumentEvents {\r\n\r\n userIntents: IOnboardingDocumentUserIntents = {\r\n getAssignmentOnboardingDocuments: new Rx.Subject(),\r\n getProposalOnboardingDocuments: new Rx.Subject(),\r\n selectNewTemplate: new Rx.Subject(),\r\n removeTermsTemplate: new Rx.Subject(),\r\n addPdfToUpload: new Rx.Subject(),\r\n removePdf: new Rx.Subject(),\r\n changeSelectedDocumentType: new Rx.Subject(),\r\n saveContractWithTemplate: new Rx.Subject(),\r\n saveContractWithPdfUpload: new Rx.Subject(),\r\n dismissErrors: new Rx.Subject(),\r\n saveContractsClick: new Rx.Subject(),\r\n contractSwitch: new Rx.Subject(),\r\n replaceSignatories: new Rx.Subject(),\r\n deleteSignatory: new Rx.Subject(),\r\n addSignatory: new Rx.Subject(),\r\n setSelectedDocument: new Rx.Subject(),\r\n editClickOnSelectedContract: new Rx.Subject(),\r\n changeSignatorySelectedEmail: new Rx.Subject(),\r\n\r\n putSignedAssignmentOnboardingDocument: new Rx.Subject(),\r\n putSignedProposalOnboardingDocument: new Rx.Subject(),\r\n\r\n saveContractWithTemplateProposal: new Rx.Subject(),\r\n\r\n moveSignatoryDown: new Rx.Subject(),\r\n moveSignatoryUp: new Rx.Subject(),\r\n\r\n replaceOnboardingDocument: new Rx.Subject(),\r\n\r\n approveProposalContract: new Rx.Subject(),\r\n rejectProposalContract: new Rx.Subject(),\r\n \r\n approveAssignmentContract: new Rx.Subject(),\r\n rejectAssignmentContract: new Rx.Subject(),\r\n\r\n signProposalContract: new Rx.Subject(),\r\n refuseProposalContract: new Rx.Subject(),\r\n \r\n signAssignmentContract: new Rx.Subject(),\r\n refuseAssignmentContract: new Rx.Subject(),\r\n\r\n getDuplicateDocumentForProposal: new Rx.Subject(),\r\n getDuplicateDocumentForAssignment: new Rx.Subject(),\r\n }\r\n\r\n httpResults: IOnboardingDocumentHttpResults = {\r\n getAssignmentOnboardingDocumentsSuccess: new Rx.Subject(),\r\n getAssignmentOnboardingDocumentsError: new Rx.Subject(),\r\n putSignedAssignmentOnboardingDocumentSuccess: new Rx.Subject(),\r\n putSignedAssignmentOnboardingDocumentError: new Rx.Subject(),\r\n\r\n getProposalOnboardingDocumentsSuccess: new Rx.Subject(),\r\n getProposalOnboardingDocumentsError: new Rx.Subject(),\r\n putSignedProposalOnboardingDocumentSuccess: new Rx.Subject(),\r\n putSignedProposalOnboardingDocumentError: new Rx.Subject(),\r\n\r\n saveContractWithTemplateCompleted: new Rx.Subject(),\r\n saveContractWithPdfUploadCompleted: new Rx.Subject(),\r\n saveContractWithTemplateFailed: new Rx.Subject(),\r\n saveContractWithPdfUploadFailed: new Rx.Subject(),\r\n \r\n saveContractWithTemplateProposalCompleted: new Rx.Subject(),\r\n\r\n approveAssignmentContractSuccess: new Rx.Subject(),\r\n approveAssignmentContractError: new Rx.Subject(),\r\n\r\n rejectAssignmentContractSuccess: new Rx.Subject(),\r\n rejectAssignmentContractError: new Rx.Subject(),\r\n\r\n rejectProposalContractSuccess: new Rx.Subject(),\r\n rejectProposalContractError: new Rx.Subject(),\r\n\r\n approveProposalContractSuccess: new Rx.Subject(),\r\n approveProposalContractError: new Rx.Subject(),\r\n\r\n refuseAssignmentContractSuccess: new Rx.Subject(),\r\n refuseAssignmentContractError: new Rx.Subject(),\r\n\r\n refuseProposalContractSuccess: new Rx.Subject(),\r\n refuseProposalContractError: new Rx.Subject(),\r\n\r\n getDuplicateDocumentForProposalSuccess: new Rx.Subject(),\r\n getDuplicateDocumentForProposalError: new Rx.Subject(),\r\n\r\n getDuplicateDocumentForAssignmentSuccess: new Rx.Subject(),\r\n getDuplicateDocumentForAssignmentError: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"Upload\",\r\n \"OnboardingDocumentTransformers\",\r\n \"APP_URL\",\r\n \"TermsTransformers\"\r\n ];\r\n\r\n constructor (\r\n private httpService: IHttpService,\r\n private Upload: ng.angularFileUpload.IUploadService,\r\n private OnboardingDocumentTransformers: Transformers.OnboardingDocumentTransformers,\r\n protected APP_URL: string,\r\n protected TermsTransformers : Sonovate.Core.Transformers.TermsTransformers\r\n ) {\r\n this.getAssignmentOnboardingDocumentsOnGetAssignmentOnboardingDocuments();\r\n this.putSignedAssignmentOnboardingDocumentOnPostSignedAssignmentOnboardingDocument();\r\n this.getProposalOnboardingDocumentsOnGetProposalOnboardingDocuments();\r\n this.putSignedProposalOnboardingDocumentOnPostSignedProposalOnboardingDocument();\r\n this.putDocumentTemplateSave();\r\n this.putDocumentPdfSave();\r\n this.putDocumentTemplateSaveProposal();\r\n this.putApproveAssignmentContractOnApproveAssignmentContract();\r\n this.putRejectAssignmentContractOnRejectAssignmentContract();\r\n this.putApproveProposalContractOnApproveProposalContract();\r\n this.putRejectProposalContractOnRejectProposalContract();\r\n this.getAssignmentOnboardingDocumentsOnSignAssignmentContract();\r\n this.putRefuseAssignmentContractOnRefuseAssignmentContract();\r\n this.getProposalOnboardingDocumentsOnSignProposalContract();\r\n this.putRefuseProposalContractOnRefuseProposalContract();\r\n this.initGetDuplicatedDocumentForProposal();\r\n this.initGetDuplicatedDocumentForAssignment();\r\n }\r\n\r\n private initGetDuplicatedDocumentForProposal(): void {\r\n this.userIntents.getDuplicateDocumentForProposal\r\n .flatMap((given: IViewAgreementTermsUserIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.post(`/v1/proposals/terms/${given.documentId}`)\r\n )\r\n .catch((error: IErrorResponse): any => {\r\n this.httpResults.getDuplicateDocumentForProposalError.onNext(error.data.result['error']);\r\n });\r\n })\r\n .map((response: IResponse) => {\r\n return response.data.result;\r\n })\r\n .map((terms: ViewModels.ServiceAgreement.Terms): Models.ITermsTemplate => {\r\n return this.TermsTransformers.Terms_ITermsTemplate(terms);\r\n })\r\n .subscribe(this.httpResults.getDuplicateDocumentForProposalSuccess);\r\n }\r\n\r\n private initGetDuplicatedDocumentForAssignment(): void {\r\n this.userIntents.getDuplicateDocumentForAssignment\r\n .flatMap((given: IViewAgreementTermsUserIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.post(`/v1/assignments/terms/${given.documentId}`)\r\n )\r\n .catch((error: IErrorResponse): any => {\r\n this.httpResults.getDuplicateDocumentForAssignmentError.onNext(error.data.result['error']);\r\n });\r\n })\r\n .map((response: IResponse) => {\r\n return response.data.result;\r\n })\r\n .map((terms: ViewModels.ServiceAgreement.Terms[]): Models.ITermsTemplate => {\r\n return this.TermsTransformers.Terms_ITermsTemplate(terms);\r\n })\r\n .subscribe(this.httpResults.getDuplicateDocumentForAssignmentSuccess);\r\n }\r\n\r\n protected getAssignmentOnboardingDocumentsOnGetAssignmentOnboardingDocuments(): void {\r\n this.userIntents.getAssignmentOnboardingDocuments\r\n .flatMap((id) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/assignments/${id}/onboarding`)\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.getAssignmentOnboardingDocumentsError.onNext(error.data.result);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse>): ViewModels.ServiceAgreement.OnboardingDocumentRequest[] => {\r\n return response.data.result;\r\n })\r\n .subscribe((documents) => {\r\n this.httpResults.getAssignmentOnboardingDocumentsSuccess.onNext(\r\n this.OnboardingDocumentTransformers.OnboardingDocumentsArray_IOnboardingDocumentsArray(documents)\r\n );\r\n });\r\n }\r\n\r\n protected putSignedAssignmentOnboardingDocumentOnPostSignedAssignmentOnboardingDocument(): void {\r\n this.userIntents.putSignedAssignmentOnboardingDocument\r\n .flatMap((given) => {\r\n return Rx.Observable.fromPromise(\r\n this.Upload.upload({\r\n url: `${this.APP_URL}/v1/assignments/${given.id}/onboarding/${given.model.id}/pdf`,\r\n data: {\r\n file: given.file,\r\n model: JSON.stringify(given.model)\r\n },\r\n method: \"PUT\"\r\n })\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.putSignedAssignmentOnboardingDocumentError.onNext(error.data.result);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse>): ViewModels.ServiceAgreement.OnboardingDocumentRequest => {\r\n return response.data.result;\r\n })\r\n .subscribe((document) => {\r\n this.httpResults.putSignedAssignmentOnboardingDocumentSuccess.onNext(\r\n this.OnboardingDocumentTransformers.OnboardingDocuments_IOnboardingDocuments(document)\r\n );\r\n });\r\n }\r\n\r\n protected getProposalOnboardingDocumentsOnGetProposalOnboardingDocuments(): void {\r\n this.userIntents.getProposalOnboardingDocuments\r\n .flatMap((id) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/proposals/${id}/onboarding`)\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.getProposalOnboardingDocumentsError.onNext(error.data.result);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse>): ViewModels.ServiceAgreement.OnboardingDocumentRequest[] => {\r\n return response.data.result;\r\n })\r\n .subscribe((documents) => {\r\n this.httpResults.getProposalOnboardingDocumentsSuccess.onNext(\r\n this.OnboardingDocumentTransformers.OnboardingDocumentsArray_IOnboardingDocumentsArray(documents)\r\n );\r\n });\r\n }\r\n\r\n protected putSignedProposalOnboardingDocumentOnPostSignedProposalOnboardingDocument(): void {\r\n this.userIntents.putSignedProposalOnboardingDocument\r\n .flatMap((given) => {\r\n return Rx.Observable.fromPromise(\r\n this.Upload.upload({\r\n url: `${this.APP_URL}/v1/proposals/${given.id}/onboarding/${given.model.id}/pdf`,\r\n data: {\r\n file: given.file,\r\n model: JSON.stringify(given.model)\r\n },\r\n method: \"PUT\"\r\n })\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.putSignedProposalOnboardingDocumentError.onNext(error.data.result);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse>): ViewModels.ServiceAgreement.OnboardingDocumentRequest => {\r\n return response.data.result;\r\n })\r\n .subscribe((document) => {\r\n this.httpResults.putSignedProposalOnboardingDocumentSuccess.onNext(\r\n this.OnboardingDocumentTransformers.OnboardingDocuments_IOnboardingDocuments(document)\r\n );\r\n });\r\n }\r\n\r\n protected putDocumentTemplateSave(): void {\r\n this.userIntents.saveContractWithTemplate\r\n .flatMap((given) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/assignments/${given.timesheetAssignmentId}/onboarding/${given.id}`, \r\n this.OnboardingDocumentTransformers.IOnboardingDocumentTemplateUploadIntent_UpdateOnboardingRequest(given)\r\n )\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.saveContractWithTemplateFailed.onNext(error);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse>): ViewModels.ServiceAgreement.OnboardingDocumentRequest => {\r\n return response.data.result;\r\n })\r\n .subscribe((document) => {\r\n this.httpResults.saveContractWithTemplateCompleted.onNext(\r\n this.OnboardingDocumentTransformers.OnboardingDocuments_IOnboardingDocuments(document)\r\n );\r\n });\r\n }\r\n\r\n protected putDocumentTemplateSaveProposal(): void {\r\n this.userIntents.saveContractWithTemplateProposal\r\n .flatMap((given) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/proposals/${given.proposalId}/onboarding/${given.id}`, \r\n this.OnboardingDocumentTransformers.IOnboardingDocumentTemplateUploadIntent_UpdateOnboardingRequest(given)\r\n )\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.saveContractWithTemplateFailed.onNext(error);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse>): ViewModels.ServiceAgreement.OnboardingDocumentRequest => {\r\n return response.data.result;\r\n })\r\n .subscribe((document) => {\r\n this.httpResults.saveContractWithTemplateProposalCompleted.onNext(\r\n this.OnboardingDocumentTransformers.OnboardingDocuments_IOnboardingDocuments(document)\r\n );\r\n });\r\n }\r\n\r\n protected putDocumentPdfSave(): void {\r\n this.userIntents.saveContractWithPdfUpload\r\n .flatMap((given) => {\r\n let data = this.OnboardingDocumentTransformers.IOnboardingDocumentTemplateUploadIntent_UpdateOnboardingRequest(given);\r\n return Rx.Observable.fromPromise(\r\n this.Upload.upload({\r\n url: `${this.APP_URL}/v1/assignments/${given.timesheetAssignmentId}/onboarding/${given.id}/pdf`,\r\n data: {\r\n file: given.contractPicture,\r\n model: JSON.stringify(data),\r\n },\r\n method: \"PUT\"\r\n })\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.saveContractWithPdfUploadFailed.onNext(error);\r\n }\r\n return Rx.Observable.empty();\r\n });\r\n })\r\n .map((response: IResponse>): ViewModels.ServiceAgreement.OnboardingDocumentRequest => {\r\n return response.data.result;\r\n })\r\n .subscribe((document) => {\r\n this.httpResults.saveContractWithPdfUploadCompleted.onNext(\r\n this.OnboardingDocumentTransformers.OnboardingDocuments_IOnboardingDocuments(document)\r\n );\r\n });\r\n }\r\n\r\n protected putApproveAssignmentContractOnApproveAssignmentContract(): void {\r\n this.userIntents.approveAssignmentContract\r\n .flatMap((given) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/assignments/${given.agreementId}/onboarding/${given.documentId}/approve`, {})\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.approveAssignmentContractError.onNext(error.data.result);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse>): ViewModels.ServiceAgreement.OnboardingDocumentRequest => {\r\n return response.data.result;\r\n })\r\n .subscribe((documents) => {\r\n this.httpResults.approveAssignmentContractSuccess.onNext(\r\n this.OnboardingDocumentTransformers.OnboardingDocuments_IOnboardingDocuments(documents)\r\n );\r\n });\r\n }\r\n\r\n protected putRejectAssignmentContractOnRejectAssignmentContract(): void {\r\n this.userIntents.rejectAssignmentContract\r\n .flatMap((given) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/assignments/${given.agreementId}/onboarding/${given.documentId}/reject`, {})\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.rejectAssignmentContractError.onNext(error.data.result);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse>): ViewModels.ServiceAgreement.OnboardingDocumentRequest => {\r\n return response.data.result;\r\n })\r\n .subscribe((documents) => {\r\n this.httpResults.rejectAssignmentContractSuccess.onNext(\r\n this.OnboardingDocumentTransformers.OnboardingDocuments_IOnboardingDocuments(documents)\r\n );\r\n });\r\n }\r\n\r\n protected putApproveProposalContractOnApproveProposalContract(): void {\r\n this.userIntents.approveProposalContract\r\n .flatMap((given) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/proposals/${given.agreementId}/onboarding/${given.documentId}/approve`, {})\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.approveProposalContractError.onNext(error.data.result);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse>): ViewModels.ServiceAgreement.OnboardingDocumentRequest => {\r\n return response.data.result;\r\n })\r\n .subscribe((documents) => {\r\n this.httpResults.approveProposalContractSuccess.onNext(\r\n this.OnboardingDocumentTransformers.OnboardingDocuments_IOnboardingDocuments(documents)\r\n );\r\n });\r\n }\r\n\r\n protected putRejectProposalContractOnRejectProposalContract(): void {\r\n this.userIntents.rejectProposalContract\r\n .flatMap((given) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/proposals/${given.agreementId}/onboarding/${given.documentId}/reject`, {})\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.rejectProposalContractError.onNext(error.data.result);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse>): ViewModels.ServiceAgreement.OnboardingDocumentRequest => {\r\n return response.data.result;\r\n })\r\n .subscribe((documents) => {\r\n this.httpResults.rejectProposalContractSuccess.onNext(\r\n this.OnboardingDocumentTransformers.OnboardingDocuments_IOnboardingDocuments(documents)\r\n );\r\n });\r\n }\r\n\r\n protected getAssignmentOnboardingDocumentsOnSignAssignmentContract(): void {\r\n this.userIntents.signAssignmentContract\r\n .subscribe((id: number) => {\r\n this.userIntents.getAssignmentOnboardingDocuments.onNext(id);\r\n });\r\n }\r\n\r\n protected putRefuseAssignmentContractOnRefuseAssignmentContract(): void {\r\n this.userIntents.refuseAssignmentContract\r\n .flatMap((given) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/assignments/${given.agreementId}/onboarding/${given.documentId}/refuse/${given.signatoryId}`, {})\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.refuseAssignmentContractError.onNext(error.data.result);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse>): ViewModels.ServiceAgreement.OnboardingDocumentRequest => {\r\n return response.data.result;\r\n })\r\n .subscribe((documents) => {\r\n this.httpResults.refuseAssignmentContractSuccess.onNext(\r\n this.OnboardingDocumentTransformers.OnboardingDocuments_IOnboardingDocuments(documents)\r\n );\r\n });\r\n }\r\n\r\n protected getProposalOnboardingDocumentsOnSignProposalContract(): void {\r\n this.userIntents.signProposalContract\r\n .subscribe((id: number) => {\r\n this.userIntents.getProposalOnboardingDocuments.onNext(id);\r\n });\r\n }\r\n\r\n protected putRefuseProposalContractOnRefuseProposalContract(): void {\r\n this.userIntents.refuseProposalContract\r\n .flatMap((given) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/proposals/${given.agreementId}/onboarding/${given.documentId}/refuse/${given.signatoryId}`, {})\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.refuseProposalContractError.onNext(error.data.result);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse>): ViewModels.ServiceAgreement.OnboardingDocumentRequest => {\r\n return response.data.result;\r\n })\r\n .subscribe((documents) => {\r\n this.httpResults.refuseProposalContractSuccess.onNext(\r\n this.OnboardingDocumentTransformers.OnboardingDocuments_IOnboardingDocuments(documents)\r\n );\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"OnboardingDocumentEvents\", OnboardingDocumentEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n class OrganisationAccountStatusEvents implements IOrganisationAccountStatusEvents {\r\n\r\n userIntents: IOrganisationAccountStatusUserIntents = {\r\n getOrganisationAccountStatuses: new Rx.Subject()\r\n }\r\n\r\n httpResults: IOrganisationAccountStatusHttpResults = {\r\n OrganisationAccountStatusesRetrievedSuccessfuly: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"OrganisationTransformers\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private OrganisationTransformers: Transformers.OrganisationTransformers\r\n ) {\r\n this.initGetOrganisationAccountStatuses();\r\n }\r\n\r\n protected initGetOrganisationAccountStatuses(): void {\r\n this.userIntents.getOrganisationAccountStatuses\r\n .take(1)\r\n .flatMap(() => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/organisations/account-statuses`)\r\n )\r\n .retry(3)\r\n .catch((): IEmptyObservable => Rx.Observable.empty())\r\n })\r\n .map((response: IResponse) => {\r\n return response.data.result;\r\n })\r\n .subscribe((response) => {\r\n this.httpResults.OrganisationAccountStatusesRetrievedSuccessfuly.onNext(\r\n this.OrganisationTransformers.OrganisationAccountStatusArray_IStatusArray(response)\r\n );\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"OrganisationAccountStatusEvents\", OrganisationAccountStatusEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n class OrganisationBankAccountEvents implements IOrganisationBankAccountEvents {\r\n\r\n userIntents: IOrganisationBankAccountUserIntents = {\r\n \r\n setCountry: new Rx.Subject(),\r\n setCurrency: new Rx.Subject(),\r\n setAccountName: new Rx.Subject(),\r\n setAccountNumber: new Rx.Subject(),\r\n setSortCode: new Rx.Subject(),\r\n setBankBranchName: new Rx.Subject(),\r\n setIban: new Rx.Subject(),\r\n setBic: new Rx.Subject(),\r\n setConfidentialFactoring: new Rx.Subject(),\r\n dismissErrorMessage: new Rx.Subject(),\r\n editBankAccount: new Rx.Subject(),\r\n resetBankAccount: new Rx.Subject(),\r\n\r\n getBankAccounts: new Rx.Subject(),\r\n addBankAccount: new Rx.Subject(),\r\n updateBankAccount: new Rx.Subject(),\r\n publishBankAccount: new Rx.Subject(),\r\n discardBankAccount: new Rx.Subject()\r\n }\r\n\r\n httpResults: IOrganisationBankAccountHttpResults = {\r\n getBankAccountSuccess: new Rx.Subject(),\r\n getBankAccountError: new Rx.Subject(),\r\n\r\n addBankAccountSuccess: new Rx.Subject(),\r\n addBankAccountError: new Rx.Subject(),\r\n\r\n updateBankAccountSuccess: new Rx.Subject(),\r\n updateBankAccountError: new Rx.Subject(),\r\n\r\n putBankAccountSuccess: new Rx.Subject(),\r\n putBankAccountError: new Rx.Subject(),\r\n\r\n publishBankAccountSuccess: new Rx.Subject(),\r\n publishBankAccountError: new Rx.Subject(),\r\n\r\n discardBankAccountSuccess: new Rx.Subject(),\r\n discardBankAccountError: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"BankAccountTransformers\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private BankAccountTransformers: Transformers.BankAccountTransformers\r\n ) {\r\n\r\n this.getBankAccountsOnGetBankAccounts();\r\n this.postBankAccountOnAddBankAccount();\r\n this.putBankAccountOnUpdateBankAccount();\r\n this.postBankAccountPublishOnPublishBankAccount();\r\n this.postBankAccountDiscardOnDiscardBankAccount(); \r\n }\r\n\r\n getBankAccountsOnGetBankAccounts() {\r\n this.userIntents.getBankAccounts\r\n .flatMap((organisationId:number) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/organisations/${organisationId}/bank-accounts`)\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.getBankAccountError.onNext(error.data.result);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse>): ViewModels.Directory.BankAccount[] => {\r\n return response.data.result;\r\n })\r\n .subscribe((response: ViewModels.Directory.BankAccount[]) => {\r\n this.httpResults.getBankAccountSuccess.onNext(\r\n this.BankAccountTransformers.BankAccountArray_IBankAccountArray(response)\r\n );\r\n });\r\n } \r\n\r\n postBankAccountOnAddBankAccount() {\r\n this.userIntents.addBankAccount\r\n .filter((given) => given.isValid)\r\n .flatMap((given) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.post(\r\n `/v1/organisations/${given.ownerId}/bank-accounts`,\r\n this.BankAccountTransformers.IBankAccount_BankAccount(given.bankAccount)\r\n )\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if(error.status === 400) {\r\n this.httpResults.addBankAccountError.onNext(error.data.result);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse>): ViewModels.Directory.BankAccount => {\r\n return response.data.result;\r\n })\r\n .subscribe((response: ViewModels.Directory.BankAccount) => {\r\n this.httpResults.addBankAccountSuccess.onNext(\r\n this.BankAccountTransformers.BankAccount_IBankAccount(response)\r\n );\r\n }); \r\n }\r\n\r\n putBankAccountOnUpdateBankAccount() {\r\n this.userIntents.updateBankAccount\r\n .filter((given) => given.isValid)\r\n .flatMap((given) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\r\n `/v1/organisations/${given.ownerId}/bank-accounts/${given.bankAccount.id}`, \r\n this.BankAccountTransformers.IBankAccount_BankAccount(given.bankAccount)\r\n )\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.updateBankAccountError.onNext(error.data.result);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse>): ViewModels.Directory.BankAccount => {\r\n return response.data.result;\r\n })\r\n .subscribe((response: ViewModels.Directory.BankAccount) => {\r\n this.httpResults.updateBankAccountSuccess.onNext(\r\n this.BankAccountTransformers.BankAccount_IBankAccount(response)\r\n );\r\n });\r\n }\r\n\r\n postBankAccountPublishOnPublishBankAccount() {\r\n this.userIntents.publishBankAccount\r\n .flatMap((given) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.post(`/v1/organisations/${given.ownerId}/bank-accounts/${given.bankAccount.id}/publish`)\r\n .then((response: IResponse>) => {\r\n return {\r\n organisationId: given.ownerId \r\n }\r\n })\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.publishBankAccountError.onNext(error.data.result);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .subscribe((response: {organisationId: number}) => {\r\n this.httpResults.publishBankAccountSuccess.onNext(\r\n response.organisationId\r\n );\r\n });\r\n }\r\n\r\n postBankAccountDiscardOnDiscardBankAccount() {\r\n this.userIntents.discardBankAccount\r\n .flatMap((given) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.post(`/v1/organisations/${given.ownerId}/bank-accounts/${given.bankAccount.id}/discard`)\r\n .then((response: IResponse>) => {\r\n return {\r\n organisationId: given.ownerId \r\n }\r\n })\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.discardBankAccountError.onNext(error.data.result);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .subscribe((response: {organisationId: number}) => {\r\n this.httpResults.discardBankAccountSuccess.onNext(\r\n response.organisationId\r\n );\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"OrganisationBankAccountEvents\", OrganisationBankAccountEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n class OrganisationDetailsEvents implements IOrganisationDetailsEvents {\r\n\r\n userIntents: IOrganisationDetailsUserIntents = {\r\n updateDetails: new Rx.Subject()\r\n }\r\n\r\n httpResults: IOrganisationDetailsHttpResults = {\r\n updateDetailsError: new Rx.ReplaySubject(),\r\n updateDetailsSuccess: new Rx.ReplaySubject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"OrganisationTransformers\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private OrganisationTransformers: Transformers.OrganisationTransformers\r\n ) {\r\n this.putOrganisationDetailsOnUpdateDetails();\r\n }\r\n\r\n protected putOrganisationDetailsOnUpdateDetails(): void {\r\n this.userIntents.updateDetails\r\n .flatMap((organisation) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\r\n `/v1/organisations/${organisation.id}/profile`,\r\n this.OrganisationTransformers.IOrganisation_OrganisationBasicProfile(organisation)\r\n )\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.updateDetailsError.onNext(error.data.result);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse>) => {\r\n return response.data.result;\r\n })\r\n .subscribe((response: ViewModels.Directory.Organisation) => {\r\n this.httpResults.updateDetailsSuccess.onNext( \r\n this.OrganisationTransformers.Organisation_IOrganisation(response)\r\n );\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"OrganisationDetailsEvents\", OrganisationDetailsEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n class OrganisationOptionsDropdownEvents implements IOrganisationOptionsDropdownEvents {\r\n\r\n userIntents: IOrganisationOptionsDropdownIntents = {\r\n openDropdownForOrganisationWithId: new Rx.Subject()\r\n }\r\n \r\n httpResults: IOrganisationOptionsDropdownHttpResults = {\r\n getPermissionsComplete: new Rx.Subject>()\r\n }\r\n\r\n static $inject = [\"httpService\"];\r\n\r\n constructor(private httpService: IHttpService) {\r\n this.initGetPermissions();\r\n }\r\n \r\n private initGetPermissions () {\r\n this.userIntents.openDropdownForOrganisationWithId\r\n .flatMap((OrganisationId: number) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/organisations/${OrganisationId}`)\r\n )\r\n .catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .map((response: IResponse): Events.ModelWithPermissions => {\r\n return {\r\n model: {\r\n id: response.data.result.organisationId,\r\n status: response.data.result.organisationStatus\r\n },\r\n permissions: response.data.metadata[\"permissions\"]\r\n };\r\n })\r\n .subscribe(this.httpResults.getPermissionsComplete);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"OrganisationOptionsDropdownEvents\", OrganisationOptionsDropdownEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n class PaymentsSearchEvents extends BaseSearchEvents implements IPaymentsSearchEvents {\r\n\r\n userIntents: IPaymentsSearchUserIntents = {\r\n searchPayments: new Rx.Subject(),\r\n loadMorePayments: new Rx.Subject()\r\n }\r\n\r\n httpResults: IPaymentsSearchHttpResults = {\r\n searchPaymentsSuccess: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\"httpService\", \"PaymentsTransformers\", \"$state\", \"$log\"];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private PaymentsTransformers: Core.Transformers.PaymentsTransformers,\r\n protected $state: ng.ui.IStateService\r\n ) {\r\n super($state);\r\n this.initSearchPayments();\r\n }\r\n\r\n private initSearchPayments (): void { \r\n this.userIntents.searchPayments\r\n .merge(this.userIntents.loadMorePayments)\r\n .flatMap((query: IPageState) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get( \r\n PageStateQueryBuilder.buildEndpointFromState(`/v1/payments`, query)\r\n )\r\n )\r\n .catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .map((result: IResponse): IPaymentsSearchResult => {\r\n return {\r\n payments: this.PaymentsTransformers.PaymentArray_IPaymentSearchResultArray(result.data.result),\r\n totalResults: result.data.metadata['totalResults']\r\n };\r\n })\r\n .subscribe(this.httpResults.searchPaymentsSuccess)\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"PaymentsSearchEvents\", PaymentsSearchEvents);\r\n}"," /// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n class PdfViewerEvents implements IPdfViewerEvents {\r\n\r\n userIntents: IPdfViewerUserIntents = {\r\n setPdfUrl: new Rx.Subject(),\r\n setPdfData: new Rx.Subject(),\r\n getPdfData: new Rx.Subject()\r\n }\r\n\r\n httpResults: IPdfViewerHttpResults = {\r\n getPdfDataSuccess: new Rx.Subject(),\r\n getPdfDataError: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"$http\"\r\n ];\r\n\r\n constructor(\r\n private $http: ng.IHttpService\r\n ) {\r\n this.getPdfDataOnGetPdfData();\r\n }\r\n\r\n protected getPdfDataOnGetPdfData(): void {\r\n this.userIntents.getPdfData\r\n .flatMap((url) => {\r\n return Rx.Observable.fromPromise(\r\n this.$http.get(url, { responseType: 'arraybuffer' })\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.getPdfDataError.onNext(error.data.result);\r\n }\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IFileResponse) => {\r\n return response.data;\r\n })\r\n .subscribe((response) => {\r\n this.httpResults.getPdfDataSuccess.onNext(response);\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"PdfViewerEvents\", PdfViewerEvents);\r\n}\r\n","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n export interface IPeopleSearchUserIntents {\r\n typeInSearchInput: Rx.Subject;\r\n pressEnterOnSearchInput: Rx.Subject;\r\n pressSearchInputIcon: Rx.Subject;\r\n searchForMorePeople: Rx.Subject,\r\n carryOutHttpRequest: Rx.Subject;\r\n changeStatusFilter: Rx.Subject;\r\n suspendUser: Rx.Subject;\r\n unSuspendUser: Rx.Subject;\r\n resendInvite: Rx.Subject;\r\n }\r\n\r\n export interface IPeopleSearchHttpResults {\r\n carryOutHttpRequestSuccess: Rx.Subject;\r\n suspendUserCompleted: Rx.Subject,\r\n suspendUserFailed: Rx.Subject,\r\n unSuspendUserCompleted: Rx.Subject,\r\n unSuspendUserFailed: Rx.Subject,\r\n resendInviteCompleted: Rx.Subject,\r\n resendInviteFailed: Rx.Subject,\r\n }\r\n\r\n export class PeopleSearchEvents {\r\n\r\n userIntents: IPeopleSearchUserIntents = {\r\n typeInSearchInput: new Rx.Subject(),\r\n pressEnterOnSearchInput: new Rx.Subject(),\r\n pressSearchInputIcon: new Rx.Subject(),\r\n searchForMorePeople: new Rx.Subject(),\r\n carryOutHttpRequest: new Rx.Subject(),\r\n changeStatusFilter: new Rx.Subject(),\r\n suspendUser: new Rx.Subject(),\r\n unSuspendUser: new Rx.Subject(),\r\n resendInvite: new Rx.Subject()\r\n }\r\n\r\n httpResults: IPeopleSearchHttpResults = {\r\n carryOutHttpRequestSuccess: new Rx.Subject(),\r\n suspendUserCompleted: new Rx.Subject(),\r\n suspendUserFailed: new Rx.Subject(),\r\n unSuspendUserCompleted: new Rx.Subject(),\r\n unSuspendUserFailed: new Rx.Subject(),\r\n resendInviteCompleted: new Rx.Subject(),\r\n resendInviteFailed: new Rx.Subject(),\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"$state\", \r\n \"$stateParams\",\r\n \"PeopleTransformers\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private $state: ng.ui.IStateService,\r\n private $stateParams: ng.ui.IStateParamsService,\r\n private PeopleTransformers: Transformers.PeopleTransformers\r\n ) {\r\n this.initGetOnCarryOutHttpRequest();\r\n this.initSuspendUserHttpRequest();\r\n this.initUnSuspendUserHttpRequest();\r\n this.initResendUserRequest();\r\n }\r\n\r\n private initSuspendUserHttpRequest() {\r\n this.userIntents.suspendUser\r\n .flatMap((userId: number) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\r\n `/v1/user-accounts/${userId}/suspend`, {\r\n userId: userId\r\n }\r\n )\r\n .then((response: IResponse): IUserSearchActionIntent => {\r\n return {\r\n userId: userId\r\n }\r\n })\r\n ).catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .subscribe((result: IUserSearchActionIntent) => {\r\n this.httpResults.suspendUserCompleted.onNext(result.userId)\r\n });\r\n }\r\n\r\n private initUnSuspendUserHttpRequest() {\r\n this.userIntents.unSuspendUser\r\n .flatMap((userId: number) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\r\n `/v1/user-accounts/${userId}/unsuspend`, {\r\n userId: userId\r\n }\r\n )\r\n .then((response: IResponse): IUserSearchActionIntent => {\r\n return {\r\n userId: userId\r\n }\r\n })\r\n ).catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .subscribe((result: IUserSearchActionIntent) => {\r\n this.httpResults.unSuspendUserCompleted.onNext(result.userId)\r\n });\r\n }\r\n\r\n private initResendUserRequest() {\r\n this.userIntents.resendInvite\r\n .flatMap((userId: number) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.post(\r\n `/v1/user-accounts/${userId}/resend-invite`, {\r\n accountId: userId\r\n }\r\n )\r\n .then((response: IResponse): IUserSearchActionIntent => {\r\n return {\r\n userId: userId\r\n }\r\n })\r\n ).catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .subscribe((result: IUserSearchActionIntent) => {\r\n this.httpResults.resendInviteCompleted.onNext(result.userId)\r\n });\r\n }\r\n\r\n private initGetOnCarryOutHttpRequest() {\r\n this.userIntents.carryOutHttpRequest\r\n .map((query) => {\r\n this.$state.go(\"sonovate.peopleSearch\", Utils.Search.ISearchQuery_stateParams(query));\r\n return query;\r\n })\r\n .flatMap((query) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/people?${Sonovate.Core.Utils.Search.stringifySearchQuery(query)}`)\r\n ).catch((error): IEmptyObservable => Rx.Observable.empty())\r\n })\r\n .map((response: IResponse): IPeopleSearchResult => {\r\n return {\r\n results: this.PeopleTransformers.PersonSearchResultViewModelArray_IPersonSearchItemArray(response.data.result),\r\n totalResults: response.data.metadata['totalResults']\r\n }\r\n })\r\n .subscribe((response) => {\r\n this.httpResults.carryOutHttpRequestSuccess.onNext(response);\r\n }); \r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"PeopleSearchEvents\", PeopleSearchEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n export interface IPeopleStatusesUserIntents {\r\n getStatuses: Rx.Subject;\r\n }\r\n\r\n export interface IPeopleStatusesHttpResults {\r\n getStatusesCompleted: Rx.Subject;\r\n }\r\n\r\n export class PeopleStatusesEvents {\r\n\r\n userIntents: IPeopleStatusesUserIntents = {\r\n getStatuses: new Rx.Subject()\r\n }\r\n\r\n httpResults: IPeopleStatusesHttpResults = {\r\n getStatusesCompleted: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"AccountStatusTransformers\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private AccountStatusTransformers: Core.Transformers.AccountStatusTransformers\r\n ) {\r\n this.initGetStatusesSubscription();\r\n }\r\n\r\n private initGetStatusesSubscription() {\r\n this.userIntents.getStatuses\r\n .map(() => {\r\n return this.AccountStatusTransformers.UserAccountStatusArray_IPersonStatusArray(Sonovate.Config.ReferenceData.accountStatuses);\r\n })\r\n .subscribe(this.httpResults.getStatusesCompleted)\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"PeopleStatusesEvents\", PeopleStatusesEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n class PersonOptionsDropdownEvents implements IPersonOptionsDropdownEvents {\r\n\r\n userIntents: IPersonOptionsDropdownIntents = {\r\n openDropdownForPersonWithId: new Rx.Subject()\r\n }\r\n \r\n httpResults: IPersonOptionsDropdownHttpResults = {\r\n getPermissionsComplete: new Rx.Subject>()\r\n }\r\n\r\n static $inject = [\"httpService\", \"PeopleTransformers\"];\r\n\r\n constructor(private httpService: IHttpService, private PeopleTransformers: Transformers.PeopleTransformers) {\r\n this.initGetPermissions();\r\n }\r\n \r\n private initGetPermissions () {\r\n this.userIntents.openDropdownForPersonWithId\r\n .flatMap((personId: number) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/people/${personId}`)\r\n )\r\n .catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .map((response: IResponse): ModelWithPermissions => {\r\n return {\r\n model: this.PeopleTransformers.PersonViewModel_IPerson(response.data.result),\r\n permissions: response.data.metadata[\"permissions\"],\r\n };\r\n })\r\n .subscribe(this.httpResults.getPermissionsComplete);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"PersonOptionsDropdownEvents\", PersonOptionsDropdownEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n class SignedInUserEvents implements ISignedInUserEvents {\r\n\r\n userIntents: ISignedInUserUserIntents = {\r\n viewTradingStyles: new Rx.Subject()\r\n }\r\n\r\n httpResults: ISignedInUserHttpResults = {\r\n viewTradingStylesCompleted: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService\r\n ) {\r\n this.initViewTradingStyles();\r\n }\r\n\r\n protected initViewTradingStyles () {\r\n this.userIntents.viewTradingStyles\r\n .flatMap((id: number) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/organisations/${id}/trading-styles`)\r\n )\r\n })\r\n .map((response: IResponse) => {\r\n return response.data.result;\r\n })\r\n .subscribe(this.httpResults.viewTradingStylesCompleted);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"SignedInUserEvents\", SignedInUserEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n class SlideoutEvents implements ISlideoutEvents {\r\n\r\n userIntents: ISlideoutUserIntents = {\r\n registerSlideout: new Rx.Subject(),\r\n deregisterSlideout: new Rx.Subject(),\r\n toggleSlideout: new Rx.Subject(),\r\n showSlideout: new Rx.Subject(),\r\n closeSlideout: new Rx.Subject(),\r\n closeSlideoutIfNotOnRegisteredRoute: new Rx.Subject()\r\n }\r\n\r\n static $inject = [];\r\n\r\n constructor() {}\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"SlideoutEvents\", SlideoutEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n class TermsEvents implements ITermEvents {\r\n\r\n userIntents: ITemplateTermUserIntents = {\r\n viewAgreementTerms: new Rx.Subject(),\r\n viewOrgansationTerms: new Rx.Subject(),\r\n selectTermsForProposal: new Rx.Subject(),\r\n initateDeleteTerms: new Rx.Subject(),\r\n confirmDeleteTerms: new Rx.Subject(),\r\n startDuplicateTermsFlow: new Rx.Subject(),\r\n startEditTermsFlow: new Rx.Subject(),\r\n setTermsAsDefault: new Rx.Subject(),\r\n startCreateNewTermsFlow: new Rx.Subject(),\r\n saveNewTerms: new Rx.Subject(),\r\n saveExistingTerms: new Rx.Subject(),\r\n startUploadPdfTermsFlow: new Rx.Subject(), \r\n updateTermsEditForm: new Rx.Subject(),\r\n dissmissErrors: new Rx.Subject(),\r\n specifyReturnRoute: new Rx.Subject(),\r\n }\r\n\r\n httpResults: ITemplateTermHttpResults = {\r\n retrievedProposalTemplateTerms: new Rx.Subject(),\r\n retrievedOrganisationTemplateTerms: new Rx.Subject(),\r\n savedTermsSuccessful: new Rx.Subject(),\r\n savedTermsError: new Rx.Subject>(),\r\n updateTermsSuccessful: new Rx.Subject(),\r\n updateTermsError: new Rx.Subject>(),\r\n pdfUploadSuccessful: new Rx.Subject(),\r\n pdfUploadError: new Rx.Subject>(),\r\n setTermsAsDefaultSucessful: new Rx.Subject(),\r\n deleteTermsSuccessful: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\"httpService\", \"TermsTransformers\", \"Upload\", \"APP_URL\"];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private TermsTransformers: Transformers.TermsTransformers, \r\n protected Upload: ng.angularFileUpload.IUploadService,\r\n protected APP_URL: string\r\n ) {\r\n this.initGetProposalTerms();\r\n this.initGetOrganisationTerms();\r\n this.initSaveTerms();\r\n this.initSetTermsAsDefault();\r\n //this.initPdfUpload();\r\n this.initDeleteTerms();\r\n this.initUpdateTerms(); \r\n } \r\n\r\n private initGetProposalTerms (): void {\r\n this.userIntents.viewAgreementTerms\r\n .flatMap((given) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/agreements/${given.agreementId}/onboarding/${given.documentId}/terms`)\r\n )\r\n .catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .map((response: IResponse): ViewModels.ServiceAgreement.Terms[] => {\r\n return response.data.result;\r\n })\r\n .map((terms: ViewModels.ServiceAgreement.Terms[]): Models.ITermsTemplate[] => {\r\n return this.TermsTransformers.TermsArray_ITermsTemplateArray(terms);\r\n })\r\n .subscribe(this.httpResults.retrievedProposalTemplateTerms);\r\n }\r\n\r\n private initGetOrganisationTerms (): void {\r\n this.userIntents.viewOrgansationTerms\r\n .flatMap((organisationId) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/organisations/${organisationId}/terms`)\r\n )\r\n .catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .map((response: IResponse): ViewModels.ServiceAgreement.Terms[] => {\r\n return response.data.result;\r\n })\r\n .map((terms: ViewModels.ServiceAgreement.Terms[]): Models.ITermsTemplate[] => {\r\n \r\n return this.TermsTransformers.TermsArray_ITermsTemplateArray(terms);\r\n })\r\n .subscribe(this.httpResults.retrievedOrganisationTemplateTerms);\r\n }\r\n\r\n private initSaveTerms (): void {\r\n this.userIntents.saveNewTerms\r\n .map((intent: ITemplateTermUserIntent): ITemplateTermUserIntent => {\r\n return {\r\n organisationId: intent.organisationId,\r\n terms: this.TermsTransformers.Terms_ITermsTemplate(intent.terms)\r\n };\r\n })\r\n .flatMap((intent: ITemplateTermUserIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.post(`/v1/organisations/${intent.organisationId}/terms`, intent.terms)\r\n )\r\n .catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.savedTermsError.onNext(error.data.result['error']);\r\n }\r\n return Rx.Observable.empty();\r\n });\r\n })\r\n .map((response: IResponse) => {\r\n return response.data.result;\r\n })\r\n .map((terms: ViewModels.ServiceAgreement.Terms): Models.ITermsTemplate => {\r\n return this.TermsTransformers.Terms_ITermsTemplate(terms);\r\n })\r\n .subscribe(this.httpResults.savedTermsSuccessful);\r\n }\r\n \r\n private initUpdateTerms (): void {\r\n this.userIntents.saveExistingTerms\r\n .map((intent: ITemplateTermUserIntent): ITemplateTermUserIntent => {\r\n return {\r\n organisationId: intent.organisationId,\r\n terms: this.TermsTransformers.Terms_ITermsTemplate(intent.terms)\r\n };\r\n })\r\n .flatMap((intent: ITemplateTermUserIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/organisations/${intent.organisationId}/terms/${intent.terms.templateId}`, intent.terms)\r\n )\r\n .catch((error: IErrorResponse): IEmptyObservable => {\r\n if (error.status === 400) {\r\n this.httpResults.updateTermsError.onNext(error.data.result['error']);\r\n }\r\n return Rx.Observable.empty();\r\n });\r\n })\r\n .map((response: IResponse) => {\r\n return response.data.result;\r\n })\r\n .map((terms: ViewModels.ServiceAgreement.Terms): Models.ITermsTemplate => {\r\n return this.TermsTransformers.Terms_ITermsTemplate(terms);\r\n })\r\n .subscribe(this.httpResults.updateTermsSuccessful);\r\n }\r\n\r\n private initDeleteTerms (): void {\r\n this.userIntents.confirmDeleteTerms\r\n .map((intent: ITemplateTermUserIntent): ITemplateTermUserIntent => {\r\n return {\r\n organisationId: intent.organisationId,\r\n terms: this.TermsTransformers.Terms_ITermsTemplate(intent.terms)\r\n };\r\n })\r\n .flatMap((intent: ITemplateTermUserIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.delete(`/v1/organisations/${intent.organisationId}/terms/${intent.terms.templateId}`)\r\n )\r\n .catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .map((response: IResponse) => {\r\n return response.data.result;\r\n })\r\n .map((terms: ViewModels.ServiceAgreement.Terms): Models.ITermsTemplate => {\r\n return this.TermsTransformers.Terms_ITermsTemplate(terms);\r\n })\r\n .subscribe(this.httpResults.deleteTermsSuccessful); \r\n }\r\n\r\n private initSetTermsAsDefault (): void {\r\n this.userIntents.setTermsAsDefault\r\n .map((intent: ITemplateTermUserIntent): ITemplateTermUserIntent => {\r\n return {\r\n organisationId: intent.organisationId,\r\n terms: this.TermsTransformers.Terms_ITermsTemplate(intent.terms)\r\n };\r\n })\r\n .flatMap((intent: ITemplateTermUserIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/organisations/${intent.organisationId}/terms/${intent.terms.templateId}/default`, {})\r\n )\r\n .catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .map((response: IResponse) => {\r\n return response.data.result;\r\n })\r\n .map((terms: ViewModels.ServiceAgreement.Terms): Models.ITermsTemplate => {\r\n return this.TermsTransformers.Terms_ITermsTemplate(terms);\r\n })\r\n .subscribe(this.httpResults.setTermsAsDefaultSucessful); \r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TermsEvents\", TermsEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n class TimesheetAddExpensesEvents implements ITimesheetAddExpensesEvents {\r\n\r\n userIntents: ITimesheetAddExpensesUserIntents = {\r\n addExpense: new Rx.Subject(),\r\n setExpenseType: new Rx.Subject(),\r\n setQuantity: new Rx.Subject(),\r\n setNet: new Rx.Subject(),\r\n setVat: new Rx.Subject(),\r\n openDescription : new Rx.Subject(),\r\n dismissDescription : new Rx.Subject(),\r\n updateDescription: new Rx.Subject(),\r\n addEvidencePicture : new Rx.Subject(),\r\n addMultipleEvidencePictures: new Rx.Subject(),\r\n removeEvidencePicture: new Rx.Subject(),\r\n removeAndCloseDescription: new Rx.Subject(),\r\n dismissSaved: new Rx.Subject(),\r\n dismissError: new Rx.Subject()\r\n }\r\n\r\n httpResults: ITimesheetAddExpensesHttpResults = {\r\n addExpenseCompleted : new Rx.Subject(),\r\n addExpenseError: new Rx.Subject(),\r\n conflictError: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"TimesheetTransformers\",\r\n \"Upload\",\r\n \"APP_URL\",\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private TimesheetTransformers: Core.Transformers.TimesheetTransformers,\r\n private Upload: angular.angularFileUpload.IUploadService,\r\n private APP_URL: string\r\n ) {\r\n this.setupAddExpense();\r\n }\r\n\r\n private setupAddExpense () {\r\n this.userIntents.addExpense\r\n .filter((intent: IAddExpenseUserIntent) => {\r\n return intent.isValid;\r\n })\r\n .flatMap((intent: IAddExpenseUserIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.Upload.upload({\r\n url: `${this.APP_URL}/v1/timesheets/${intent.timesheetId}/log-ad-hoc-charge`,\r\n data: {\r\n file: intent.expense.evidenceImages,\r\n quantity: intent.expense.rateQuantity,\r\n netAmount: intent.expense.netAmount,\r\n taxAmount: intent.expense.vatAmount,\r\n adHocTypeId: intent.expense.selectedExpenseTypeId,\r\n description: intent.expense.descriptionText\r\n },\r\n method: \"POST\",\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n }\r\n })\r\n ).catch((error): IEmptyObservable => {\r\n if(error && error.status == '409') {\r\n this.httpResults.conflictError.onNext(error);\r\n return Rx.Observable.empty();\r\n }\r\n var errorText = 'There was a problem submitting expenses';\r\n if(error && error.status == '415') {\r\n if(error.data.result && error.data.result.errors && error.data.result.errors['model.file']) {\r\n errorText = error.data.result.errors['model.file'];\r\n }\r\n this.httpResults.addExpenseError.onNext(errorText);\r\n return Rx.Observable.empty();\r\n }\r\n if(error && error.status != '409') {\r\n if(error.data.result) {\r\n errorText = error.data.result.error\r\n }\r\n if(error.data.message) {\r\n errorText = error.data.message\r\n }\r\n this.httpResults.addExpenseError.onNext(errorText);\r\n return Rx.Observable.empty();\r\n }\r\n });\r\n })\r\n .map((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.TimesheetNew): Models.ITimesheetNew => {\r\n return this.TimesheetTransformers.TimesheetNew_ITimesheetNew(timesheet);\r\n })\r\n .subscribe(this.httpResults.addExpenseCompleted);\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetAddExpensesEvents\", TimesheetAddExpensesEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n class TimesheetAutofillEvents implements ITimesheetAutofillEvents {\r\n\r\n userIntents: ITimesheetAutofillUserIntents = {\r\n autofillTimesheet: new Rx.Subject(),\r\n dismissMessage: new Rx.Subject(),\r\n dismissConflictError: new Rx.Subject()\r\n }\r\n\r\n httpResults: ITimesheetAutofillHttpResults = {\r\n autofillTimesheetSuccess: new Rx.Subject(),\r\n autofillTimesheetError: new Rx.Subject(),\r\n conflictError: new Rx.Subject()\r\n } \r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"TimesheetTransformers\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private TimesheetTransformers: Core.Transformers.TimesheetTransformers\r\n ) {\r\n this.initAutofillTimesheet();\r\n }\r\n\r\n private initAutofillTimesheet () {\r\n this.userIntents\r\n .autofillTimesheet\r\n .flatMap((intent: ITimesheetAutofillIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\r\n `/v1/timesheets/${intent.timesheetId}/autofill/FromLastTimesheet`, \r\n {}, \r\n {\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n }\r\n }\r\n )\r\n .then((response) => {\r\n return {\r\n timesheet: response.data.result['timesheet'],\r\n message: {\r\n message: response.data.result['autofillMessage'],\r\n isSuccess: response.data.result['isSuccess']\r\n }\r\n }\r\n })\r\n )\r\n .catch((error: IErrorResponse): IEmptyObservable => { \r\n if (error.status === 400) {\r\n this.httpResults.autofillTimesheetError.onNext(null);\r\n }\r\n if(error.status === 409){\r\n this.httpResults.conflictError.onNext(null);\r\n }\r\n return Rx.Observable.empty();\r\n });\r\n })\r\n .map((result): ITimesheetAutofillResult => {\r\n return {\r\n timesheet: this.TimesheetTransformers.TimesheetNew_ITimesheetNew(result.timesheet),\r\n message: result.message\r\n }\r\n }) \r\n .subscribe(this.httpResults.autofillTimesheetSuccess);\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetAutofillEvents\", TimesheetAutofillEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events { \r\n\r\n export interface ITimesheetCandidateReopenEvents extends IEvents {}\r\n \r\n interface ITimesheetCandidateReopenIntent {\r\n reopenCandidateTimesheet: Rx.Subject\r\n } \r\n \r\n interface ITimesheetCandidateReopenHttpResults {\r\n reopenCandidateTimesheetSuccess: Rx.Subject,\r\n reopenCandidateTimesheetFailure: Rx.Subject\r\n }\r\n\r\n export class TimesheetCandidateReopenEvents implements ITimesheetCandidateReopenEvents {\r\n \r\n userIntents: ITimesheetCandidateReopenIntent = {\r\n reopenCandidateTimesheet: new Rx.Subject()\r\n }\r\n \r\n httpResults: ITimesheetCandidateReopenHttpResults = {\r\n reopenCandidateTimesheetSuccess: new Rx.Subject(),\r\n reopenCandidateTimesheetFailure: new Rx.Subject()\r\n }\r\n \r\n static $inject = [\r\n \"httpService\",\r\n \"TimesheetTransformers\"\r\n ];\r\n \r\n constructor(\r\n private httpService: IHttpService,\r\n protected TimesheetTransformers: Core.Transformers.TimesheetTransformers\r\n ) {\r\n this.initTimesheetCandidateReopen();\r\n }\r\n \r\n private initTimesheetCandidateReopen () {\r\n this.userIntents\r\n .reopenCandidateTimesheet\r\n .flatMap((intent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\r\n `/v1/timesheets/${intent.timesheetId}/candidate/reopen`,\r\n {},\r\n {\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n } \r\n }\r\n )\r\n ).catch((error): IEmptyObservable => {\r\n this.httpResults.reopenCandidateTimesheetFailure.onNext(error.data.result['error']);\r\n return Rx.Observable.empty();\r\n });\r\n })\r\n .map((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.TimesheetNew): Models.ITimesheetNew => {\r\n return this.TimesheetTransformers.TimesheetNew_ITimesheetNew(timesheet);\r\n })\r\n .subscribe(this.httpResults.reopenCandidateTimesheetSuccess);\r\n }\r\n \r\n }\r\n \r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetCandidateReopenEvents\", TimesheetCandidateReopenEvents);\r\n }","/// \r\n\r\nmodule Sonovate.Core.Events { \r\n\r\n class TimesheetCreateEvents implements ITimesheetCreateEvents {\r\n\r\n userIntents: ITimesheetCreateUserIntents = {\r\n createTimesheet: new Rx.Subject()\r\n }\r\n\r\n httpResults: ITimesheetCreateHttpResults = {\r\n createTimesheetSuccess: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"TimesheetTransformers\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n protected TimesheetTransformers: Core.Transformers.TimesheetTransformers\r\n ) {\r\n this.initCreateTimesheet();\r\n }\r\n \r\n private initCreateTimesheet () { \r\n this.userIntents\r\n .createTimesheet\r\n .flatMap((intent: ITimesheetCreateIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.post(`/v1/timesheets/create`, {\r\n deliveryPeriodId: intent.deliveryPeriodId,\r\n timesheetAssignmentId: intent.timesheetAssignmentId\r\n })\r\n )\r\n .catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .map((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.TimesheetNew): Models.ITimesheetNew => {\r\n return this.TimesheetTransformers.TimesheetNew_ITimesheetNew(timesheet);\r\n })\r\n .subscribe(this.httpResults.createTimesheetSuccess);\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetCreateEvents\", TimesheetCreateEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n class TimesheetEditExpenseEvents implements ITimesheetEditExpensesEvents {\r\n userIntents: ITimesheetEditExpensesUserIntents = {\r\n setExpense: new Rx.Subject(),\r\n openEditExpense: new Rx.Subject(),\r\n cancelEditExpense: new Rx.Subject(),\r\n addExpense: new Rx.Subject(),\r\n setExpenseType: new Rx.Subject(),\r\n setQuantity: new Rx.Subject(),\r\n setNet: new Rx.Subject(),\r\n setVat: new Rx.Subject(),\r\n openDescription : new Rx.Subject(),\r\n dismissDescription : new Rx.Subject(),\r\n updateDescription: new Rx.Subject(),\r\n addEvidencePicture : new Rx.Subject(),\r\n addMultipleEvidencePictures: new Rx.Subject(),\r\n removeAndCloseDescription: new Rx.Subject(),\r\n clickReadMore: new Rx.Subject(),\r\n deleteExpense: new Rx.Subject(),\r\n dismissError: new Rx.Subject()\r\n }\r\n\r\n httpResults: ITimesheetEditExpensesHttpResults = {\r\n editExpenseCompleted: new Rx.Subject(),\r\n editExpenseError: new Rx.Subject(),\r\n deleteExpenseSuccess: new Rx.Subject(),\r\n deleteExpenseError: new Rx.Subject(),\r\n conflictError: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"TimesheetTransformers\",\r\n \"Upload\",\r\n \"APP_URL\",\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private TimesheetTransformers: Core.Transformers.TimesheetTransformers,\r\n private Upload: angular.angularFileUpload.IUploadService,\r\n private APP_URL: string\r\n ) {\r\n this.setupAddExpense();\r\n this.initDeleteExpense();\r\n }\r\n\r\n private setupAddExpense () {\r\n this.userIntents.addExpense\r\n .filter((intent: IEditExpenseUserIntent) => {\r\n return intent.isValid;\r\n })\r\n .flatMap((intent: IEditExpenseUserIntent) => {\r\n\r\n var quantity = intent.expense.rateQuantity;\r\n var netAmount = intent.expense.netAmount;\r\n var taxAmount = intent.expense.vatAmount;\r\n var adHocTypeId = intent.expense.selectedExpenseTypeId;\r\n var description = intent.expense.descriptionText;\r\n var expenseEvidences = intent.expense.evidenceImages;\r\n var adHocChargeId = intent.expense.id;\r\n\r\n var data = {quantity, netAmount,taxAmount,adHocTypeId,description,expenseEvidences,adHocChargeId}\r\n\r\n return Rx.Observable.fromPromise(\r\n this.Upload.upload({\r\n url: `${this.APP_URL}/v1/timesheets/${intent.timesheetId}/log-ad-hoc-charge`,\r\n data: {\r\n file: intent.newPictures,\r\n model: JSON.stringify(data),\r\n },\r\n method: \"PUT\",\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n }\r\n })\r\n .then((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n ).catch((error): IEmptyObservable => {\r\n if(error && error.status == '409'){\r\n this.httpResults.conflictError.onNext(error);\r\n return Rx.Observable.empty();\r\n }\r\n var errorText = 'There was a problem submitting expenses';\r\n if(error && error.status == '415') {\r\n if(error.data.result && error.data.result.errors && error.data.result.errors['model.file']) {\r\n errorText = error.data.result.errors['model.file'];\r\n }\r\n this.httpResults.editExpenseError.onNext(errorText);\r\n return Rx.Observable.empty();\r\n }\r\n if(error && error.status !=='409'){\r\n this.httpResults.editExpenseError.onNext(null)\r\n return Rx.Observable.empty();\r\n }else{\r\n return Rx.Observable.empty();\r\n }\r\n });\r\n })\r\n \r\n .map((timesheet: Sonovate.ViewModels.Timesheets.TimesheetNew): Models.ITimesheetNew => {\r\n return this.TimesheetTransformers.TimesheetNew_ITimesheetNew(timesheet);\r\n })\r\n .subscribe(this.httpResults.editExpenseCompleted);\r\n }\r\n\r\n private initDeleteExpense () {\r\n this.userIntents.deleteExpense\r\n .flatMap((intent: IDeleteExpenseUserIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.delete(\r\n `/v1/timesheets/${intent.timesheetId}/log-ad-hoc-charge/${intent.expenseId}`,\r\n {\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n } \r\n }\r\n )\r\n .then((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n ).catch((error): IEmptyObservable => {\r\n if(error && error.status == '409'){\r\n this.httpResults.conflictError.onNext(error);\r\n return Rx.Observable.empty();\r\n }else if(error && error.status !=='409'){\r\n this.httpResults.deleteExpenseError.onNext(null)\r\n return Rx.Observable.empty();\r\n }else{\r\n return Rx.Observable.empty();\r\n }\r\n });\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.TimesheetNew): Models.ITimesheet => {\r\n return this.TimesheetTransformers.TimesheetNew_ITimesheetNew(timesheet);\r\n })\r\n .subscribe(this.httpResults.deleteExpenseSuccess);\r\n }\r\n\r\n }\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetEditExpenseEvents\", TimesheetEditExpenseEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events { \r\n\r\n class TimesheetMessageEvents implements ITimesheetMessageEvents {\r\n\r\n userIntents: ITimesheetMessageEventsUserIntents = {\r\n setMessage: new Rx.Subject(),\r\n }\r\n\r\n constructor(\r\n ) {\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetMessageEvents\", TimesheetMessageEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events { \r\n\r\n class TimesheetRejectEvents implements ITimesheetRejectEvents {\r\n\r\n userIntents: ITimesheetRejectUserIntents = {\r\n clearFields: new Rx.Subject(),\r\n typeRejectionReason: new Rx.Subject(),\r\n rejectTimesheet: new Rx.Subject()\r\n }\r\n\r\n httpResults: ITimesheetRejectHttpResults = {\r\n rejectTimesheetSuccess: new Rx.Subject(),\r\n rejectTimesheetError: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"TimesheetTransformers\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n protected TimesheetTransformers: Core.Transformers.TimesheetTransformers\r\n ) {\r\n this.initRejectTimesheet();\r\n }\r\n \r\n private initRejectTimesheet () {\r\n this.userIntents\r\n .rejectTimesheet\r\n .flatMap((intent: ITimesheetRejectIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\r\n `/v1/timesheets/${intent.timesheetId}/reject`, \r\n {\r\n message: intent.message\r\n },\r\n {\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n }\r\n }\r\n )\r\n )\r\n .catch((error: IErrorResponse): IEmptyObservable => {\r\n this.httpResults.rejectTimesheetError.onNext(error.data.result['error']);\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.TimesheetNew): Models.ITimesheetNew => {\r\n return this.TimesheetTransformers.TimesheetNew_ITimesheetNew(timesheet);\r\n })\r\n .subscribe(this.httpResults.rejectTimesheetSuccess);\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetRejectEvents\", TimesheetRejectEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events {\r\n\r\n class TimesheetSearchEvents extends BaseSearchEvents implements ITimesheetSearchEvents {\r\n\r\n userIntents: ITimesheetSearchUserIntents = {\r\n addTimeClick: new Rx.Subject(),\r\n changeStatusFilter: new Rx.Subject(),\r\n changeManagedFilter: new Rx.Subject(),\r\n changeTimesheetFlagFilter: new Rx.Subject(),\r\n changeAssendingFilter: new Rx.Subject(),\r\n changeAssignmentFilter: new Rx.Subject(),\r\n changeSearchTerm: new Rx.Subject(),\r\n carryOutSearch: new Rx.Subject(),\r\n seeMoreResults: new Rx.Subject()\r\n }\r\n\r\n httpResults: ITimesheetSearchHttpResults = {\r\n carryOutSearchCompleted: new Rx.Subject(),\r\n carryOutSearchError: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\", \r\n \"APP_URL\", \r\n \"TimesheetSearchResultTransformers\", \r\n \"$state\",\r\n \"TimesheetSignEvents\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private APP_URL: string,\r\n private TimesheetSearchResultTransformers: Core.Transformers.TimesheetSearchResultTransformers,\r\n protected $state: ng.ui.IStateService,\r\n protected TimesheetSignEvents: Sonovate.Core.Events.TimesheetSignEvents \r\n ) {\r\n super($state);\r\n this.initCarryOutSearch();\r\n }\r\n\r\n private initCarryOutSearch (): void { \r\n this.userIntents.carryOutSearch\r\n .merge(this.userIntents.changeAssendingFilter)\r\n .merge(this.userIntents.changeAssignmentFilter)\r\n .merge(this.userIntents.changeStatusFilter)\r\n .merge(this.userIntents.changeManagedFilter)\r\n .merge(this.userIntents.changeTimesheetFlagFilter)\r\n .merge(this.userIntents.changeSearchTerm)\r\n .merge(this.userIntents.seeMoreResults)\r\n .do((intent: ITimesheetSearchIntent) => {\r\n this.goToStateWithQuery(\"sonovate.Timesheets\", intent.query);\r\n })\r\n .flatMap((intent: ITimesheetSearchIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get( \r\n PageStateQueryBuilder.buildEndpointFromState(`/v1/Timesheets`, intent.query)\r\n )\r\n )\r\n .catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .map((response: IResponse): Models.ITimesheetSearchResultObject => {\r\n return {\r\n results: this.TimesheetSearchResultTransformers.ITimesheetSearchViewModelArray_ITimesheetSearchResultArray(response.data.result), \r\n context: response.data.metadata.context, \r\n totalResults: response.data.metadata.totalResults\r\n };\r\n })\r\n .subscribe(this.httpResults.carryOutSearchCompleted)\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetSearchEvents\", TimesheetSearchEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events { \r\n\r\n class TimesheetStatusesEvents implements ITimesheetStatusesEvents {\r\n\r\n userIntents: ITimesheetStatusesUserIntents = {\r\n getStatuses: new Rx.Subject()\r\n }\r\n\r\n httpResults: ITimesheetStatusesHttpResults = {\r\n getStatusesCompleted: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"ReferenceDataTransformers\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n private ReferenceDataTransformers: Core.Transformers.ReferenceDataTransformers\r\n ) {\r\n this.initGetStatuses();\r\n }\r\n\r\n private initGetStatuses () {\r\n this.userIntents.getStatuses\r\n .throttle(1000)\r\n .flatMap((userType) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/timesheets/timesheet-statuses/${userType}`)\r\n )\r\n .retry(3)\r\n .catch((): IEmptyObservable => Rx.Observable.empty())\r\n })\r\n .map((response: IResponse): ViewModels.Timesheets.ScopedTimesheetStatus[] => {\r\n return response.data.result;\r\n })\r\n .map((statuses: ViewModels.Timesheets.ScopedTimesheetStatus[]) => {\r\n return this.ReferenceDataTransformers.TimesheetStatusArray_ITimesheetStatusArray(statuses);\r\n })\r\n .subscribe(this.httpResults.getStatusesCompleted)\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetStatusesEvents\", TimesheetStatusesEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Events { \r\n\r\n class TimesheetSubmitEvents implements ITimesheetSubmitEvents {\r\n\r\n userIntents: ITimesheetSubmitUserIntents = {\r\n clearFields: new Rx.Subject(),\r\n typeDescription: new Rx.Subject(),\r\n changeTimesheetAuthoriser: new Rx.Subject(),\r\n submitTimesheet: new Rx.Subject()\r\n }\r\n\r\n httpResults: ITimesheetSubmitHttpResults = {\r\n submitTimesheetSuccess: new Rx.Subject(),\r\n submitTimesheetFail: new Rx.Subject()\r\n }\r\n\r\n static $inject = [\r\n \"httpService\",\r\n \"TimesheetTransformers\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n protected TimesheetTransformers: Core.Transformers.TimesheetTransformers\r\n ) {\r\n this.initSubmitTimesheet();\r\n }\r\n \r\n private initSubmitTimesheet () {\r\n this.userIntents\r\n .submitTimesheet\r\n .flatMap((intent: ITimesheetSubmitIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\r\n `/v1/timesheets/${intent.timesheetId}/submit`, \r\n {\r\n message: intent.message,\r\n authoriserId: intent.timesheetAuthoriserId\r\n },\r\n {\r\n headers: {\r\n \"X-Root-Version\": intent.version\r\n }\r\n }\r\n )\r\n )\r\n .catch((error: IErrorResponse): IEmptyObservable => {\r\n this.httpResults.submitTimesheetFail.onNext(error.data.result['error']);\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse): Sonovate.ViewModels.Timesheets.TimesheetNew => {\r\n return response.data.result;\r\n })\r\n .map((timesheet: Sonovate.ViewModels.Timesheets.TimesheetNew): Models.ITimesheetNew => {\r\n return this.TimesheetTransformers.TimesheetNew_ITimesheetNew(timesheet);\r\n })\r\n .subscribe(this.httpResults.submitTimesheetSuccess);\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetSubmitEvents\", TimesheetSubmitEvents);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Filters {\r\n\r\n class IsoDate_DayMonth {\r\n\r\n static $inject: string[] = [];\r\n\r\n static filter(): Function {\r\n return (isoDate: string) => {\r\n return moment(isoDate).format(\"DD MMM\");\r\n };\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").filter(\"IsoDate_DayMonth\", IsoDate_DayMonth.filter);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Filters {\r\n\r\n class ToFixed {\r\n\r\n static $inject: string[] = [\"$sce\"];\r\n\r\n static filter(): Function {\r\n return (decimalString: string) => {\r\n try {\r\n return math.round(math.number(decimalString), 2 );\r\n } catch (e) {\r\n return decimalString;\r\n }\r\n };\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").filter(\"ToFixed\", ToFixed.filter);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Filters {\r\n\r\n class TrustedHtml {\r\n\r\n static $inject: string[] = [\"$sce\"];\r\n\r\n static filter($sce: ng.ISCEService): Function {\r\n return (val: string) => { \r\n return $sce.trustAsHtml(val);\r\n };\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").filter(\"trustedHtml\", TrustedHtml.filter);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Filters {\r\n\r\n class UCFirst {\r\n\r\n static $inject: string[] = [\"$sce\"];\r\n\r\n static filter(): Function {\r\n return (text: string) => {\r\n return text.slice(0,1).toUpperCase() + text.slice(1);\r\n };\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").filter(\"UCFirst\", UCFirst.filter);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Services {\r\n\r\n class ApiKeyActions implements IApiKeyActions {\r\n \r\n static $inject = [\"$http\", \"apiKey\"];\r\n\r\n subjects: IApiKeySubjects;\r\n\r\n constructor(private $http: ng.IHttpService, private apiKey: IApiKey) {\r\n this.subjects = {\r\n getApiKeySuccess: new Rx.Subject()\r\n }\r\n }\r\n\r\n getApiKey(): Rx.IDisposable {\r\n return Rx.Observable.fromPromise(this.$http.get(\"/startup\"))\r\n .map((result: IResponse) => {\r\n return result.data.result;\r\n })\r\n .map((key: string) => {\r\n this.apiKey.setKey(key);\r\n return key;\r\n })\r\n .subscribe((key: string) => {\r\n this.subjects.getApiKeySuccess.onNext(key);\r\n });\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"apiKeyActions\", ApiKeyActions);\r\n\r\n}","/// \r\n\r\nmodule Sonovate.Core.Services {\r\n\r\n class ApiKey implements IApiKey {\r\n\r\n private key: string;\r\n\r\n getKey(): string {\r\n return this.key;\r\n }\r\n\r\n setKey(key: string): void {\r\n this.key = key;\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"apiKey\", ApiKey);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Services {\r\n\r\n\tclass AssignmentProgressService {\r\n\r\n\t\tstatic $inject = [\"$rootScope\"];\r\n\r\n\t\tsubject: Rx.Subject;\r\n\r\n\t\tconstructor(private $rootScope: ng.IRootScopeService) {\r\n\t\t}\r\n\r\n\t\tpublic canAssignmentBeFinishedEarly(assignmentProgress: Models.IAssignmentProgress): boolean {\r\n if (assignmentProgress \r\n && assignmentProgress.completed !== undefined\r\n && assignmentProgress.total !== undefined\r\n && assignmentProgress.completed > 0\r\n && assignmentProgress.completed < assignmentProgress.total) {\r\n\t\t\t return true;\r\n }\r\n return false;\r\n\t\t}\r\n\r\n public canAssignmentBeCancelled(assignmentProgress: Models.IAssignmentProgress): boolean {\r\n return (assignmentProgress \r\n && assignmentProgress.completed !== undefined\r\n && assignmentProgress.completed === 0);\r\n }\r\n\t}\r\n\tangular.module(\"sonovate.core\").service(\"AssignmentProgressService\", AssignmentProgressService);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Services {\r\n\r\n class AuthenticationActions implements IAuthenticationActions {\r\n\r\n subjects: IAuthenticationSubjects;\r\n\r\n constructor(\r\n private httpService: IHttpService, \r\n private $cookies: ng.cookies.ICookiesService, \r\n private $http: ng.IHttpService\r\n ) {\r\n this.subjects = {\r\n onBegin: new Rx.ReplaySubject(),\r\n signIn: new Rx.ReplaySubject(),\r\n signInFail: new Rx.Subject(),\r\n switchContext: new Rx.ReplaySubject<{}>(),\r\n verfiyEmailSuccess: new Rx.Subject<{}>(),\r\n switchContextFail: new Rx.Subject()\r\n };\r\n }\r\n\r\n switchContextToUser(): void {\r\n this.subjects.switchContext.onNext({\r\n \"token\": null,\r\n \"actingAs\": \"\",\r\n \"actingAsId\": null,\r\n \"actingAsToken\": \"\",\r\n \"actingAsPictureUrl\": \"\"\r\n });\r\n }\r\n\r\n switchContext(organisationId: number): void {\r\n Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/partners/${organisationId}/impersonate`)\r\n )\r\n .map((response: IResponse>): Sonovate.ViewModels.Directory.ContextSwitch => {\r\n return response.data.result;\r\n })\r\n .subscribe((context: Sonovate.ViewModels.Directory.ContextSwitch) => {\r\n this.subjects.switchContext.onNext(context);\r\n },\r\n (error) => {\r\n this.subjects.switchContextFail.onNext(error.data.result.messages);\r\n });\r\n }\r\n\r\n verifyEmail (token) {\r\n Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/verify-email/${token}`)\r\n ).subscribe(this.subjects.verfiyEmailSuccess);\r\n }\r\n\r\n private sendRequest(promise: ng.IPromise>): Rx.Observable {\r\n return Rx.Observable.fromPromise(promise)\r\n .map((response: IResponse) => response.data.result)\r\n .map(user => user);\r\n }\r\n\r\n private buildPostRequest(path: string, model: ViewModels.Directory.AuthenticationRequest): ng.IPromise> {\r\n return this.httpService.post(path, model);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"AuthenticationActions\", AuthenticationActions);\r\n}","/// \r\n\r\n\r\nmodule Sonovate.Core.Services {\r\n\r\n export class AuthenticationState implements IAuthenticationState {\r\n constructor(\r\n public errors: IDictionary = {}, \r\n public isSigningIn: boolean = false, \r\n public isSignedIn: boolean = false\r\n ) {}\r\n\r\n hasErrors(): boolean {\r\n return !_.isEmpty(this.errors);\r\n }\r\n\r\n reset(): void {\r\n this.errors = {};\r\n this.isSignedIn = false;\r\n this.isSigningIn = false;\r\n };\r\n\r\n getFirstError(): string {\r\n return this.errors[Object.keys(this.errors)[0]][0];\r\n };\r\n }\r\n\r\n}","/// \r\n/// \r\n\r\nmodule Sonovate.Core.Services {\r\n\r\n class AuthenticationStore implements IAuthenticationStore {\r\n\r\n subject: Rx.ReplaySubject;\r\n private state: IAuthenticationState;\r\n\r\n static $inject = [\"AuthenticationActions\"];\r\n\r\n constructor(private authenticationActions: IAuthenticationActions, private $rootScope: ng.IRootScopeService) {\r\n this.subject = new Rx.ReplaySubject();\r\n this.state = new AuthenticationState();\r\n\r\n this.authenticationActions.subjects.signIn.subscribe(() => {\r\n this.state.reset();\r\n this.state.isSignedIn = true;\r\n this.subject.onNext(this.state);\r\n });\r\n\r\n this.authenticationActions.subjects.onBegin.subscribe(() => {\r\n this.state.reset();\r\n this.state.isSigningIn = true;\r\n this.subject.onNext(this.state);\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"AuthenticationStore\", AuthenticationStore);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Services {\r\n\r\n class CountriesDataStore implements IReferenceDataStore {\r\n\r\n static $inject = [\"referenceDataActions\"];\r\n\r\n subject: Rx.BehaviorSubject;\r\n\r\n constructor(private referenceDataActions: IReferenceDataActions){\r\n this.subject = new Rx.BehaviorSubject([]);\r\n\r\n this.referenceDataActions.resultSubjects.getCountriesComplete.subscribe((countries : Sonovate.Models.ICountry[]) => {\r\n let sortByText = R.sortBy(R.compose(R.toLower, R.prop('text')));\r\n this.subject.onNext(sortByText(countries));\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"countriesDataStore\", CountriesDataStore);\r\n}","/// \r\nmodule Sonovate.Core {\r\n class ErrorUtilitiesService implements IErrorUtilitiesService {\r\n formatErrors(errorResponse: any, replaceString: any): IErrors {\r\n if (errorResponse.data.result.messages.hasOwnProperty(0)) {\r\n return {\r\n form: {},\r\n general: errorResponse.data.result.messages\r\n };\r\n }\r\n var messages: IDictionary = {};\r\n Object.keys(errorResponse.data.result.messages).map((key) => {\r\n messages[key.replace(replaceString + \".\" || \"model.\", '')] = errorResponse.data.result.messages[key];\r\n });\r\n return {\r\n form: messages,\r\n general: {}\r\n };\r\n }\r\n }\r\n angular.module(\"sonovate.core\")\r\n .service(\"ErrorUtilitiesService\", ErrorUtilitiesService);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Services {\r\n\r\n class HttpInterceptor implements ng.IHttpInterceptor {\r\n\r\n static $inject = [\r\n \"$injector\",\r\n \"$q\", \r\n \"apiKey\"\r\n ];\r\n\r\n constructor(\r\n private $injector: ng.auto.IInjectorService,\r\n private $q: ng.IQService,\r\n private apiKey: IApiKey\r\n ){}\r\n\r\n request = (config: ng.IRequestConfig): ng.IRequestConfig => {\r\n var state = this.$injector.get(\"$state\");\r\n var stateParams = this.$injector.get(\"$stateParams\");\r\n var DeepLinkEvents = this.$injector.get(\"DeepLinkEvents\");\r\n var signOutActions = this.$injector.get(\"signOutActions\");\r\n var location = this.$injector.get(\"$location\");\r\n var authCookie = Sonovate.Core.Utils.SessionHelpers.getUserToken();\r\n var signedInUser = Sonovate.Core.Utils.SessionHelpers.getSignedInUser();\r\n let params = angular.copy(stateParams);\r\n let stateToDeeplink = state.current.name.toString();\r\n \r\n config.headers = config.headers || {}; \r\n\r\n if (authCookie) {\r\n config.headers[\"Authorization\"] = `Bearer ${authCookie}`;\r\n }\r\n\r\n if (signedInUser && (!signedInUser.firstName || !signedInUser.lastName || !signedInUser.email)) {\r\n this.setDeeplinkRouteAndLogOut(stateToDeeplink, params, DeepLinkEvents, state, signOutActions, location);\r\n \r\n } else {\r\n config.headers[\"Api-Key\"] = this.apiKey.getKey();\r\n return config;\r\n }\r\n\r\n };\r\n \r\n responseError = (rejection: any): any => {\r\n var state = this.$injector.get(\"$state\");\r\n var stateParams = this.$injector.get(\"$stateParams\");\r\n var signOutActions = this.$injector.get(\"signOutActions\");\r\n var MessageBarEvents = this.$injector.get(\"MessageBarEvents\");\r\n var DeepLinkEvents = this.$injector.get(\"DeepLinkEvents\");\r\n var DeepLinkStateUpdates = this.$injector.get(\"DeepLinkStateUpdates\");\r\n var location = this.$injector.get(\"$location\");\r\n let params = angular.copy(stateParams);\r\n \r\n if(rejection.status === 401) {\r\n if (state.current.name !== 'sonovate.signin' && state.current.name !== 'sonovate.signup') { \r\n this.setDeeplinkRouteAndLogOut(state.current.name, params, DeepLinkEvents, state, signOutActions, location);\r\n }\r\n }\r\n\r\n if (rejection.status === 404) {\r\n state.go(\"sonovate.404\");\r\n }\r\n\r\n if(rejection.status === 403){\r\n state.go(\"sonovate.403\");\r\n }\r\n\r\n return this.$q.reject(\r\n this.formatRejectionIfTimeoutResponse(rejection)\r\n );\r\n }\r\n\r\n private setDeeplinkRouteAndLogOut(\r\n stateToDeeplink: string, \r\n params: IDictionary, \r\n DeepLinkEvents: Core.Events.DeepLinkEvents, \r\n state: ng.ui.IStateService, \r\n signOutActions: ISignOutActions, \r\n location: ng.ILocationService\r\n ) {\r\n DeepLinkEvents.userIntents.userGetsA401.onNext({\r\n route: stateToDeeplink,\r\n params: params\r\n });\r\n\r\n Sonovate.Core.Utils.SessionHelpers.clearSession();\r\n \r\n if (params['signupToken']) {\r\n state.go('sonovate.signup');\r\n } else {\r\n window.location.href = location.protocol() + \"://\" + location.host() + state.get('sonovate.signin').url;\r\n }\r\n }\r\n\r\n private formatRejectionIfTimeoutResponse(rejection): any {\r\n if (R.isNil(rejection.data)) {\r\n return this.createTimeoutErrorResponse();\r\n }\r\n return rejection;\r\n }\r\n\r\n private createTimeoutErrorResponse(): any {\r\n return {\r\n data: {\r\n result: {\r\n // this is in place for now till we implement a decent \r\n // version of the localiser which will allow us to get to get single labels\r\n // and is oriented around the front serving the localisation rather than the back end\r\n error: Sonovate.Config.Localisation.Labels['general.CheckInternetConnection']\r\n }\r\n }\r\n };\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"httpInterceptorService\", HttpInterceptor);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Services {\r\n\r\n class HttpService implements IHttpService {\r\n\r\n static $inject = [\r\n \"$http\", \r\n \"APP_URL\", \r\n \"LOCALISATION_URL\", \r\n \"REFERENCE_DATA_URL\", \r\n \"$q\"\r\n ];\r\n\r\n constructor(\r\n private $http: ng.IHttpService, \r\n private APP_URL: string, \r\n private LOCALISATION_URL: string, \r\n private REFERENCE_DATA_URL: string, \r\n private $q: ng.IQService\r\n ) {\r\n }\r\n\r\n get(endpoint: string, headers: Object = null): ng.IPromise> {\r\n return this.getWithCatch(this.resolveEndpoint(this.APP_URL, endpoint), headers);\r\n }\r\n\r\n put(endpoint: string, data: any, config?: {}): ng.IPromise> {\r\n return this.$http.put(this.resolveEndpoint(this.APP_URL, endpoint), data, config);\r\n }\r\n\r\n post(endpoint: string, data: T, config: {}): any {\r\n return this.$http.post(this.resolveEndpoint(this.APP_URL, endpoint), data, config);\r\n }\r\n\r\n delete(endpoint: string, config?: {}): any {\r\n return this.$http.delete(this.resolveEndpoint(this.APP_URL, endpoint), config);\r\n }\r\n\r\n getLocalisation(endpoint: string): ng.IPromise> {\r\n return this.getWithCatch(this.resolveEndpoint(this.LOCALISATION_URL, endpoint));\r\n }\r\n\r\n getReferenceData(endpoint:string): ng.IPromise> {\r\n return this.getWithCatch(this.resolveEndpoint(this.REFERENCE_DATA_URL, endpoint));\r\n }\r\n\r\n private resolveEndpoint(baseUrl: string, endpoint: string): string {\r\n if (baseUrl !== '' && !baseUrl) {\r\n throw new Error(\"Cannot resolve endpoint. Base url is not defined\");\r\n }\r\n\r\n if (!endpoint) {\r\n throw new Error(\"Cannot resolve endpoint from falsy value\");\r\n }\r\n\r\n var base = baseUrl.replace(/\\/$/, \"\");\r\n var relative = endpoint.replace(/^\\//, \"\");\r\n return base + \"/\" + relative;\r\n }\r\n \r\n private getWithCatch(url, headers = null): ng.IPromise> {\r\n return this.$http\r\n .get(url, headers)\r\n .then(\r\n (response) => this.formatResponse(response),\r\n (response) => this.$q.reject(this.formatResponse(response))\r\n );\r\n }\r\n\r\n private formatResponse(response) {\r\n return R.merge(\r\n response, \r\n { \r\n hasResult: this.doesResponseHaveAResult(response)\r\n }\r\n );\r\n }\r\n\r\n private doesResponseHaveAResult(response): boolean {\r\n return response.hasOwnProperty('data') && !R.isNil(response.data) && response.data.hasOwnProperty('result');\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"httpService\", HttpService);\r\n\r\n}","/// \r\n\r\nmodule Sonovate.Core.Services {\r\n\r\n class KeyboardEventGeneratorService implements IKeyboardEventGeneratorService {\r\n\r\n static $inject = [\"$parse\"];\r\n\r\n constructor(private $parse: ng.IParseService){\r\n\r\n }\r\n\r\n bindEvent(given: IDirectiveElement): void {\r\n\r\n given.element.on(this.getEventName(given.eventName), (event: JQueryEventObject): void => {\r\n\r\n if (event.keyCode !== given.keyCode) {\r\n return;\r\n }\r\n\r\n if (given.stopPropagation !== undefined ) {\r\n event.stopPropagation();\r\n }\r\n\r\n given.$scope.$apply(() => {\r\n this.$parse(given.callbackAttribute)(given.$scope, { $event: event });\r\n });\r\n });\r\n\r\n }\r\n\r\n private getEventName(eventName: string): string{\r\n if (_.contains([\"keypress\", \"keyup\", \"keydown\"], eventName)){\r\n return eventName;\r\n }\r\n\r\n return \"keyup\";\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"keyboardEventGeneratorService\", KeyboardEventGeneratorService);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Services {\r\n\r\n class LanguagesDataStore implements ITimeZoneStore {\r\n\r\n static $inject = [\"referenceDataActions\"];\r\n\r\n subject: Rx.BehaviorSubject;\r\n\r\n constructor(private referenceDataActions: IReferenceDataActions){\r\n this.subject = new Rx.BehaviorSubject([]);\r\n this.referenceDataActions.subjects.onGetLanguagesSuccess\r\n .subscribe((languages: ViewModels.Core.LocalisedText[]) => {\r\n\r\n this.subject.onNext(languages);\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"languagesDataStore\", LanguagesDataStore);\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class ModalEventState implements IModalEventState {\r\n\r\n modalRoutes: string[];\r\n isShowing: boolean;\r\n routeShowing: string;\r\n returnRoute: string;\r\n\r\n constructor() {\r\n this.modalRoutes = [];\r\n this.isShowing = false;\r\n this.routeShowing = \"\";\r\n this.returnRoute = \"\";\r\n }\r\n }\r\n\r\n class ModalState implements IModalState {\r\n\r\n static $inject = [\"$rootScope\", \"$state\"];\r\n\r\n subject: Rx.BehaviorSubject;\r\n state: IModalEventState;\r\n actions: IModalStateActions = {\r\n registerRoute: this.registerRoute.bind(this)\r\n };\r\n\r\n constructor(\r\n protected $rootScope: ng.IRootScopeService,\r\n protected $state: ng.ui.IStateService\r\n ) {\r\n this.state = new ModalEventState();\r\n this.subject = new Rx.BehaviorSubject(this.state);\r\n this.$rootScope.$on(\"$stateChangeSuccess\", (event) => {\r\n this.setState();\r\n this.subject.onNext(this.state);\r\n });\r\n }\r\n\r\n registerRoute(routeName: string): void {\r\n this.state.modalRoutes = R.uniq(this.state.modalRoutes.concat(routeName));\r\n this.setState();\r\n }\r\n\r\n private setState(): void {\r\n this.state.routeShowing = this.getShowingRouteName();\r\n this.state.isShowing = this.currentRouteContainsRegisteredRoute();\r\n this.state.returnRoute = this.getReturnRoute();\r\n }\r\n\r\n private getReturnRoute(): string {\r\n if (this.currentRouteContainsRegisteredRoute()) {\r\n return this.getParentOfCurrentRoute();\r\n }\r\n return \"\";\r\n }\r\n\r\n private getParentOfCurrentRoute(): string {\r\n if (this.$state.current.parent !== undefined && typeof this.$state.current.parent === \"string\") {\r\n return this.$state.current.parent;\r\n }\r\n throw new Error(`\r\n [Modal]: Modal \"${this.$state.current.name}\" does not have a valid parent name to route back to on close.\r\n You must set the \"parent\" property on the modal route, in your routes file and it must be a string.\r\n `);\r\n }\r\n\r\n private getShowingRouteName(): string {\r\n if (this.currentRouteContainsRegisteredRoute()) {\r\n return this.$state.params[\"modal\"];\r\n }\r\n return \"\";\r\n }\r\n\r\n private currentRouteContainsRegisteredRoute(): boolean {\r\n return R.contains(this.$state.params[\"modal\"], this.state.modalRoutes);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"ModalState\", ModalState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Services {\r\n\r\n class OrganisationsActions implements Sonovate.Organisations.IOrganisationActions {\r\n\r\n\t requestSubjects: Sonovate.Organisations.IOrganisationsActionsRequestSubjects = {\r\n getOrganisations: new Rx.Subject(),\r\n\t getOrganisationPhoneNumbers: new Rx.Subject(),\r\n addPhoneNumberToOrganisation: new Rx.Subject(),\r\n\t\t\tgetContacts: new Rx.Subject<{ state: IPageState, id: string }>(),\r\n publishOrganisationPhoneNumber: new Rx.Subject(),\r\n discardOrganisationPhoneNumber: new Rx.Subject(),\r\n getTradingStylesForOrganisation: new Rx.Subject(),\r\n openAddTradingStyleToOrganisationModal: new Rx.Subject<{}>(),\r\n openEditTradingStyleOnOrganisationModal: new Rx.Subject<{}>(),\r\n addTradingStyleToOrganisation: new Rx.Subject(),\r\n saveTradingStyleOnOrganisation: new Rx.Subject(),\r\n deleteTradingStyleFromOrganisation: new Rx.Subject(),\r\n publishTradingStyleOnOrganisation: new Rx.Subject(),\r\n discardTradingStyleOnOrganisation: new Rx.Subject(),\r\n getRiskFlags: new Rx.Subject(),\r\n updateRiskFlags: new Rx.Subject(),\r\n clearOrganisationStore: new Rx.Subject(),\r\n getCreditLimit: new Rx.Subject(),\r\n saveCreditLimit: new Rx.Subject(),\r\n getDebtPosition: new Rx.Subject(),\r\n saveDebtPosition: new Rx.Subject()\r\n };\r\n\r\n resultSubjects: any = {\r\n getOrganisationsCompleted: new Rx.Subject(),\r\n getOrganisationPhoneNumberFail: new Rx.Subject(),\r\n getOrganisationPhoneNumbersCompleted: new Rx.Subject(),\r\n addPhoneNumberToOrganisationCompleted: new Rx.Subject(),\r\n addPhoneNumberToOrganisationFailed: new Rx.Subject(),\r\n changeOrganisationPhoneNumberFailed: new Rx.Subject(),\r\n getContactsCompleted: new Rx.ReplaySubject(),\r\n publishOrganisationPhoneNumberCompleted: new Rx.Subject<{}>(),\r\n discardOrganisationPhoneNumberCompleted: new Rx.Subject<{}>(),\r\n getTradingStylesForOrganisationSuccess: new Rx.Subject(),\r\n addTradingStyleToOrganisationSuccess: new Rx.Subject (),\r\n addTradingStyleToOrganisationError: new Rx.Subject (),\r\n saveTradingStyleOnOrganisationSuccess: new Rx.Subject (),\r\n saveTradingStyleOnOrganisationError: new Rx.Subject (),\r\n deleteTradingStyleFromOrganisationSuccess: new Rx.Subject(),\r\n publishTradingStyleOnOrganisationSuccess: new Rx.Subject(),\r\n discardTradingStyleOnOrganisationSuccess: new Rx.Subject(),\r\n getRiskFlagsCompleted: new Rx.Subject(),\r\n getRiskFlagsFailed: new Rx.Subject(),\r\n updateRiskFlagsCompleted: new Rx.Subject(),\r\n updateRiskFlagsFailed: new Rx.Subject(),\r\n getCreditLimitSuccess: new Rx.Subject(),\r\n getCreditLimitError: new Rx.Subject(),\r\n saveCreditLimitSuccess: new Rx.Subject(),\r\n saveCreditLimitError: new Rx.Subject(),\r\n getDebtPositionSuccess: new Rx.Subject(),\r\n getDebtPositionError: new Rx.Subject(),\r\n saveDebtPositionSuccess: new Rx.Subject(),\r\n saveDebtPositionError: new Rx.Subject()\r\n };\r\n\r\n // To be removed eventually\r\n subjects: any = {\r\n getOrganisationOnSuccess: new Rx.Subject(),\r\n getOrganisationOnFail: new Rx.Subject(),\r\n\r\n getOrganisationNumbersOnSuccess: new Rx.Subject(),\r\n getOrganisationNumbersOnFail: new Rx.Subject (),\r\n\r\n \t\tgetOrganisationCurrencyOnSuccess: new Rx.Subject(),\r\n getOrganisationCurrencyOnFail: new Rx.Subject(),\r\n\r\n putOrganisationProfilePictureOnSuccess: new Rx.Subject(),\r\n\t\t putOrganisationProfilePictureOnFail: new Rx.Subject(),\r\n\r\n onAddNumberSuccess: new Rx.Subject(),\r\n onAddNumberFail: new Rx.Subject(),\r\n\r\n onDeleteNumberSuccess: new Rx.Subject(),\r\n onDeleteNumberFail: new Rx.Subject(),\r\n\r\n changePhoneNumberOnSuccess: new Rx.Subject(),\r\n changePhoneNumberOnFail: new Rx.Subject(),\r\n\r\n putOrganisationDetailsOnSuccess: new Rx.Subject(),\r\n\r\n putOrganisationDetailsOnFail: new Rx.Subject(),\r\n\r\n onGetBankAccountOnSuccess: new Rx.Subject(),\r\n onGetBankAccountOnFail: new Rx.Subject(),\r\n\r\n onPostBankAccountOnSuccess:new Rx.Subject(),\r\n\r\n onPutBankAccountOnSuccess: new Rx.Subject(),\r\n\r\n getBillingProfileCompleted: new Rx.Subject(),\r\n createBillingProfileCompleted: new Rx.Subject(),\r\n createBillingProfileFail: new Rx.Subject(),\r\n saveBillingProfileCompleted: new Rx.Subject(),\r\n saveBillingProfileFail: new Rx.Subject(),\r\n saveBillingProfileValidationFormError: new Rx.Subject(),\r\n publishBillingProfileCompleted: new Rx.Subject(),\r\n discardBillingProfileCompleted: new Rx.Subject(),\r\n deleteBillingProfileCompleted: new Rx.Subject(),\r\n dissmissBillingProfileSaveSuccessComplete: new Rx.Subject(),\r\n\r\n clearErrors: new Rx.Subject()\r\n };\r\n\r\n static $inject = [\r\n \"httpService\", \r\n \"$stateParams\", \r\n \"Upload\", \r\n \"APP_URL\", \r\n \"ErrorUtilitiesService\",\r\n \"PeopleTransformers\"\r\n ];\r\n\r\n constructor(\r\n \tprivate httpService: any,\r\n \tprivate $stateParams: angular.ui.IStateParamsService,\r\n \tprivate Upload: angular.angularFileUpload.IUploadService,\r\n private APP_URL: string,\r\n private ErrorUtilitiesService: IErrorUtilitiesService,\r\n private PeopleTransformers: Transformers.PeopleTransformers\r\n \t) {\r\n this.setupGetOrganisationNumbers();\r\n this.setupGetContacts();\r\n this.setupGetOrganisations();\r\n this.setupMarkPhoneAsPublished();\r\n this.setupMarkPhoneAsDiscarded();\r\n this.setupAddPhoneNumberToOrganisation();\r\n this.setupAddTradingStyleToOrganisation();\r\n this.setupGetTradingStylesForOrganisation();\r\n this.setupSaveTradingStyleToOrganisation();\r\n this.setupDeleteTradingStyleFromOrganisation();\r\n this.setupPublishTradingStyleOnOrganisation();\r\n this.setupDiscardTradingStyleOnOrganisation();\r\n this.setupGetRiskFlags();\r\n this.setupUpdateRiskFlags();\r\n this.setupGetCreditLimit();\r\n this.setupSaveCreditLimit();\r\n this.setupGetDebtPosition();\r\n this.setupSaveDebtPosition();\r\n }\r\n\r\n private setupUpdateRiskFlags () {\r\n this.requestSubjects.updateRiskFlags\r\n .flatMap((intent: Organisations.IUpdateRiskFlagsIntent) =>{\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/organisations/${intent.organisationId}/risk-flags`, { \r\n flags: intent.flags,\r\n noteText: intent.noteText\r\n })\r\n .then((response) => {\r\n response.data.result.organisationId = intent.organisationId;\r\n return response;\r\n })\r\n ).catch((error: IErrorResponse): IEmptyObservable => {\r\n this.resultSubjects.updateRiskFlagsFailed.onNext(error);\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: any) => {\r\n return response.data.result;\r\n })\r\n .subscribe(this.resultSubjects.updateRiskFlagsCompleted);\r\n }\r\n \r\n private setupGetCreditLimit() {\r\n this.requestSubjects.getCreditLimit\r\n .flatMap((organisationId: number) =>{\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/organisations/${organisationId}/credit-limit`)\r\n ).catch((error: any) => {\r\n this.resultSubjects.getCreditLimitFailed.onNext(error.data.result.messages[0]);\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: any) => {\r\n return response.data.result;\r\n })\r\n .subscribe(this.resultSubjects.getCreditLimitSuccess);\r\n }\r\n \r\n private setupGetDebtPosition() {\r\n this.requestSubjects.getDebtPosition\r\n .flatMap((organisationId: number) =>{\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/organisations/${organisationId}/debt-position`)\r\n ).catch((error: any) => {\r\n this.resultSubjects.getDebtPositionError.onNext(error.data.result.messages[0]);\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: any) => {\r\n return response.data.result;\r\n })\r\n .subscribe(this.resultSubjects.getDebtPositionSuccess);\r\n }\r\n \r\n private setupSaveCreditLimit() {\r\n this.requestSubjects.saveCreditLimit\r\n .flatMap((intent: Organisations.IUpdateCreditLimitIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/organisations/${intent.organisationId}/credit-limit`, { \r\n creditLimit: intent.creditLimit,\r\n referenceNumber: intent.referenceNumber\r\n })\r\n ).catch((error: any) => {\r\n this.resultSubjects.saveCreditLimitFailed.onNext(error.data.result.messages[0]);\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: any) => {\r\n return response.data.result;\r\n })\r\n .subscribe(this.resultSubjects.saveCreditLimitSuccess);\r\n }\r\n \r\n private setupSaveDebtPosition() {\r\n this.requestSubjects.saveDebtPosition\r\n .flatMap((intent: Organisations.IUpdateDebtPositionIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/organisations/${intent.organisationId}/debt-position`, { \r\n debtPosition: intent.debtPosition\r\n })\r\n ).catch((error: any) => {\r\n this.resultSubjects.saveDebtPositionFailed.onNext(error.data.result.messages[0]);\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: any) => {\r\n return response.data.result;\r\n })\r\n .subscribe(this.resultSubjects.saveDebtPositionSuccess);\r\n }\r\n \r\n private setupGetRiskFlags () {\r\n this.requestSubjects.getRiskFlags\r\n .flatMap((intent: Organisations.ITradingStyleOrganisationIntent) =>{\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/organisations/${intent.organisationId}/risk-flags`)\r\n ).catch((error: any) => {\r\n this.resultSubjects.getRiskFlagsFailed.onNext(error.data.result.messages[0]);\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: any) => {\r\n return response.data.result;\r\n })\r\n .subscribe(this.resultSubjects.getRiskFlagsCompleted);\r\n }\r\n \r\n private setupAddTradingStyleToOrganisation () {\r\n this.requestSubjects.addTradingStyleToOrganisation\r\n .flatMap((intent: Sonovate.Organisations.ITradingStyleOrganisationIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.Upload.upload({\r\n url: `${this.APP_URL}/v1/organisations/${intent.organisationId}/trading-styles`,\r\n data: {\r\n file: intent.tradingStyle.pictureFile,\r\n tradingStyleName: intent.tradingStyle.tradingStyleName,\r\n websiteUrl: intent.tradingStyle.websiteUrl\r\n },\r\n method: \"POST\"\r\n })\r\n ).catch((error: any) => {\r\n this.resultSubjects.addTradingStyleToOrganisationError.onNext(this.ErrorUtilitiesService.formatErrors(error, \"model\"));\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse) => {\r\n return response.data.result;\r\n })\r\n .map((tradingStyle: ViewModels.Directory.TradingStyle): Models.ITradingStyle => {\r\n return tradingStyle;\r\n })\r\n .subscribe(this.resultSubjects.addTradingStyleToOrganisationSuccess);\r\n }\r\n\r\n private setupPublishTradingStyleOnOrganisation () {\r\n this.requestSubjects.publishTradingStyleOnOrganisation\r\n .flatMap((intent: Organisations.ITradingStyleOrganisationIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.post(`/v1/organisations/${intent.organisationId}/trading-styles/${intent.tradingStyle.id}/publish`)\r\n ).catch((error: any) => Rx.Observable.empty())\r\n })\r\n .subscribe(this.resultSubjects.publishTradingStyleOnOrganisationSuccess);\r\n }\r\n\r\n private setupDiscardTradingStyleOnOrganisation () {\r\n this.requestSubjects.discardTradingStyleOnOrganisation\r\n .flatMap((intent: Organisations.ITradingStyleOrganisationIntent) =>{\r\n return Rx.Observable.fromPromise(\r\n this.httpService.post(`/v1/organisations/${intent.organisationId}/trading-styles/${intent.tradingStyle.id}/discard`)\r\n ).catch((error: any) => Rx.Observable.empty())\r\n })\r\n .subscribe(this.resultSubjects.discardTradingStyleOnOrganisationSuccess);\r\n }\r\n\r\n private setupGetTradingStylesForOrganisation () {\r\n this.requestSubjects.getTradingStylesForOrganisation\r\n .flatMap((organisationId: number) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/organisations/${organisationId}/trading-styles`)\r\n ).catch((error: any) => Rx.Observable.empty())\r\n })\r\n .map((response: IResponse) => {\r\n return response.data.result;\r\n })\r\n .map((tradingStyles: ViewModels.Directory.TradingStyle[]): Models.ITradingStyle[] => {\r\n return tradingStyles;\r\n })\r\n .subscribe(this.resultSubjects.getTradingStylesForOrganisationSuccess);\r\n }\r\n\r\n private setupSaveTradingStyleToOrganisation () {\r\n this.requestSubjects.saveTradingStyleOnOrganisation\r\n .flatMap((intent: Sonovate.Organisations.ITradingStyleOrganisationIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.Upload.upload({\r\n url: `${this.APP_URL}/v1/organisations/${intent.organisationId}/trading-styles/${intent.tradingStyle.id}`,\r\n data: {\r\n file: intent.tradingStyle.pictureFile,\r\n tradingStyleName: intent.tradingStyle.tradingStyleName,\r\n websiteUrl: intent.tradingStyle.websiteUrl\r\n },\r\n method: \"PUT\"\r\n })\r\n ).catch((error: any) => {\r\n this.resultSubjects.saveTradingStyleOnOrganisationError.onNext(this.ErrorUtilitiesService.formatErrors(error, \"model\"));\r\n return Rx.Observable.empty();\r\n });\r\n })\r\n .map((response: IResponse) => {\r\n return response.data.result;\r\n })\r\n .map((tradingStyle: ViewModels.Directory.TradingStyle): Models.ITradingStyle => {\r\n var resultTradingStyle: Models.ITradingStyle = tradingStyle;\r\n tradingStyle.status = tradingStyle.status;\r\n return resultTradingStyle;\r\n })\r\n .subscribe(this.resultSubjects.saveTradingStyleOnOrganisationSuccess);\r\n }\r\n\r\n private setupDeleteTradingStyleFromOrganisation () {\r\n this.requestSubjects.deleteTradingStyleFromOrganisation\r\n .flatMap((intent: Sonovate.Organisations.ITradingStyleOrganisationIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.delete(`/v1/organisations/${intent.organisationId}/trading-styles/${intent.tradingStyle.id}`)\r\n ).catch((error: any) => Rx.Observable.empty())\r\n })\r\n .map((response: IResponse) => {\r\n return response.data.result;\r\n })\r\n .map((tradingStyle: ViewModels.Directory.TradingStyle): Models.ITradingStyle => {\r\n var resultTradingStyle: Models.ITradingStyle = tradingStyle;\r\n tradingStyle.status = tradingStyle.status;\r\n return resultTradingStyle;\r\n })\r\n .subscribe(this.resultSubjects.deleteTradingStyleFromOrganisationSuccess);\r\n }\r\n\r\n private setupMarkPhoneAsPublished () {\r\n this.requestSubjects.publishOrganisationPhoneNumber\r\n .flatMap((request: Sonovate.Organisations.IOrganisationFacetRequest) => {\r\n return this.httpService.post(`/v1/organisations/${request.organisationId}/phone-numbers/${request.phoneNumberId}/publish`, {});\r\n })\r\n .subscribe(this.resultSubjects.publishOrganisationPhoneNumberCompleted);\r\n }\r\n\r\n private setupMarkPhoneAsDiscarded () {\r\n this.requestSubjects.discardOrganisationPhoneNumber\r\n .flatMap((request: Sonovate.Organisations.IOrganisationFacetRequest) => {\r\n return this.httpService.post(`/v1/organisations/${request.organisationId}/phone-numbers/${request.phoneNumberId}/discard`, {});\r\n })\r\n .subscribe(this.resultSubjects.discardOrganisationPhoneNumberCompleted);\r\n }\r\n\r\n private setupAddPhoneNumberToOrganisation () {\r\n this.requestSubjects.addPhoneNumberToOrganisation\r\n .flatMap((request: Sonovate.Organisations.IOrganisationPhoneNumberRequest) => {\r\n return Rx.Observable.fromPromise\r\n (\r\n this.httpService.post(\"/v1/organisations/\" + request.organisationId + \"/phone-numbers\", {\r\n countryCode: request.phoneNumber.countryId,\r\n phoneNumber: request.phoneNumber.number\r\n })\r\n ).catch((error: any) => {\r\n let formattedError = this.ErrorUtilitiesService.formatErrors(error, \"model\");\r\n this.resultSubjects.addPhoneNumberToOrganisationFailed.onNext(formattedError);\r\n return Rx.Observable.empty();\r\n })\r\n })\r\n .map((response: IResponse) => {\r\n return response.data.result;\r\n })\r\n .map((number: Sonovate.ViewModels.Directory.PhoneNumber) => {\r\n return {\r\n id: number.id.toString(),\r\n number: number.phoneNumber,\r\n status: number.status,\r\n canAction: number.canAction,\r\n countryCode: {\r\n country: number.countryCode,\r\n code: number.dialPrefix,\r\n flag: ''\r\n }\r\n };\r\n })\r\n .subscribe(this.resultSubjects.addPhoneNumberToOrganisationCompleted);\r\n }\r\n\r\n private setupGetOrganisations(): void {\r\n this.requestSubjects.getOrganisations\r\n .flatMap((state: IPageState) => {\r\n\t\t\t\treturn this.httpService.get(\r\n PageStateQueryBuilder.buildEndpointFromState(\r\n\t\t\t\t\t\t\"/v1/organisations\",\r\n\t\t\t\t\t\tstate\r\n )\r\n );\r\n }).map((response: IResponse) => {\r\n return {\r\n totalResults: response.data.metadata.totalResults,\r\n organisations: response.data.result\r\n };\r\n }).subscribe(results => {\r\n this.resultSubjects.getOrganisationsCompleted.onNext(results);\r\n });\r\n }\r\n\r\n private setupGetContacts(): void {\r\n this.requestSubjects.getContacts.flatMap((search: { state: IPageState, id: string }) => {\r\n\t\t\t\treturn this.httpService.get(\r\n PageStateQueryBuilder.buildEndpointFromState(\r\n \t\t\t\t`/v1/organisations/${search.id}/people`, \r\n\t\t\t search.state\r\n\t\t\t\t )\r\n )\r\n }).map((response: IResponse) => {\r\n return response.data.result;\r\n }).subscribe(\r\n (contacts) => {\r\n this.resultSubjects.getContactsCompleted.onNext(this.PeopleTransformers.OrganisationPersonSearchResultViewModelArray_IPersonArray(contacts));\r\n },\r\n (error) => {\r\n //this.subjects.getContactsFail.onNext(error.data.results.messages);\r\n }\r\n ); \r\n }\r\n\r\n\t getOrganisaton() {\r\n return Rx.Observable.fromPromise(\r\n \t\t\tthis.httpService.get(\"/v1/organisations/\" + this.$stateParams['id'])\r\n ).subscribe(\r\n (response: IResponse) => {\r\n this.subjects.getOrganisationOnSuccess.onNext(response.data.result);\r\n\t\t },\r\n (error) => {\r\n this.subjects.getOrganisationOnFail.onNext(error.data.result.message);\r\n }\r\n );\r\n }\r\n\r\n setupGetOrganisationNumbers() {\r\n this.requestSubjects.getOrganisationPhoneNumbers\r\n .flatMap((id: number) => {\r\n return this.httpService.get(\r\n `/v1/organisations/${id}/phone-numbers`\r\n );\r\n }).map((response: IResponse) => {\r\n return response.data.result;\r\n }).map((phoneNumbers: ViewModels.Directory.PhoneNumber[]) => {\r\n return phoneNumbers.map((number: ViewModels.Directory.PhoneNumber): Sonovate.Models.IPhoneNumber => {\r\n return {\r\n \"id\": number.id.toString(),\r\n \"number\": number.phoneNumber, \r\n \"status\": number.status,\r\n \"canAction\": number.canAction,\r\n \"countryId\": number.countryCode,\r\n \"dialPrefix\": number.dialPrefix\r\n };\r\n });\r\n }).subscribe(\r\n (numbers: Sonovate.Models.IPhoneNumber[]) => {\r\n this.resultSubjects.getOrganisationPhoneNumbersCompleted.onNext(numbers);\r\n },\r\n (error) => {\r\n this.resultSubjects.getOrganisationPhoneNumberFail.onNext(error.data.result.messages);\r\n });\r\n }\r\n\r\n putProfilePicture (url: any, file: any) {\r\n return Rx.Observable.fromPromise(\r\n this.Upload.upload({\r\n url: url + \"/v1/organisations/\" + this.$stateParams['id'] + \"/profile/logo\",\r\n data: \r\n {\r\n file: file\r\n },\r\n method: \"POST\"\r\n }\r\n )).subscribe(\r\n (response: IResponse) => {\r\n this.subjects.putOrganisationProfilePictureOnSuccess.onNext(response.data.result.pictureUrl);\r\n },\r\n (error) => {\r\n this.subjects.putOrganisationProfilePictureOnFail.onNext(error.data.result.message);\r\n }\r\n ); \r\n }\r\n\r\n deleteProfilePicture (url: any, file: any) {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.delete(\"/v1/organisations/\" + this.$stateParams['id'] + \"/profile/logo\")\r\n )\r\n .subscribe(\r\n (response: any) => {\r\n this.subjects.onDeleteNumberSuccess.onNext(response.data.result);\r\n },\r\n (error) => {\r\n this.subjects.onFonDeleteNumberFail.onNext(error.data.result.message);\r\n }\r\n ); \r\n }\r\n\r\n deletePhoneNumber (organisationId: string, phoneNumber: any) {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.delete(\"/v1/organisations/\" + organisationId + \"/phone-numbers/\" + phoneNumber.id)\r\n )\r\n .subscribe(\r\n (response: any) => {\r\n this.subjects.onDeleteNumberSuccess.onNext(response.data.result);\r\n },\r\n (error) => {\r\n this.subjects.onFonDeleteNumberFail.onNext(error.data.result.messages);\r\n }\r\n ); \r\n }\r\n\r\n changePhoneNumber (organisationId: string, phoneNumber: Sonovate.Models.IPhoneNumber) {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\"/v1/organisations/\" + organisationId + \"/phone-numbers/\" + phoneNumber.id, {\r\n phoneId: phoneNumber.id,\r\n countryCode: phoneNumber.countryId,\r\n phoneNumber: phoneNumber.number\r\n })\r\n )\r\n .subscribe(\r\n (response: any) => {\r\n this.subjects.changePhoneNumberOnSuccess.onNext(response.data.result);\r\n },\r\n (error: any) => {\r\n this.subjects.changePhoneNumberOnFail.onNext(error.data.result.messages);\r\n }\r\n ); \r\n }\r\n \r\n putOrganisationDetails (organisation: any) {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\"/v1/organisations/\" + this.$stateParams['id'] + \"/profile\", {\r\n webSite : organisation.website,\r\n vatRegistrationDate : organisation.vatRegistrationDate,\r\n vatNumber : organisation.vatNumber,\r\n pictureUrl : organisation.pictureUrl,\r\n currencyCode : organisation.currencyCode,\r\n })\r\n )\r\n .subscribe(\r\n (response: any) => {\r\n this.subjects.putOrganisationDetailsOnSuccess.onNext(response.data.result);\r\n },\r\n (error) => {\r\n this.subjects.putOrganisationDetailsOnFail.onNext(error.data.result.messages);\r\n }\r\n ); \r\n }\r\n\r\n getBankAccounts() {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(\"/v1/organisations/\" + this.$stateParams['id'] + \"/bank-accounts\")\r\n )\r\n .subscribe(\r\n (response: any) => {\r\n this.subjects.onGetBankAccountOnSuccess.onNext(response.data.result);\r\n },\r\n (error) => {\r\n this.subjects.onGetBankAccountOnFail.onNext(error.data.result.messages);\r\n }\r\n );\r\n }\r\n\r\n\t\t// Needs types adding\r\n putBankAccount(bankAccount: any, id: string) {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.put(\"/v1/organisations/\" + id + \"/bank-accounts/\" + bankAccount.bankAccountId, \r\n {\r\n \"bankAccountId\": bankAccount.bankAccountId,\r\n \"currencyCode\": bankAccount.currencyCode,\r\n \"accountName\": bankAccount.accountName,\r\n \"sortCode\": bankAccount.sortCode,\r\n \"accountNumber\": bankAccount.accountNumber,\r\n \"bankBranchName\": bankAccount.bankBranchName,\r\n \"iban\": bankAccount.iban,\r\n \"bic\": bankAccount.bic\r\n })\r\n )\r\n .subscribe(\r\n (response: any) => {\r\n this.subjects.onPutBankAccountOnSuccess.onNext(response.data.result);\r\n },\r\n (error) => {\r\n this.subjects.onGetBankAccountOnFail.onNext(error.data.result.messages);\r\n }\r\n );\r\n }\r\n\r\n public getBillingProfile(orgId: any): void {\r\n Rx.Observable.fromPromise(\r\n this.httpService.get(`/v1/organisations/${orgId}/billing-profile`)\r\n )\r\n .map((response: IResponse) => {\r\n return response.data.result;\r\n })\r\n .subscribe(profiles => {\r\n this.subjects.getBillingProfileCompleted.onNext(profiles);\r\n },\r\n (error) => {\r\n this.subjects.GetBillingProfileFail.onNext(error.data.results.messages);\r\n });\r\n };\r\n\r\n public saveBillingProfile(orgId: any, billingProfile: any): void {\r\n Rx.Observable.fromPromise(\r\n this.httpService.put(`/v1/organisations/${orgId}/billing-profile/${billingProfile.id}`, billingProfile)\r\n ).catch((error): Rx.Observable> => {\r\n if (error.data.result.messages.hasOwnProperty(\"0\")) {\r\n var errorResponse = error.data.result.messages;\r\n this.subjects.saveBillingProfileFail.onNext(errorResponse[Object.keys(errorResponse)[0]]);\r\n } else {\r\n let formattedError = this.ErrorUtilitiesService.formatErrors(error, \"updatedBillingProfile\");\r\n this.subjects.saveBillingProfileValidationFormError.onNext(formattedError);\r\n } \r\n return >>Rx.Observable.empty();\r\n })\r\n .map((response: any) => {\r\n return response.data.result;\r\n })\r\n .subscribe((profile: any) => {\r\n this.subjects.saveBillingProfileCompleted.onNext(profile);\r\n },\r\n (error) => {\r\n });\r\n };\r\n\r\n public createBillingProfile(orgId: any, billingProfile: any): void {\r\n Rx.Observable.fromPromise(\r\n this.httpService.post(`/v1/organisations/${orgId}/billing-profile`, billingProfile)\r\n )\r\n .map((response: any) => {\r\n return response.data.result;\r\n })\r\n .subscribe((profile: any) => {\r\n this.subjects.createBillingProfileCompleted.onNext(profile);\r\n },\r\n (error) => {\r\n if (error.data.result.messages.hasOwnProperty(\"0\")) {\r\n var errorResponse = error.data.result.messages;\r\n this.subjects.putOrganisationProfilePictureOnFail.onNext(errorResponse[Object.keys(errorResponse)[0]]);\r\n }else{\r\n this.subjects.createBillingProfileFail.onNext(error.data.result.messages);\r\n }\r\n }); \r\n };\r\n\r\n public deleteBillingProfile(orgId: any, billingProfile: any): void {\r\n Rx.Observable.fromPromise(\r\n this.httpService.delete(`/v1/organisations/${orgId}/billing-profile/${billingProfile.id}`)\r\n )\r\n .subscribe(x => {\r\n this.subjects.deleteBillingProfileCompleted.onNext(billingProfile);\r\n },\r\n (error) => {\r\n this.subjects.deleteBillingProfileFail.onNext(error.data.results.messages);\r\n }); \r\n };\r\n\r\n public publishBillingProfile(orgId: any, billingProfile: any): void {\r\n Rx.Observable.fromPromise(\r\n this.httpService.post(`/v1/organisations/${orgId}/billing-profile/${billingProfile.id}/publish`, {})\r\n )\r\n .subscribe(x => {\r\n this.subjects.publishBillingProfileCompleted.onNext(billingProfile);\r\n },\r\n (error) => {\r\n this.subjects.publishBillingProfileFail.onNext(error.data.results.messages);\r\n }); \r\n };\r\n\r\n public discardBillingProfile(orgId: any, billingProfile: any): void {\r\n Rx.Observable.fromPromise(\r\n this.httpService.post(`/v1/organisations/${orgId}/billing-profile/${billingProfile.id}/discard`, {})\r\n )\r\n .subscribe(x => {\r\n this.subjects.discardBillingProfileCompleted.onNext(billingProfile);\r\n },\r\n (error) => {\r\n this.subjects.discardBillingProfileFail.onNext(error.data.results.messages);\r\n }); \r\n };\r\n\r\n public dissmissBillingProfileSaveSuccessMessage () {\r\n this.subjects.dissmissBillingProfileSaveSuccessComplete.onNext();\r\n }\r\n\r\n\t\t// Needs types adding\r\n updateStore(organisation: any) {\r\n this.subjects.getOrganisationOnSuccess.onNext(organisation);\r\n }\r\n\r\n\t\t// Needs types adding\r\n public clearErrors(organisation: any) {\r\n this.subjects.clearErrors.onNext(\"\");\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"OrganisationsActions\", OrganisationsActions);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Services {\r\n\r\n class OrganisationTypeStore implements IReferenceDataStore {\r\n\r\n static $inject = [\"referenceDataActions\"];\r\n\r\n public state: any;\r\n\r\n subject: Rx.ReplaySubject;\r\n\r\n constructor(private referenceDataActions: IReferenceDataActions){\r\n this.subject = new Rx.ReplaySubject();\r\n\r\n this.state = {\r\n organisationTypes: [],\r\n errorMessage: \"\",\r\n showError: () => {\r\n return this.state.errorMessage ? true : false;\r\n }\r\n }\r\n\r\n this.referenceDataActions.resultSubjects.getOrganisationTypesComplete.subscribe((organisationTypes: Sonovate.Models.IOrganisationTypes) => {\r\n this.state.organisationTypes = organisationTypes;\r\n this.state.errorMessage = \"\";\r\n this.subject.onNext(this.state);\r\n });\r\n\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"organisationTypeStore\", OrganisationTypeStore);\r\n}\r\n\r\n","/// \r\n\r\n// This service is based on PDFObject v2.0\r\n/*\r\n PDFObject v2.0.201604172\r\n https://github.com/pipwerks/PDFObject\r\n Copyright (c) 2008-2016 Philip Hutchison\r\n MIT-style license: http://pipwerks.mit-license.org/\r\n UMD module pattern from https://github.com/umdjs/umd/blob/master/templates/returnExports.js\r\n*/\r\n\r\nmodule Sonovate.Core.Services {\r\n\r\n\tclass PdfViewerService implements IPdfViewerService {\r\n\r\n public supportsPDFs: boolean;\r\n private supportsPdfMimeType: boolean;\r\n\r\n\t\tconstructor() {\r\n this.supportsPdfMimeType = (typeof navigator.mimeTypes['application/pdf'] !== \"undefined\");\r\n this.supportsPDFs = (this.supportsPdfMimeType || (this.isIE() && this.supportsPdfActiveX()));\r\n\t\t}\r\n\r\n\r\n /* ----------------------------------------------------\r\n Supporting functions\r\n ---------------------------------------------------- */\r\n\r\n private createAXO(type: string) {\r\n var ax;\r\n try {\r\n ax = new ActiveXObject(type);\r\n } catch (e) {\r\n ax = null; //ensure ax remains null\r\n }\r\n return ax;\r\n }\r\n\r\n private isIE(): boolean { \r\n return !!(window['ActiveXObject'] || \"ActiveXObject\" in window);\r\n }\r\n\r\n private supportsPdfActiveX(): boolean { \r\n return !!(this.createAXO(\"AcroPDF.PDF\") || this.createAXO(\"PDF.PdfCtrl\"));\r\n }\r\n\t}\r\n\tangular.module(\"sonovate.core\").service(\"PdfViewerService\", PdfViewerService);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Services {\r\n \r\n class ReferenceDataActions implements IReferenceDataActions {\r\n\r\n subjects: IReferenceDataSubjects = {\r\n onGetCountriesSuccess: new Rx.ReplaySubject(),\r\n onGetStatusesSuccess: new Rx.ReplaySubject(),\r\n onGetLanguagesSuccess: new Rx.ReplaySubject()\r\n };\r\n\r\n requestSubjects: IReferenceDataRequestSubjects = {\r\n getRolesList: new Rx.Subject(),\r\n getProposalStatuses: new Rx.Subject(),\r\n getCountries: new Rx.Subject(),\r\n getStatuses: new Rx.Subject(),\r\n getOrganisationTypes: new Rx.Subject(),\r\n getTimeZones: new Rx.Subject(),\r\n getStartOfWeekDays: new Rx.Subject(),\r\n getRiskStatuses: new Rx.Subject(),\r\n getOrganisationFlags: new Rx.Subject(),\r\n getDocumentTypes: new Rx.Subject(),\r\n searchPeopleInOrganisation: new Rx.Subject(),\r\n clearPeopleSearchDropdown: new Rx.Subject(),\r\n getServiceAgreementDocumentTypes: new Rx.Subject(),\r\n getClientRateUnits: new Rx.Subject(),\r\n getCandidateRateUnits: new Rx.Subject(),\r\n getInvocieFrequencies: new Rx.Subject(),\r\n getRateUnits: new Rx.Subject(),\r\n getTimesheetStatuses: new Rx.Subject(),\r\n getExpenseTypes: new Rx.Subject()\r\n }; \r\n\r\n resultSubjects: IReferenceDataResultSubjects = {\r\n retrivedProposalStatuses: new Rx.Subject(),\r\n getCountriesComplete: new Rx.Subject(),\r\n getStatusesComplete: new Rx.Subject(),\r\n getOrganisationTypesComplete: new Rx.Subject(),\r\n getTimeZonesComplete: new Rx.Subject(),\r\n getStartOfWeekDaysComplete: new Rx.Subject(),\r\n getRiskStatusesComplete: new Rx.Subject>(),\r\n getOrganisationFlagsComplete: new Rx.Subject(),\r\n getDocumentTypesComplete: new Rx.Subject>(),\r\n searchPeopleInOrganisationComplete: new Rx.Subject(),\r\n getServiceAgreementDocumentTypesCompleted: new Rx.Subject>(),\r\n getClientInvoiceFrequenciesComplated: new Rx.Subject(),\r\n getCandidateInvoiceFrequenciesComplated: new Rx.Subject(),\r\n getRolesListSuccess: new Rx.Subject(),\r\n getRateUnitsCompleted: new Rx.Subject(),\r\n getTimesheetStatusesCompleted: new Rx.Subject(),\r\n getExpenseTypesCompleted: new Rx.Subject()\r\n };\r\n\r\n static $inject = [\r\n \"httpService\", \r\n \"$http\", \r\n \"ReferenceDataTransformers\", \r\n \"PeopleTransformers\"\r\n ];\r\n\r\n constructor(\r\n private httpService: IHttpService,\r\n protected $http: any,\r\n protected ReferenceDataTransformers: Core.Transformers.ReferenceDataTransformers,\r\n protected PeopleTransformers: Core.Transformers.PeopleTransformers\r\n ){\r\n this.setupGetCountries();\r\n this.setupGetStatuses();\r\n this.setupGetOrganisationTypes();\r\n this.setupGetTimeZones();\r\n this.setupGetStartOfWeekdays();\r\n this.setupGetOrganisationFlags();\r\n this.initGetDocumentTypes();\r\n this.initSearchPeopleInOrganisation();\r\n this.getProposalStatusesOnGetProposalStatus();\r\n this.initGetServiceAgreementDocumentTypes();\r\n this.setupGetRateUnits();\r\n this.setupGetCandidateInvoiceFrequencies();\r\n this.setupGetClientInvoiceFrequenciesComplated();\r\n this.getRolesListOnGetRolesList();\r\n this.getTimesheetExpenses();\r\n }\r\n\r\n private setupGetClientInvoiceFrequenciesComplated() {\r\n this.requestSubjects.getClientRateUnits\r\n .flatMap(() => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.getReferenceData(`/v1/agreements/client-invoice-frequencies`)\r\n )\r\n .retry(3)\r\n .catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .map((response: IResponse) => {\r\n return response.data.result;\r\n })\r\n .subscribe(this.resultSubjects.getClientInvoiceFrequenciesComplated);\r\n }\r\n\r\n private setupGetCandidateInvoiceFrequencies() {\r\n this.requestSubjects.getCandidateRateUnits\r\n .flatMap(() => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.getReferenceData(`/v1/agreements/candidate-payment-frequencies`)\r\n )\r\n .retry(3)\r\n .catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .map((response: IResponse) => {\r\n return response.data.result;\r\n })\r\n .subscribe(this.resultSubjects.getCandidateInvoiceFrequenciesComplated);\r\n }\r\n\r\n protected getRolesListOnGetRolesList() : void {\r\n this.requestSubjects.getRolesList\r\n .take(1)\r\n .flatMap(() => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(\"/v1/roles\")\r\n )\r\n .retry(3)\r\n .catch((): IEmptyObservable => Rx.Observable.empty())\r\n })\r\n .map((response: IResponse): ViewModels.Directory.Role[] => {\r\n return response.data.result;\r\n })\r\n .subscribe((response: ViewModels.Directory.Role[]) => {\r\n this.resultSubjects.getRolesListSuccess.onNext(\r\n this.ReferenceDataTransformers.RoleArray_IRoleArray(response)\r\n );\r\n });\r\n }\r\n\r\n private setupGetRateUnits () {\r\n this.requestSubjects.getRateUnits\r\n .flatMap(() => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.getReferenceData(`/v1/assignments/units-of-measure`)\r\n )\r\n .retry(3)\r\n .catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .map((response: IResponse) => {\r\n return response.data.result;\r\n })\r\n .subscribe(this.resultSubjects.getRateUnitsCompleted);\r\n }\r\n \r\n private initSearchPeopleInOrganisation () {\r\n this.requestSubjects.searchPeopleInOrganisation\r\n .flatMap((intent: ISearchPeopleInOrganisationIntent) => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.get(\r\n PageStateQueryBuilder.buildEndpointFromState(\r\n `/v1/organisations/${intent.organisationId}/people`,\r\n {\r\n q: intent.q,\r\n offset: 0,\r\n size: 10\r\n }\r\n )\r\n )\r\n )\r\n .catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .map((response: IResponse): Models.IPerson => {\r\n return response.data.result;\r\n })\r\n .map((people: ViewModels.Gateway.PersonSearch[]): Models.IPerson[] => {\r\n return this.PeopleTransformers.PersonSearchResultViewModelArray_IPersonArray(people);\r\n })\r\n .subscribe(this.resultSubjects.searchPeopleInOrganisationComplete);\r\n }\r\n\r\n protected getProposalStatusesOnGetProposalStatus() : void {\r\n this.requestSubjects.getProposalStatuses\r\n .take(1)\r\n .flatMap(() => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.getReferenceData(`/v1/agreements/statuses`)\r\n )\r\n .retry(3)\r\n .catch((): IEmptyObservable => Rx.Observable.empty())\r\n })\r\n .map((response: IResponse>): IProposalStatusReferenceData => {\r\n return response.data.result;\r\n })\r\n .subscribe((response: IProposalStatusReferenceData) => {\r\n this.resultSubjects.retrivedProposalStatuses.onNext(response);\r\n });\r\n }\r\n \r\n private initGetDocumentTypes () {\r\n this.requestSubjects.getDocumentTypes\r\n .take(1)\r\n .flatMap(() => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.getReferenceData>(`/v1/risk/document-types`)\r\n )\r\n .retry(3)\r\n .catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .map((response: IResponse>) => {\r\n return response.data.result;\r\n })\r\n .map((statuses: IDictionary): IDictionary => {\r\n return this.ReferenceDataTransformers.AssessmentDocumentTypeViewModelObject_IDocumentTypeObject(statuses);\r\n })\r\n .subscribe(this.resultSubjects.getDocumentTypesComplete)\r\n }\r\n \r\n private initGetServiceAgreementDocumentTypes () {\r\n this.requestSubjects.getServiceAgreementDocumentTypes\r\n .take(1)\r\n .flatMap(() => {\r\n return Rx.Observable.fromPromise(\r\n this.httpService.getReferenceData>(`/v1/agreements/document-types`)\r\n )\r\n .retry(3)\r\n .catch((): IEmptyObservable => Rx.Observable.empty());\r\n })\r\n .map((response: IResponse>) => {\r\n return response.data.result;\r\n })\r\n .map((statuses: IDictionary): IDictionary => {\r\n return this.ReferenceDataTransformers.AssessmentDocumentTypeViewModelObject_IDocumentTypeObject(statuses);\r\n })\r\n .subscribe(this.resultSubjects.getServiceAgreementDocumentTypesCompleted)\r\n }\r\n\r\n private setupGetStartOfWeekdays() :void {\r\n this.requestSubjects.getStartOfWeekDays\r\n .take(1)\r\n .flatMap((language: string) => {\r\n return this.httpService.getReferenceData(\r\n this.getReferenceEndpointUrl(language, \"startofweeks\")\r\n );\r\n })\r\n .retry(3)\r\n .map((response: IResponse) => {\r\n return response.data.result.map((startOfWeekDay: ViewModels.Core.LocalisedText) : Sonovate.Models.IStartOfWeekDay => { \r\n return { \r\n id: startOfWeekDay.id,\r\n text: startOfWeekDay.text\r\n };\r\n });\r\n })\r\n .subscribe(this.resultSubjects.getStartOfWeekDaysComplete); \r\n }\r\n\r\n private setupGetCountries () : void {\r\n this.requestSubjects.getCountries\r\n .map(() => {\r\n return Sonovate.Config.ReferenceData.Countries.map((country: ViewModels.Core.LocalisedText) : Sonovate.Models.ICountry => { \r\n return { \r\n id: country.id,\r\n text: country.text,\r\n dialPrefix: country.metadata['diallingCode']\r\n };\r\n });\r\n })\r\n .subscribe(this.resultSubjects.getCountriesComplete);\r\n }\r\n\r\n public getLanguages(language: string): Rx.IDisposable{\r\n return Rx.Observable\r\n .fromPromise(this.httpService.getReferenceData(this.getReferenceEndpointUrl(language, \"languages\")))\r\n .map((result: IResponse) => {\r\n return result.data.result;\r\n })\r\n .subscribe(languages => {\r\n this.subjects.onGetLanguagesSuccess.onNext(languages); \r\n });\r\n }\r\n\r\n private setupGetStatuses() : void {\r\n this.requestSubjects.getStatuses\r\n .take(1)\r\n .flatMap((language: string) => {\r\n return this.httpService.getReferenceData(\r\n this.getReferenceEndpointUrl(language, \"directories\")\r\n );\r\n })\r\n .retry(3)\r\n .map((response: IResponse) => {\r\n return response.data.result;\r\n })\r\n .subscribe(this.resultSubjects.getStatusesComplete);\r\n }\r\n\r\n private setupGetTimeZones() : void {\r\n this.requestSubjects.getTimeZones\r\n .map(() => {\r\n return Sonovate.Config.ReferenceData.TimeZones;\r\n })\r\n .subscribe(this.resultSubjects.getTimeZonesComplete);\r\n } \r\n\r\n private setupGetOrganisationTypes(): void {\r\n this.requestSubjects.getOrganisationTypes\r\n .take(1)\r\n .flatMap((language: string) => {\r\n return this.httpService.getReferenceData(\r\n this.getReferenceEndpointUrl(language, \"directories\")\r\n );\r\n })\r\n .retry(3)\r\n .map((response: any) => {\r\n return R.filter((referenceData: any) => {\r\n return referenceData.id.indexOf(\"OrganisationClassification\") > -1;\r\n }, response.data.result);\r\n })\r\n .subscribe(this.resultSubjects.getOrganisationTypesComplete);\r\n }\r\n \r\n private setupGetOrganisationFlags(): void {\r\n this.requestSubjects.getOrganisationFlags\r\n .take(1)\r\n .flatMap((language: string) => {\r\n return this.httpService.getReferenceData(\r\n \"/v1/risk/flags\"\r\n );\r\n })\r\n .retry(3)\r\n .map((response: any) => {\r\n return response.data.result;\r\n })\r\n .subscribe(this.resultSubjects.getOrganisationFlagsComplete);\r\n }\r\n\r\n private getReferenceEndpointUrl(language: string, entity: string): string {\r\n return `/v1/references/${language}/${entity}`;\r\n }\r\n\r\n private getTimesheetExpenses(): void {\r\n this.requestSubjects.getExpenseTypes\r\n .take(1)\r\n .flatMap((timesheetId: number) => {\r\n return this.httpService.getReferenceData(\r\n `/v1/timesheets/${timesheetId}/expense-types`\r\n );\r\n })\r\n .retry(3)\r\n .map((response: any) => {\r\n return response.data.result;\r\n })\r\n .subscribe(this.resultSubjects.getExpenseTypesCompleted);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"referenceDataActions\", ReferenceDataActions);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Services {\r\n\r\n class RoleListActions {\r\n \r\n }\r\n\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n \r\n class ScrollCalculatorService implements IScrollCalculatorService {\r\n scrollContexts: IDictionary> = {};\r\n \r\n registerScrollContext(context: string, element: HTMLElement) {\r\n this.scrollContexts[context] = Rx.Observable\r\n .fromEvent(element, \"scroll\")\r\n .merge(Rx.Observable.just(null))\r\n .filter((event: any): boolean => {\r\n return element.scrollTop + element.clientHeight > element.scrollHeight - 100;\r\n })\r\n .map((event) => {\r\n return event ? element.scrollHeight : 0;\r\n })\r\n .bufferWithCount(2, 1)\r\n .filter((heights): boolean => {\r\n return heights[0] !== heights[1];\r\n })\r\n .map(angular.noop);\r\n }\r\n \r\n getScrollObservableForLazyLoading(context: string) {\r\n if (! this.scrollContexts.hasOwnProperty(context)) {\r\n throw new Error(`Scroll context ${context} does not exist.`);\r\n }\r\n \r\n return this.scrollContexts[context];\r\n }\r\n \r\n getWindowScrollObservableForLazyLoading() {\r\n if (! this.scrollContexts.hasOwnProperty('window')) {\r\n this.scrollContexts[\"window\"] = Rx.Observable\r\n .fromEvent(window.document, 'scroll')\r\n .merge(Rx.Observable.just(null))\r\n .filter((event: any): boolean => {\r\n if(!event){\r\n return true;\r\n }\r\n let scrollOffsetPercentage = window.document.body.scrollHeight*0.20;\r\n return $(window).scrollTop() + $(window).height() > window.document.body.scrollHeight - scrollOffsetPercentage;\r\n })\r\n .map((event) => {\r\n return event ? window.document.body.scrollHeight : 0;\r\n })\r\n .bufferWithCount(2, 1)\r\n .filter((heights): boolean => {\r\n return heights[0] !== heights[1];\r\n })\r\n .map(angular.noop);\r\n }\r\n return this.scrollContexts[\"window\"];\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"ScrollCalculatorService\", ScrollCalculatorService);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Services {\r\n\r\n class SignOutActions implements ISignOutActions {\r\n\r\n subjects: ISignOutSubjects = {\r\n logoutSuccess: new Rx.Subject(),\r\n logoutFrontEndOnlySuccess: new Rx.Subject()\r\n };\r\n\r\n constructor(\r\n private $window: IAnalyticsCapableWindowService,\r\n private httpService: IHttpService, \r\n private $state: ng.ui.IStateService,\r\n private $location: ng.ILocationService\r\n ) {}\r\n\r\n private signOutAnalytics(): void {\r\n if (this.$window.analytics) {\r\n this.$window.analytics.track('Signed Out');\r\n }\r\n }\r\n\r\n logout(): Rx.IDisposable {\r\n var sessionId = Sonovate.Core.Utils.SessionHelpers.getUserToken();\r\n return Rx.Observable\r\n .fromPromise(this.httpService.post(\"/v1/auth/sign-out\", { userSessionId: sessionId }))\r\n .map(() => {\r\n this.signOutAnalytics();\r\n Sonovate.Core.Utils.SessionHelpers.clearSession();\r\n })\r\n .map(() => {\r\n window.location.href = this.$location.protocol() + \"://\" + this.$location.host() + this.$state.get('sonovate.signin').url;\r\n })\r\n .subscribe(() => {\r\n this.subjects.logoutSuccess.onNext(null);\r\n });\r\n }\r\n\r\n logoutFrontEndOnly(): void {\r\n this.signOutAnalytics();\r\n Sonovate.Core.Utils.SessionHelpers.clearSession();\r\n this.subjects.logoutFrontEndOnlySuccess.onNext(null);\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"signOutActions\", SignOutActions);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Services {\r\n\r\n export class TimesheetDeliveryPeriodSortOrderService {\r\n\r\n constructor() {\r\n }\r\n\r\n getSortOrderFilter(userType: string): string{\r\n if(userType == \"Candidate\"){\r\n return \"newest\"\r\n }\r\n else{\r\n return \"priority\"\r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetDeliveryPeriodSortOrderService\", TimesheetDeliveryPeriodSortOrderService);\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n export class TimesheetsStatusService {\r\n\r\n getStatusDisplayColorById(id: string): string { //TODO : Add pipe type for all these strings\r\n\t \tif (id === 'Open') {\r\n\t\t \treturn \"splash\";\r\n\t \t} else if (\r\n\t \t\tid === 'DueToBePaid' ||\r\n\t \t\tid === 'DueToBeInvoiced' ||\r\n\t\t\t\t\tid === 'Submitted' ||\r\n\t\t\t\t\tid === 'InvoicedToClient' ||\r\n\t\t\t\t\tid === 'InvoicedToCandidate' ||\r\n\t\t\t\t\tid === 'AwaitingSigning' ||\r\n\t\t\t\t\tid === 'RequiresSigning'\r\n\t \t) {\r\n\t \t\treturn \"daffodil\";\r\n\t \t} else if (\r\n\t \t\tid === 'Rejected' ||\r\n\t \t\tid === 'Declined'\r\n\t \t) {\r\n\t \t\treturn \"parrot\";\r\n\t \t} else if (\r\n\t\t\t\t\tid === 'Dismissed'\r\n\t\t\t\t) {\r\n\t \t\treturn \"slate\";\r\n\t\t\t\t} else if (\r\n\t \t\tid === 'Signed' ||\r\n\t \t\tid === 'Paid' ||\r\n\t \t\tid === 'Invoiced' ||\r\n\t \t\tid === 'FullyInvoiced' ||\r\n\t \t\tid === 'Approved'\r\n\t \t) {\r\n\t \t\treturn \"apple\";\r\n\t \t} else {\r\n\t \t\treturn \"\"\r\n\t \t}\r\n }\r\n\r\n getStatusDisplayIconById(id: string): string { //TODO : Add pipe type for all these strings\r\n \t\tif (id === 'Open') {\r\n\t\t \treturn \"sn-ico-blank-page\";\r\n\t \t} else if (\r\n\t \t\tid === 'AwaitingSigning' ||\r\n\t \t\tid === 'Signed' ||\r\n\t \t\tid === 'RequiresSigning' ||\r\n\t \t\tid === 'Submitted'\r\n\t \t) {\r\n\t \t\treturn \"sn-ico-clock-filled\";\r\n\t \t} else if (\r\n\t \t\tid === 'Rejected' ||\r\n\t \t\tid === 'Declined' ||\r\n\t \t\tid === 'Dismissed'\r\n\t \t) {\r\n\t \t\treturn \"sn-ico-no-entry-filled\";\r\n\t \t} else if (\r\n\t \t\tid === 'DueToBePaid' ||\r\n\t \t\tid === 'Paid' ||\r\n\t \t\tid === 'Approved'\r\n\t \t) {\r\n\t \t\treturn \"sn-ico-payments\";\r\n\t \t} else if (\r\n\t \t\tid === 'Invoiced' ||\r\n\t \t\tid === 'DueToBeInvoiced' ||\r\n\t \t\tid === 'InvoicedToClient' ||\r\n\t \t\tid === 'InvoicedToCandidate' ||\r\n\t \t\tid === 'FullyInvoiced'\t\t\r\n\t \t) {\r\n\t \t\treturn \"sn-ico-invoices\";\r\n\t \t}\r\n\t \t else {\r\n\t \t\treturn \"\";\r\n\t \t}\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetsStatusService\", TimesheetsStatusService);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Services {\r\n\r\n class TimeZonesStore implements ITimeZoneStore {\r\n\r\n static $inject = [\"referenceDataActions\"];\r\n\r\n subject: Rx.BehaviorSubject;\r\n\r\n constructor(private referenceDataActions: IReferenceDataActions) {\r\n this.subject = new Rx.BehaviorSubject([]);\r\n\r\n this.referenceDataActions.resultSubjects.getTimeZonesComplete\r\n .subscribe((timeZones: Sonovate.Models.ITimezone[]) => {\r\n this.subject.onNext(timeZones);\r\n });\r\n\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"TimeZonesStore\", TimeZonesStore);\r\n}","/// \r\n\r\nmodule Sonovate.Core.Services {\r\n\r\n\tclass WindowResizeService {\r\n\r\n\t\tstatic $inject = [\"$rootScope\"];\r\n\r\n\t\tsubject: Rx.Subject;\r\n\r\n\t\tconstructor(private $rootScope: ng.IRootScopeService) {\r\n\t\t}\r\n\r\n\t\tgetResizeObserveable() {\r\n\t\t\tlet subject = new Rx.Subject();\r\n\t\t var _window = $(window);\r\n\t\t\t\r\n\t\t\treturn Rx.Observable.fromEvent(_window, \"resize\").merge(subject);\r\n\t\t}\r\n\t}\r\n\tangular.module(\"sonovate.core\").service(\"WindowResizeService\", WindowResizeService);\r\n}","\r\n/// \r\n\r\nmodule Sonovate.Core.Transformers {\r\n\r\n export class LocalePreferencesTransformers {\r\n\r\n static $inject = [\r\n \"AssessmentTransformers\", \r\n \"OrganisationTransformers\", \r\n \"TaxProfileTransformers\", \r\n \"PhoneNumberTransformers\"\r\n ];\r\n\r\n constructor(\r\n private AssessmentTransformers: Core.Transformers.AssessmentTransformers,\r\n private OrganisationTransformers: OrganisationTransformers,\r\n private TaxProfileTransformers: TaxProfileTransformers,\r\n private PhoneNumberTransformers: PhoneNumberTransformers\r\n ) {}\r\n\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"LocalePreferencesTransformers\", LocalePreferencesTransformers);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n\r\n export class AddDirectorState implements Sonovate.Core.State.IDirectorFormState {\r\n\t\t\tpublic errors: IDictionary;\r\n\t\t\tpublic director: any;\r\n\t\t\t\r\n\t\t\tconstructor() {\r\n\t\t\t\tthis.director = {\r\n\t\t\t\t\tfirstName: \"\",\r\n\t\t\t\t\tlastName: \"\",\r\n\t\t\t\t\tdateOfBirth: null,\r\n\t\t\t\t\temailAddress: \"\",\r\n\t\t\t\t\taccountStatus: \"None\",\r\n\t\t\t\t\taddress: { }, \r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tclear() {\r\n\t\t\t}\r\n\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"AddDirectorState\", AddDirectorState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n let AddDirectorStateUpdates = (AddDirectorState: Sonovate.Core.State.IDirectorFormState, ProposalEvents: Sonovate.Core.Events.IProposalEvents) => {\r\n let subject = new Rx.BehaviorSubject(AddDirectorState);\r\n let state = subject.getValue();\r\n\r\n ProposalEvents.userIntents.userTypedInAddDirectorForm.subscribe((director: Models.IDirector) => {\r\n state.director = director;\r\n subject.onNext(state);\r\n }); \r\n\r\n ProposalEvents.userIntents.userClosedAddDirectorForm.subscribe((data: any) => {\r\n state.director.firstName = \"\";\r\n state.director.lastName = \"\";\r\n state.director.dateOfBirth = null;\r\n state.director.emailAddress = \"\";\r\n state.director.address = {\r\n address1: \"\",\r\n address2: \"\",\r\n address3: \"\",\r\n postcode: \"\",\r\n country: \"\"\r\n }; \r\n\r\n subject.onNext(state);\r\n });\r\n\r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").factory(\"AddDirectorStateUpdates\", AddDirectorStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"AddPersonStateUpdates\", \r\n (\r\n AddPersonState: Core.State.AddPersonState,\r\n AddPersonEvents: Core.Events.AddPersonEvents,\r\n $timeout: ng.ITimeoutService\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(AddPersonState);\r\n var userFeedbackMessageDuration = 3000;\r\n\r\n AddPersonEvents.userIntents.userOpenedAddUserModal\r\n .subscribe((firstName) => {\r\n AddPersonState.resetState();\r\n AddPersonState.openAddPersonModal();\r\n subject.onNext(AddPersonState);\r\n });\r\n\r\n AddPersonEvents.userIntents.userClosedAddUserModal\r\n .subscribe((firstName) => {\r\n AddPersonState.closeAddPersonModal();\r\n subject.onNext(AddPersonState);\r\n });\r\n\r\n AddPersonEvents.userIntents.userTypedInFirstNameInput\r\n .subscribe((firstName) => {\r\n AddPersonState.setFirstName(firstName);\r\n subject.onNext(AddPersonState);\r\n });\r\n\r\n AddPersonEvents.userIntents.userTypedInLastNameInput\r\n .subscribe((lastName) => {\r\n AddPersonState.setLastName(lastName);\r\n subject.onNext(AddPersonState);\r\n });\r\n\r\n AddPersonEvents.userIntents.userTypedInEmailAddressInput\r\n .subscribe((emailAddress) => {\r\n AddPersonState.setEmailAddress(emailAddress);\r\n subject.onNext(AddPersonState);\r\n });\r\n\r\n AddPersonEvents.userIntents.userSubmittedRequestToAddPerson\r\n .subscribe(() => {\r\n AddPersonState.setInvitationStatusAsSending();\r\n subject.onNext(AddPersonState);\r\n });\r\n\r\n\r\n AddPersonEvents.httpResults.addPersonHttpRequestSuccess.subscribe(() => {\r\n AddPersonState.clearErrorMessage();\r\n AddPersonState.closeAddPersonModal();\r\n AddPersonState.showAddPersonSuccessFeedback();\r\n subject.onNext(AddPersonState);\r\n \r\n $timeout(()=> {\r\n AddPersonState.hideAddPersonSuccessFeedback();\r\n subject.onNext(AddPersonState);\r\n }, userFeedbackMessageDuration)\r\n });\r\n\r\n AddPersonEvents.httpResults.addPersonHttpRequestFailure.subscribe((errorResponse: IErrorResult) => {\r\n AddPersonState.setInvitationStatusToDefault();\r\n AddPersonState.addErrorMessages(errorResponse.errors);\r\n subject.onNext(AddPersonState);\r\n }) \r\n \r\n return subject;\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class AssignmentSearchState extends BaseSearchState implements IAssignmentSearchState {\r\n\r\n constructor() {\r\n super();\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"AssignmentSearchState\", AssignmentSearchState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"AssignmentSearchStateUpdates\", \r\n (\r\n AssignmentSearchState: IAssignmentSearchState,\r\n AssignmentSearchEvents: Events.IAssignmentSearchEvents\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(AssignmentSearchState);\r\n\r\n AssignmentSearchEvents.userIntents\r\n .searchAssignments\r\n .merge(AssignmentSearchEvents.userIntents.changeStartDate)\r\n .merge(AssignmentSearchEvents.userIntents.changeEndDate)\r\n .merge(AssignmentSearchEvents.userIntents.changeStatus)\r\n .merge(AssignmentSearchEvents.userIntents.changeSearchTerm)\r\n .subscribe(() => {\r\n AssignmentSearchState.clear();\r\n subject.onNext(AssignmentSearchState)\r\n });\r\n \r\n AssignmentSearchEvents.httpResults.searchAssignmentsSuccess\r\n .subscribe((searchResult) => {\r\n AssignmentSearchState.setTotalResults(searchResult.totalResults);\r\n AssignmentSearchState.addToCollection(searchResult.collection);\r\n subject.onNext(AssignmentSearchState);\r\n })\r\n\r\n return subject;\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"ChangePasswordStateUpdates\", \r\n (\r\n ChangePasswordEvents: Events.ChangePasswordEvents,\r\n ChangePasswordState: ChangePasswordState,\r\n $state: ng.ui.IStateService\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(ChangePasswordState);\r\n\r\n ChangePasswordEvents.userIntents.toggleShowPassword\r\n .subscribe(() => {\r\n ChangePasswordState.toggleShowPassword();\r\n subject.onNext(ChangePasswordState);\r\n });\r\n \r\n ChangePasswordEvents.userIntents.userTypedInPassword\r\n .subscribe((password: string) => {\r\n ChangePasswordState.setPasswordAs(password);\r\n subject.onNext(ChangePasswordState);\r\n });\r\n\r\n ChangePasswordEvents.httpResults.passwordChangeRequestSuccess\r\n .subscribe(() => {\r\n ChangePasswordState.setDefaultState();\r\n $state.go('sonovate.signin')\r\n subject.onNext(ChangePasswordState);\r\n });\r\n\r\n ChangePasswordEvents.httpResults.passwordChangeRequestFailure\r\n .subscribe((errorMessage:string) => {\r\n ChangePasswordState.setErrorMessage(errorMessage);\r\n subject.onNext(ChangePasswordState);\r\n });\r\n\r\n return subject;\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"ChangeRiskAssessmentStatusStateUpdates\", \r\n (\r\n ChangeRiskAssessmentStatusState: Core.State.ChangeRiskAssessmentStatusState,\r\n ChangeRiskAssessmentStatusEvents: Core.Events.IChangeRiskAssessmentStatusEvents,\r\n RiskStatusStateUpdates: Rx.BehaviorSubject,\r\n referenceDataActions: IReferenceDataActions\r\n\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(ChangeRiskAssessmentStatusState);\r\n\r\n referenceDataActions.requestSubjects.getStatuses.onNext(null);\r\n\r\n ChangeRiskAssessmentStatusEvents.userIntents.selectAssessmentStatus\r\n .subscribe((status: Enums.AssessmentStatus) => {\r\n ChangeRiskAssessmentStatusState.setStatus(status);\r\n subject.onNext(ChangeRiskAssessmentStatusState);\r\n });\r\n\r\n ChangeRiskAssessmentStatusEvents.userIntents.typeNote\r\n .subscribe((text: string) => { \r\n ChangeRiskAssessmentStatusState.setNote(text);\r\n subject.onNext(ChangeRiskAssessmentStatusState);\r\n });\r\n\r\n return subject;\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export class DashboardState implements Sonovate.Core.State.IDashboardState {\r\n kpiContainers: Models.IKpiContainer[] = [];\r\n\r\n setKpiContainers (containers: Models.IKpiContainer[]) {\r\n this.kpiContainers = containers;\r\n }\r\n\r\n setKpiIntoContianer (kpiResult: Core.Events.IKpiResult) {\r\n this.kpiContainers = this.kpiContainers.map((container) => {\r\n if (kpiResult.id === container.id) {\r\n container.kpi = kpiResult.kpi;\r\n }\r\n return container;\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"DashboardState\", DashboardState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n let DashboardStateUpdates = (DashboardState: Sonovate.Core.State.IDashboardState, DashboardEvents: Core.Events.IDashboardEvents) => {\r\n let subject = new Rx.BehaviorSubject(DashboardState);\r\n\r\n DashboardEvents.httpResults.getKpiSummariesSuccess.subscribe((containers) => {\r\n DashboardState.setKpiContainers(containers);\r\n subject.onNext(DashboardState); \r\n });\r\n\r\n DashboardEvents.httpResults.getKpiSuccess.subscribe((result) => {\r\n DashboardState.setKpiIntoContianer(result);\r\n subject.onNext(DashboardState);\r\n });\r\n\r\n return subject;\r\n }\r\n angular.module(\"sonovate.core\").factory(\"DashboardStateUpdates\", DashboardStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n let DeepLinkStateUpdates = (\r\n DeepLinkState: Sonovate.Core.State.DeepLinkState,\r\n DeepLinkEvents: Sonovate.Core.Events.DeepLinkEvents,\r\n SigninEvents: Sonovate.Core.Events.SigninEvents,\r\n OAuthEvents: Sonovate.Core.Events.OAuthEvents,\r\n SignupEvents: Sonovate.Core.Events.SignupEvents,\r\n StateCacheService: Sonovate.Core.Utils.StateCacheService,\r\n ExternalSigninEvents: Sonovate.Core.Events.ExternalSigninEvents,\r\n StateChangeService: Sonovate.Core.Services.StateChangeService\r\n ) => {\r\n let subject = new Rx.BehaviorSubject(DeepLinkState);\r\n\r\n StateCacheService.syncStateWithLocalStorage('DeepLinkState', subject);\r\n\r\n StateChangeService.getStateChangeObservable()\r\n .filter(\r\n (state: Sonovate.Core.Services.IStateChange): boolean =>{\r\n return ! Sonovate.Core.Utils.SessionHelpers.hasValidSession() && \r\n !R.isEmpty(state.to) && \r\n Sonovate.Core.Utils.SessionHelpers.routeRequiresSession(state.to, state.params)\r\n }\r\n ).subscribe((state: Sonovate.Core.Services.IStateChange) => {\r\n DeepLinkState.setRouteAndParams(state.to, state.params);\r\n StateCacheService.initStateUpdateCachePutSubscribtion('DeepLinkState', subject, []);\r\n }); \r\n\r\n DeepLinkEvents.userIntents.userGetsA401\r\n .subscribe((intent) => {\r\n DeepLinkState.setRouteAndParams(intent.route, intent.params);\r\n StateCacheService.initStateUpdateCachePutSubscribtion('DeepLinkState', subject, []);\r\n subject.onNext(DeepLinkState);\r\n });\r\n\r\n ExternalSigninEvents.userIntents.signInFromExternalSourceWithToken\r\n .subscribe((intent: Sonovate.Core.Events.IExternalSigninIntent) => {\r\n DeepLinkState.setRouteAndParams(intent.route, intent.params);\r\n subject.onNext(DeepLinkState);\r\n });\r\n \r\n SigninEvents.httpResults.submitSigninSuccess\r\n .merge(OAuthEvents.httpResults.getUserAccountFromOauthCodeSuccess)\r\n .merge(SignupEvents.httpResults.userSubmittedDetailsForAccountActivationSuccess)\r\n .merge(SigninEvents.httpResults.signInFromExternalSourceWithTokenSuccess)\r\n .subscribe(() => {\r\n DeepLinkEvents.userIntents.redirectToRouteWithParams.onNext({\r\n route: DeepLinkState.route,\r\n params: DeepLinkState.params\r\n });\r\n DeepLinkState.reset();\r\n subject.onNext(DeepLinkState);\r\n });\r\n\r\n return subject;\r\n }\r\n angular.module(\"sonovate.core\").factory(\"DeepLinkStateUpdates\", DeepLinkStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"DropdownKeyboardNavStateUpdates\", \r\n (\r\n DropdownKeyboardNavState: DropdownKeyboardNavState, \r\n DropdownKeyboardNavEvents: Core.Events.DropdownKeyboardNavEvents\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(DropdownKeyboardNavState);\r\n\r\n DropdownKeyboardNavEvents.userIntents.reset\r\n .subscribe((intent) => {\r\n DropdownKeyboardNavState.setLength(intent.length);\r\n subject.onNext(DropdownKeyboardNavState);\r\n });\r\n\r\n DropdownKeyboardNavEvents.userIntents.arrowDown\r\n .subscribe(() => {\r\n DropdownKeyboardNavState.arrowDown();\r\n subject.onNext(DropdownKeyboardNavState);\r\n });\r\n\r\n DropdownKeyboardNavEvents.userIntents.arrowUp\r\n .subscribe(() => {\r\n DropdownKeyboardNavState.arrowUp();\r\n subject.onNext(DropdownKeyboardNavState);\r\n });\r\n\r\n return subject;\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n\r\n export class EditDirectorState implements Sonovate.Core.State.IDirectorFormState {\r\n\t\t\tpublic errors: IDictionary;\r\n\t\t\tpublic director: any;\r\n\t\t\t\r\n\t\t\tconstructor() {\r\n\t\t\t\tthis.director = {\r\n\t\t\t\t\tfirstName: \"\",\r\n\t\t\t\t\tlastName: \"\",\r\n\t\t\t\t\tdateOfBirth: null,\r\n\t\t\t\t\temailAddress: \"\",\r\n\t\t\t\t\taccountStatus: \"None\",\r\n\t\t\t\t\taddress: { },\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tclear() {\r\n\t\t\t}\r\n\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"EditDirectorState\", EditDirectorState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n let EditDirectorStateUpdates = (EditDirectorState: Sonovate.Core.State.IDirectorFormState, ProposalEvents: Sonovate.Core.Events.IProposalEvents) => {\r\n let subject = new Rx.BehaviorSubject(EditDirectorState);\r\n let state = subject.getValue();\r\n\r\n ProposalEvents.userIntents.userSelectedDirectorToEdit.subscribe((director: Models.IDirector) => {\r\n state.director = director;\r\n subject.onNext(state);\r\n });\r\n\r\n ProposalEvents.userIntents.userTypedInEditDirectorForm.subscribe((director: Models.IDirector) => {\r\n state.director = director;\r\n subject.onNext(state);\r\n });\r\n\r\n ProposalEvents.userIntents.userClosedEditDirectorForm.subscribe((data: any) => {\r\n state.director.firstName = \"\";\r\n state.director.lastName = \"\";\r\n state.director.dateOfBirth = null;\r\n state.director.emailAddress = \"\";\r\n state.director.address = {\r\n address1: \"\",\r\n address2: \"\",\r\n address3: \"\",\r\n postcode: \"\",\r\n country: \"\"\r\n }; \r\n\r\n subject.onNext(state);\r\n });\r\n\r\n return subject;\r\n }\r\n angular.module(\"sonovate.core\").factory(\"EditDirectorStateUpdates\", EditDirectorStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class InvoicesSearchState extends BaseSearchState implements IInvoicesSearchState {\r\n\t\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"InvoicesSearchState\", InvoicesSearchState);\r\n} ","/// \r\n\r\nmodule Sonovate.Core.State {\r\n let InvoicesSearchStateUpdates = (\r\n InvoicesSearchState: Sonovate.Core.State.IInvoicesSearchState,\r\n InvoicesSearchEvents: Sonovate.Core.Events.IInvoicesSearchEvents\r\n ) => {\r\n \r\n let subject = new Rx.BehaviorSubject(InvoicesSearchState);\r\n\r\n InvoicesSearchEvents.userIntents.searchInvoices\r\n .merge(InvoicesSearchEvents.userIntents.filterByDate)\r\n .subscribe(() => {\r\n InvoicesSearchState.clear();\r\n subject.onNext(InvoicesSearchState);\r\n });\r\n\r\n InvoicesSearchEvents.httpResults.searchInvoicesSuccess.subscribe((result) => {\r\n InvoicesSearchState.addToCollection(result.invoices);\r\n InvoicesSearchState.setTotalResults(result.totalResults);\r\n subject.onNext(InvoicesSearchState);\r\n });\r\n\r\n return subject;\r\n }\r\n angular.module(\"sonovate.core\").factory(\"InvoicesSearchStateUpdates\", InvoicesSearchStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class InvoiceState implements IInvoiceState {\r\n\r\n invoice: Models.IInvoice;\r\n showPdf: boolean;\r\n\r\n constructor() {\r\n this.showPdf = false;\r\n this.invoice = {};\r\n }\r\n\r\n setInvoice(invoice: Models.IInvoice) {\r\n this.invoice = invoice;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"InvoiceState\", InvoiceState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"InvoiceStateUpdates\", \r\n (\r\n InvoiceState: IInvoiceState,\r\n InvoiceEvents: Events.IInvoiceEvents,\r\n PdfViewerEvents: Events.IPdfViewerEvents\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(InvoiceState);\r\n\r\n InvoiceEvents.httpResults.invoiceRetrievedSuccessfuly\r\n .subscribe((invoice: Models.IInvoice) => {\r\n InvoiceState.setInvoice(invoice);\r\n subject.onNext(InvoiceState);\r\n });\r\n PdfViewerEvents.httpResults.getPdfDataSuccess\r\n .take(1)\r\n .subscribe(() => {\r\n InvoiceState.showPdf = true;\r\n subject.onNext(InvoiceState);\r\n })\r\n return subject;\r\n }\r\n );\r\n}","\r\n/// \r\n\r\nmodule Sonovate.Core.State {\r\n \r\n angular.module(\"sonovate.core\").factory(\r\n \"LoadingStateUpdates\", \r\n (\r\n LoadingState: Sonovate.Core.State.LoadingState,\r\n TimesheetEvents: Sonovate.Core.Events.ITimesheetEvents,\r\n TimesheetSearchEvents: Sonovate.Core.Events.ITimesheetSearchEvents,\r\n StateChangeService: Sonovate.Core.Services.StateChangeService\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(LoadingState);\r\n\r\n Rx.Observable\r\n .merge(>TimesheetEvents.httpResults.getTimesheetCompleted)\r\n .merge(>TimesheetSearchEvents.httpResults.carryOutSearchCompleted)\r\n .subscribe(() => {\r\n LoadingState.setLoadingScreenToOff();\r\n subject.onNext(LoadingState);\r\n }\r\n );\r\n\r\n Rx.Observable\r\n .merge(>TimesheetEvents.userIntents.getTimesheet)\r\n .merge(>TimesheetSearchEvents.userIntents.carryOutSearch)\r\n .merge(TimesheetSearchEvents.userIntents.changeAssendingFilter)\r\n .merge(TimesheetSearchEvents.userIntents.changeAssignmentFilter)\r\n .merge(TimesheetSearchEvents.userIntents.changeStatusFilter)\r\n .merge(TimesheetSearchEvents.userIntents.changeManagedFilter)\r\n .merge(TimesheetSearchEvents.userIntents.changeTimesheetFlagFilter)\r\n .merge(TimesheetSearchEvents.userIntents.changeSearchTerm)\r\n .subscribe(() => {\r\n LoadingState.setLoadingScreenToOn();\r\n subject.onNext(LoadingState);\r\n });\r\n\r\n return subject;\r\n }\r\n\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"MessageBarStateUpdates\", \r\n (\r\n localiser: ILocaliserService,\r\n MessageBarEvents: Events.MessageBarEvents,\r\n MessageBarState: State.MessageBarState\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(MessageBarState);\r\n \r\n MessageBarEvents.userIntents.showErrorMessage\r\n .subscribe((message:string) => {\r\n MessageBarState.setErrorMessage(message);\r\n subject.onNext(MessageBarState);\r\n });\r\n \r\n MessageBarEvents.userIntents.showSuccessMessage\r\n .subscribe((message:string) => {\r\n //MessageBarState.setSuccessMessage(localiser.getCachedLabel(message)); \r\n MessageBarState.setSuccessMessage(message); \r\n subject.onNext(MessageBarState);\r\n });\r\n \r\n MessageBarEvents.userIntents.dismissMessage\r\n .subscribe(() => {\r\n MessageBarState.dismissErrorMessage();\r\n subject.onNext(MessageBarState);\r\n });\r\n\r\n return subject;\r\n }\r\n );\r\n}","module Sonovate.Core.State {\r\n\r\n var NotificationsStateUpdates = (\r\n NotificationsEvents: Core.Events.INotificationsEvents,\r\n NotificationsState: Core.State.NotificationsState\r\n ) => {\r\n var subject = new Rx.BehaviorSubject(NotificationsState);\r\n\r\n NotificationsEvents.userIntents.getNotifications.subscribe(() => {\r\n NotificationsState.clear();\r\n subject.onNext(NotificationsState);\r\n });\r\n\r\n NotificationsEvents.userIntents.openNotificationList.subscribe(() => {\r\n NotificationsState.showNotificationsAnimations();\r\n NotificationsState.openNotificationsList();\r\n subject.onNext(NotificationsState);\r\n });\r\n\r\n NotificationsEvents.userIntents.closeNotificationsList.subscribe(() => {\r\n NotificationsState.closeNotificationsList();\r\n NotificationsEvents.userIntents.viewNotifications.onNext(NotificationsState.getUnreadNotificationIds());\r\n\r\n subject.onNext(NotificationsState);\r\n });\r\n\r\n NotificationsEvents.httpResults.getNotificationsSuccess\r\n .subscribe((result: Core.Events.INotificationResult) => {\r\n NotificationsState.addNotificationsToList(result.notifications);\r\n NotificationsState.setUnreadNotificationCount(result.unreadNotificationsCount);\r\n subject.onNext(NotificationsState);\r\n });\r\n\r\n NotificationsEvents.httpResults.viewNotificationsSuccess\r\n .subscribe((result: Core.Events.INotificationResult) => {\r\n NotificationsState.setUnreadNotificationCount(result.unreadNotificationsCount);\r\n NotificationsState.markAllAsRead();\r\n subject.onNext(NotificationsState);\r\n });\r\n\r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").factory(\"NotificationsStateUpdates\", NotificationsStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class OnboardingDocumentState implements IOnboardingDocumentState { \r\n\r\n onboardingDocuments: Models.IOnboardingDocument[];\r\n\r\n activeDocuments: Models.IOnboardingDocument[];\r\n inactiveDocuments: Models.IOnboardingDocument[];\r\n signingDocuments: Models.IOnboardingDocument[];\r\n\r\n selectedOnboardingDocument: Models.IOnboardingDocument;\r\n selectedPdfName: string;\r\n\r\n showPdfUpload: boolean = false;\r\n\r\n saving: boolean;\r\n saveContractError: string;\r\n duplicateTemplateError: string;\r\n\r\n noPdfError: boolean = false;\r\n noTemplateSelectedError: boolean = false;\r\n inactiveOnboardingRequestStatuses: string[] = [\r\n \"Cancelled\", \r\n \"Failed\", \r\n \"Rejected\", \r\n \"Superceded\"\r\n ];\r\n\r\n constructor() {\r\n }\r\n\r\n public setSavingState(): void {\r\n this.saving = true;\r\n }\r\n\r\n public setOnboardingDocuments(documents: Models.IOnboardingDocument[]): void {\r\n this.onboardingDocuments = documents;\r\n this.activeDocuments = this.getActiveDocuments(documents);\r\n this.inactiveDocuments = this.getInactiveDocuments(documents);\r\n this.signingDocuments = this.getSigningDocuments(documents);\r\n this.setFirstDocumentToSelected();\r\n if (this.selectedOnboardingDocument) {\r\n this.showPdfOrTemplateSection(this.selectedOnboardingDocument.type);\r\n }\r\n }\r\n\r\n public getSelectedOnboardingDocumentPermissions(): Models.IOnboardingDocumentPermissions {\r\n if (!R.isNil(this.selectedOnboardingDocument)) {\r\n return this.selectedOnboardingDocument.permissions;\r\n }\r\n return {};\r\n }\r\n \r\n public getActiveDocuments(documents: Models.IOnboardingDocument[]): Models.IOnboardingDocument[] {\r\n return documents.filter(document => {\r\n return (this.inactiveOnboardingRequestStatuses.indexOf(document.status) === -1);\r\n });\r\n }\r\n\r\n public getInactiveDocuments(documents: Models.IOnboardingDocument[]): Models.IOnboardingDocument[] {\r\n return documents.filter(document => {\r\n return (this.inactiveOnboardingRequestStatuses.indexOf(document.status) !== -1);\r\n });\r\n }\r\n\r\n public getSigningDocuments(documents: Models.IOnboardingDocument[]): Models.IOnboardingDocument[] {\r\n return documents.filter(document => !!document.signingUrl);\r\n }\r\n\r\n public setFirstDocumentToSelected(): void {\r\n this.selectedOnboardingDocument = this.activeDocuments[0];\r\n }\r\n\r\n public setTemplateIdToSelectedDocument(template: Models.ITermsTemplate): void {\r\n this.selectedOnboardingDocument.selectedTemplate = template;\r\n this.selectedOnboardingDocument.type = \"Template\";\r\n this.replaceOnboardingDocument(this.selectedOnboardingDocument);\r\n }\r\n\r\n private replaceOnboardingDocument(replacement: Models.IOnboardingDocument): void {\r\n this.onboardingDocuments.forEach((document: Models.IOnboardingDocument, documentIndex, documentArray) => {\r\n if (document.id === replacement.id) {\r\n documentArray[documentIndex] = replacement;\r\n }\r\n })\r\n }\r\n\r\n public removeTemplateTermsFromSelectedDocument(): void {\r\n this.selectedOnboardingDocument.selectedTemplate = null;\r\n this.selectedOnboardingDocument.type = \"Template\";\r\n this.replaceOnboardingDocument(this.selectedOnboardingDocument);\r\n }\r\n\r\n public setPdfToUpload(photo: File): void {\r\n this.selectedOnboardingDocument.uploadedFileName = photo.name;\r\n this.selectedOnboardingDocument.selectedPdfToUpload = photo;\r\n } \r\n\r\n public removePdf(): void {\r\n this.selectedOnboardingDocument.selectedPdfToUpload = null;\r\n this.selectedOnboardingDocument.uploadedFileName = null;\r\n this.replaceOnboardingDocument(this.selectedOnboardingDocument);\r\n }\r\n\r\n public setDocuemntToActive(id: number): void {\r\n this.setSelectedDocument(id);\r\n }\r\n\r\n private removeOnboardingDocumentSignatory(id: number): void {\r\n this.selectedOnboardingDocument.signatories = this.selectedOnboardingDocument.signatories\r\n .filter((person: Models.IOnboardingSignatory) => (person.personId !== id));\r\n }\r\n\r\n public setSelectedDocument(id: number): void {\r\n this.onboardingDocuments.some((document: Models.IOnboardingDocument) => {\r\n if (document.id === id) {\r\n this.selectedOnboardingDocument = document;\r\n this.showPdfOrTemplateSection(this.selectedOnboardingDocument.type);\r\n return true;\r\n }\r\n });\r\n }\r\n\r\n public editCurrentDocument(): void {\r\n this.selectedOnboardingDocument.showPreview = false;\r\n this.showPdfOrTemplateSection(this.selectedOnboardingDocument.type);\r\n }\r\n\r\n //CONTRACT SIGNATORY LOGIC\r\n public replaceContractSignatories(people: Models.IPerson[]): void {\r\n this.selectedOnboardingDocument.signatories = people;\r\n this.reorderSignatories();\r\n this.replaceOnboardingDocument(this.selectedOnboardingDocument.id);\r\n }\r\n\r\n public deleteSignatory(id: number): void {\r\n this.removeOnboardingDocumentSignatory(id);\r\n this.reorderSignatories();\r\n this.replaceOnboardingDocument(this.selectedOnboardingDocument.id);\r\n }\r\n\r\n public addSignatory(person: Models.IPerson): void {\r\n this.selectedOnboardingDocument.signatories.push(person);\r\n this.reorderSignatories();\r\n }\r\n \r\n public changeSignatorySelectedEmail(person: Models.IOnboardingSignatory): void {\r\n this.selectedOnboardingDocument.signatories.forEach((currentPerson: Models.IOnboardingSignatory, index, array) => {\r\n if(currentPerson.personId === person.personId){\r\n }\r\n })\r\n }\r\n\r\n public moveSignatoryUp(person: Models.IOnboardingSignatory): void {\r\n let index = 0;\r\n\r\n index = this.getSignatoryIndex(person);\r\n\r\n if(this.selectedOnboardingDocument.signatories[0].personId == person.personId) {\r\n return\r\n }\r\n\r\n this.swapSignatories(this.selectedOnboardingDocument.signatories, index, (index - 1));\r\n this.reorderSignatories();\r\n this.replaceContractSignatories(this.selectedOnboardingDocument.signatories);\r\n }\r\n\r\n public moveSignatoryDown(person: Models.IOnboardingSignatory): void {\r\n let index = 0;\r\n\r\n index = this.getSignatoryIndex(person);\r\n\r\n if(index === (this.selectedOnboardingDocument.signatories.length - 1)) {\r\n return\r\n }\r\n\r\n this.swapSignatories(this.selectedOnboardingDocument.signatories, index, (index + 1));\r\n this.reorderSignatories();\r\n this.replaceContractSignatories(this.selectedOnboardingDocument.signatories);\r\n }\r\n\r\n private getSignatoryIndex(person: Models.IOnboardingSignatory) : number { \r\n let selectedIndex = 0;\r\n this.selectedOnboardingDocument.signatories.map((current: Models.IOnboardingSignatory , index, array) => {\r\n if(current.personId == person.personId) {\r\n selectedIndex = index;\r\n } \r\n })\r\n return selectedIndex;\r\n } \r\n\r\n private swapSignatories(signatoriesArray, indexA, indexB): void {\r\n var temp = signatoriesArray[indexA];\r\n signatoriesArray[indexA] = signatoriesArray[indexB];\r\n signatoriesArray[indexB] = temp;\r\n }\r\n\r\n private reorderSignatories(): void {\r\n this.selectedOnboardingDocument.signatories.forEach((current: Models.IOnboardingSignatory , index, array) => {\r\n current.order = index + 1;\r\n })\r\n }\r\n\r\n //DOCUMENT REPLACE LOGIC\r\n public replaceDocumentOnSaveSuccess(document: Models.IOnboardingDocument) : void {\r\n this.replaceOnboardingDocument(document);\r\n this.setSelectedDocument(document.id);\r\n this.activeDocuments = this.getActiveDocuments(this.onboardingDocuments);\r\n this.inactiveDocuments = this.getInactiveDocuments(this.onboardingDocuments);\r\n }\r\n\r\n //CONTEXT SWITCH\r\n public showPdfOrTemplateSection(type: Models.TermsType) : void {\r\n switch (type) {\r\n case 'SignedPdf':\r\n this.showPdfUpload = true;\r\n this.selectedOnboardingDocument.type = \"SignedPdf\"\r\n break;\r\n case 'UnsignedPdf':\r\n this.showPdfUpload = true;\r\n this.selectedOnboardingDocument.type = \"UnsignedPdf\"\r\n break;\r\n case 'Template':\r\n this.showPdfUpload = false;\r\n this.selectedOnboardingDocument.type = \"Template\"\r\n break;\r\n default:\r\n this.selectedOnboardingDocument.type = \"Template\"\r\n this.showPdfUpload = false;\r\n }\r\n }\r\n \r\n //UPLOAD CHECKS\r\n public determineUploadPdf(): boolean {\r\n if(this.selectedOnboardingDocument.uploadedFileName) {\r\n this.noPdfError = false;\r\n return true\r\n } else {\r\n this.noPdfError = true;\r\n return false\r\n }\r\n }\r\n\r\n public determineUploadTemplate(): boolean {\r\n if(this.selectedOnboardingDocument.selectedTemplate) {\r\n this.noTemplateSelectedError = false;\r\n return true;\r\n } else {\r\n this.noTemplateSelectedError = true;\r\n return false;\r\n }\r\n }\r\n\r\n //ERROR STATE HANDLES\r\n public setDuplicateTemplateError(error: string): void {\r\n this.duplicateTemplateError = error;\r\n }\r\n\r\n public setSaveContractError(error: any): void {\r\n this.saveContractError = error;\r\n }\r\n\r\n public dismissAllErrors(): void {\r\n this.saveContractError = \"\";\r\n this.duplicateTemplateError = \"\";\r\n this.noPdfError = false;\r\n this.noTemplateSelectedError = false;\r\n }\r\n\r\n //SAVING STATE \r\n public resetSavingState(): void {\r\n this.saving = false;\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"OnboardingDocumentState\", OnboardingDocumentState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n let OnboardingDocumentStateUpdates = (\r\n OnboardingDocumentState: Sonovate.Core.State.IOnboardingDocumentState,\r\n OnboardingDocumentEvents: Sonovate.Core.Events.IOnboardingDocumentEvents,\r\n PdfViewerEvents: Sonovate.Core.Events.IPdfViewerEvents,\r\n ProposalEvents: Sonovate.Core.Events.IProposalEvents,\r\n AssignmentEvents: Sonovate.Core.Events.IAssignmentEvents,\r\n $stateParams: ng.ui.IStateParamsService,\r\n EditTermsFormEvents: Sonovate.Core.Events.EditTermsFormEvents,\r\n OnboardingDocumentTransformers: Transformers.OnboardingDocumentTransformers,\r\n APP_URL: string\r\n ) => {\r\n \r\n let subject = new Rx.BehaviorSubject(OnboardingDocumentState);\r\n\r\n OnboardingDocumentEvents.userIntents.saveContractWithPdfUpload\r\n .subscribe(() => {\r\n OnboardingDocumentState.setSavingState();\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.userIntents.saveContractWithTemplate\r\n .subscribe(() => {\r\n OnboardingDocumentState.setSavingState();\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.userIntents.saveContractWithTemplateProposal\r\n .subscribe(() => {\r\n OnboardingDocumentState.setSavingState();\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.userIntents.selectNewTemplate\r\n .subscribe((terms: Models.ITermsTemplate) => {\r\n OnboardingDocumentState.setTemplateIdToSelectedDocument(terms);\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.userIntents.removeTermsTemplate\r\n .subscribe((terms: Models.ITermsTemplate) => {\r\n OnboardingDocumentState.removeTemplateTermsFromSelectedDocument();\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.userIntents.addPdfToUpload\r\n .subscribe((photo: File) => {\r\n OnboardingDocumentState.setPdfToUpload(photo);\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.userIntents.removePdf\r\n .subscribe(() => {\r\n OnboardingDocumentState.removePdf();\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.userIntents.changeSelectedDocumentType\r\n .subscribe((value: string) => {\r\n OnboardingDocumentState.showPdfOrTemplateSection(value);\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n \r\n OnboardingDocumentEvents.userIntents.removeTermsTemplate\r\n .subscribe((terms: Models.ITermsTemplate) => {\r\n OnboardingDocumentState.removeTemplateTermsFromSelectedDocument();\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.userIntents.contractSwitch\r\n .subscribe((id: number) => {\r\n OnboardingDocumentState.setDocuemntToActive(id);\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.userIntents.saveContractsClick\r\n .subscribe(() => {\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.userIntents.setSelectedDocument\r\n .subscribe((id: number) => {\r\n OnboardingDocumentState.setSelectedDocument(id);\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.userIntents.editClickOnSelectedContract\r\n .subscribe(() => {\r\n OnboardingDocumentState.editCurrentDocument();\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n EditTermsFormEvents.httpResults.saveEditedTermsForProposalCompleted\r\n .subscribe((template: Models.ITermsTemplate) => {\r\n OnboardingDocumentState.setTemplateIdToSelectedDocument(template);\r\n subject.onNext(OnboardingDocumentState);\r\n })\r\n\r\n EditTermsFormEvents.httpResults.saveEditedTermsForAssignmentCompleted\r\n .subscribe((template: Models.ITermsTemplate) => {\r\n OnboardingDocumentState.setTemplateIdToSelectedDocument(template);\r\n subject.onNext(OnboardingDocumentState);\r\n })\r\n\r\n OnboardingDocumentEvents.httpResults.getDuplicateDocumentForAssignmentSuccess\r\n .subscribe((template: Models.ITermsTemplate) => {\r\n OnboardingDocumentState.setTemplateIdToSelectedDocument(template);\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.httpResults.getDuplicateDocumentForProposalSuccess\r\n .subscribe((template: Models.ITermsTemplate) => {\r\n OnboardingDocumentState.setTemplateIdToSelectedDocument(template);\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.httpResults.getAssignmentOnboardingDocumentsSuccess\r\n .subscribe((documents: Models.IOnboardingDocument[]) => {\r\n OnboardingDocumentState.setOnboardingDocuments(documents);\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.httpResults.getProposalOnboardingDocumentsSuccess\r\n .subscribe((documents: Models.IOnboardingDocument[]) => {\r\n OnboardingDocumentState.setOnboardingDocuments(documents);\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.httpResults.saveContractWithTemplateCompleted\r\n .merge(OnboardingDocumentEvents.httpResults.saveContractWithPdfUploadCompleted)\r\n .subscribe((document: Models.IOnboardingDocument) => {\r\n OnboardingDocumentState.resetSavingState();\r\n PdfViewerEvents.userIntents.setPdfUrl.onNext(`${APP_URL}/v1/assignments/${$stateParams['id']}/onboarding/${document.id}/pdf`);\r\n OnboardingDocumentState.replaceDocumentOnSaveSuccess(document);\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n \r\n OnboardingDocumentEvents.httpResults.saveContractWithTemplateProposalCompleted\r\n .subscribe((document: Models.IOnboardingDocument) => {\r\n OnboardingDocumentState.resetSavingState();\r\n PdfViewerEvents.userIntents.setPdfUrl.onNext(`${APP_URL}/v1/proposals/${$stateParams['proposalId']}/onboarding/${document.id}/pdf`);\r\n OnboardingDocumentState.replaceDocumentOnSaveSuccess(document);\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.httpResults.putSignedAssignmentOnboardingDocumentSuccess\r\n .merge(OnboardingDocumentEvents.httpResults.putSignedProposalOnboardingDocumentSuccess)\r\n .subscribe((document: Models.IOnboardingDocument) => {\r\n OnboardingDocumentState.replaceDocumentOnSaveSuccess(document);\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.httpResults.putSignedAssignmentOnboardingDocumentError\r\n .subscribe(() => {\r\n OnboardingDocumentEvents.userIntents.getAssignmentOnboardingDocuments.onNext($stateParams['id']);\r\n });\r\n\r\n OnboardingDocumentEvents.httpResults.putSignedProposalOnboardingDocumentError\r\n .subscribe(() => {\r\n OnboardingDocumentEvents.userIntents.getProposalOnboardingDocuments.onNext($stateParams['proposalId']);\r\n });\r\n\r\n OnboardingDocumentEvents.httpResults.approveAssignmentContractSuccess\r\n .merge(OnboardingDocumentEvents.httpResults.rejectAssignmentContractSuccess)\r\n .merge(OnboardingDocumentEvents.httpResults.refuseAssignmentContractSuccess)\r\n .subscribe((document: Models.IOnboardingDocument) => {\r\n AssignmentEvents.userIntents.getAssignment.onNext($stateParams['id']);\r\n OnboardingDocumentState.replaceDocumentOnSaveSuccess(document);\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.httpResults.approveAssignmentContractError\r\n .merge(OnboardingDocumentEvents.httpResults.rejectAssignmentContractError)\r\n .merge(OnboardingDocumentEvents.httpResults.refuseAssignmentContractError)\r\n .subscribe(() => {\r\n AssignmentEvents.userIntents.getAssignment.onNext($stateParams['id']);\r\n });\r\n\r\n OnboardingDocumentEvents.httpResults.approveProposalContractSuccess\r\n .merge(OnboardingDocumentEvents.httpResults.rejectProposalContractSuccess)\r\n .merge(OnboardingDocumentEvents.httpResults.refuseProposalContractSuccess)\r\n .subscribe((document: Models.IOnboardingDocument) => {\r\n ProposalEvents.userIntents.getProposal.onNext($stateParams['proposalId']);\r\n OnboardingDocumentState.replaceDocumentOnSaveSuccess(document);\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.httpResults.approveProposalContractError\r\n .merge(OnboardingDocumentEvents.httpResults.rejectProposalContractError)\r\n .merge(OnboardingDocumentEvents.httpResults.refuseProposalContractError)\r\n .subscribe(() => {\r\n ProposalEvents.userIntents.getProposal.onNext($stateParams['proposalId']);\r\n });\r\n\r\n OnboardingDocumentEvents.httpResults.getDuplicateDocumentForProposalError\r\n .subscribe((error: string) => {\r\n OnboardingDocumentState.setDuplicateTemplateError(error);\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.httpResults.getDuplicateDocumentForAssignmentError\r\n .subscribe((error: string) => {\r\n OnboardingDocumentState.setDuplicateTemplateError(error);\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.httpResults.saveContractWithTemplateFailed\r\n .subscribe((error: IErrorResponse) => {\r\n OnboardingDocumentState.resetSavingState();\r\n OnboardingDocumentState.setSaveContractError(error.data.result || \"Error saving document\");\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.httpResults.saveContractWithPdfUploadFailed\r\n .subscribe((error: IErrorResponse) => {\r\n OnboardingDocumentState.resetSavingState();\r\n OnboardingDocumentState.setSaveContractError(error.data.result || \"Error saving document\");\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.httpResults.getAssignmentOnboardingDocumentsError\r\n .subscribe(() => {\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.httpResults.getProposalOnboardingDocumentsError\r\n .subscribe(() => {\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.httpResults.refuseAssignmentContractError\r\n .subscribe(() => {\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.httpResults.refuseProposalContractError\r\n .subscribe(() => {\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n \r\n OnboardingDocumentEvents.userIntents.replaceSignatories \r\n .subscribe((people: Models.IPerson[]) => {\r\n let transformedPeople = OnboardingDocumentTransformers.IPersonArray_IOnboardingDocumentSignatoryArray(people);\r\n OnboardingDocumentState.replaceContractSignatories(transformedPeople);\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.userIntents.deleteSignatory \r\n .subscribe((id: number) => {\r\n OnboardingDocumentState.deleteSignatory(id);\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.userIntents.addSignatory \r\n .subscribe((person: Models.IPerson) => {\r\n OnboardingDocumentState.addSignatory(person);\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.userIntents.changeSignatorySelectedEmail \r\n .subscribe((person: Models.IOnboardingSignatory) => {\r\n OnboardingDocumentState.changeSignatorySelectedEmail(person);\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.userIntents.moveSignatoryDown \r\n .subscribe((person: Models.IOnboardingSignatory) => {\r\n OnboardingDocumentState.moveSignatoryDown(person);\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.userIntents.moveSignatoryUp \r\n .subscribe((person: Models.IOnboardingSignatory) => {\r\n OnboardingDocumentState.moveSignatoryUp(person);\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.userIntents.replaceOnboardingDocument \r\n .subscribe((document: Models.IOnboardingDocument) => {\r\n OnboardingDocumentState.replaceDocumentOnSaveSuccess(document);\r\n if ($stateParams.hasOwnProperty('proposalId')) {\r\n PdfViewerEvents.userIntents.setPdfUrl.onNext(`${APP_URL}/v1/proposals/${$stateParams['proposalId']}/onboarding/${document.id}/pdf`);\r\n } else if ($stateParams.hasOwnProperty('id')) {\r\n PdfViewerEvents.userIntents.setPdfUrl.onNext(`${APP_URL}/v1/assignments/${$stateParams['id']}/onboarding/${document.id}/pdf`);\r\n }\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n OnboardingDocumentEvents.userIntents.dismissErrors\r\n .subscribe(() => {\r\n OnboardingDocumentState.dismissAllErrors();\r\n subject.onNext(OnboardingDocumentState);\r\n });\r\n\r\n return subject;\r\n }\r\n angular.module(\"sonovate.core\").factory(\"OnboardingDocumentStateUpdates\", OnboardingDocumentStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class OrganisationAddBankAccountFormState extends FormBaseState implements IOrganisationAddBankAccountFormState {\r\n\r\n organisationId: number;\r\n isEditing: boolean;\r\n bankDetailsAreShowing: boolean;\r\n bankAccount: Models.IBankAccount;\r\n formErrors: IOrganisationAddBankAccountFormErrors;\r\n\r\n constructor() {\r\n super();\r\n this.setStateToDefault();\r\n }\r\n\r\n setBankAccount(bankAccount: Models.IBankAccount) {\r\n this.bankAccount = bankAccount;\r\n this.setIfBankDetailsAreToBeShown();\r\n }\r\n\r\n setOrganisationId(id: number): void {\r\n this.organisationId = id;\r\n }\r\n\r\n setCountry(country:string): void { \r\n this.bankAccount.isoCountryCode = country;\r\n this.setIfBankDetailsAreToBeShown();\r\n }\r\n\r\n setCurrency(currency:string): void {\r\n this.bankAccount.currencyCode = currency;\r\n this.setIfBankDetailsAreToBeShown();\r\n }\r\n\r\n setAccountName(accountName:string): void {\r\n this.bankAccount.accountName = accountName; \r\n }\r\n\r\n setAccountNumber(accountNumber:string): void { \r\n this.bankAccount.accountNumber = accountNumber;\r\n }\r\n\r\n setSortCode(sortCode:string): void {\r\n this.bankAccount.sortCode = sortCode; \r\n }\r\n\r\n setBankBranchName(bankBranchName:string): void {\r\n this.bankAccount.bankBranchName = bankBranchName;\r\n }\r\n\r\n setIban(iban:string): void {\r\n this.bankAccount.iban = iban; \r\n }\r\n\r\n setBic(bic:string): void {\r\n this.bankAccount.bic = bic;\r\n }\r\n\r\n setConfidentialFactoring(isTrustAccount:boolean): void {\r\n this.bankAccount.isTrustAccount = isTrustAccount; \r\n }\r\n\r\n getUnfilledFields(): string[] {\r\n return this.getListOfUnfilledFields({\r\n country: this.bankAccount.isoCountryCode,\r\n baseCurrency: this.bankAccount.currencyCode,\r\n accountName: this.bankAccount.accountName,\r\n accountNumber: this.bankAccount.accountNumber,\r\n sortCode: this.bankAccount.sortCode,\r\n bankBranchName: this.bankAccount.bankBranchName\r\n });\r\n };\r\n\r\n setToEditMode(): void {\r\n this.isEditing = true;\r\n }\r\n\r\n setStateToDefault(): void {\r\n this.bankDetailsAreShowing = false;\r\n this.isEditing = false;\r\n this.bankAccount = this.getDefaultBankAccount();\r\n this.formErrors = this.getDefaultFormErrors();\r\n this.errorMessage = null;\r\n }\r\n\r\n private setIfBankDetailsAreToBeShown(): void {\r\n this.bankDetailsAreShowing = ( \r\n !R.isNil(this.bankAccount.currencyCode) &&\r\n !R.isEmpty(this.bankAccount.currencyCode) &&\r\n !R.isNil(this.bankAccount.isoCountryCode) &&\r\n !R.isEmpty(this.bankAccount.isoCountryCode)\r\n );\r\n }\r\n\r\n private getDefaultBankAccount(): Models.IBankAccount {\r\n return {\r\n accountName: \"\",\r\n sortCode: \"\",\r\n accountNumber: \"\",\r\n bankBranchName: \"\",\r\n isoCountryCode: \"\",\r\n iban: \"\",\r\n bic: \"\",\r\n currencyCode: \"\",\r\n id: null,\r\n isTrustAccount: false,\r\n status: null,\r\n canAction: false,\r\n }\r\n }\r\n\r\n private getDefaultFormErrors(): IOrganisationAddBankAccountFormErrors {\r\n return {\r\n country: false,\r\n baseCurrency: false,\r\n accountName: false,\r\n accountNumber: false,\r\n sortCode: false,\r\n bankBranchName: false\r\n };\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"OrganisationAddBankAccountFormState\", OrganisationAddBankAccountFormState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"OrganisationAddBankAccountFormStateUpdates\", \r\n (\r\n organisationStore: any,\r\n OrganisationBankAccountEvents: Events.IOrganisationBankAccountEvents,\r\n OrganisationAddBankAccountFormState: IOrganisationAddBankAccountFormState\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(OrganisationAddBankAccountFormState);\r\n \r\n organisationStore\r\n .subscribe((state) => {\r\n OrganisationAddBankAccountFormState.setOrganisationId(state.organisation.organisationId);\r\n subject.onNext(OrganisationAddBankAccountFormState);\r\n });\r\n \r\n OrganisationBankAccountEvents.userIntents.setCountry\r\n .subscribe((value) => {\r\n OrganisationAddBankAccountFormState.setCountry(value);\r\n subject.onNext(OrganisationAddBankAccountFormState);\r\n });\r\n\r\n OrganisationBankAccountEvents.userIntents.setCurrency\r\n .subscribe((value) => {\r\n OrganisationAddBankAccountFormState.setCurrency(value);\r\n subject.onNext(OrganisationAddBankAccountFormState);\r\n });\r\n\r\n OrganisationBankAccountEvents.userIntents.setAccountName\r\n .subscribe((value) => {\r\n OrganisationAddBankAccountFormState.setAccountName(value);\r\n subject.onNext(OrganisationAddBankAccountFormState);\r\n });\r\n\r\n OrganisationBankAccountEvents.userIntents.setAccountNumber\r\n .subscribe((value) => {\r\n OrganisationAddBankAccountFormState.setAccountNumber(value);\r\n subject.onNext(OrganisationAddBankAccountFormState);\r\n });\r\n\r\n OrganisationBankAccountEvents.userIntents.setSortCode\r\n .subscribe((value) => {\r\n OrganisationAddBankAccountFormState.setSortCode(value);\r\n subject.onNext(OrganisationAddBankAccountFormState);\r\n });\r\n\r\n OrganisationBankAccountEvents.userIntents.setBankBranchName\r\n .subscribe((value) => {\r\n OrganisationAddBankAccountFormState.setBankBranchName(value);\r\n subject.onNext(OrganisationAddBankAccountFormState);\r\n });\r\n\r\n OrganisationBankAccountEvents.userIntents.setIban\r\n .subscribe((value) => {\r\n OrganisationAddBankAccountFormState.setIban(value);\r\n subject.onNext(OrganisationAddBankAccountFormState);\r\n });\r\n\r\n OrganisationBankAccountEvents.userIntents.setBic\r\n .subscribe((value) => {\r\n OrganisationAddBankAccountFormState.setBic(value);\r\n subject.onNext(OrganisationAddBankAccountFormState);\r\n });\r\n\r\n OrganisationBankAccountEvents.userIntents.setConfidentialFactoring\r\n .subscribe((value) => {\r\n OrganisationAddBankAccountFormState.setConfidentialFactoring(value);\r\n subject.onNext(OrganisationAddBankAccountFormState);\r\n });\r\n \r\n OrganisationBankAccountEvents.userIntents.addBankAccount\r\n .subscribe((value) => {\r\n OrganisationAddBankAccountFormState.setValidationErrors();\r\n subject.onNext(OrganisationAddBankAccountFormState);\r\n });\r\n \r\n OrganisationBankAccountEvents.userIntents.updateBankAccount\r\n .subscribe((value) => {\r\n OrganisationAddBankAccountFormState.setValidationErrors();\r\n subject.onNext(OrganisationAddBankAccountFormState);\r\n });\r\n\r\n OrganisationBankAccountEvents.httpResults.addBankAccountError\r\n .subscribe((error) => {\r\n OrganisationAddBankAccountFormState.setErrorMessage(error);\r\n subject.onNext(OrganisationAddBankAccountFormState);\r\n })\r\n \r\n OrganisationBankAccountEvents.userIntents.dismissErrorMessage\r\n .subscribe(() => {\r\n OrganisationAddBankAccountFormState.dismissErrorMessage();\r\n subject.onNext(OrganisationAddBankAccountFormState);\r\n })\r\n \r\n OrganisationBankAccountEvents.userIntents.editBankAccount\r\n .subscribe((bankAccount) => {\r\n OrganisationAddBankAccountFormState.setBankAccount(bankAccount);\r\n OrganisationAddBankAccountFormState.setToEditMode();\r\n subject.onNext(OrganisationAddBankAccountFormState);\r\n })\r\n \r\n OrganisationBankAccountEvents.userIntents.resetBankAccount\r\n .subscribe((bankAccount) => {\r\n OrganisationAddBankAccountFormState.setStateToDefault();\r\n subject.onNext(OrganisationAddBankAccountFormState);\r\n })\r\n\r\n return subject;\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class OrganisationBankAccountState implements IOrganisationBankAccountState {\r\n\r\n bankAccounts: Models.IBankAccount[];\r\n errorMessage: string;\r\n\r\n constructor() {\r\n }\r\n\r\n setBankAccounts(bankAccounts: Models.IBankAccount[]): void {\r\n this.bankAccounts = bankAccounts;\r\n }\r\n\r\n addBankAccount(bankAccount: Models.IBankAccount): void {\r\n this.bankAccounts.push(bankAccount);\r\n }\r\n \r\n updateBankAccount(bankAccount: Models.IBankAccount): void {\r\n var bankAccountIndex = R.findIndex(R.propEq(\"id\", bankAccount.id), this.bankAccounts);\r\n if ( bankAccountIndex > -1 ) {\r\n this.bankAccounts[bankAccountIndex] = bankAccount;\r\n }\r\n }\r\n\r\n setErrorMessage(errorResult: IErrorResult): void {\r\n this.errorMessage = errorResult.error;\r\n }\r\n\r\n dismissErrorMessage(): void {\r\n this.errorMessage = null;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"OrganisationBankAccountState\", OrganisationBankAccountState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"OrganisationBankAccountStateUpdates\", \r\n (\r\n organisationStore: any,\r\n OrganisationBankAccountEvents: Core.Events.IOrganisationBankAccountEvents,\r\n OrganisationBankAccountState: IOrganisationBankAccountState\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(OrganisationBankAccountState);\r\n\r\n OrganisationBankAccountEvents.httpResults.getBankAccountSuccess\r\n .subscribe((bankAccounts) => { \r\n OrganisationBankAccountState.setBankAccounts(bankAccounts);\r\n subject.onNext(OrganisationBankAccountState); \r\n });\r\n\r\n OrganisationBankAccountEvents.httpResults.addBankAccountSuccess\r\n .subscribe((bankAccount) => { \r\n OrganisationBankAccountState.addBankAccount(bankAccount);\r\n subject.onNext(OrganisationBankAccountState); \r\n });\r\n\r\n OrganisationBankAccountEvents.httpResults.updateBankAccountSuccess\r\n .subscribe((bankAccount) => {\r\n OrganisationBankAccountState.updateBankAccount(bankAccount);\r\n subject.onNext(OrganisationBankAccountState); \r\n });\r\n\r\n OrganisationBankAccountEvents.httpResults.updateBankAccountError\r\n .subscribe((error) => {\r\n OrganisationBankAccountState.setErrorMessage(error);\r\n subject.onNext(OrganisationBankAccountState); \r\n });\r\n \r\n OrganisationBankAccountEvents.userIntents.dismissErrorMessage\r\n .subscribe(() => {\r\n OrganisationBankAccountState.dismissErrorMessage();\r\n subject.onNext(OrganisationBankAccountState); \r\n });\r\n\r\n return subject;\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class OrganisationCustomerSupportState implements IOrganisationCustomerSupportState {\r\n\r\n organisationId: number;\r\n phoneNumber: string;\r\n email: string;\r\n canBeEdited: boolean;\r\n\r\n constructor() {\r\n this.setStateToDefault();\r\n }\r\n\r\n setOrganisationId(id: number): void {\r\n this.organisationId = id;\r\n }\r\n\r\n setPhoneNumber(phoneNumber:string): void {\r\n this.phoneNumber = phoneNumber;\r\n };\r\n\r\n setEmail(email:string): void {\r\n this.email = email;\r\n };\r\n\r\n setEditabilityBaseOnUserType(userType:string): void {\r\n this.canBeEdited = userType === \"Sonovate\";\r\n }\r\n\r\n private setStateToDefault(): void {\r\n this.organisationId = null;\r\n this.phoneNumber = null;\r\n this.email = \"\";\r\n this.canBeEdited = false;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"OrganisationCustomerSupportState\", OrganisationCustomerSupportState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"OrganisationCustomerSupportStateUpdates\", \r\n (\r\n signedInUserStore: ISignedInUserStore,\r\n organisationActions: any,\r\n OrganisationCustomerSupportState: IOrganisationCustomerSupportState\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(OrganisationCustomerSupportState);\r\n \r\n // were subing to the actions here instead of the org store\r\n // because using it would be a bad idea, as it is written in javascript\r\n // and in the old pattern, meaning that il just be adding to the mess\r\n // when there is a new proper org state change it to listen to this\r\n organisationActions.subjects.getOrganisationOnSuccess\r\n .subscribe((given: { model: ViewModels.Directory.Organisation }) => {\r\n OrganisationCustomerSupportState.setOrganisationId(given.model.organisationId);\r\n OrganisationCustomerSupportState.setEmail(given.model.customerServiceContactEmail);\r\n OrganisationCustomerSupportState.setPhoneNumber(given.model.customerServiceContactPhoneNumber);\r\n subject.onNext(OrganisationCustomerSupportState);\r\n });\r\n\r\n signedInUserStore.subject\r\n .subscribe((state) => {\r\n OrganisationCustomerSupportState.setEditabilityBaseOnUserType(state.userType);\r\n subject.onNext(OrganisationCustomerSupportState);\r\n });\r\n\r\n return subject;\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class OrganisationFlagVerificationState implements Sonovate.Core.State.IOrganisationFlagVerificationState {\r\n\r\n submissionStatus: Models.submissionStatus = \"beforeSubmission\";\r\n errors: IDictionary;\r\n flags: Models.IFlags[];\r\n tickedFlags: Models.IFlags[];\r\n notes: any;\r\n\r\n constructor() {}\r\n \r\n addErrors (errors: IDictionary) {\r\n this.errors = errors;\r\n this.submissionStatus = \"submissionError\";\r\n }\r\n\r\n markSubmissionAsSuccessful () {\r\n this.submissionStatus = \"submissionSuccess\";\r\n this.errors = {};\r\n }\r\n \r\n markSubmissionAsFailed () {\r\n this.submissionStatus = \"submissionSuccess\";\r\n this.errors = {};\r\n }\r\n\r\n markSubmissionAsStarted () {\r\n this.submissionStatus = \"submitting\";\r\n this.errors = {};\r\n }\r\n\r\n clear () {\r\n this.errors = {};\r\n this.submissionStatus = \"beforeSubmission\";\r\n }\r\n \r\n setFlags(flags: Array): void{\r\n this.tickedFlags = flags; \r\n }\r\n \r\n setNotes(notes: any): void{\r\n this.notes = notes; \r\n }\r\n \r\n getRiskStatusesAsDropdownItems (): any {\r\n return this.tickedFlags.map((status: any):any=> {\r\n return {\r\n value: status,\r\n text: status.text,\r\n };\r\n }, this.tickedFlags);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"OrganisationFlagVerificationState\", OrganisationFlagVerificationState)\r\n \r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"OrganisationFlagVerificationStateUpdates\", \r\n (\r\n OrganisationFlagVerificationState: State.IOrganisationFlagVerificationState, \r\n OrganisationsActions: Organisations.IOrganisationActions,\r\n organisationStore: any\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(OrganisationFlagVerificationState);\r\n // this needs tar die\r\n organisationStore.subscribe((state) => {\r\n // OrganisationFlagVerificationState.setFlags(flagResponse.flags);\r\n // OrganisationFlagVerificationState.setNotes(flagResponse.noteText);\r\n\r\n // subject.onNext(OrganisationFlagVerificationState);\r\n });\r\n\r\n // OrganisationsActions.resultSubjects.getRiskFlagsFailed.subscribe((error) => {\r\n // OrganisationFlagVerificationState.addErrors(error);\r\n // subject.onNext(OrganisationFlagVerificationState);\r\n // });\r\n\r\n // OrganisationsActions.resultSubjects.updateRiskFlagsCompleted.subscribe((response) => {\r\n // OrganisationFlagVerificationState.markSubmissionAsSuccessful();\r\n // subject.onNext(OrganisationFlagVerificationState);\r\n // });\r\n\r\n // OrganisationsActions.resultSubjects.updateRiskFlagsFailed.subscribe((error) => {\r\n // OrganisationFlagVerificationState.addErrors(error);\r\n // subject.onNext(OrganisationFlagVerificationState);\r\n // });\r\n \r\n return subject;\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class OrganisationOptionsDropdownState implements Sonovate.Core.State.IOrganisationOptionsDropdownState {\r\n\r\n permissions: string[] = []; \r\n loading: boolean = true;\r\n organisation: Models.IOrganisation;\r\n\r\n constructor() {}\r\n\r\n clear () {\r\n this.permissions = [];\r\n this.loading = true;\r\n }\r\n \r\n setOrganisationAndPermissions(organisation: Models.IOrganisation, permissions: string[]) {\r\n this.permissions = permissions ? permissions : [];\r\n this.organisation = organisation;\r\n this.loading = false;\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"OrganisationOptionsDropdownState\", OrganisationOptionsDropdownState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n var organisationOptionsDropdownStateUpdates = (OrganisationOptionsDropdownState: Core.State.IOrganisationOptionsDropdownState, OrganisationOptionsDropdownEvents: Events.IOrganisationOptionsDropdownEvents) => {\r\n var subject = new Rx.BehaviorSubject(OrganisationOptionsDropdownState);\r\n \r\n OrganisationOptionsDropdownEvents.userIntents.openDropdownForOrganisationWithId.subscribe(() => {\r\n OrganisationOptionsDropdownState.clear();\r\n subject.onNext(OrganisationOptionsDropdownState);\r\n });\r\n \r\n OrganisationOptionsDropdownEvents.httpResults.getPermissionsComplete.subscribe((modelWithPermissions: Events.ModelWithPermissions) => {\r\n OrganisationOptionsDropdownState.setOrganisationAndPermissions(modelWithPermissions.model, modelWithPermissions.permissions);\r\n subject.onNext(OrganisationOptionsDropdownState);\r\n });\r\n\r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").factory(\"OrganisationOptionsDropdownStateUpdates\", organisationOptionsDropdownStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class OrganisationProposalSearchState extends BaseSearchState implements IOrganisationProposalSearchState {\r\n\r\n \r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"OrganisationProposalSearchState\", OrganisationProposalSearchState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n var organisationOrganisationProposalSearchStateUpdates = (\r\n OrganisationProposalSearchState: Sonovate.Core.State.IOrganisationProposalSearchState,\r\n OrganisationProposalSearchEvents: Sonovate.Core.Events.IOrganisationProposalSearchEvents\r\n ) => {\r\n var subject = new Rx.BehaviorSubject(OrganisationProposalSearchState);\r\n \r\n OrganisationProposalSearchEvents.userIntents.carryOutSearch\r\n .merge(OrganisationProposalSearchEvents.userIntents.changeDateFilter)\r\n .merge(OrganisationProposalSearchEvents.userIntents.changeIssueDateFilter)\r\n .merge(OrganisationProposalSearchEvents.userIntents.changeSearchTerm)\r\n .merge(OrganisationProposalSearchEvents.userIntents.changeProposalStatusFilter)\r\n .subscribe(() => {\r\n OrganisationProposalSearchState.clear();\r\n subject.onNext(OrganisationProposalSearchState)\r\n });\r\n \r\n OrganisationProposalSearchEvents.httpResults.carryOutSearchCompleted.subscribe((proposals: Models.IProposalSearchResult[]) => {\r\n OrganisationProposalSearchState.addToCollection(proposals);\r\n subject.onNext(OrganisationProposalSearchState);\r\n });\r\n\r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").factory(\"OrganisationProposalSearchStateUpdates\", organisationOrganisationProposalSearchStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n var PasswordResetStateUpdates = (\r\n PasswordResetEvents: Sonovate.Core.Events.PasswordResetEvents,\r\n PasswordResetState: Sonovate.Core.State.PasswordResetState,\r\n $state: ng.ui.IStateService\r\n ) => {\r\n var subject = new Rx.BehaviorSubject(PasswordResetState);\r\n\r\n PasswordResetEvents.userIntents.userRequestedAPasswordReset.subscribe(() => {\r\n PasswordResetState.beginSendingEmail();\r\n subject.onNext(PasswordResetState);\r\n })\r\n\r\n PasswordResetEvents.userIntents.userTypedInEmailAddressInput.subscribe((emailAddress: string) => {\r\n PasswordResetState.setEmailAddress(emailAddress);\r\n subject.onNext(PasswordResetState);\r\n })\r\n\r\n PasswordResetEvents.userIntents.clearPasswordResetState.subscribe(() => {\r\n PasswordResetState.clearState();\r\n subject.onNext(PasswordResetState);\r\n })\r\n\r\n //HTTPResults\r\n\r\n PasswordResetEvents.httpResults.userRequestedAPasswordResetSuccess.subscribe(() => {\r\n PasswordResetState.finishSendingEmail();\r\n PasswordResetState.setEmailAsSent();\r\n subject.onNext(PasswordResetState);\r\n })\r\n\r\n PasswordResetEvents.httpResults.userRequestedAPasswordResetFailure.subscribe((error: string) => {\r\n PasswordResetState.setErrorMessage(error);\r\n PasswordResetState.finishSendingEmail();\r\n subject.onNext(PasswordResetState);\r\n })\r\n \r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"PasswordResetStateUpdates\", PasswordResetStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n var PasswordStrengthStateUpdates = (\r\n SignupEvents: Sonovate.Core.Events.SignupEvents,\r\n PersonSettingsChangePasswordEvents: Sonovate.Core.Events.PersonSettingsChangePasswordEvents,\r\n PasswordStrengthState: Sonovate.Core.State.PasswordStrengthState,\r\n $state: ng.ui.IStateService,\r\n ChangePasswordEvents: Sonovate.Core.Events.ChangePasswordEvents\r\n ) => {\r\n var subject = new Rx.BehaviorSubject(PasswordStrengthState);\r\n\r\n SignupEvents.userIntents.userTypedInPasswordInput.merge(\r\n ChangePasswordEvents.userIntents.userTypedInPassword\r\n ).subscribe((password: string) => {\r\n PasswordStrengthState.setPasswordValue(password);\r\n PasswordStrengthState.setPasswordStrength(password);\r\n subject.onNext(PasswordStrengthState);\r\n })\r\n\r\n PersonSettingsChangePasswordEvents.userIntents.updateChangePassword.subscribe((password: string) => {\r\n PasswordStrengthState.setPasswordValue(password);\r\n PasswordStrengthState.setPasswordStrength(password);\r\n subject.onNext(PasswordStrengthState);\r\n })\r\n \r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"PasswordStrengthStateUpdates\", PasswordStrengthStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class PaymentsSearchState extends BaseSearchState implements IPaymentsSearchState {\r\n\t\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"PaymentsSearchState\", PaymentsSearchState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n let PaymentsSearchStateUpdates = (\r\n PaymentsSearchState: Sonovate.Core.State.IPaymentsSearchState,\r\n PaymentsSearchEvents: Sonovate.Core.Events.IPaymentsSearchEvents\r\n ) => {\r\n \r\n let subject = new Rx.BehaviorSubject(PaymentsSearchState);\r\n\r\n PaymentsSearchEvents.userIntents.searchPayments.subscribe(() => {\r\n PaymentsSearchState.clear();\r\n subject.onNext(PaymentsSearchState);\r\n });\r\n\r\n PaymentsSearchEvents.httpResults.searchPaymentsSuccess.subscribe((result) => {\r\n PaymentsSearchState.addToCollection(result.payments);\r\n PaymentsSearchState.setTotalResults(result.totalResults);\r\n subject.onNext(PaymentsSearchState);\r\n });\r\n\r\n return subject;\r\n }\r\n angular.module(\"sonovate.core\").factory(\"PaymentsSearchStateUpdates\", PaymentsSearchStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class PdfViewerState implements IPdfViewerState { \r\n\r\n public pdfData: string;\r\n private pdfUrl: string;\r\n\r\n static $inject = [\r\n \"PdfViewerEvents\"\r\n ];\r\n\r\n constructor(\r\n protected PdfViewerEvents: Core.Events.IPdfViewerEvents\r\n ) {}\r\n\r\n public setPdfData(data: string): void {\r\n this.pdfData = data;\r\n }\r\n\r\n public setPdfUrl(url: string): void {\r\n if (!url) {\r\n this.pdfData = null;\r\n this.pdfUrl = null;\r\n } else if (url !== this.pdfUrl) {\r\n this.pdfUrl = url;\r\n this.PdfViewerEvents.userIntents.getPdfData.onNext(url);\r\n }\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"PdfViewerState\", PdfViewerState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n let PdfViewerStateUpdates = (\r\n PdfViewerState: Sonovate.Core.State.IPdfViewerState,\r\n PdfViewerEvents: Sonovate.Core.Events.IPdfViewerEvents\r\n ) => {\r\n \r\n let subject = new Rx.BehaviorSubject(PdfViewerState);\r\n\r\n PdfViewerEvents.httpResults.getPdfDataSuccess\r\n .subscribe((data: string) => {\r\n PdfViewerState.setPdfData(data);\r\n subject.onNext(PdfViewerState);\r\n });\r\n\r\n PdfViewerEvents.httpResults.getPdfDataError\r\n .subscribe(() => {\r\n PdfViewerState.setPdfData(null);\r\n subject.onNext(PdfViewerState);\r\n });\r\n\r\n PdfViewerEvents.userIntents.setPdfUrl\r\n .subscribe((url: string) => {\r\n PdfViewerState.setPdfUrl(url);\r\n });\r\n\r\n return subject;\r\n }\r\n angular.module(\"sonovate.core\").factory(\"PdfViewerStateUpdates\", PdfViewerStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n export class PeopleSearchState {\r\n collection: Models.IPerson[];\r\n query: Models.ISearchQuery;\r\n isLoading: boolean;\r\n queryCarriedOut: boolean = false;\r\n hasResults: boolean = false;\r\n showNoQueryResultsFeedback:boolean = false;\r\n showNoResultsFeedback:boolean = false;\r\n totalResults: number = null;\r\n\r\n constructor() {\r\n this.setStateToDefault();\r\n }\r\n\r\n resetCollection(): void {\r\n this.collection = [];\r\n }\r\n\r\n resetQueryOffset() {\r\n this.query.offset = 0;\r\n }\r\n\r\n setQueryFromStateParams(queryParams) {\r\n this.query = Utils.Search.stateParams_ISearchQuery(queryParams);\r\n }\r\n\r\n setSearchQuery(query:Models.ISearchQuery) {\r\n this.query = query;\r\n }\r\n\r\n getSearchQuery(): string {\r\n return this.query.q;\r\n }\r\n\r\n incrementOffset() {\r\n this.query.offset++;\r\n }\r\n\r\n setTotalResults(totalResults: number): void {\r\n if(totalResults == 0){\r\n return;\r\n }\r\n this.totalResults = totalResults;\r\n }\r\n\r\n addToCollection(people: Models.IPerson[]) {\r\n this.queryCarriedOut = Boolean(this.query.q); \r\n this.isLoading = false;\r\n this.collection = this.collection.concat(people);\r\n this.hasResults = Boolean(this.collection.length);\r\n this.setUserFeedback();\r\n }\r\n\r\n setSearchText (text: string) {\r\n this.query.q = text;\r\n }\r\n\r\n setStateToLoading () {\r\n this.isLoading = true;\r\n this.collection = [];\r\n } \r\n\r\n private setStateToDefault () {\r\n this.query = Utils.Search.getDefaultSearchQuery();\r\n this.isLoading = false;\r\n this.collection = [];\r\n }\r\n\r\n setUserFeedback() {\r\n this.showNoQueryResultsFeedback = this.hasResults === false && this.queryCarriedOut;\r\n this.showNoResultsFeedback = this.hasResults === false && this.queryCarriedOut === false;\r\n }\r\n\r\n setStatusFilter(statusFilter: string) {\r\n this.query.filter = Sonovate.Core.Utils.Search.addOrUpdateFilters(this.query.filter || [], 'accountStatus', 'eq', statusFilter);\r\n }\r\n \r\n getStatus(): string {\r\n return Utils.Search.getFilterValueByFieldNameAndOperator(this.query.filter, 'accountStatus', 'eq');\r\n }\r\n\r\n setUsersStatusToSuspended(id: number): void {\r\n this.collection.map((person) => {\r\n if(person.id == id){\r\n person.accountStatus = \"Suspended\";\r\n }\r\n })\r\n }\r\n \r\n setUsersStatusToUnSuspended(id: number): void {\r\n this.collection.map((person) => {\r\n if(person.id == id){\r\n person.accountStatus = \"Active\";\r\n }\r\n })\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"PeopleSearchState\", PeopleSearchState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"PeopleSearchStateUpdates\", \r\n (\r\n PeopleSearchEvents: Events.PeopleSearchEvents,\r\n PeopleSearchState: PeopleSearchState,\r\n StateChangeService: Core.Services.StateChangeService,\r\n MessageBarEvents: Sonovate.Core.Events.MessageBarEvents\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(PeopleSearchState);\r\n\r\n StateChangeService\r\n .getStateChangeObservableForRoute('sonovate.peopleSearch')\r\n .subscribe((state) => {\r\n PeopleSearchState.resetCollection();\r\n PeopleSearchState.setQueryFromStateParams(state.params);\r\n subject.onNext(PeopleSearchState);\r\n PeopleSearchEvents.userIntents.carryOutHttpRequest.onNext(PeopleSearchState.query);\r\n });\r\n\r\n PeopleSearchEvents.userIntents.searchForMorePeople\r\n .subscribe(() => {\r\n PeopleSearchState.incrementOffset();\r\n PeopleSearchEvents.userIntents.carryOutHttpRequest.onNext(PeopleSearchState.query);\r\n subject.onNext(PeopleSearchState);\r\n });\r\n\r\n PeopleSearchEvents.httpResults.carryOutHttpRequestSuccess\r\n .subscribe((result: Sonovate.Core.Events.IPeopleSearchResult) => {\r\n PeopleSearchState.addToCollection(result.results);\r\n PeopleSearchState.setTotalResults(result.totalResults);\r\n subject.onNext(PeopleSearchState);\r\n });\r\n\r\n PeopleSearchEvents.userIntents.typeInSearchInput\r\n .subscribe((text) => {\r\n PeopleSearchState.setSearchText(text);\r\n subject.onNext(PeopleSearchState);\r\n });\r\n\r\n PeopleSearchEvents.userIntents.pressEnterOnSearchInput\r\n .merge(PeopleSearchEvents.userIntents.pressSearchInputIcon)\r\n .subscribe(() => {\r\n PeopleSearchState.setStateToLoading();\r\n PeopleSearchState.resetQueryOffset();\r\n PeopleSearchEvents.userIntents.carryOutHttpRequest.onNext(PeopleSearchState.query);\r\n subject.onNext(PeopleSearchState);\r\n });\r\n\r\n PeopleSearchEvents.userIntents.changeStatusFilter\r\n .subscribe((statusFilter) => {\r\n PeopleSearchState.resetCollection();\r\n PeopleSearchState.resetQueryOffset();\r\n PeopleSearchState.setStatusFilter(statusFilter);\r\n PeopleSearchEvents.userIntents.carryOutHttpRequest.onNext(PeopleSearchState.query);\r\n subject.onNext(PeopleSearchState);\r\n });\r\n\r\n PeopleSearchEvents.httpResults.suspendUserCompleted\r\n .subscribe((personId) => {\r\n PeopleSearchState.setUsersStatusToSuspended(personId);\r\n subject.onNext(PeopleSearchState);\r\n });\r\n\r\n PeopleSearchEvents.httpResults.unSuspendUserCompleted\r\n .subscribe((personId) => {\r\n PeopleSearchState.setUsersStatusToUnSuspended(personId);\r\n subject.onNext(PeopleSearchState);\r\n });\r\n\r\n PeopleSearchEvents.httpResults.resendInviteCompleted\r\n .subscribe((personId) => {\r\n MessageBarEvents.userIntents.showSuccessMessage.onNext(Sonovate.Config.Localisation.Labels['personoptions.ResendInviteConfirmMessage'])\r\n subject.onNext(PeopleSearchState);\r\n });\r\n\r\n return subject;\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\t\r\n\texport class PeopleStatusesState {\r\n\t\tpeopleStatuses: Models.IPersonStatus[] = [];\r\n\r\n\t\tgetStatusById(id: string): Models.IPersonStatus {\r\n\t\t\tlet returnStatus: Models.IPersonStatus;\r\n\t\t\tthis.peopleStatuses\r\n\t\t\t\t.filter((status) => {\r\n\t\t\t\t\tif (status.id === id) {\r\n\t\t\t\t\t\treturnStatus = status;\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\tif (!returnStatus) {\r\n\t\t\t\tthrow new Error(`getStatusById: status with id '${id}' does not exist.`);\r\n\t\t\t}\r\n\t\t\treturn returnStatus;\r\n\t\t}\r\n\r\n\t\tsetPeopleStatuses(statuses: Models.IPersonStatus[]): void {\r\n\t\t\tthis.peopleStatuses = statuses\r\n\t\t\t\t.filter(status => status.id !== \"None\")\r\n\t\t\t\t.map((status) => {\r\n\t\t\t\t\tstatus.displayColor = this.getStatusDisplayColorById(status.id);\r\n\t\t\t\t\tstatus.displayIcon = this.getStatusDisplayIconById(status.id);\r\n\t\t\t\t\treturn status;\r\n\t\t\t\t}); \r\n\t\t}\r\n\r\n\t\tgetStatusDisplayColorById(id: string): string {\r\n\t\t\tswitch (id) {\r\n\t\t\t\tcase \"None\":\r\n\t\t\t\t\treturn \"parrot\";\r\n\t\t\t\tcase \"Pending\":\r\n\t\t\t\t\treturn \"daffodil\";\r\n\t\t\t\tcase \"Active\":\r\n\t\t\t\t\treturn \"apple\";\r\n\t\t\t\tcase \"Locked\":\r\n\t\t\t\t\treturn \"parrot\";\r\n\t\t\t\tcase \"Suspended\":\r\n\t\t\t\t\treturn \"parrot\";\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn \"\";\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tgetStatusDisplayIconById(id: string): string {\r\n\t\t\tswitch (id) {\r\n\t\t\t\tcase \"None\":\r\n\t\t\t\t\treturn \"sn-ico-no-entry-filled\";\r\n\t\t\t\tcase \"Pending\":\r\n\t\t\t\t\treturn \"sn-ico-clock-filled\";\r\n\t\t\t\tcase \"Active\":\r\n\t\t\t\t\treturn \"sn-ico-tick-circle-filled\";\r\n\t\t\t\tcase \"Locked\":\r\n\t\t\t\t\treturn \"sn-ico-lock\";\r\n\t\t\t\tcase \"Suspended\":\r\n\t\t\t\t\treturn \"sn-ico-no-entry-filled\";\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn \"\";\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tangular.module(\"sonovate.core\")\r\n\t.service(\"PeopleStatusesState\", PeopleStatusesState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n var PeopleStatusesStateUpdates = (PeopleStatusesState: Core.State.PeopleStatusesState, PeopleStatusesEvents: Core.Events.PeopleStatusesEvents) => {\r\n var subject = new Rx.BehaviorSubject(PeopleStatusesState);\r\n \r\n PeopleStatusesEvents.httpResults.getStatusesCompleted.subscribe((statuses: Models.IPersonStatus[]) => {\r\n PeopleStatusesState.setPeopleStatuses(statuses);\r\n subject.onNext(PeopleStatusesState); \r\n });\r\n\r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").factory(\"PeopleStatusesStateUpdates\", PeopleStatusesStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"PersonLocalePreferencesStateUpdates\",\r\n (\r\n PersonLocalePreferencesEvents: Sonovate.Core.Events.PersonLocalePreferencesEvents,\r\n PersonLocalePreferencesState: Sonovate.Core.State.PersonLocalePreferencesState\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(PersonLocalePreferencesState);\r\n\r\n PersonLocalePreferencesEvents.httpResults.saveLocalePreferencesCompleted\r\n .subscribe(() => {\r\n subject.onNext(PersonLocalePreferencesState);\r\n });\r\n\r\n PersonLocalePreferencesEvents.httpResults.getLocalePreferencesCompleted\r\n .subscribe((preferences: Sonovate.ViewModels.Directory.PersonLocalePreferences) => {\r\n PersonLocalePreferencesState.setSelectedCountry(preferences.countryCode);\r\n PersonLocalePreferencesState.setSelectedTimeZone(preferences.timeZone);\r\n subject.onNext(PersonLocalePreferencesState);\r\n });\r\n \r\n PersonLocalePreferencesEvents.httpResults.saveLocalePreferencesCompleted\r\n .subscribe(() => {\r\n PersonLocalePreferencesState.resetSavingState();\r\n PersonLocalePreferencesState.setSaved();\r\n PersonLocalePreferencesState.showSuccessMessageBar();\r\n PersonLocalePreferencesState.hideSaveButton();\r\n subject.onNext(PersonLocalePreferencesState);\r\n });\r\n\r\n PersonLocalePreferencesEvents.httpResults.saveLocalePreferencesError\r\n .subscribe((errorMessageText: string) => {\r\n PersonLocalePreferencesState.resetSaved();\r\n PersonLocalePreferencesState.showErrorMessageBar(errorMessageText);\r\n subject.onNext(PersonLocalePreferencesState);\r\n });\r\n\r\n PersonLocalePreferencesEvents.userIntents.saveLocalePreferences\r\n .subscribe(() => {\r\n PersonLocalePreferencesState.resetSaved();\r\n PersonLocalePreferencesState.setSavingState();\r\n subject.onNext(PersonLocalePreferencesState);\r\n });\r\n\r\n PersonLocalePreferencesEvents.userIntents.resetSavedState\r\n .subscribe(() => {\r\n PersonLocalePreferencesState.resetSaved();\r\n subject.onNext(PersonLocalePreferencesState);\r\n });\r\n\r\n PersonLocalePreferencesEvents.userIntents.updateCountrySetting\r\n .subscribe((countryText: string) => {\r\n PersonLocalePreferencesState.resetSaved();\r\n PersonLocalePreferencesState.showSaveButton();\r\n PersonLocalePreferencesState.setSelectedCountry(countryText);\r\n subject.onNext(PersonLocalePreferencesState);\r\n });\r\n \r\n PersonLocalePreferencesEvents.userIntents.updateTimeZoneSetting\r\n .subscribe((timeZoneText: string) => {\r\n PersonLocalePreferencesState.resetSaved();\r\n PersonLocalePreferencesState.showSaveButton();\r\n PersonLocalePreferencesState.setSelectedTimeZone(timeZoneText);\r\n subject.onNext(PersonLocalePreferencesState);\r\n });\r\n\r\n PersonLocalePreferencesEvents.userIntents.dismissErrorMessage\r\n .subscribe(() => {\r\n PersonLocalePreferencesState.hideErrorMessageBar();\r\n subject.onNext(PersonLocalePreferencesState);\r\n });\r\n\r\n PersonLocalePreferencesEvents.userIntents.dismissSuccessMessage\r\n .subscribe(() => {\r\n PersonLocalePreferencesState.hideSuccessMessageBar();\r\n subject.onNext(PersonLocalePreferencesState);\r\n });\r\n\r\n PersonLocalePreferencesEvents.userIntents.resetState\r\n .subscribe(() => {\r\n PersonLocalePreferencesState.setDefaultState();\r\n subject.onNext(PersonLocalePreferencesState);\r\n });\r\n\r\n return subject;\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class PersonOptionsDropdownState implements Sonovate.Core.State.IPersonOptionsDropdownState {\r\n\r\n permissions: string[] = [];\r\n loading: boolean;\r\n person: Models.IPerson;\r\n\r\n constructor() {}\r\n\r\n clear () {\r\n this.permissions = [];\r\n this.loading = true;\r\n }\r\n \r\n setPersonAndPermissions(person: Models.IPerson, permissions: string[]) {\r\n this.permissions = permissions ? permissions : [];\r\n this.person = person;\r\n this.loading = false;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"PersonOptionsDropdownState\", PersonOptionsDropdownState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n var personOptionsDropdownStateUpdates = (PersonOptionsDropdownState: Core.State.IPersonOptionsDropdownState, PersonOptionsDropdownEvents: Events.IPersonOptionsDropdownEvents) => {\r\n var subject = new Rx.BehaviorSubject(PersonOptionsDropdownState);\r\n\r\n PersonOptionsDropdownEvents.userIntents.openDropdownForPersonWithId.subscribe(() => {\r\n PersonOptionsDropdownState.clear();\r\n subject.onNext(PersonOptionsDropdownState);\r\n });\r\n \r\n PersonOptionsDropdownEvents.httpResults.getPermissionsComplete.subscribe((modelWithPermissions: Events.ModelWithPermissions) => {\r\n PersonOptionsDropdownState.setPersonAndPermissions(modelWithPermissions.model, modelWithPermissions.permissions);\r\n subject.onNext(PersonOptionsDropdownState);\r\n });\r\n\r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").factory(\"PersonOptionsDropdownStateUpdates\", personOptionsDropdownStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class PersonSearchState implements IPersonSearchState {\r\n\r\n people: Models.IPerson[];\r\n isSearching: boolean;\r\n\r\n constructor() {\r\n this.people = [];\r\n this.isSearching = false;\r\n }\r\n\r\n setPeople(people:Models.IPerson[]) {\r\n this.people = people;\r\n this.isSearching = false;\r\n }\r\n\r\n setIsSearching(isSearching: boolean): void {\r\n this.isSearching = isSearching;\r\n }\r\n\r\n clear () {\r\n this.people = [];\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"PersonSearchState\", PersonSearchState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"PersonSearchStateUpdates\", \r\n (\r\n PersonSearchState: IPersonSearchState,\r\n OrganisationsActions: Organisations.IOrganisationActions,\r\n PeopleActions: IPeopleActions,\r\n PersonSearchEvents: Sonovate.Core.Events.IPersonSearchEvents\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(PersonSearchState);\r\n\r\n OrganisationsActions.requestSubjects.getContacts\r\n .subscribe(() => {\r\n PersonSearchState.clear();\r\n PersonSearchState.setIsSearching(true);\r\n subject.onNext(PersonSearchState);\r\n });\r\n\r\n PeopleActions.requestSubjects.getPeople\r\n .merge(PersonSearchEvents.userIntents.searchCandidates)\r\n .subscribe(() => {\r\n PersonSearchState.clear();\r\n PersonSearchState.setIsSearching(true);\r\n subject.onNext(PersonSearchState);\r\n });\r\n\r\n OrganisationsActions.resultSubjects.getContactsCompleted\r\n .merge(PeopleActions.resultSubjects.getPeopleCompleted)\r\n .merge(PersonSearchEvents.httpResults.searchCandidatesComplete)\r\n .subscribe((people: Models.IPerson[]) => {\r\n PersonSearchState.setPeople(people);\r\n subject.onNext(PersonSearchState);\r\n });\r\n \r\n return subject;\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"PersonSettingsChangePasswordStateUpdates\",\r\n (\r\n PersonSettingsChangePasswordEvents: Sonovate.Core.Events.PersonSettingsChangePasswordEvents,\r\n PersonSettingsChangePasswordState: Sonovate.Core.State.PersonSettingsChangePasswordState\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(PersonSettingsChangePasswordState);\r\n\r\n PersonSettingsChangePasswordEvents.httpResults.saveChangePasswordCompleted\r\n .subscribe(() => {\r\n PersonSettingsChangePasswordState.resetSavingState();\r\n PersonSettingsChangePasswordState.setDefaultState();\r\n PersonSettingsChangePasswordState.hideSaveButton();\r\n PersonSettingsChangePasswordState.enableSuccessMessage();\r\n PersonSettingsChangePasswordState.resetErrors();\r\n subject.onNext(PersonSettingsChangePasswordState);\r\n });\r\n\r\n PersonSettingsChangePasswordEvents.httpResults.saveChangePasswordError\r\n .subscribe((error: IErrorResult) => {\r\n PersonSettingsChangePasswordState.showErrorMessageBar(error.error);\r\n PersonSettingsChangePasswordState.setErrors(\r\n error.errors['requestModel.OldPassword'],\r\n error.errors['requestModel.ChangePassword']\r\n );\r\n PersonSettingsChangePasswordState.resetSavingState();\r\n subject.onNext(PersonSettingsChangePasswordState);\r\n });\r\n\r\n PersonSettingsChangePasswordEvents.userIntents.saveChangePassword\r\n .subscribe(() => {\r\n PersonSettingsChangePasswordState.setSavingState();\r\n subject.onNext(PersonSettingsChangePasswordState);\r\n });\r\n\r\n PersonSettingsChangePasswordEvents.userIntents.toggleShowChangePassword\r\n .subscribe(() => {\r\n PersonSettingsChangePasswordState.toggleShowChangePassword();\r\n subject.onNext(PersonSettingsChangePasswordState);\r\n });\r\n\r\n PersonSettingsChangePasswordEvents.userIntents.toggleShowOldPassword\r\n .subscribe(() => {\r\n PersonSettingsChangePasswordState.toggleShowOldPassword();\r\n subject.onNext(PersonSettingsChangePasswordState);\r\n });\r\n\r\n PersonSettingsChangePasswordEvents.userIntents.updateChangePassword\r\n .subscribe((passwordText: string) => {\r\n PersonSettingsChangePasswordState.showSaveButton();\r\n PersonSettingsChangePasswordState.setChangePassword(passwordText);\r\n PersonSettingsChangePasswordState.resetChangePasswordError();\r\n subject.onNext(PersonSettingsChangePasswordState);\r\n });\r\n \r\n PersonSettingsChangePasswordEvents.userIntents.updateOldPassword\r\n .subscribe((passwordText: string) => {\r\n PersonSettingsChangePasswordState.showSaveButton();\r\n PersonSettingsChangePasswordState.setOldPassword(passwordText);\r\n PersonSettingsChangePasswordState.resetOldPasswordError();\r\n subject.onNext(PersonSettingsChangePasswordState);\r\n });\r\n\r\n PersonSettingsChangePasswordEvents.userIntents.dismissErrorMessage\r\n .subscribe(() => {\r\n PersonSettingsChangePasswordState.hideErrorMessageBar();\r\n subject.onNext(PersonSettingsChangePasswordState);\r\n });\r\n\r\n PersonSettingsChangePasswordEvents.userIntents.dismissSuccessMessage\r\n .subscribe(() => {\r\n PersonSettingsChangePasswordState.hideSuccessMessage();\r\n subject.onNext(PersonSettingsChangePasswordState);\r\n });\r\n\r\n PersonSettingsChangePasswordEvents.userIntents.resetState\r\n .subscribe(() => {\r\n PersonSettingsChangePasswordState.setDefaultState();\r\n subject.onNext(PersonSettingsChangePasswordState);\r\n });\r\n\r\n return subject;\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"PersonSettingsProfileStateUpdates\", \r\n (\r\n StateChangeService: Services.StateChangeService,\r\n PersonProfileEvents: Events.PersonProfileEvents,\r\n PersonSettingsProfileState: Core.State.PersonSettingsProfileState,\r\n MessageBarEvents: Events.MessageBarEvents,\r\n $state: ng.ui.IStateService,\r\n ChangeEmailEvents: Events.ChangeEmailEvents,\r\n signOutActions: ISignOutActions,\r\n $timeout: ng.ITimeoutService\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(PersonSettingsProfileState);\r\n var timeoutTimer = 6000;\r\n\r\n StateChangeService\r\n .getStateChangeObservableForRoute('sonovate.PersonSettings')\r\n .subscribe((state) => {\r\n PersonSettingsProfileState.setPersonId(state.params['personSettingsId']);\r\n PersonProfileEvents.userIntents.carryOutGetPersonHttpRequest.onNext(state.params['personSettingsId']);\r\n subject.onNext(PersonSettingsProfileState);\r\n });\r\n\r\n PersonProfileEvents.httpResults.getPersonSuccessful\r\n .subscribe((person) => {\r\n PersonSettingsProfileState.setPerson(person)\r\n subject.onNext(PersonSettingsProfileState)\r\n });\r\n\r\n PersonProfileEvents.httpResults.getPersonFailed\r\n .subscribe(() => {\r\n PersonSettingsProfileState.setDefaultState();\r\n subject.onNext(PersonSettingsProfileState)\r\n });\r\n\r\n signOutActions.subjects.logoutFrontEndOnlySuccess\r\n .merge(signOutActions.subjects.logoutSuccess)\r\n .subscribe(() => {\r\n PersonSettingsProfileState.setDefaultState();\r\n subject.onNext(PersonSettingsProfileState);\r\n });\r\n\r\n\r\n PersonProfileEvents.httpResults.submitEmailForVerificationFailed\r\n .subscribe((error) => {\r\n MessageBarEvents.userIntents.showErrorMessage.onNext(\"Invalid Email Entered\");\r\n subject.onNext(PersonSettingsProfileState)\r\n });\r\n\r\n PersonProfileEvents.httpResults.submitEmailForVerificationCompleted\r\n .subscribe((response) => {\r\n if(response === true){\r\n $state.go(`sonovate.PersonSettings.modals`, {\r\n modal: 'edit-email-confirm'\r\n });\r\n }else{\r\n MessageBarEvents.userIntents.showErrorMessage.onNext(\"Invalid Email Entered\");\r\n }\r\n subject.onNext(PersonSettingsProfileState);\r\n });\r\n\r\n PersonProfileEvents.httpResults.submitEmailChangeRequestFailed\r\n .subscribe((error: string) => {\r\n PersonSettingsProfileState.resetSavingState();\r\n MessageBarEvents.userIntents.showErrorMessage.onNext(\"Incorrect password\");\r\n subject.onNext(PersonSettingsProfileState);\r\n });\r\n\r\n PersonProfileEvents.httpResults.submitEmailChangeRequestCompleted\r\n .subscribe((newEmail: string) => {\r\n $state.go(\"^\");\r\n PersonSettingsProfileState.resetSavingState();\r\n MessageBarEvents.userIntents.showSuccessMessage.onNext(\"An email has been sent to \" + newEmail);\r\n PersonSettingsProfileState.setNewEmail(newEmail);\r\n PersonSettingsProfileState.hideEditEmail();\r\n subject.onNext(PersonSettingsProfileState);\r\n });\r\n\r\n PersonProfileEvents.httpResults.resendEmailCompleted\r\n .subscribe(() => {\r\n PersonSettingsProfileState.resetSavingState();\r\n MessageBarEvents.userIntents.showSuccessMessage.onNext(\"An email has been sent to \" + PersonSettingsProfileState.profile.newEmail);\r\n PersonSettingsProfileState.hideEditEmail();\r\n PersonSettingsProfileState.showInfoPanel();\r\n subject.onNext(PersonSettingsProfileState);\r\n });\r\n\r\n PersonProfileEvents.httpResults.cancelEmailChangeCompleted\r\n .subscribe((response) => {\r\n PersonSettingsProfileState.resetSavingState();\r\n PersonSettingsProfileState.showInfoPanel();\r\n PersonSettingsProfileState.resetNewEmail();\r\n subject.onNext(PersonSettingsProfileState);\r\n });\r\n\r\n PersonProfileEvents.userIntents.submitEmailChangeRequest\r\n .subscribe((response) => { \r\n PersonSettingsProfileState.setSavingState();\r\n subject.onNext(PersonSettingsProfileState);\r\n });\r\n\r\n PersonProfileEvents.userIntents.showEditEmail\r\n .subscribe(() => {\r\n PersonSettingsProfileState.showEditEmail();\r\n subject.onNext(PersonSettingsProfileState);\r\n });\r\n\r\n PersonProfileEvents.userIntents.hideEditEmail\r\n .subscribe(() => {\r\n PersonSettingsProfileState.hideEditEmail();\r\n subject.onNext(PersonSettingsProfileState);\r\n });\r\n\r\n PersonProfileEvents.userIntents.typeEmail\r\n .subscribe((emailText: string) => {\r\n PersonSettingsProfileState.updateEmail(emailText);\r\n subject.onNext(PersonSettingsProfileState);\r\n });\r\n\r\n PersonProfileEvents.userIntents.typePassword\r\n .subscribe((passwordText: string) => {\r\n PersonSettingsProfileState.updatePassword(passwordText);\r\n subject.onNext(PersonSettingsProfileState);\r\n });\r\n\r\n PersonProfileEvents.userIntents.toggleShowPassword\r\n .subscribe(() => {\r\n PersonSettingsProfileState.togglePassword();\r\n subject.onNext(PersonSettingsProfileState)\r\n });\r\n\r\n PersonProfileEvents.userIntents.showInfoPanel\r\n .subscribe(() => {\r\n PersonSettingsProfileState.showInfoPanel();\r\n subject.onNext(PersonSettingsProfileState)\r\n });\r\n\r\n PersonProfileEvents.userIntents.clearState\r\n .subscribe((state) => {\r\n PersonSettingsProfileState.setDefaultState();\r\n subject.onNext(PersonSettingsProfileState);\r\n });\r\n\r\n PersonProfileEvents.httpResults.uploadProfilePictureCompleted\r\n .subscribe((url: string) => {\r\n PersonSettingsProfileState.resetUploadingState();\r\n PersonSettingsProfileState.setProfilePictureUrl(url);\r\n subject.onNext(PersonSettingsProfileState);\r\n });\r\n\r\n PersonProfileEvents.userIntents.uploadProfilePicture\r\n .subscribe(() => {\r\n PersonSettingsProfileState.setUploadingState();\r\n subject.onNext(PersonSettingsProfileState);\r\n });\r\n\r\n ChangeEmailEvents.httpResults.confirmEmailChangeHttpRequestSuccessful\r\n .subscribe((state) => {\r\n PersonSettingsProfileState.setEmailChangeMessageTypeConfirm();\r\n PersonSettingsProfileState.toggleEmailChangeMessageBox();\r\n subject.onNext(PersonSettingsProfileState);\r\n $timeout(()=> {\r\n PersonSettingsProfileState.showEmailChangeConfirmationMessage()\r\n subject.onNext(PersonSettingsProfileState);\r\n }, timeoutTimer);\r\n });\r\n \r\n ChangeEmailEvents.httpResults.cancelEmailChangeHttpRequestSuccessful\r\n .subscribe((state) => {\r\n PersonSettingsProfileState.setEmailChangeMessageTypeCancel();\r\n PersonSettingsProfileState.toggleEmailChangeMessageBox();\r\n subject.onNext(PersonSettingsProfileState);\r\n $timeout(()=> {\r\n PersonSettingsProfileState.showEmailChangeConfirmationMessage();\r\n subject.onNext(PersonSettingsProfileState);\r\n }, timeoutTimer);\r\n });\r\n\r\n ChangeEmailEvents.httpResults.confirmEmailChangeHttpRequestFailure\r\n .merge(ChangeEmailEvents.httpResults.cancelEmailChangeHttpRequestFailure)\r\n .subscribe((state) => {\r\n PersonSettingsProfileState.setEmailChangeMessageTypeError();\r\n PersonSettingsProfileState.toggleEmailChangeMessageBox();\r\n subject.onNext(PersonSettingsProfileState);\r\n $timeout(()=> {\r\n PersonSettingsProfileState.showEmailChangeConfirmationMessage()\r\n subject.onNext(PersonSettingsProfileState);\r\n }, timeoutTimer);\r\n });\r\n\r\n return subject;\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core.State {\r\n\r\n class ProposalState implements IProposalState {\r\n\r\n private defaultTieredPlanId: any;\r\n public stepsComplete: {\r\n directorsAdded: boolean,\r\n proposalTypeChosen: boolean,\r\n feeRatesChosen: boolean\r\n };\r\n\r\n public proposal: Models.IProposal;\r\n public errors: {};\r\n \r\n saveError: string = \"\";\r\n\r\n saving: boolean = false;\r\n submitting: boolean = false;\r\n editing: boolean = false;\r\n locked: boolean = false;\r\n\r\n canSubmit: boolean;\r\n\r\n public visibleSections: Models.ProposalSections;\r\n public completedSections: Models.ProposalSections;\r\n\r\n constructor() {\r\n \tthis.proposal = this.getDefaultProposalState();\r\n\r\n this.stepsComplete = {\r\n directorsAdded: false,\r\n proposalTypeChosen: false,\r\n feeRatesChosen: false\r\n }\r\n\r\n this.completedSections = {\r\n details: false,\r\n contracts: false,\r\n live: false\r\n }\r\n\r\n this.visibleSections = {\r\n details: true,\r\n contracts: false,\r\n live: false\r\n };\r\n }\r\n\r\n //SAVING STATE LOGIC\r\n public resetNewProposalSavingState(): void {\r\n this.saving = false;\r\n }\r\n\r\n public setNewProposalSavingState(): void {\r\n this.saving = true;\r\n }\r\n\r\n public setSubmittingState(): void {\r\n this.submitting = true;\r\n }\r\n\r\n public resetSubmittingState(): void {\r\n this.submitting = false;\r\n }\r\n\r\n public setProposal(proposal: Models.IProposal): void {\r\n this.proposal = proposal;\r\n this.editing = false;\r\n this.updateProposalCompleteness();\r\n this.checkDetailsSection();\r\n this.lockInputsIfInSubmitted();\r\n document.body.scrollTop = document.documentElement.scrollTop = 0;\r\n }\r\n\r\n private lockInputsIfInSubmitted(): void {\r\n if(this.proposal && this.proposal.status == \"Submitted\") {\r\n this.locked = true;\r\n }\r\n }\r\n\r\n private checkDetailsSection(): void {\r\n if (this.stepsComplete.directorsAdded && \r\n this.stepsComplete.proposalTypeChosen && \r\n this.stepsComplete.feeRatesChosen && \r\n this.proposal.customer\r\n ){\r\n this.completedSections.details = true\r\n return\r\n }\r\n\r\n this.completedSections.details = false\r\n }\r\n\r\n public setAgency(agency: Models.IProposalOrganisation): void {\r\n this.proposal.customer = agency;\r\n }\r\n public removeAgency(): void {\r\n this.proposal.customer = null;\r\n }\r\n\r\n public setSalesPerson(person: any): void {\r\n this.proposal.salesPersonId = person.id;\r\n this.proposal.salesPersonName = `${person.firstName} ${person.lastName}`; \r\n }\r\n\r\n public addDirector(director: Models.IDirector): void {\r\n if (!this.proposal.directors) {\r\n this.proposal.directors = []\r\n }\r\n this.proposal.directors.push(director);\r\n this.updateProposalCompleteness();\r\n };\r\n\r\n public editDirector(director: Models.IDirector): void {\r\n this.proposal.directors.splice(director.indexInDirectors, 1, director);\r\n this.updateProposalCompleteness();\r\n };\r\n\r\n public clearDirectors () {\r\n this.proposal.directors = [];\r\n this.updateProposalCompleteness();\r\n }\r\n\r\n public setSelectedDirectorsAsIssueTo(): void {\r\n if (this.proposalIsSet && !R.isNil(this.proposal.directors)) {\r\n this.proposal.directors.forEach((director) => {\r\n director.issueTo = director.isSelected || false;\r\n });\r\n }\r\n }\r\n\r\n public removeDirector(directors: Array, index: number): void {\r\n Sonovate.Core.Utils.Array.removeItemByIndex(this.proposal.directors, index);\r\n this.updateProposalCompleteness();\r\n };\r\n\r\n public changeFundingModel(fundingModel: Enums.ProposalFundingModel) {\r\n if (this.proposalIsSet()) {\t\t\r\n this.proposal.fundingModel = fundingModel;\t\t\r\n }\r\n this.updateProposalCompleteness();\r\n }\r\n\r\n\r\n public addCurrency(): void {\r\n this.proposal.tariffs.push(this.getDefaultCurrencyModel());\r\n this.updateProposalCompleteness();\r\n };\r\n\r\n public removeCurrency(currencyIndex: number): void {\r\n this.proposal.tariffs.forEach((currentCurrency, index, array) => {\r\n if (currentCurrency.index == currencyIndex) {\r\n array.splice(index, 1);\r\n }\r\n });\r\n this.updateProposalCompleteness();\r\n };\r\n\r\n public changeCurrency(currencyIndex: number, currencyCode: string): void {\r\n this.proposal.tariffs.forEach((tariff) => {\r\n if (tariff.index == currencyIndex) {\r\n tariff.currencyCode = currencyCode;\r\n }\r\n });\r\n this.updateProposalCompleteness();\r\n };\r\n\r\n public changeRate(item: number, newState: any): void {\r\n this.proposal.tariffs.forEach((currentCurrency, index, array) => {\r\n if (currentCurrency.index == item) {\r\n currentCurrency.tariffType = newState;\r\n }\r\n });\r\n this.updateProposalCompleteness();\r\n };\r\n\r\n public changeTariffFlatRate(tariffIndex: number, newFlatRate: number): void {\r\n this.proposal.tariffs.forEach((currentCurrency, index, array) => {\r\n if (index == tariffIndex) {\r\n currentCurrency.flatRate = newFlatRate;\r\n }\r\n });\r\n this.updateProposalCompleteness();\r\n }\r\n\r\n public changeCurrencyRate(currencyIndex: number, rateName: any): void {\r\n this.proposal.tariffs.forEach((currentCurrency, index, array) => {\r\n if (currentCurrency.index === currencyIndex) {\r\n currentCurrency.fees[rateName.id].rate = rateName.rate;\r\n }\r\n });\r\n this.updateProposalCompleteness();\r\n };\r\n\r\n public changeTariffType(currencyIndex: any, newType: any): void {\r\n this.proposal.tariffs.forEach((currentCurrency, index, array) => {\r\n if (currentCurrency.index === currencyIndex) {\r\n currentCurrency.tariffType = newType;\r\n }\r\n });\r\n this.updateProposalCompleteness();\r\n };\r\n\r\n public addCurrencyTier(currencyIndex: number, tier: Models.ITariffPlanFeeModel): void {\r\n this.proposal.tariffs.forEach((currentCurrency, index, array) => {\r\n var lastFee = R.last(currentCurrency.fees);\r\n if (lastFee && currentCurrency.index === currencyIndex) {\r\n currentCurrency.flatRate = 0;\r\n currentCurrency.fees.push({\r\n id: lastFee.id + 1,\r\n low: tier.high,\r\n high: \"No Limit\",\r\n rate: 0\r\n });\r\n }\r\n });\r\n this.updateProposalCompleteness();\r\n };\r\n\r\n public removeCurrencyTier(currencyIndex: number, tierIndex: number): void {\r\n this.proposal.tariffs.forEach((current: Models.ITieredTariffPlan, index, array) => {\r\n if(current.index === currencyIndex) {\r\n current.fees.forEach((currentIndex: Models.ITariffPlanFeeModel, index: number, array: Models.ITariffPlanFeeModel[]) => {\r\n if(currentIndex.id == tierIndex) {\r\n array.splice(index, 1);\r\n array[index-1].high = \"No Limit\";\r\n }\r\n })\r\n }\r\n })\r\n this.updateProposalCompleteness();\r\n };\r\n\r\n public changeTieredRateFrequency(currencyIndex: any, tierIndex: string): void {\r\n this.proposal.tariffs.forEach((currentCurrency, index, array) => {\r\n if (index == currencyIndex) {\r\n currentCurrency.period = tierIndex;\r\n }\r\n });\r\n this.updateProposalCompleteness();\r\n };\r\n\r\n //BASE TARIFF OPERATIONS\r\n public changeCurrencyBaseTariff(currencyCode: string): void {\r\n this.proposal.baseTariff.currencyCode = currencyCode;\r\n };\r\n\r\n public changeTariffTypeBaseTariff(currencyIndex: number, newType: any): void {\r\n if(this.proposal && this.proposal.baseTariff ){\r\n this.proposal.baseTariff.tariffType = newType;\r\n }\r\n this.updateProposalCompleteness();\r\n };\r\n\r\n public changeTariffFlatRateBaseTariff(newFlatRate: number): void {\r\n this.proposal.baseTariff.flatRate = newFlatRate\r\n }\r\n\r\n public changeCurrencyRateBaseTariff(rate: any): void {\r\n this.proposal.baseTariff.fees[rate.id].rate = rate.rate;\r\n };\r\n\r\n public addCurrencyTierBaseTariff(currencyIndex: number, tier: Models.ITariffPlanFeeModel): void {\r\n var lastFee = R.last(this.proposal.baseTariff.fees);\r\n if (lastFee && this.proposal.baseTariff.index === currencyIndex) {\r\n this.proposal.baseTariff.flatRate = 0;\r\n this.proposal.baseTariff.fees.push({\r\n id: lastFee.id + 1,\r\n low: tier.high,\r\n high: \"No Limit\",\r\n rate: 0\r\n });\r\n }\r\n };\r\n\r\n public removeCurrencyTierBaseTariff(tierIndex: number): void {\r\n this.proposal.baseTariff.fees.forEach((current: Models.ITieredTariffPlan, index, array) => {\r\n if(current.id == tierIndex) {\r\n array.splice(index, 1);\r\n array[index-1].high = \"No Limit\";\r\n }\r\n })\r\n };\r\n\r\n public changeFundingModelBaseTariff(fundingModel: Enums.ProposalFundingModel) {\r\n this.proposal.fundingModel = fundingModel;\r\n }\r\n\r\n public changeTieredRateFrequencyBaseTariff(tierIndex: string): void {\r\n this.proposal.baseTariff.period = tierIndex;\r\n };\r\n\r\n\r\n\r\n public setCustomerTerms(terms: Models.ITermsTemplate) {\r\n this.proposal.customerTerms = terms;\r\n }\r\n\r\n public getCurrenciesOfTariffsWhichHaveNoFees() : string[] {\r\n return R.map(\r\n (tariff) => tariff.currencyCode, \r\n R.filter(\r\n (tariff) => !this.tariffRatesAreFilledIn(tariff),\r\n this.proposal.tariffs\r\n )\r\n );\r\n }\r\n\r\n private getDefaultCurrencyModel() : Models.ITieredTariffPlan {\r\n return {\r\n id: null,\r\n tariffType: \"Flat\",\r\n period: \"Monthly\",\r\n flatRate: null,\r\n currencyCode: \"GBP\",\r\n index: this.proposal.tariffs.length + 1,\r\n fees: [\r\n this.getDefaultFeeModel()\r\n ]\r\n };\r\n }\r\n\r\n private getDefaultFeeModel() : Models.ITariffPlanFeeModel {\r\n return {\r\n id: 0,\r\n low: 0,\r\n high: \"No Limit\",\r\n rate: 0,\r\n };\r\n }\r\n\r\n private proposalIsSet() : boolean {\r\n return !R.isNil(this.proposal);\r\n }\r\n\r\n private getDefaultProposalState() : Models.IProposal {\r\n return {\r\n permissions: {\r\n canIssueProposal: false,\r\n canApproveProposal: false,\r\n canReissueProposal: false,\r\n canApproveOnboardingDocument: false,\r\n canDraftProposal: false,\r\n canSubmitProposal: false,\r\n canViewProposal: false,\r\n canViewProposals: false\r\n },\r\n id: undefined,\r\n\t customer: null,\r\n salesPersonId: null,\r\n salesPersonName: null,\r\n status: \"Draft\",\r\n tariffs: []\r\n }\r\n }\r\n\r\n //VISIBLE SECTION CONTROL\r\n public showDetails(): void {\r\n this.visibleSections.details = true;\r\n this.visibleSections.contracts = false;\r\n this.visibleSections.live = false;\r\n }\r\n\r\n public showContracts(): void {\r\n this.visibleSections.details = false;\r\n this.visibleSections.contracts = true;\r\n this.visibleSections.live = false;\r\n }\r\n\r\n public showLive(): void {\r\n this.visibleSections.details = false;\r\n this.visibleSections.contracts = false;\r\n this.visibleSections.live = true;\r\n }\r\n\r\n // ENABLE EDITING\r\n public setEditMode(): void {\r\n this.editing = true;\r\n }\r\n public unsetEditMode() {\r\n this.editing = false;\r\n }\r\n\r\n //PROPOSAL CHECKS\r\n public updateProposalCompleteness() : void {\r\n this.stepsComplete.directorsAdded = this.directorsStepIsComplete();\r\n this.stepsComplete.proposalTypeChosen = this.proposalTypeStepIsComplete();\r\n this.stepsComplete.feeRatesChosen = this.feeRatesStepIsComplete();\r\n }\r\n \r\n private directorsStepIsComplete() : boolean {\r\n return this.proposal && this.proposal.directors && this.proposal.directors.length > 0;\r\n }\r\n\r\n private proposalTypeStepIsComplete() : boolean {\r\n return this.proposal && !R.isNil(this.proposal.fundingModel) && !R.isEmpty(this.proposal.fundingModel);\r\n }\r\n\r\n private feeRatesStepIsComplete(): boolean {\r\n return (\r\n this.proposal &&\r\n this.proposal.tariffs.length > 0 &&\r\n this.tariffsAreFilledIn()\r\n );\r\n }\r\n\r\n private tariffsAreFilledIn() : boolean {\r\n var trueFalseArray = R.uniq(this.getBoolanListOfFilledInTarrifs());\r\n return trueFalseArray.length === 1 && R.last(trueFalseArray) === true;\r\n }\r\n\r\n private getBoolanListOfFilledInTarrifs() : boolean[] {\r\n if(this.proposal.tariffs.length > 0){\r\n return this.proposal.tariffs.map((tariff, index): boolean => {\r\n return !R.isEmpty(tariff.currencyCode) && this.tariffRatesAreFilledIn(tariff);\r\n })\r\n }else{\r\n return [false];\r\n }\r\n }\r\n\r\n private tariffRatesAreFilledIn(tariff:Models.ITieredTariffPlan) : boolean {\r\n if (tariff.tariffType === \"Flat\") {\r\n return tariff.flatRate > 0;\r\n }\r\n return true;\r\n } \r\n\r\n //SET & REMOVE ERRORS\r\n public setSaveError(error: any) : void {\r\n this.saveError = error;\r\n } \r\n\r\n public resetErrors() : void {\r\n this.saveError = \"\";\r\n }\r\n\r\n private areContractsSet(documents: Models.IOnboardingDocument[]): boolean {\r\n return documents\r\n && documents.length\r\n && documents.every((document) => {\r\n return (document.showPreview || !!document.signingUrl);\r\n });\r\n }\r\n\r\n public updateContractsSet(documents: Models.IOnboardingDocument[]): void {\r\n this.completedSections.contracts = this.areContractsSet(documents);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"ProposalState\", ProposalState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"ProposalStateUpdates\", \r\n (\r\n ProposalState: IProposalState,\r\n ProposalEvents: Events.IProposalEvents,\r\n TermsEvents: Events.ITermEvents,\r\n OnboardingDocumentEvents: Core.Events.IOnboardingDocumentEvents,\r\n $state: ng.ui.IStateService,\r\n OnboardingDocumentStateUpdates: Rx.BehaviorSubject\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(ProposalState);\r\n var resetState = angular.copy(ProposalState); \r\n\r\n //SAVING OPERATIONS\r\n ProposalEvents.httpResults.getNewProposalDraftSuccess\r\n .merge(ProposalEvents.httpResults.getProposalDuplicateSuccess)\r\n .merge(ProposalEvents.httpResults.getProposalSuccess)\r\n .merge(ProposalEvents.httpResults.issueProposalSuccess)\r\n .merge(ProposalEvents.httpResults.saveProposalSuccess)\r\n .subscribe((proposalDraft: Models.IProposal) => {\r\n ProposalState.setProposal(proposalDraft);\r\n ProposalState.resetNewProposalSavingState();\r\n ProposalState.unsetEditMode();\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.createNewProposal\r\n .subscribe(() => {\r\n ProposalState.setNewProposalSavingState();\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.saveProposal\r\n .subscribe(() => {\r\n ProposalState.setNewProposalSavingState();\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.issueProposal\r\n .subscribe(() => {\r\n ProposalState.setSubmittingState();\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n //HTTP RESULTS\r\n ProposalEvents.httpResults.saveProposalSuccess\r\n .subscribe((proposal: Models.IProposal) => {\r\n ProposalState.setProposal(proposal);\r\n ProposalState.resetNewProposalSavingState();\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.httpResults.createNewProposalSuccess\r\n .subscribe((proposal: Models.IProposal) => {\r\n ProposalState.setProposal(proposal);\r\n ProposalState.resetNewProposalSavingState();\r\n subject.onNext(ProposalState);\r\n });\r\n \r\n ProposalEvents.httpResults.approveProposalSuccess\r\n .merge(ProposalEvents.httpResults.rejectProposalSuccess)\r\n .merge(ProposalEvents.httpResults.issueContractsSuccess)\r\n .merge(ProposalEvents.httpResults.reissueContractsSuccess)\r\n .subscribe((proposal: Models.IProposal) => {\r\n OnboardingDocumentEvents.userIntents.getProposalOnboardingDocuments.onNext(proposal.id);\r\n ProposalState.setProposal(proposal);\r\n ProposalState.resetSubmittingState();\r\n ProposalState.resetNewProposalSavingState();\r\n ProposalState.showContracts();\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n //HTTP FAILS\r\n ProposalEvents.httpResults.saveProposalError\r\n .subscribe((error: any) => {\r\n ProposalState.resetNewProposalSavingState();\r\n ProposalState.setSaveError(error.data || \"Could not save Proposal\");\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.httpResults.issueProposalError\r\n .subscribe((error: any) => {\r\n ProposalState.resetSubmittingState();\r\n ProposalState.setSaveError(error.data || \"Could not issue Proposal\");\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n \r\n ProposalEvents.httpResults.createNewProposalError\r\n .subscribe((error: any) => {\r\n ProposalState.resetNewProposalSavingState();\r\n ProposalState.setSaveError(error.data || \"Could not create new proposal\");\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n //DISMISS ERRORS\r\n ProposalEvents.userIntents.dismissErrors\r\n .subscribe((error: any) => {\r\n ProposalState.resetNewProposalSavingState();\r\n ProposalState.resetErrors();\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n //AGENCY OPERATIONS\r\n ProposalEvents.userIntents.setAgency\r\n .subscribe((agency: Models.IProposalOrganisation) => {\r\n ProposalState.setAgency(agency);\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.setAgency\r\n .subscribe((agency: Models.IProposalOrganisation) => {\r\n ProposalState.setAgency(agency);\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.removeAgency\r\n .subscribe(() => {\r\n ProposalState.removeAgency();\r\n ProposalState.clearDirectors();\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n //SALES PERSON EVENTS\r\n ProposalEvents.userIntents.setSalesPerson\r\n .subscribe((person: Models.IPerson) => {\r\n ProposalState.setSalesPerson(person);\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n //DIRECTOR EVENTS\r\n ProposalEvents.userIntents.addDirector\r\n .subscribe((director: Models.IDirector) => {\r\n ProposalState.addDirector(director);\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.editDirector\r\n .subscribe((director: Models.IDirector) => {\r\n ProposalState.editDirector(director);\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.removeDirector\r\n .subscribe((directorIndex: number) => {\r\n ProposalState.removeDirector(ProposalState.proposal.directors, directorIndex);\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n //SERVICE RATE TIER OPERATIONS\r\n ProposalEvents.userIntents.addCurrency\r\n .subscribe(() => {\r\n ProposalState.addCurrency();\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.removeCurrency\r\n .subscribe((currencyIndex: number) => {\r\n ProposalState.removeCurrency(currencyIndex);\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.changeCurrency\r\n .subscribe((given) => {\r\n ProposalState.changeCurrency(given.currencyIndex, given.currencyCode);\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.changeCurrencyRate\r\n .subscribe((given) => {\r\n ProposalState.changeCurrencyRate(given.currencyIndex, given.rateName);\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.addCurrencyTier\r\n .subscribe((given) => {\r\n ProposalState.addCurrencyTier(given.currencyIndex, given.tier);\r\n subject.onNext(ProposalState);\r\n });\r\n \r\n ProposalEvents.userIntents.changeTariffFlatRate\r\n .subscribe((given: any) => {\r\n ProposalState.changeTariffFlatRate(given.currencyIndex, given.rate);\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.removeCurrencyTier\r\n .subscribe((given) => {\r\n ProposalState.removeCurrencyTier(given.currencyIndex, given.tierIndex);\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.changeTieredRateFrequency\r\n .subscribe((given) => {\r\n ProposalState.changeTieredRateFrequency(given.currencyIndex, given.tieredRate);\r\n subject.onNext(ProposalState);\r\n });\r\n \r\n ProposalEvents.userIntents.changeFundingModel\r\n .subscribe((given) => {\r\n ProposalState.changeFundingModel(given);\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.changeState\r\n .subscribe((given) => {\r\n ProposalState.changeRate(given.item, given.newState);\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.updateTariffType\r\n .subscribe((given) => {\r\n ProposalState.changeTariffType(given.item, given.newType);\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n //BASE TARIFF EVENTS\r\n ProposalEvents.userIntents.changeCurrencyBaseTariff\r\n .subscribe((given) => {\r\n ProposalState.changeCurrencyBaseTariff(given.currencyCode);\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.changeCurrencyRateBaseTariff\r\n .subscribe((given) => {\r\n ProposalState.changeCurrencyRateBaseTariff(given.rateName);\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.addCurrencyTierBaseTariff\r\n .subscribe((given) => {\r\n ProposalState.addCurrencyTierBaseTariff(given.currencyIndex, given.tier);\r\n subject.onNext(ProposalState);\r\n });\r\n \r\n ProposalEvents.userIntents.changeTariffFlatRateBaseTariff\r\n .subscribe((given: any) => {\r\n ProposalState.changeTariffFlatRateBaseTariff(given.rate);\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.removeCurrencyTierBaseTariff\r\n .subscribe((given) => {\r\n ProposalState.removeCurrencyTierBaseTariff(given.tierIndex);\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.changeTieredRateFrequencyBaseTariff\r\n .subscribe((given) => {\r\n ProposalState.changeTieredRateFrequencyBaseTariff(given.tieredRate);\r\n subject.onNext(ProposalState);\r\n });\r\n \r\n ProposalEvents.userIntents.changeFundingModelBaseTariff\r\n .subscribe((given) => {\r\n ProposalState.changeFundingModel(given);\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.updateTariffTypeBaseTariff\r\n .subscribe((given) => {\r\n ProposalState.changeTariffTypeBaseTariff(given.item, given.newType);\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n //CLEAR STATE\r\n ProposalEvents.userIntents.clearProposalState\r\n .subscribe(() => {\r\n ProposalState = angular.copy(resetState);\r\n subject.onNext(ProposalState);\r\n });\r\n \r\n TermsEvents.userIntents.selectTermsForProposal\r\n .subscribe((terms) => {\r\n ProposalState.setCustomerTerms(terms); \r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.showDetails\r\n .subscribe((given) => {\r\n ProposalState.showDetails();\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.showContracts\r\n .subscribe((given) => {\r\n ProposalState.showContracts();\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.showLive\r\n .subscribe((given) => {\r\n ProposalState.showLive();\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n ProposalEvents.userIntents.setEditMode\r\n .subscribe((given) => {\r\n ProposalState.setEditMode();\r\n subject.onNext(ProposalState);\r\n });\r\n\r\n OnboardingDocumentStateUpdates \r\n .subscribe((state: Core.State.IOnboardingDocumentState) => {\r\n if (state && state.activeDocuments) { \r\n ProposalState.updateContractsSet(state.activeDocuments);\r\n subject.onNext(ProposalState);\r\n } \r\n });\r\n \r\n return subject;\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class ProposalTermsState extends BaseTermsState {\r\n \r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"ProposalTermsState\", ProposalTermsState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n var ProposalTermsStateUpdates = (\r\n ProposalTermsState: State.ITermsTemplateListState,\r\n TermsEvents: Events.ITermEvents\r\n ) => {\r\n var subject = new Rx.BehaviorSubject(ProposalTermsState);\r\n\r\n TermsEvents.userIntents.viewOrgansationTerms\r\n .subscribe(() => {\r\n ProposalTermsState.clear();\r\n subject.onNext(ProposalTermsState);\r\n });\r\n\r\n TermsEvents.httpResults.retrievedProposalTemplateTerms\r\n .subscribe((terms: Models.ITermsTemplate[]) => {\r\n ProposalTermsState.replaceAllTerms(terms);\r\n subject.onNext(ProposalTermsState);\r\n });\r\n\r\n TermsEvents.httpResults.savedTermsSuccessful\r\n .merge(TermsEvents.httpResults.pdfUploadSuccessful)\r\n .subscribe((terms: Models.ITermsTemplate) => {\r\n ProposalTermsState.addTemplateTerms(terms);\r\n subject.onNext(ProposalTermsState);\r\n });\r\n\r\n TermsEvents.httpResults.updateTermsSuccessful\r\n .subscribe((terms: Models.ITermsTemplate) => {\r\n ProposalTermsState.updateTemplateTerms(terms);\r\n subject.onNext(ProposalTermsState);\r\n });\r\n\r\n TermsEvents.httpResults.setTermsAsDefaultSucessful\r\n .subscribe((terms: Models.ITermsTemplate) => {\r\n ProposalTermsState.setTemplateTermsAsDefault(terms);\r\n subject.onNext(ProposalTermsState);\r\n });\r\n\r\n TermsEvents.userIntents.initateDeleteTerms.subscribe((terms) => {\r\n ProposalTermsState.initiateDeleteTemplateTerms(terms);\r\n subject.onNext(ProposalTermsState);\r\n })\r\n\r\n TermsEvents.httpResults.deleteTermsSuccessful\r\n .subscribe(() => {\r\n ProposalTermsState.confirmDeleteTemplateTerms();\r\n subject.onNext(ProposalTermsState);\r\n }); \r\n\r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").factory(\"ProposalTermsStateUpdates\", ProposalTermsStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n var RiskStatusStateUpdates = (\r\n RiskStatusState: RiskStatusState,\r\n RiskEvents: Events.RiskEvents,\r\n StateChangeService: Services.StateChangeService,\r\n organisationActions: any, // js file\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(RiskStatusState);\r\n\r\n organisationActions.subjects.getOrganisationOnSuccess\r\n .subscribe((state) => {\r\n RiskStatusState.setAssessment(state.model.assessmentSummary)\r\n subject.onNext(RiskStatusState); \r\n })\r\n \r\n RiskEvents.userIntents.setAssessmentStatus\r\n .subscribe((status) => {\r\n RiskStatusState.setAssessmentStatus(status);\r\n subject.onNext(RiskStatusState); \r\n });\r\n\r\n RiskEvents.httpResults.carryOutGetRiskStatusesHttpRequestSuccessful\r\n .subscribe((riskStatuses: IDictionary) => {\r\n RiskStatusState.setStatuses(riskStatuses);\r\n subject.onNext(RiskStatusState);\r\n });\r\n\r\n RiskEvents.httpResults.submittedRiskStatusSuccessful\r\n .subscribe((statusResult) => {\r\n RiskStatusState.setAssessmentStatus(statusResult.assessmentStatus);\r\n subject.onNext(RiskStatusState);\r\n });\r\n\r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").factory(\"RiskStatusStateUpdates\", RiskStatusStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class RoleState implements IRoleState {\r\n\r\n roles: Models.IRole[]; \r\n\r\n constructor() {\r\n this.roles = [];\r\n }\r\n\r\n setRoles(roles: Models.IRole[]): void {\r\n this.roles = roles;\r\n }\r\n\r\n getRolesAsCheckListItems(): Models.IChecklistItem[] {\r\n return R.map((role: Models.IRole ): Models.IChecklistItem => {\r\n return {\r\n name: role.name,\r\n description: role.description,\r\n // important to convert the role id to string for javascript\r\n // because the role ids are numbers and the checklist wont register them\r\n // as ticket case its strictly comparing a number with a string\r\n value: role.id + \"\"\r\n }\r\n }, this.roles);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"RoleState\", RoleState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"RoleStateUpdates\", \r\n (\r\n RoleState: IRoleState,\r\n referenceDataActions: IReferenceDataActions\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(RoleState);\r\n\r\n referenceDataActions.resultSubjects.getRolesListSuccess\r\n .subscribe((roles: Models.IRole[]) => {\r\n RoleState.setRoles(roles);\r\n subject.onNext(RoleState);\r\n });\r\n \r\n return subject;\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"SigninStateUpdates\", \r\n (\r\n SigninState: Sonovate.Core.State.SigninState,\r\n SigninEvents: Sonovate.Core.Events.SigninEvents,\r\n OAuthEvents: Sonovate.Core.Events.OAuthEvents,\r\n $state: ng.ui.IStateService,\r\n signOutActions: ISignOutActions\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(SigninState);\r\n\r\n signOutActions.subjects.logoutSuccess\r\n .subscribe((state) => {\r\n SigninState.clearState();\r\n subject.onNext(SigninState);\r\n });\r\n\r\n SigninEvents.userIntents.typeEmail\r\n .subscribe((email) => {\r\n SigninState.setEmail(email);\r\n subject.onNext(SigninState);\r\n });\r\n\r\n OAuthEvents.userIntents.setErrorsFromFailedOauthSignin\r\n .subscribe((error: string) => {\r\n SigninState.setNonLocalisedError(error);\r\n subject.onNext(SigninState);\r\n $state.go('sonovate.signin');\r\n });\r\n \r\n SigninEvents.userIntents.typePassword\r\n .subscribe((password) => {\r\n SigninState.setPassword(password);\r\n subject.onNext(SigninState);\r\n });\r\n \r\n SigninEvents.userIntents.toggleShowPassword\r\n .subscribe(() => {\r\n SigninState.toggleShowPassword();\r\n subject.onNext(SigninState);\r\n });\r\n \r\n SigninEvents.userIntents.submitSignin\r\n .subscribe(() => {\r\n SigninState.beginSignIn();\r\n subject.onNext(SigninState);\r\n });\r\n\r\n SigninEvents.httpResults.submitSigninError\r\n .subscribe((error) => {\r\n SigninState.setError(error);\r\n subject.onNext(SigninState);\r\n });\r\n \r\n SigninEvents.httpResults.submitSigninSuccess\r\n .subscribe(() => {\r\n SigninState.completeSignIn();\r\n subject.onNext(SigninState);\r\n });\r\n \r\n return subject;\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n var SignupStateUpdates = (\r\n SignupEvents: Sonovate.Core.Events.SignupEvents,\r\n SignupState: Sonovate.Core.State.SignupState,\r\n $state: ng.ui.IStateService\r\n ) => {\r\n var subject = new Rx.BehaviorSubject(SignupState);\r\n\r\n SignupEvents.userIntents.userTypedInFirstNameInput.subscribe((firstName: string) => {\r\n SignupState.setFirstName(firstName);\r\n subject.onNext(SignupState);\r\n })\r\n\r\n SignupEvents.userIntents.userTypedInLastNameInput.subscribe((lastName: string) => {\r\n SignupState.setLastName(lastName);\r\n subject.onNext(SignupState);\r\n })\r\n\r\n SignupEvents.userIntents.userTypedInEmailInput.subscribe((emailAddress: string) => {\r\n SignupState.setEmailAddress(emailAddress);\r\n subject.onNext(SignupState);\r\n })\r\n\r\n SignupEvents.userIntents.userTypedInPasswordInput.subscribe((password: string) => {\r\n SignupState.setPassword(password);\r\n subject.onNext(SignupState);\r\n })\r\n\r\n SignupEvents.userIntents.toggleShowPassword.subscribe(() => {\r\n SignupState.toggleShowPassword();\r\n subject.onNext(SignupState);\r\n });\r\n\r\n SignupEvents.userIntents.userToggledTermsAndConditions.subscribe(()=> {\r\n SignupState.toggleTermsAndConditionsAcceptance();\r\n subject.onNext(SignupState);\r\n })\r\n\r\n SignupEvents.userIntents.userSubmittedDetailsForAccountActivation\r\n .subscribe(() => {\r\n SignupState.validateState();\r\n SignupState.beginSigningUp();\r\n subject.onNext(SignupState);\r\n })\r\n \r\n // The form submit and form is invalid events can fire out of sync\r\n // if this happens the state will forever be in a isSigningUp = true state hence we zip \r\n Rx.Observable\r\n .zip(\r\n SignupEvents.userIntents.formIsNotValidForSubmission,\r\n SignupEvents.userIntents.userSubmittedDetailsForAccountActivation,\r\n (userAccountDetails: Models.IUserSignupDetails) => userAccountDetails\r\n )\r\n .subscribe((userAccountDetails: Models.IUserSignupDetails) => {\r\n SignupState.validateState();\r\n SignupState.finishSigningUp();\r\n subject.onNext(SignupState); \r\n });\r\n \r\n SignupEvents.userIntents.oAuthFormIsNotValidForSubmission\r\n .subscribe((userAccountDetails: Models.IUserSignupDetails) => {\r\n SignupState.validateTermsAndConditions();\r\n SignupState.finishSigningUp();\r\n subject.onNext(SignupState);\r\n });\r\n \r\n //HTTPResults\r\n SignupEvents.httpResults.submitUserTokenForAuthenticationSuccess\r\n .subscribe((userDetails: Models.IUserSignupDetails) => {\r\n SignupState.setUserDetailsFromAuthenticationSuccess(userDetails);\r\n subject.onNext(SignupState);\r\n })\r\n\r\n SignupEvents.httpResults.submitUserTokenForAuthenticationFailure\r\n .subscribe((error: string) => {\r\n SignupState.setErrorResponse(error);\r\n $state.go('sonovate.signin', {\r\n signupToken: undefined\r\n });\r\n SignupState.finishSigningUp();\r\n subject.onNext(SignupState);\r\n })\r\n\r\n SignupEvents.httpResults.userSubmittedDetailsForAccountActivationSuccess\r\n .subscribe((activatedAccount: Models.ISignedInUser) => {\r\n SignupState.finishSigningUp();\r\n SignupState.clearState();\r\n subject.onNext(SignupState);\r\n })\r\n\r\n SignupEvents.httpResults.userSubmittedDetailsForAccountActivationFailure\r\n .subscribe((error: string) => {\r\n SignupState.validateState();\r\n SignupState.finishSigningUp();\r\n SignupState.setErrorResponse(error);\r\n subject.onNext(SignupState);\r\n })\r\n \r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"SignupStateUpdates\", SignupStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class SlideoutState implements ISlideoutState { \r\n \r\n static $inject = [\r\n \"$state\"\r\n ];\r\n\r\n slideoutNames: {};\r\n slideoutShowing: string;\r\n\r\n constructor(\r\n protected $state: ng.ui.IStateService\r\n ) {\r\n this.slideoutNames = [];\r\n this.slideoutShowing = \"\";\r\n }\r\n\r\n public registerSlideout(slideout: Events.ISlideoutRegisterIntent) : void {\r\n\r\n if ( R.isNil(slideout.name) || R.isEmpty(slideout.name)) {\r\n throw new Error(`\\n[snSlideout]: You have not provided a valid name for registing a slideout.`);\r\n }\r\n\r\n if (this.slideoutIsRegistered(slideout.name)) {\r\n throw new Error(`\\n[snSlideout]: You can not add a slideout called \"${slideout.name}\"\" because it is already registered.`);\r\n }\r\n\r\n this.insertNewSlideout(slideout);\r\n }\r\n\r\n private insertNewSlideout(slideout: Events.ISlideoutRegisterIntent) : void {\r\n this.slideoutNames[slideout.name] = {\r\n StayOpenForRoutes: slideout.StayOpenForRoutes\r\n };\r\n }\r\n\r\n public deregisterSlideout(name: string): void {\r\n if (this.slideoutIsRegistered(name)) {\r\n this.slideoutNames = R.pick(R.difference(this.getSlideoutNames(), [name]), this.slideoutNames);\r\n } else {\r\n throw new Error(`\\n[snSlideout]: Can not de register slideout called \"${name}\"\" because it does not exist.\\n Slideouts that exist are ${JSON.stringify(this.getSlideoutNames())}`);\r\n }\r\n }\r\n\r\n public slideoutIsShowing(name: string) : boolean {\r\n return this.slideoutShowing === name;\r\n }\r\n\r\n public toggleSlideout(name: string): void {\r\n if ( this.slideoutIsShowing(name) ) {\r\n this.closeSlideout();\r\n } else {\r\n this.showSlideout(name);\r\n }\r\n }\r\n\r\n public showSlideout(name: string) : void {\r\n if ( !this.slideoutIsRegistered(name) ) {\r\n throw new Error(`\\n[snSlideout]: Can not show slideout called \"${name}\"\" because it does not exist.\\n Slideouts that exist are ${JSON.stringify(this.getSlideoutNames())}`);\r\n }\r\n this.slideoutShowing = name;\r\n }\r\n\r\n public closeSlideout() : void {\r\n this.slideoutShowing = \"\";\r\n }\r\n\r\n public closeSlideoutIfNotOnRegisteredRoute(): void {\r\n if(!this.weAreOnSlideoutOpenRoute()) {\r\n this.closeSlideout();\r\n }\r\n }\r\n\r\n private weAreOnSlideoutOpenRoute() : boolean {\r\n if (!R.isEmpty(this.slideoutShowing)) {\r\n return R.contains(\r\n this.$state.current.name, \r\n this.slideoutNames[this.slideoutShowing]['StayOpenForRoutes']\r\n );\r\n }\r\n return false;\r\n }\r\n\r\n public slideoutIsOpen() : boolean {\r\n return !R.isEmpty(this.slideoutShowing);\r\n }\r\n\r\n private slideoutIsRegistered(name: string) : boolean {\r\n return R.contains(name, this.getSlideoutNames());\r\n }\r\n\r\n private getSlideoutNames() : string[] {\r\n return R.keys(this.slideoutNames);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"SlideoutState\", SlideoutState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"SlideoutStateUpdates\", \r\n (\r\n SlideoutState: ISlideoutState, \r\n SlideoutEvents: Events.IEvents\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(SlideoutState);\r\n\r\n SlideoutEvents.userIntents.registerSlideout\r\n .subscribe((registerIntent: Events.ISlideoutRegisterIntent) => {\r\n SlideoutState.registerSlideout(registerIntent);\r\n subject.onNext(SlideoutState);\r\n });\r\n\r\n SlideoutEvents.userIntents.deregisterSlideout\r\n .subscribe((slideoutName: string) => {\r\n SlideoutState.deregisterSlideout(slideoutName);\r\n subject.onNext(SlideoutState);\r\n });\r\n\r\n SlideoutEvents.userIntents.toggleSlideout\r\n .subscribe((slideoutName: string) => {\r\n SlideoutState.toggleSlideout(slideoutName);\r\n subject.onNext(SlideoutState);\r\n });\r\n\r\n SlideoutEvents.userIntents.showSlideout\r\n .subscribe((slideoutName: string) => {\r\n SlideoutState.showSlideout(slideoutName);\r\n subject.onNext(SlideoutState);\r\n });\r\n\r\n SlideoutEvents.userIntents.closeSlideout\r\n .subscribe(() => {\r\n SlideoutState.closeSlideout();\r\n subject.onNext(SlideoutState);\r\n });\r\n \r\n SlideoutEvents.userIntents.closeSlideoutIfNotOnRegisteredRoute\r\n .subscribe(() => {\r\n SlideoutState.closeSlideoutIfNotOnRegisteredRoute();\r\n subject.onNext(SlideoutState);\r\n });\r\n\r\n return subject;\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"TimesheetAddExpenseStateUpdates\", \r\n (\r\n TimesheetAddExpenseState: TimesheetAddExpenseState,\r\n TimesheetAddExpensesEvents: Sonovate.Core.Events.ITimesheetAddExpensesEvents,\r\n TimesheetStateUpdates: Rx.BehaviorSubject,\r\n MessageBarEvents: Events.MessageBarEvents,\r\n TimesheetEvents: Events.ITimesheetEvents,\r\n StateChangeService: Services.StateChangeService,\r\n $stateParams : ng.ui.IStateParamsService,\r\n $state: ng.ui.IStateService\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(TimesheetAddExpenseState);\r\n\r\n TimesheetAddExpensesEvents.userIntents.addExpense\r\n .filter((intent: Sonovate.Core.Events.IAddExpenseUserIntent) => {\r\n return intent.isValid;\r\n })\r\n .subscribe((image) => {\r\n TimesheetAddExpenseState.setSaving();\r\n subject.onNext(TimesheetAddExpenseState); \r\n }); \r\n\r\n TimesheetAddExpensesEvents.httpResults.addExpenseCompleted\r\n .merge(TimesheetAddExpensesEvents.httpResults.addExpenseError)\r\n .subscribe((image) => {\r\n TimesheetAddExpenseState.resetSaving();\r\n subject.onNext(TimesheetAddExpenseState);\r\n }); \r\n \r\n TimesheetAddExpensesEvents.userIntents.addEvidencePicture\r\n .subscribe((image) => {\r\n TimesheetAddExpenseState.addEvidencePicture(image);\r\n subject.onNext(TimesheetAddExpenseState);\r\n }); \r\n\r\n TimesheetAddExpensesEvents.userIntents.addMultipleEvidencePictures.subscribe((images) => {\r\n TimesheetAddExpenseState.replaceEvidencePictures(images);\r\n subject.onNext(TimesheetAddExpenseState);\r\n }); \r\n\r\n TimesheetAddExpensesEvents.userIntents.setExpenseType.subscribe((expenseType) => {\r\n TimesheetAddExpenseState.setExpenseType(expenseType);\r\n TimesheetAddExpenseState.checkExpenseType(expenseType);\r\n TimesheetAddExpenseState.clearErrors();\r\n subject.onNext(TimesheetAddExpenseState);\r\n });\r\n\r\n TimesheetAddExpensesEvents.userIntents.setNet.subscribe((netAmount) => {\r\n TimesheetAddExpenseState.setNetAmount(netAmount);\r\n TimesheetAddExpenseState.checkNetInput(netAmount);\r\n subject.onNext(TimesheetAddExpenseState);\r\n });\r\n \r\n TimesheetAddExpensesEvents.userIntents.setVat.subscribe((vatAmount) => {\r\n TimesheetAddExpenseState.setVatAmount(vatAmount);\r\n TimesheetAddExpenseState.checkVatInput(vatAmount);\r\n subject.onNext(TimesheetAddExpenseState);\r\n });\r\n\r\n TimesheetAddExpensesEvents.userIntents.updateDescription.subscribe((description) => {\r\n TimesheetAddExpenseState.setDescription(description);\r\n subject.onNext(TimesheetAddExpenseState);\r\n });\r\n\r\n TimesheetAddExpensesEvents.userIntents.setQuantity.subscribe((quantity: string) => {\r\n TimesheetAddExpenseState.setRateQuantity(quantity);\r\n TimesheetAddExpenseState.checkQuantity(quantity);\r\n subject.onNext(TimesheetAddExpenseState);\r\n });\r\n\r\n TimesheetAddExpensesEvents.userIntents.dismissSaved.subscribe(() => {\r\n TimesheetAddExpenseState.resetSaved();\r\n subject.onNext(TimesheetAddExpenseState);\r\n });\r\n\r\n TimesheetAddExpensesEvents.httpResults.addExpenseCompleted\r\n .subscribe(() => {\r\n TimesheetAddExpenseState.clear();\r\n TimesheetAddExpenseState.setSaved();\r\n subject.onNext(TimesheetAddExpenseState);\r\n });\r\n\r\n TimesheetAddExpensesEvents.userIntents.removeEvidencePicture\r\n .subscribe(() => {\r\n TimesheetAddExpenseState.removeEvidencePicture(); \r\n subject.onNext(TimesheetAddExpenseState);\r\n });\r\n \r\n TimesheetAddExpensesEvents.userIntents.addExpense.subscribe(() => {\r\n TimesheetAddExpenseState.doSubmitValidations();\r\n subject.onNext(TimesheetAddExpenseState);\r\n });\r\n \r\n TimesheetAddExpensesEvents.httpResults.addExpenseError\r\n .subscribe((errorText: string) => {\r\n MessageBarEvents.userIntents.showErrorMessage.onNext(errorText);\r\n subject.onNext(TimesheetAddExpenseState);\r\n });\r\n \r\n TimesheetAddExpensesEvents.httpResults.conflictError\r\n .subscribe(() => {\r\n TimesheetAddExpenseState.enableConflictError();\r\n TimesheetAddExpenseState.resetSaving();\r\n subject.onNext(TimesheetAddExpenseState);\r\n });\r\n\r\n TimesheetAddExpensesEvents.userIntents.dismissError\r\n .subscribe(() => {\r\n TimesheetAddExpenseState.disableConflictError();\r\n subject.onNext(TimesheetAddExpenseState);\r\n });\r\n \r\n return subject;\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"TimesheetAddWorkStateUpdates\", \r\n (\r\n TimesheetAddWorkState: State.TimesheetAddWorkState,\r\n TimesheetAddWorkEvents: Sonovate.Core.Events.TimesheetAddWorkEvents,\r\n signedInUserStore: Sonovate.ISignedInUserStore,\r\n TimesheetStateUpdates: Rx.BehaviorSubject,\r\n MessageBarEvents: Events.MessageBarEvents,\r\n StateChangeService: Services.StateChangeService,\r\n signOutActions: ISignOutActions,\r\n $stateParams : ng.ui.IStateParamsService,\r\n $state: ng.ui.IStateService\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(TimesheetAddWorkState);\r\n\r\n signOutActions\r\n .subjects\r\n .logoutSuccess\r\n .subscribe((state) => {\r\n TimesheetAddWorkState.clearDropdowns();\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n\r\n signedInUserStore\r\n .subject\r\n .subscribe((state) => {\r\n TimesheetAddWorkState.setTimeFormat(state.settings.timeFormat);\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n \r\n TimesheetStateUpdates\r\n .subscribe((state: Core.State.TimesheetState) => {\r\n if (state.activeTimesheet.timesheetId !== TimesheetAddWorkState.activeTimesheetId) {\r\n TimesheetAddWorkState.setActiveTimesheetId(state.activeTimesheet.timesheetId);\r\n TimesheetAddWorkState.clearAll();\r\n\r\n }\r\n if (state.activeTimesheet.assignment.canBookNonWork) {\r\n TimesheetAddWorkState.setNonWorkReasons(state.nonWorkReasons);\r\n TimesheetAddWorkState.setNonWorkUnit(state.activeTimesheet.assignment.nonWorkUnit);\r\n TimesheetAddWorkState.setNonWorkUnitsOfMeasure(state.activeTimesheet.assignment.nonWorkSubUnits);\r\n }\r\n\r\n TimesheetAddWorkState.setServiceRates(state.activeTimesheet.assignment.serviceRates);\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n\r\n\r\n TimesheetAddWorkEvents\r\n .httpResults\r\n .conflictError\r\n .subscribe(() => {\r\n TimesheetAddWorkState.clearAll();\r\n TimesheetAddWorkState.enableConflictError();\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n\r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .dismissError\r\n .subscribe(() => {\r\n TimesheetAddWorkState.clearAll();\r\n TimesheetAddWorkState.dismissConflictError();\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n\r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .clearAddWorkForm\r\n .subscribe(() => {\r\n TimesheetAddWorkState.clearAll();\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n\r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .openAddWorkModal\r\n .subscribe(() => {\r\n TimesheetAddWorkState.openAddWorkModal();\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n\r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .closeAddWorkModal\r\n .subscribe(() => {\r\n TimesheetAddWorkState.closeAddWorkModal();\r\n TimesheetAddWorkState.clearSelectedDates();\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n\r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .userSelectsDatesToAddWork\r\n .subscribe((dates: string[]) => {\r\n TimesheetAddWorkState.setUserSelectedDates(dates);\r\n TimesheetAddWorkState.clearCalendarError();\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n \r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .typeDescription\r\n .subscribe((description: string) => {\r\n TimesheetAddWorkState.typeDescription(description);\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n\r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .selectServiceRate\r\n .subscribe((id: number) => {\r\n TimesheetAddWorkState.selectServiceRate(id);\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n\r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .submitEntry\r\n .subscribe(() => {\r\n TimesheetAddWorkState.attemptSubmit();\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n\r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .validate\r\n .subscribe(() => {\r\n TimesheetAddWorkState.validateWorkEntry()\r\n subject.onNext(TimesheetAddWorkState)\r\n })\r\n\r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .editWorkEntry\r\n .subscribe(() => {\r\n TimesheetAddWorkState.validateWorkEntry();\r\n TimesheetAddWorkState.attemptSubmit();\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n \r\n TimesheetAddWorkEvents \r\n .userIntents\r\n .setNonWorkUnitOfMeasure \r\n .subscribe((nonWorkObject) => {\r\n TimesheetAddWorkState.setNonWorkUnitOfMeasure(nonWorkObject);\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n\r\n TimesheetAddWorkEvents \r\n .httpResults\r\n .submitWorkEntrySuccess\r\n .merge(TimesheetAddWorkEvents.httpResults.editWorkEntrySuccess)\r\n .merge(TimesheetAddWorkEvents.httpResults.submitNonWorkEntrySuccess)\r\n .merge(TimesheetAddWorkEvents.httpResults.editNonWorkEntrySuccess)\r\n .subscribe(() => {\r\n TimesheetAddWorkState.clearAll();\r\n TimesheetAddWorkState.setSuccess();\r\n TimesheetAddWorkState.closeAddWorkModal();\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n \r\n TimesheetAddWorkEvents \r\n .userIntents\r\n .clearSelectedDates\r\n .subscribe(() => {\r\n TimesheetAddWorkState.clearSelectedDates();\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n\r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .typeHours\r\n .subscribe((hours) => {\r\n TimesheetAddWorkState.typeWorkHours(hours);\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n \r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .blurHours\r\n .subscribe(() => {\r\n TimesheetAddWorkState.validateAddHourlyWork();\r\n TimesheetAddWorkState.validatieHoursAndMinutes();\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n\r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .typeMinutes\r\n .subscribe((minutes) => {\r\n TimesheetAddWorkState.typeWorkMinutes(minutes);\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n \r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .blurMinutes\r\n .subscribe(() => {\r\n TimesheetAddWorkState.validateAddHourlyWork();\r\n TimesheetAddWorkState.validatieHoursAndMinutes();\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n \r\n\r\n // TIME/QUANTITY Entry\r\n TimesheetAddWorkEvents\r\n .userIntents \r\n .typeStartTime\r\n .subscribe((time: string) => {\r\n TimesheetAddWorkState.typeStartTime(time);\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n\r\n TimesheetAddWorkEvents\r\n .userIntents \r\n .blurStartTime\r\n .subscribe(() => {\r\n TimesheetAddWorkState.calculateTime()\r\n subject.onNext(TimesheetAddWorkState)\r\n });\r\n \r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .typeEndTime\r\n .subscribe((time: string) => {\r\n TimesheetAddWorkState.typeEndTime(time);\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n \r\n TimesheetAddWorkEvents\r\n .userIntents \r\n .blurEndTime\r\n .subscribe(() => {\r\n TimesheetAddWorkState.calculateTime()\r\n subject.onNext(TimesheetAddWorkState)\r\n });\r\n\r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .typeBreakHours\r\n .subscribe((hours) => {\r\n TimesheetAddWorkState.typeBreakHours(hours);\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n \r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .blurBreakHours\r\n .subscribe(() => {\r\n TimesheetAddWorkState.calculateTime()\r\n subject.onNext(TimesheetAddWorkState)\r\n });\r\n \r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .typeBreakMinutes\r\n .subscribe((minutes) => {\r\n TimesheetAddWorkState.typeBreakMinutes(minutes); \r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n \r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .blurBreakMinutes\r\n .subscribe(() => {\r\n TimesheetAddWorkState.calculateTime()\r\n subject.onNext(TimesheetAddWorkState)\r\n });\r\n\r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .typeQuantity\r\n .subscribe((amount: string) => {\r\n TimesheetAddWorkState.typeQuantity(amount);\r\n subject.onNext(TimesheetAddWorkState);\r\n }); \r\n \r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .blurQuantity\r\n .subscribe(() => {\r\n TimesheetAddWorkState.blurQuantity();\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n\r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .dismissSuccess\r\n .subscribe(() => {\r\n TimesheetAddWorkState.resetSuccess();\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n\r\n TimesheetAddWorkEvents.userIntents.startEditingWorkEntry\r\n .subscribe((index: number) => {\r\n TimesheetAddWorkState.setExpandedIndex(index);\r\n subject.onNext(TimesheetAddWorkState);\r\n })\r\n\r\n TimesheetAddWorkEvents.userIntents.stopEditingWorkEntry\r\n .subscribe(() => {\r\n TimesheetAddWorkState.clearExpandedIndex();\r\n subject.onNext(TimesheetAddWorkState);\r\n })\r\n\r\n TimesheetAddWorkEvents\r\n .httpResults\r\n .submitNonWorkEntryFail\r\n .merge(TimesheetAddWorkEvents.httpResults.editNonWorkEntryFailure)\r\n .subscribe((errorText: string) => {\r\n TimesheetAddWorkState.resetSuccess();\r\n TimesheetAddWorkState.resetAdding();\r\n MessageBarEvents.userIntents.showErrorMessage.onNext(errorText);\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n\r\n TimesheetAddWorkEvents\r\n .httpResults\r\n .submitWorkEntryFail\r\n .merge(TimesheetAddWorkEvents.httpResults.editWorkEntryFailure)\r\n .subscribe((errorText: string) => {\r\n TimesheetAddWorkState.resetSuccess();\r\n TimesheetAddWorkState.resetAdding();\r\n MessageBarEvents.userIntents.showErrorMessage.onNext(errorText);\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n\r\n\r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .setCalendarView\r\n .subscribe((value: boolean) => {\r\n if (value) TimesheetAddWorkState.copySelectedDates()\r\n TimesheetAddWorkState.setCalendarViewable(value)\r\n subject.onNext(TimesheetAddWorkState)\r\n })\r\n\r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .userCancelsAddingWorkDates\r\n .subscribe(() => {\r\n TimesheetAddWorkState.resetSelectedDates()\r\n TimesheetAddWorkState.resetSelectedDatesCopy()\r\n })\r\n\r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .userCompletesAddingWorkDates\r\n .subscribe(() => {\r\n TimesheetAddWorkState.resetSelectedDatesCopy()\r\n })\r\n\r\n\r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .userStartsAddWorkFlow\r\n .subscribe((addWorkflowIntent) => {\r\n TimesheetAddWorkState.setTimesheetEntryToAdd();\r\n TimesheetAddWorkState.selectServiceRate(TimesheetAddWorkState.serviceRates[0].serviceRateId);\r\n TimesheetAddWorkState.setUserSelectedDates(addWorkflowIntent.selectedDates);\r\n if (addWorkflowIntent.addingBulkTime) {\r\n TimesheetAddWorkState.setCalendarViewable(true);\r\n TimesheetAddWorkState.setAddingBulkTime(true);\r\n }\r\n TimesheetAddWorkState.openAddWorkModal();\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n \r\n\r\n TimesheetAddWorkEvents\r\n .userIntents\r\n .userStartsEditWorkFlow\r\n .subscribe((timesheetEntry: Models.ITimesheetEntry) => {\r\n TimesheetAddWorkState.setTimesheetEntryToEdit(timesheetEntry);\r\n TimesheetAddWorkState.openAddWorkModal();\r\n subject.onNext(TimesheetAddWorkState);\r\n });\r\n \r\n return subject;\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core.State {\r\n\r\n class TimesheetAutofillState implements Core.State.ITimesheetAutofillState {\r\n isAutofilling: boolean;\r\n successMessage: string;\r\n showSuccessMessage: boolean;\r\n errorMessage: string;\r\n showErrorMessage: boolean;\r\n showConflictMessage: boolean;\r\n\r\n beginAutofill () {\r\n this.isAutofilling = true;\r\n };\r\n\r\n completeAutofill () {\r\n this.isAutofilling = false;\r\n };\r\n\r\n enableConflictMessage(): void {\r\n this.showConflictMessage = true;\r\n }\r\n\r\n setMessage (message: Core.Events.IAutofillMessage) {\r\n if (message && message.isSuccess) {\r\n this.showSuccessMessage = true;\r\n this.successMessage = message.message;\r\n this.showErrorMessage = false;\r\n this.errorMessage = \"\";\r\n }\r\n\r\n if (message && ! message.isSuccess) {\r\n this.showSuccessMessage = false;\r\n this.successMessage = \"\";\r\n this.showErrorMessage = true;\r\n this.errorMessage = message.message;\r\n }\r\n }\r\n\r\n dismissMessage () {\r\n this.showSuccessMessage = false;\r\n this.successMessage = \"\";\r\n this.showErrorMessage = false;\r\n this.errorMessage = \"\";\r\n this.showConflictMessage = false;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetAutofillState\", TimesheetAutofillState);\r\n}","\r\n/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"TimesheetAutofillStateUpdates\", \r\n (\r\n TimesheetAutofillState: ITimesheetAutofillState,\r\n TimesheetAutofillEvents: Sonovate.Core.Events.ITimesheetAutofillEvents\r\n ) => {\r\n var subject = new Rx.BehaviorSubject(TimesheetAutofillState);\r\n\r\n TimesheetAutofillEvents.userIntents.autofillTimesheet.subscribe(() => { \r\n TimesheetAutofillState.beginAutofill();\r\n subject.onNext(TimesheetAutofillState);\r\n });\r\n\r\n TimesheetAutofillEvents.httpResults.autofillTimesheetSuccess.subscribe((result) => {\r\n TimesheetAutofillState.completeAutofill();\r\n TimesheetAutofillState.setMessage(result.message);\r\n subject.onNext(TimesheetAutofillState);\r\n });\r\n\r\n TimesheetAutofillEvents.httpResults.autofillTimesheetError.subscribe((result) => {\r\n TimesheetAutofillState.completeAutofill();\r\n subject.onNext(TimesheetAutofillState);\r\n }); \r\n\r\n TimesheetAutofillEvents.httpResults.conflictError.subscribe(() => {\r\n TimesheetAutofillState.completeAutofill();\r\n TimesheetAutofillState.enableConflictMessage();\r\n subject.onNext(TimesheetAutofillState);\r\n }); \r\n\r\n TimesheetAutofillEvents.userIntents.dismissConflictError.subscribe(() => {\r\n TimesheetAutofillState.completeAutofill();\r\n subject.onNext(TimesheetAutofillState);\r\n }); \r\n\r\n TimesheetAutofillEvents.userIntents.dismissMessage.subscribe(() => {\r\n TimesheetAutofillState.dismissMessage();\r\n subject.onNext(TimesheetAutofillState);\r\n });\r\n\r\n return subject;\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core.State {\r\n\r\n export interface ITimesheetDeclineFormErrors {\r\n declineReason: boolean;\r\n }\r\n\r\n export class TimesheetDeclineState {\r\n currentDeliveryPeriod: Models.IDeliveryPeriod = {};\r\n formErrors: ITimesheetDeclineFormErrors = {\r\n declineReason: false\r\n };\r\n declineReason: string = '';\r\n \r\n setCurrentDeliveryPeriod (deliveryPeriod: Models.IDeliveryPeriod) {\r\n this.currentDeliveryPeriod = deliveryPeriod; \r\n } \r\n\r\n typeDeclineReason (text: string) {\r\n this.declineReason = text;\r\n }\r\n\r\n setDeclineReasonValidationError(value) {\r\n this.formErrors.declineReason = value;\r\n }\r\n\r\n clearDeclineState() {\r\n this.currentDeliveryPeriod = {};\r\n this.declineReason = '';\r\n this.formErrors.declineReason = false;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetDeclineState\", TimesheetDeclineState); \r\n\r\n}\r\n","\r\n/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"TimesheetDeclineStateUpdates\", \r\n (\r\n TimesheetDeclineState: Core.State.TimesheetDeclineState,\r\n TimesheetDeclineEvents: Sonovate.Core.Events.TimesheetDeclineEvents,\r\n TimesheetStateUpdates: Rx.BehaviorSubject,\r\n MessageBarEvents: Events.MessageBarEvents,\r\n $state: ng.ui.IStateService\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(TimesheetDeclineState);\r\n\r\n TimesheetStateUpdates\r\n .subscribe((state) => {\r\n subject.onNext(TimesheetDeclineState);\r\n });\r\n\r\n TimesheetDeclineEvents.httpResults.declineTimesheetError\r\n .subscribe(() => {\r\n TimesheetDeclineState.clearDeclineState();\r\n TimesheetDeclineState.setDeclineReasonValidationError(true);\r\n subject.onNext(TimesheetDeclineState);\r\n });\r\n\r\n TimesheetDeclineEvents.userIntents.clearState\r\n .subscribe(() => {\r\n TimesheetDeclineState.clearDeclineState();\r\n subject.onNext(TimesheetDeclineState);\r\n });\r\n\r\n TimesheetDeclineEvents.httpResults.declineTimesheetSuccess\r\n .subscribe(() => {\r\n TimesheetDeclineState.clearDeclineState();\r\n subject.onNext(TimesheetDeclineState);\r\n $state.go(\"^\");\r\n });\r\n\r\n TimesheetDeclineEvents.userIntents.typeDeclineReason\r\n .subscribe((text: string) => {\r\n TimesheetDeclineState.typeDeclineReason(text);\r\n subject.onNext(TimesheetDeclineState);\r\n });\r\n\r\n return subject;\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"TimesheetEditExpenseStateUpdates\", \r\n (\r\n TimesheetEditExpenseState: ITimesheetEditExpensesState,\r\n TimesheetEditExpenseEvents: Sonovate.Core.Events.ITimesheetEditExpensesEvents,\r\n StateChangeService: Sonovate.Core.Services.StateChangeService,\r\n MessageBarEvents: Events.MessageBarEvents,\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(TimesheetEditExpenseState);\r\n\r\n StateChangeService\r\n .getStateChangeObservableForRoute('sonovate.TimesheetsExpensesView')\r\n .subscribe((state) => {\r\n TimesheetEditExpenseState.clearExpense();\r\n TimesheetEditExpenseState.dismissDescription();\r\n subject.onNext(TimesheetEditExpenseState); \r\n });\r\n\r\n TimesheetEditExpenseEvents\r\n .userIntents\r\n .clickReadMore\r\n .subscribe((expense: Models.ITimesheetExpense) => {\r\n TimesheetEditExpenseState.clearExpense();\r\n TimesheetEditExpenseState.setExpense(expense);\r\n TimesheetEditExpenseState.setSelectedExpenseId(expense.id);\r\n TimesheetEditExpenseState.openEditDescriptionOnly();\r\n subject.onNext(TimesheetEditExpenseState);\r\n }); \r\n\r\n TimesheetEditExpenseEvents\r\n .userIntents\r\n .cancelEditExpense\r\n .subscribe(() => {\r\n TimesheetEditExpenseState.clearExpense();\r\n TimesheetEditExpenseState.setSelectedExpenseId(null);\r\n subject.onNext(TimesheetEditExpenseState);\r\n }); \r\n\r\n TimesheetEditExpenseEvents\r\n .userIntents\r\n .openEditExpense\r\n .subscribe((expense: Models.ITimesheetExpense) => {\r\n TimesheetEditExpenseState.clearExpense();\r\n TimesheetEditExpenseState.dismissDescription();\r\n TimesheetEditExpenseState.setExpense(expense);\r\n TimesheetEditExpenseState.setSelectedExpenseId(expense.id);\r\n subject.onNext(TimesheetEditExpenseState);\r\n }); \r\n \r\n TimesheetEditExpenseEvents\r\n .userIntents\r\n .addEvidencePicture\r\n .subscribe((image) => {\r\n TimesheetEditExpenseState.addEvidencePicture(image);\r\n subject.onNext(TimesheetEditExpenseState);\r\n }); \r\n\r\n TimesheetEditExpenseEvents\r\n .userIntents\r\n .addMultipleEvidencePictures\r\n .subscribe((images) => {\r\n TimesheetEditExpenseState.replaceEvidencePictures(images);\r\n subject.onNext(TimesheetEditExpenseState);\r\n }); \r\n\r\n TimesheetEditExpenseEvents\r\n .userIntents\r\n .setExpenseType\r\n .subscribe((expenseType) => {\r\n TimesheetEditExpenseState.setExpenseType(expenseType);\r\n TimesheetEditExpenseState.checkExpenseType(expenseType);\r\n subject.onNext(TimesheetEditExpenseState);\r\n });\r\n\r\n TimesheetEditExpenseEvents\r\n .userIntents\r\n .setNet\r\n .subscribe((netAmount) => {\r\n TimesheetEditExpenseState.setNetAmount(netAmount);\r\n TimesheetEditExpenseState.checkNetInput(netAmount);\r\n subject.onNext(TimesheetEditExpenseState);\r\n });\r\n \r\n TimesheetEditExpenseEvents\r\n .userIntents\r\n .setVat\r\n .subscribe((vatAmount) => {\r\n TimesheetEditExpenseState.setVatAmount(vatAmount);\r\n TimesheetEditExpenseState.checkVatInput(vatAmount);\r\n subject.onNext(TimesheetEditExpenseState);\r\n });\r\n\r\n TimesheetEditExpenseEvents\r\n .userIntents\r\n .dismissDescription\r\n .subscribe(() => {\r\n TimesheetEditExpenseState.dismissDescription();\r\n subject.onNext(TimesheetEditExpenseState);\r\n });\r\n \r\n TimesheetEditExpenseEvents\r\n .userIntents\r\n .openDescription\r\n .subscribe(() => {\r\n TimesheetEditExpenseState.openDescription();\r\n subject.onNext(TimesheetEditExpenseState);\r\n });\r\n\r\n TimesheetEditExpenseEvents\r\n .userIntents\r\n .updateDescription\r\n .subscribe((description) => {\r\n TimesheetEditExpenseState.setDescription(description);\r\n subject.onNext(TimesheetEditExpenseState);\r\n });\r\n\r\n TimesheetEditExpenseEvents\r\n .userIntents\r\n .setQuantity\r\n .subscribe((quantity: string) => {\r\n TimesheetEditExpenseState.setRateQuantity(quantity);\r\n TimesheetEditExpenseState.checkRateQuantity(quantity);\r\n subject.onNext(TimesheetEditExpenseState);\r\n });\r\n\r\n TimesheetEditExpenseEvents\r\n .userIntents\r\n .removeAndCloseDescription\r\n .subscribe(() => {\r\n TimesheetEditExpenseState.expense.descriptionText = \"\";\r\n TimesheetEditExpenseState.dismissDescription();\r\n subject.onNext(TimesheetEditExpenseState);\r\n });\r\n\r\n TimesheetEditExpenseEvents.httpResults\r\n .editExpenseCompleted\r\n .subscribe((timesheet: Models.ITimesheet) => {\r\n TimesheetEditExpenseState.clearExpense();\r\n TimesheetEditExpenseState.setSelectedExpenseId(null);\r\n subject.onNext(TimesheetEditExpenseState);\r\n }); \r\n\r\n TimesheetEditExpenseEvents\r\n .httpResults\r\n .editExpenseError\r\n .subscribe((errorText: string) => {\r\n MessageBarEvents.userIntents.showErrorMessage.onNext(errorText);\r\n subject.onNext(TimesheetEditExpenseState);\r\n });\r\n\r\n TimesheetEditExpenseEvents\r\n .userIntents\r\n .dismissError\r\n .subscribe(() => {\r\n TimesheetEditExpenseState.disableConflictError();\r\n subject.onNext(TimesheetEditExpenseState);\r\n });\r\n\r\n TimesheetEditExpenseEvents\r\n .httpResults\r\n .conflictError\r\n .subscribe(() => {\r\n TimesheetEditExpenseState.enableConflictError();\r\n subject.onNext(TimesheetEditExpenseState);\r\n }); \r\n \r\n return subject;\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core.State {\r\n\r\n class TimesheetManageState implements Core.State.ITimesheetManageState {\r\n currentDeliveryPeriod: Models.IDeliveryPeriod = {};\r\n \r\n setCurrentDeliveryPeriod (deliveryPeriod: Models.IDeliveryPeriod) {\r\n this.currentDeliveryPeriod = deliveryPeriod; \r\n } \r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetManageState\", TimesheetManageState); \r\n\r\n}\r\n","\r\n/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"TimesheetManageStateUpdates\", \r\n (\r\n TimesheetManageState: ITimesheetManageState,\r\n TimesheetManageEvents: Sonovate.Core.Events.TimesheetManageEvents,\r\n TimesheetStateUpdates: Rx.BehaviorSubject,\r\n MessageBarEvents: Events.MessageBarEvents,\r\n $state: ng.ui.IStateService\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(TimesheetManageState);\r\n\r\n TimesheetStateUpdates\r\n .subscribe((state) => {\r\n subject.onNext(TimesheetManageState);\r\n });\r\n\r\n TimesheetManageEvents.userIntents.manageTimesheet\r\n .subscribe(() => {\r\n subject.onNext(TimesheetManageState);\r\n });\r\n\r\n TimesheetManageEvents.httpResults.manageTimesheetSuccess\r\n .subscribe(() => {\r\n $state.go(\"^\");\r\n });\r\n\r\n return subject;\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core.State {\r\n\r\n class TimesheetMessageState implements Core.State.ITimesheetMessageState {\r\n\r\n message: string = \"\";\r\n candidateName: string = \"\";\r\n id: string = \"\";\r\n periodEnd: string = \"\";\r\n\r\n constructor() {\r\n }\r\n\r\n setMessageView (timesheet: Models.ITimesheetSearchResult) {\r\n this.message = timesheet.submissionMessage;\r\n this.candidateName = timesheet.candidateName;\r\n this.id = \"TS\" + timesheet.timesheetId;\r\n this.periodEnd = timesheet.deliveryPeriodEndDate;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetMessageState\", TimesheetMessageState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n \r\n angular.module(\"sonovate.core\").factory(\r\n \"TimesheetMessageStateUpdates\", \r\n (\r\n TimesheetMessageState: ITimesheetMessageState, \r\n TimesheetMessageEvents: Events.ITimesheetMessageEvents\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(TimesheetMessageState);\r\n\r\n TimesheetMessageEvents.userIntents.setMessage\r\n .subscribe((timesheet: Models.ITimesheetSearchResult) => {\r\n TimesheetMessageState.setMessageView(timesheet);\r\n subject.onNext(TimesheetMessageState);\r\n });\r\n\r\n return subject;\r\n }\r\n\r\n );\r\n}","\r\n/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"TimesheetRejectStateUpdates\", \r\n (\r\n TimesheetRejectState: TimesheetRejectState,\r\n TimesheetRejectEvents: Sonovate.Core.Events.ITimesheetRejectEvents,\r\n TimesheetStateUpdates: Rx.BehaviorSubject,\r\n MessageBarEvents: Events.MessageBarEvents\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(TimesheetRejectState);\r\n\r\n TimesheetStateUpdates\r\n .subscribe((state) => {\r\n subject.onNext(TimesheetRejectState);\r\n });\r\n\r\n TimesheetRejectEvents.userIntents.rejectTimesheet\r\n .subscribe(() => {\r\n TimesheetRejectState.setTimesheetAsInRejection();\r\n subject.onNext(TimesheetRejectState);\r\n });\r\n \r\n TimesheetRejectEvents.httpResults.rejectTimesheetSuccess\r\n .subscribe(() => {\r\n TimesheetRejectState.setTimesheetAsDoneRejecting();\r\n subject.onNext(TimesheetRejectState);\r\n });\r\n\r\n TimesheetRejectEvents.userIntents.typeRejectionReason\r\n .subscribe((text: string) => {\r\n TimesheetRejectState.typeRejectionReason(text);\r\n subject.onNext(TimesheetRejectState);\r\n });\r\n \r\n \r\n TimesheetRejectEvents.httpResults.rejectTimesheetError\r\n .subscribe((errorMessage: string) => {\r\n TimesheetRejectState.setVaidationMessage(true);\r\n TimesheetRejectState.setTimesheetAsDoneRejecting();\r\n subject.onNext(TimesheetRejectState);\r\n });\r\n \r\n TimesheetRejectEvents.userIntents.clearFields\r\n .subscribe(() => {\r\n TimesheetRejectState.clear();\r\n subject.onNext(TimesheetRejectState);\r\n });\r\n\r\n return subject;\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n var TimesheetSearchStateUpdates = (\r\n TimesheetSearchState: Sonovate.Core.State.TimesheetSearchState,\r\n TimesheetSearchEvents: Sonovate.Core.Events.ITimesheetSearchEvents,\r\n TimesheetSignEvents: Sonovate.Core.Events.TimesheetSignEvents,\r\n TimesheetDismissEvents: Sonovate.Core.Events.ITimesheetDismissEvents ,\r\n TimesheetSearchResultTransformers: Sonovate.Core.Transformers.TimesheetSearchResultTransformers,\r\n StateChangeService: Core.Services.StateChangeService,\r\n MessageBarEvents: Events.MessageBarEvents,\r\n TimesheetSonovateActionEvents: Sonovate.Core.Events.TimesheetSonovateActionEvents\r\n ) => {\r\n var subject = new Rx.BehaviorSubject(TimesheetSearchState);\r\n\r\n TimesheetSearchEvents.userIntents.carryOutSearch\r\n .merge(TimesheetSearchEvents.userIntents.changeAssendingFilter)\r\n .merge(TimesheetSearchEvents.userIntents.changeStatusFilter)\r\n .merge(TimesheetSearchEvents.userIntents.changeManagedFilter)\r\n .merge(TimesheetSearchEvents.userIntents.changeTimesheetFlagFilter)\r\n .merge(TimesheetSearchEvents.userIntents.changeSearchTerm)\r\n .subscribe((intent) => {\r\n TimesheetSearchState.setQuery(intent.query);\r\n TimesheetSearchState.clear();\r\n subject.onNext(TimesheetSearchState)\r\n });\r\n \r\n TimesheetSonovateActionEvents.httpResults.currentBulkApprovalRequest\r\n .subscribe((data: Sonovate.Core.Events.IBulkApproveTimesheetFromListing) => {\r\n TimesheetSearchState.showBulkApprovalValidationMessage(data.showMessage); \r\n TimesheetSearchState.setBulkApprovalStatus(data.isBulkApproving); \r\n subject.onNext(TimesheetSearchState);\r\n });\r\n TimesheetSonovateActionEvents.httpResults.currentBulkApprovalStatusComplete \r\n .subscribe((isBulkApproving: boolean) => { \r\n TimesheetSearchState.setBulkApprovalStatus(isBulkApproving);\r\n subject.onNext(TimesheetSearchState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.httpResults.currentBulkApprovalRequestError\r\n .subscribe((error: string) => {\r\n MessageBarEvents.userIntents.showErrorMessage.onNext(error);\r\n subject.onNext(TimesheetSearchState);\r\n });\r\n \r\n TimesheetSearchEvents.httpResults.carryOutSearchCompleted.subscribe((Timesheets: Models.ITimesheetSearchResultObject) => {\r\n TimesheetSearchState.setContext(Timesheets.context);\r\n if(Timesheets.totalResults != 0){\r\n TimesheetSearchState.setTotalResults(Timesheets.totalResults);\r\n }\r\n TimesheetSearchState.addToCollection(Timesheets.results);\r\n subject.onNext(TimesheetSearchState);\r\n })\r\n\r\n TimesheetSignEvents.httpResults.signTimesheetFromListingSuccess.subscribe((timesheetUpdatedInfo: Models.ISignTimesheetListingResult) => {\r\n TimesheetSearchState.updateSignedSearchResult(timesheetUpdatedInfo);\r\n subject.onNext(TimesheetSearchState);\r\n });\r\n \r\n TimesheetSignEvents.httpResults.signTimesheetFromListingError\r\n .subscribe(({error}) => {\r\n MessageBarEvents.userIntents.showErrorMessage.onNext(error);\r\n subject.onNext(TimesheetSearchState);\r\n });\r\n\r\n TimesheetDismissEvents.httpResults.dismissTimesheetFromListingSuccess\r\n .subscribe((timesheet: Models.ITimesheetSearchResult) => {\r\n TimesheetSearchState.replaceSearchResult(timesheet);\r\n subject.onNext(TimesheetSearchState);\r\n })\r\n\r\n //TODO: May want to move these to another file\r\n\r\n TimesheetSonovateActionEvents.httpResults.conflictListingError\r\n .subscribe((intent: Models.IListingActionInProgressError) => {\r\n TimesheetSearchState.enableConflictError();\r\n TimesheetSearchState.setActionStateOnTimesheet(intent.timesheetId, 'approve', false);\r\n subject.onNext(TimesheetSearchState);\r\n });\r\n\r\n TimesheetDismissEvents.userIntents.dismissTimesheetFromListing\r\n .subscribe((timesheet: Models.ITimesheetSearchResult) => {\r\n TimesheetSearchState.setActionStateOnTimesheet(timesheet.timesheetId, 'dismiss', true);\r\n subject.onNext(TimesheetSearchState);\r\n });\r\n \r\n TimesheetDismissEvents.httpResults.dismissTimesheetFromListingSuccess\r\n .subscribe((timesheet: Models.ITimesheetSearchResult) => {\r\n TimesheetSearchState.setActionStateOnTimesheet(timesheet.timesheetId, 'dismiss', false);\r\n subject.onNext(TimesheetSearchState);\r\n });\r\n\r\n TimesheetDismissEvents.httpResults.dismissTimesheetFromListingFailure\r\n .subscribe((errorObj: Models.IListingActionInProgressError) => {\r\n TimesheetSearchState.disableConflictError();\r\n TimesheetSearchState.setActionStateOnTimesheet(errorObj.timesheetId, 'dismiss', false);\r\n subject.onNext(TimesheetSearchState);\r\n });\r\n\r\n TimesheetSignEvents.userIntents.signTimesheetFromListing\r\n .subscribe((timesheet: Models.ITimesheetSearchResult) => {\r\n TimesheetSearchState.setActionStateOnTimesheet(timesheet.timesheetId, 'sign', true)\r\n subject.onNext(TimesheetSearchState);\r\n });\r\n\r\n TimesheetSignEvents.httpResults.signTimesheetFromListingSuccess\r\n .subscribe((timesheet: Models.ISignTimesheetListingResult) => {\r\n TimesheetSearchState.setActionStateOnTimesheet(timesheet.timesheetId, 'sign', false)\r\n subject.onNext(TimesheetSearchState);\r\n });\r\n\r\n TimesheetSignEvents.httpResults.signTimesheetFromListingError\r\n .subscribe((timesheet: Models.IListingActionInProgressError) => {\r\n MessageBarEvents.userIntents.showErrorMessage.onNext(timesheet.error);\r\n TimesheetSearchState.setActionStateOnTimesheet(timesheet.timesheetId, 'sign', false)\r\n subject.onNext(TimesheetSearchState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.userIntents.userApprovedTimesheetFromListing\r\n .subscribe((intent: Events.IApproveFromListingIntent) => {\r\n TimesheetSearchState.setActionStateOnTimesheet(intent.timesheetId, 'approve', true);\r\n subject.onNext(TimesheetSearchState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.httpResults.userApprovedTimesheetFromListingSuccess\r\n .subscribe((timesheet: Models.ITimesheetSearchResult) => {\r\n TimesheetSearchState.replaceSearchResult(timesheet);\r\n TimesheetSearchState.setActionStateOnTimesheet(timesheet.timesheetId, 'approve', false);\r\n subject.onNext(TimesheetSearchState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.httpResults.userApprovedTimesheetFromListingFailure\r\n .subscribe((timesheetErrorObject: Models.IListingActionInProgressError) => {\r\n MessageBarEvents.userIntents.showErrorMessage.onNext(timesheetErrorObject.error);\r\n TimesheetSearchState.setActionStateOnTimesheet(timesheetErrorObject.timesheetId, 'approve', false);\r\n subject.onNext(TimesheetSearchState);\r\n });\r\n \r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").factory(\"TimesheetSearchStateUpdates\", TimesheetSearchStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n var TimesheetSonovateAddWorkStateUpdates = (\r\n TimesheetSonovateAddWorkState: Sonovate.Core.State.TimesheetSonovateAddWorkState,\r\n TimesheetSonovateActionEvents: Sonovate.Core.Events.TimesheetSonovateActionEvents,\r\n TimesheetEvents: Sonovate.Core.Events.ITimesheetEvents,\r\n TimesheetAddWorkStateUpdates: Rx.BehaviorSubject,\r\n TimesheetClearEvents: Sonovate.Core.Events.TimesheetClearEvents,\r\n TimesheetManageEvents: Sonovate.Core.Events.TimesheetManageEvents,\r\n TimesheetState: Sonovate.Core.State.TimesheetState,\r\n TimesheetCreateEvents: Sonovate.Core.Events.ITimesheetCreateEvents,\r\n MessageBarEvents: Events.MessageBarEvents,\r\n\r\n ) => {\r\n var subject = new Rx.BehaviorSubject(TimesheetSonovateAddWorkState);\r\n\r\n TimesheetSonovateActionEvents.httpResults.userApprovedTimesheetSuccess\r\n .merge(TimesheetSonovateActionEvents.httpResults.reopenTimesheetSuccess)\r\n .merge(TimesheetSonovateActionEvents.httpResults.submitManagedTimesheetSuccess)\r\n .merge(TimesheetClearEvents.httpResults.clearTimesheetSuccess)\r\n .merge(TimesheetManageEvents.httpResults.manageTimesheetSuccess)\r\n .subscribe((timesheet) => {\r\n TimesheetSonovateAddWorkState.setAdhocTransactions(timesheet.adhocTransactions);\r\n TimesheetSonovateAddWorkState.setServiceRateSummariesAndNote(\r\n timesheet.summaries,\r\n timesheet.managedNotes\r\n );\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n\r\n TimesheetCreateEvents.userIntents.createTimesheet\r\n .subscribe(() => { \r\n TimesheetSonovateAddWorkState.clear(); \r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n }\r\n );\r\n\r\n TimesheetEvents.httpResults.getTimesheetCompleted\r\n .subscribe(() => {\r\n TimesheetSonovateAddWorkState.setServiceRateSummariesAndNote(\r\n TimesheetState.activeTimesheet.summaries,\r\n TimesheetState.activeTimesheet.managedNotes\r\n );\r\n TimesheetSonovateAddWorkState.setAdhocTransactions(\r\n TimesheetState.activeTimesheet.adhocTransactions\r\n );\r\n\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n\r\n TimesheetAddWorkStateUpdates\r\n .subscribe((state) => {\r\n TimesheetSonovateAddWorkState.setServiceRates(state.serviceRates);\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.userIntents.removeTimesheetFile\r\n .subscribe((intent) => {\r\n TimesheetSonovateAddWorkState.removeSignedTimesheetFile(intent.summaryIndex);\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.userIntents.closeErrorMessage\r\n .subscribe((intent) => {\r\n TimesheetSonovateAddWorkState.closeMessageBar();\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.httpResults.submitManagedTimesheetError\r\n .subscribe((error: string) => {\r\n MessageBarEvents.userIntents.showErrorMessage.onNext(error);\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.httpResults.uploadSignedTimesheetError\r\n .subscribe((error: string) => {\r\n MessageBarEvents.userIntents.showErrorMessage.onNext(error);\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.userIntents.addMoreEvidence\r\n .subscribe((intent) => {\r\n TimesheetSonovateAddWorkState.addEvidence();\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.userIntents.typeInNotesBox\r\n .subscribe((intent) => {\r\n TimesheetSonovateAddWorkState.setNotes(intent.text);\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n \r\n TimesheetSonovateActionEvents.userIntents.removeEvidence\r\n .subscribe((intent) => {\r\n TimesheetSonovateAddWorkState.removeEvidence(intent.summaryIndex);\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.userIntents.addRate\r\n .subscribe((intent) => {\r\n TimesheetSonovateAddWorkState.addWorkEntry(intent.summaryIndex);\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n \r\n TimesheetSonovateActionEvents.userIntents.removeRate\r\n .subscribe((intent) => {\r\n TimesheetSonovateAddWorkState.removeWorkEntry(intent.summaryIndex, intent.workEntryIndex);\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n \r\n TimesheetSonovateActionEvents.userIntents.selectRate\r\n .subscribe((intent) => {\r\n TimesheetSonovateAddWorkState.updateServiceRate(intent.summaryIndex, intent.workEntryIndex, intent.serviceRateId);\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n \r\n TimesheetSonovateActionEvents.userIntents.typeInRateAmountInput\r\n .subscribe((intent) => {\r\n TimesheetSonovateAddWorkState.updateWorkEntryAmount(intent.summaryIndex, intent.workEntryIndex, intent.amount);\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.userIntents.typeInRateHoursInput\r\n .subscribe((intent) => {\r\n TimesheetSonovateAddWorkState.typeWorkHours(intent.summaryIndex, intent.workEntryIndex, intent.amountHours);\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.userIntents.blurHours\r\n .subscribe((intent) => {\r\n TimesheetSonovateAddWorkState.validateHourlyWork(intent.summaryIndex, intent.workEntryIndex);\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.userIntents.typeInRateMinutesInput\r\n .subscribe((intent) => {\r\n TimesheetSonovateAddWorkState.typeWorkMinutes(intent.summaryIndex, intent.workEntryIndex, intent.amountMinutes);\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.userIntents.blurMinutes\r\n .subscribe((intent) => {\r\n TimesheetSonovateAddWorkState.validateHourlyWork(intent.summaryIndex, intent.workEntryIndex);\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.httpResults.uploadSignedTimesheetSuccess\r\n .subscribe((intent) => {\r\n TimesheetSonovateAddWorkState.setSignedTimesheetFile(intent.summaryIndex, intent.file);\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.userIntents.userTypedTransactionDescription\r\n .subscribe((intent) => {\r\n TimesheetSonovateAddWorkState.setAdhocTransactionDescription(intent.adhocTransactionIndex, intent.description);\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.userIntents.userTypedTransactionPayAmount\r\n .subscribe((intent) => {\r\n TimesheetSonovateAddWorkState.setAdhocTransactionPayAmount(intent.adhocTransactionIndex, intent.payAmount);\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.userIntents.userTypedTransactionChargeAmount\r\n .subscribe((intent) => {\r\n TimesheetSonovateAddWorkState.setAdhocTransactionChargeAmount(intent.adhocTransactionIndex, intent.chargeAmount);\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.userIntents.userClickedDeleteAdhocTransaction\r\n .subscribe((index) => {\r\n TimesheetSonovateAddWorkState.deleteAdhocTransaction(index);\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.userIntents.userClickedAddAdhocTransaction\r\n .subscribe((intent) => {\r\n TimesheetSonovateAddWorkState.addAdhocTransaction();\r\n subject.onNext(TimesheetSonovateAddWorkState);\r\n });\r\n\r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").factory(\"TimesheetSonovateAddWorkStateUpdates\", TimesheetSonovateAddWorkStateUpdates);\r\n}","\r\n/// \r\n\r\nmodule Sonovate.Core.State {\r\n \r\n angular.module(\"sonovate.core\").factory(\r\n \"TimesheetStateUpdates\", \r\n (\r\n TimesheetState: Sonovate.Core.State.TimesheetState, \r\n TimesheetEvents: Events.ITimesheetEvents,\r\n $stateParams : ng.ui.IStateParamsService,\r\n $state: ng.ui.IStateService,\r\n TimesheetAddWorkEvents: Core.Events.TimesheetAddWorkEvents,\r\n TimesheetAutofillEvents: Core.Events.ITimesheetAutofillEvents,\r\n TimesheetAddExpensesEvents: Core.Events.ITimesheetAddExpensesEvents,\r\n TimesheetSubmitEvents: Sonovate.Core.Events.ITimesheetSubmitEvents,\r\n signedInUserStore: Sonovate.ISignedInUserStore,\r\n TimesheetEditExpenseEvents: Sonovate.Core.Events.ITimesheetEditExpensesEvents,\r\n TimesheetRejectEvents: Sonovate.Core.Events.ITimesheetRejectEvents,\r\n TimesheetSignEvents: Sonovate.Core.Events.TimesheetSignEvents,\r\n TimesheetDismissEvents: Sonovate.Core.Events.ITimesheetDismissEvents,\r\n TimesheetCreateEvents: Sonovate.Core.Events.ITimesheetCreateEvents,\r\n TimesheetTransformers: Sonovate.Core.Transformers.TimesheetTransformers,\r\n TimesheetSonovateActionEvents: Sonovate.Core.Events.TimesheetSonovateActionEvents,\r\n TimesheetCandidateReopenEvents: Sonovate.Core.Events.ITimesheetCandidateReopenEvents,\r\n StateChangeService: Services.StateChangeService,\r\n MessageBarEvents: Events.MessageBarEvents,\r\n TimesheetClearEvents: Sonovate.Core.Events.TimesheetClearEvents,\r\n TimesheetManageEvents:Sonovate.Core.Events.TimesheetManageEvents,\r\n TimesheetDeclineEvents:Sonovate.Core.Events.TimesheetDeclineEvents,\r\n \r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(TimesheetState);\r\n\r\n let timesheetAssignmentId = 0;\r\n \r\n StateChangeService\r\n .getStateChangeObservableForRoute('sonovate.TimesheetsWorkView')\r\n .merge(StateChangeService.getStateChangeObservableForRoute('sonovate.TimesheetsWorkView'))\r\n .merge(StateChangeService.getStateChangeObservableForRoute('sonovate.TimesheetsWorkView.modals'))\r\n .merge(StateChangeService.getStateChangeObservableForRoute('sonovate.TimesheetsExpensesView'))\r\n .merge(StateChangeService.getStateChangeObservableForRoute('sonovate.TimesheetsExpensesView.modals'))\r\n .filter((state): boolean => {\r\n return state.from !== \"sonovate.TimesheetsExpensesView\"\r\n && (TimesheetState.activeTimesheet.timesheetId != state.params['timesheetId'] \r\n && (state.to.indexOf(\"modals\") < 0 || state.from.indexOf(\"modals\") < 0))\r\n })\r\n .subscribe((state) => {\r\n TimesheetEvents.userIntents.getTimesheet\r\n .onNext({\r\n timesheetId: $stateParams[\"timesheetId\"], \r\n timesheetAssignmentId: $stateParams[\"timesheetAssignmentId\"]\r\n }\r\n );\r\n });\r\n\r\n signedInUserStore.subject.subscribe((state) => {\r\n TimesheetState.setSignedInUser(state.personId, state.userType);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetEvents.userIntents.setDownloadFilename\r\n .subscribe(filename => {\r\n TimesheetState.setDownloadFilename(filename);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetEvents.userIntents.toggleTimesheetStatusHistory\r\n .subscribe(() => {\r\n TimesheetState.toggleTimesheetStatusHistory();\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetEvents.httpResults.getNonWorkReasonsSuccess\r\n .subscribe((nonWorkReasons) => {\r\n TimesheetState.setNonWorkReasons(nonWorkReasons);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetEvents.userIntents.viewTimesheet\r\n .subscribe(() => {\r\n subject.onNext(TimesheetState);\r\n })\r\n \r\n TimesheetEvents.userIntents.getNextTimesheet\r\n .merge(TimesheetEvents.userIntents.getPreviousTimesheet)\r\n .subscribe(() => {\r\n subject.onNext(TimesheetState);\r\n })\r\n\r\n TimesheetEvents.httpResults.getTimesheetCompleted\r\n .subscribe((timesheet: Models.ITimesheetNew) => {\r\n TimesheetState.setTimesheet(timesheet);\r\n // TimesheetState.setTimesheetPermissions();\r\n TimesheetState.setLoadedState(); \r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.httpResults.conflictError\r\n .subscribe(() => {\r\n TimesheetState.setActionInProgress(\"approve\", false);\r\n TimesheetState.enableConflictError();\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.userIntents.dismissError\r\n .subscribe(() => {\r\n TimesheetState.disableConflictError();\r\n subject.onNext(TimesheetState);\r\n });\r\n \r\n TimesheetEvents.httpResults.getPreviousTimesheetCompleted\r\n .merge(TimesheetEvents.httpResults.getNextTimesheetCompleted)\r\n .subscribe((timesheet: Models.ITimesheetNew) => {\r\n TimesheetState.setLoadedState();\r\n TimesheetState.setTimesheet(timesheet);\r\n // TimesheetState.setTimesheetPermissions();\r\n \r\n if($state.current.name == \"sonovate.TimesheetsWorkView\") {\r\n $state.go(\"sonovate.TimesheetsWorkView\", {timesheetId: TimesheetState.activeTimesheet.timesheetId, timesheetAssignmentId: TimesheetState.activeTimesheet.assignment.timesheetAssignmentId}, {notify: false});\r\n }else if($state.current.name == \"sonovate.TimesheetsExpensesView\") {\r\n $state.go(\"sonovate.TimesheetsExpensesView\", {timesheetId: TimesheetState.activeTimesheet.timesheetId, timesheetAssignmentId: TimesheetState.activeTimesheet.assignment.timesheetAssignmentId}, {notify: false}); \r\n }else {\r\n $state.go(\"sonovate.TimesheetsWorkView\", {timesheetId: TimesheetState.activeTimesheet.timesheetId, timesheetAssignmentId: TimesheetState.activeTimesheet.assignment.timesheetAssignmentId}, {notify: false});\r\n }\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetAddWorkEvents\r\n .httpResults\r\n .submitWorkEntrySuccess\r\n .merge(TimesheetAddWorkEvents.httpResults.submitNonWorkEntrySuccess)\r\n .merge(TimesheetSubmitEvents.httpResults.submitTimesheetSuccess)\r\n .subscribe((timesheet: Models.ITimesheetNew) => {\r\n TimesheetState.setTimesheet(timesheet);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetAutofillEvents.httpResults.autofillTimesheetSuccess\r\n .subscribe((result) => {\r\n TimesheetState.setTimesheet(result.timesheet);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetAddExpensesEvents.httpResults.addExpenseCompleted\r\n .merge(TimesheetAddWorkEvents.httpResults.editWorkEntrySuccess)\r\n .merge(TimesheetAddWorkEvents.httpResults.editNonWorkEntrySuccess)\r\n .merge(TimesheetAddWorkEvents.httpResults.deleteWorkEntrySuccess)\r\n .merge(TimesheetAddWorkEvents.httpResults.deleteNonWorkEntrySuccess)\r\n .merge(TimesheetEditExpenseEvents.httpResults.deleteExpenseSuccess)\r\n .merge(TimesheetRejectEvents.httpResults.rejectTimesheetSuccess)\r\n .merge(TimesheetSignEvents.httpResults.signTimesheetSuccess)\r\n .merge(TimesheetDismissEvents.httpResults.dismissTimesheetSuccess)\r\n .merge(TimesheetDeclineEvents.httpResults.declineTimesheetSuccess)\r\n .merge(TimesheetSonovateActionEvents.httpResults.submitManagedTimesheetSuccess)\r\n .merge(TimesheetManageEvents.httpResults.manageTimesheetSuccess)\r\n .merge(TimesheetSonovateActionEvents.httpResults.userApprovedTimesheetSuccess)\r\n .merge(TimesheetSonovateActionEvents.httpResults.reopenTimesheetSuccess)\r\n .merge(TimesheetCandidateReopenEvents.httpResults.reopenCandidateTimesheetSuccess)\r\n .merge(TimesheetClearEvents.httpResults.clearTimesheetSuccess)\r\n .merge(TimesheetDeclineEvents.httpResults.declineTimesheetSuccess)\r\n .subscribe((timesheet: Models.ITimesheetNew) => {\r\n TimesheetState.setTimesheet(timesheet);\r\n TimesheetState.setTimesheetPermissions();\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetEditExpenseEvents.httpResults.editExpenseCompleted.subscribe((timesheet: Models.ITimesheetNew) => {\r\n TimesheetState.setTimesheet(timesheet);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetCreateEvents.httpResults.createTimesheetSuccess.subscribe((timesheet: Models.ITimesheetNew) => {\r\n TimesheetState.setTimesheet(timesheet);\r\n TimesheetState.setNotBusy();\r\n $state.go(\"sonovate.TimesheetsWorkView\", {timesheetId: timesheet.timesheetId, timesheetAssignmentId: TimesheetState.activeTimesheet.assignment.timesheetAssignmentId}, {notify: false});\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetSignEvents.userIntents.signTimesheet\r\n .subscribe(() => {\r\n TimesheetState.setSigningState();\r\n TimesheetState.setIsBusy();\r\n subject.onNext(TimesheetState);\r\n })\r\n \r\n TimesheetSignEvents.httpResults.signTimesheetSuccess\r\n .subscribe(() => {\r\n TimesheetState.resetSigningState();\r\n TimesheetState.setNotBusy();\r\n subject.onNext(TimesheetState);\r\n })\r\n \r\n TimesheetSignEvents.httpResults.signTimesheetError\r\n .subscribe((errorMessage:string) => {\r\n MessageBarEvents.userIntents.showErrorMessage.onNext(errorMessage);\r\n TimesheetState.resetSigningState();\r\n TimesheetState.setNotBusy();\r\n subject.onNext(TimesheetState);\r\n })\r\n \r\n TimesheetDismissEvents.userIntents.dismissTimesheet\r\n .subscribe(() => {\r\n TimesheetState.setDismissingState();\r\n subject.onNext(TimesheetState);\r\n })\r\n \r\n TimesheetDismissEvents.httpResults.dismissTimesheetSuccess\r\n .subscribe(() => {\r\n TimesheetState.resetDismissingState();\r\n subject.onNext(TimesheetState);\r\n })\r\n\r\n TimesheetAddWorkEvents.userIntents.deleteEntry\r\n .subscribe((intent: Sonovate.Core.Events.IDeleteEntryUserIntent) => {\r\n TimesheetState.setDeletingState();\r\n subject.onNext(TimesheetState);\r\n }) \r\n\r\n TimesheetAddWorkEvents.httpResults.deleteWorkEntrySuccess\r\n .subscribe((timesheet: Models.ITimesheetNew) => {\r\n TimesheetState.resetDeletingState();\r\n subject.onNext(TimesheetState);\r\n })\r\n\r\n TimesheetAddWorkEvents.httpResults.deleteNonWorkEntrySuccess\r\n .subscribe((timesheet: Models.ITimesheetNew) => {\r\n TimesheetState.resetDeletingState();\r\n subject.onNext(TimesheetState);\r\n })\r\n\r\n TimesheetEvents.httpResults.deleteTimesheetSuccess\r\n .subscribe((intent) => {\r\n const currentState = $state.current.name.indexOf(\"modals\") > -1 ? $state.current.name.replace(\"modals\", \"\") : $state.current.name;\r\n const payload = {\r\n timesheetId: TimesheetState.activeTimesheet.timesheetsInPeriod[0].timesheetId, \r\n timesheetAssignmentId: TimesheetState.activeTimesheet.assignment.timesheetAssignmentId.toString()\r\n };\r\n\r\n TimesheetState.setActionInProgress(\"deletingTimesheet\", false);\r\n // TimesheetEvents.userIntents.getTimesheet.onNext(payload);\r\n\r\n if(currentState == \"sonovate.TimesheetsWorkView\") {\r\n $state.go(\"sonovate.TimesheetsWorkView\", payload);\r\n }else if(currentState == \"sonovate.TimesheetsExpensesView\") {\r\n $state.go(\"sonovate.TimesheetsExpensesView\", payload); \r\n }else {\r\n $state.go(\"sonovate.TimesheetsWorkView\", payload);\r\n }\r\n\r\n subject.onNext(TimesheetState);\r\n })\r\n\r\n TimesheetEvents.userIntents.actionSubmitted\r\n .subscribe((actionSubmitted) => {\r\n TimesheetState.setCurrentAction(actionSubmitted);\r\n TimesheetState.setIsBusy();\r\n subject.onNext(TimesheetState);\r\n })\r\n\r\n TimesheetEvents.userIntents.actionCompleted\r\n .subscribe(() => {\r\n TimesheetState.setNotBusy();\r\n TimesheetState.clearCurrentAction();\r\n subject.onNext(TimesheetState);\r\n })\r\n\r\n TimesheetEvents.userIntents.actionFailed\r\n .subscribe((error) => {\r\n TimesheetState.setActionFailed(error);\r\n TimesheetState.setNotBusy();\r\n subject.onNext(TimesheetState);\r\n })\r\n\r\n TimesheetEvents.userIntents.clickDownloadTimesheet\r\n .subscribe(() => {\r\n TimesheetState.setDownloadingTimesheetState();\r\n subject.onNext(TimesheetState);\r\n })\r\n\r\n TimesheetEvents.httpResults.downloadTimesheetCompleted\r\n .subscribe(() => {\r\n TimesheetState.resetDownloadingTimesheetState();\r\n TimesheetState.setNotBusy();\r\n subject.onNext(TimesheetState);\r\n })\r\n\r\n TimesheetEvents.httpResults.downloadTimesheetFailed\r\n .subscribe(() => {\r\n TimesheetState.resetDownloadingTimesheetState();\r\n TimesheetState.enableDownloadTimesheetError();\r\n TimesheetState.setNotBusy();\r\n subject.onNext(TimesheetState);\r\n })\r\n\r\n\r\n TimesheetEvents.httpResults.getTimesheetError\r\n .subscribe((errorObj: Models.IErrorList) => {\r\n TimesheetState.setError(errorObj);\r\n subject.onNext(TimesheetState);\r\n })\r\n \r\n TimesheetEvents.userIntents.dismissDownloadTimesheetError\r\n .subscribe(() => {\r\n TimesheetState.dismissDownloadTimesheetError();\r\n subject.onNext(TimesheetState);\r\n })\r\n\r\n // TODO: move into another file Or find a way to consolidate to one event (I have some ideas)\r\n TimesheetDismissEvents.userIntents.dismissTimesheet.subscribe(() => {\r\n TimesheetState.setActionInProgress(\"dismissingTimesheet\", true);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetDismissEvents.httpResults.dismissTimesheetSuccess.subscribe(() => {\r\n TimesheetState.setActionInProgress(\"dismissingTimesheet\", false);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetDismissEvents.httpResults.dismissTimesheetFailure.subscribe(() => {\r\n TimesheetState.setActionInProgress(\"dismissingTimesheet\", false);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.userIntents.userApprovedTimesheet\r\n .subscribe(() => {\r\n TimesheetState.setIsBusy();\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.httpResults.userApprovedTimesheetSuccess\r\n .merge(TimesheetSonovateActionEvents.httpResults.userApprovedTimesheetForcePrompt)\r\n .subscribe(() => {\r\n TimesheetState.setNotBusy();\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.httpResults.userApprovedTimesheetFailure\r\n .subscribe((error:string) => {\r\n MessageBarEvents.userIntents.showErrorMessage.onNext(error);\r\n TimesheetState.setNotBusy();\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetCandidateReopenEvents.userIntents.reopenCandidateTimesheet.subscribe(() => {\r\n TimesheetState.setActionInProgress(\"editingTimesheet\", true);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetCandidateReopenEvents.httpResults.reopenCandidateTimesheetFailure.subscribe((error: string) => {\r\n TimesheetState.setActionInProgress(\"editingTimesheet\", false);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetCandidateReopenEvents.httpResults.reopenCandidateTimesheetSuccess.subscribe((timesheet: Models.ITimesheetNew) => {\r\n TimesheetState.setActionInProgress(\"editingTimesheet\", false);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.userIntents.reopenTimesheet.subscribe(() => {\r\n TimesheetState.setActionInProgress(\"reopenAsManagedTimesheet\", true);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.httpResults.reopenTimesheetSuccess.subscribe((timesheet: Models.ITimesheetNew) => {\r\n TimesheetState.setActionInProgress(\"reopenAsManagedTimesheet\", false);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.httpResults.reopenTimesheetFailure.subscribe((error: string) => {\r\n TimesheetState.setActionInProgress(\"reopenAsManagedTimesheet\", false);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.userIntents.submitManagedTimesheet.subscribe(() => {\r\n TimesheetState.setActionInProgress(\"submitManagedTimesheet\", true);\r\n TimesheetState.setIsBusy();\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.httpResults.submitManagedTimesheetSuccess.subscribe((timesheet: Models.ITimesheetNew) => {\r\n TimesheetState.setActionInProgress(\"submitManagedTimesheet\", false);\r\n TimesheetState.setNotBusy();\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetSonovateActionEvents.httpResults.submitManagedTimesheetError.subscribe((error: string) => {\r\n TimesheetState.setActionInProgress(\"submitManagedTimesheet\", false);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetRejectEvents.httpResults.rejectTimesheetSuccess.subscribe(() => {\r\n TimesheetState.setActionInProgress(\"rejectingTimesheet\", false);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetRejectEvents.httpResults.rejectTimesheetError.subscribe(() => {\r\n TimesheetState.setActionInProgress(\"rejectingTimesheet\", false);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetRejectEvents.userIntents.rejectTimesheet.subscribe(() => {\r\n TimesheetState.setActionInProgress(\"rejectingTimesheet\", true);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetDeclineEvents.httpResults.declineTimesheetSuccess.subscribe(() => {\r\n TimesheetState.setActionInProgress(\"decliningTimesheet\", false);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetDeclineEvents.httpResults.declineTimesheetError.subscribe(() => {\r\n TimesheetState.setActionInProgress(\"decliningTimesheet\", false);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetDeclineEvents.userIntents.declineTimesheet.subscribe(() => {\r\n TimesheetState.setActionInProgress(\"decliningTimesheet\", true);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetSubmitEvents.httpResults.submitTimesheetSuccess.subscribe(() => {\r\n TimesheetState.setActionInProgress(\"submittingTimesheet\", false);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetSubmitEvents.httpResults.submitTimesheetFail.subscribe(() => {\r\n TimesheetState.setActionInProgress(\"submittingTimesheet\", false);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetSubmitEvents.userIntents.submitTimesheet.subscribe(() => {\r\n TimesheetState.setActionInProgress(\"submittingTimesheet\", true);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetEvents.userIntents.deleteTimesheet.subscribe((intent) => {\r\n TimesheetState.setActionInProgress(\"deletingTimesheet\", true);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n TimesheetEvents.httpResults.deleteTimesheetFailed.subscribe(() => {\r\n TimesheetState.setActionInProgress(\"deletingTimesheet\", false);\r\n subject.onNext(TimesheetState);\r\n });\r\n\r\n return subject;\r\n }\r\n\r\n );\r\n}","/// \r\nmodule Sonovate.Core.State {\r\n\r\n class TimesheetSubmitState implements Core.State.ITimesheetSubmitState {\r\n description: string = '';\r\n timesheetAuthorisers: Models.ITimesheetAuthoriser[] = [];\r\n selectedAuthoriserId: number = null;\r\n currentDeliveryPeriod: Models.IDeliveryPeriod = {};\r\n submitting: boolean = false;\r\n\r\n setSubmitting(): void {\r\n this.submitting = true;\r\n }\r\n\r\n resetSubmitting(): void {\r\n this.submitting = false;\r\n }\r\n\r\n typeDescription (text: string) {\r\n this.description = text;\r\n }\r\n\r\n setTimesheetAuthorisers (authorisers: Models.ITimesheetAuthoriser[]) {\r\n this.timesheetAuthorisers = authorisers;\r\n this.setFirstAuthoriserAsSelected();\r\n }\r\n\r\n getTimesheetAuthorisersAsDropdownItems (): Models.IDropdownItem[] {\r\n return this.timesheetAuthorisers.map((authoriser) => {\r\n return {\r\n text: `${authoriser.authoriserName} <${authoriser.authoriserEmail}>`,\r\n value: authoriser.timesheetAuthoriserId\r\n }\r\n });\r\n }\r\n\r\n selectTimesheetAuthoriser (id: number) {\r\n this.selectedAuthoriserId = id;\r\n }\r\n\r\n setCurrentDeliveryPeriod (deliveryPeriod: Models.IDeliveryPeriod) {\r\n this.currentDeliveryPeriod = deliveryPeriod;\r\n }\r\n\r\n clear () {\r\n this.submitting = false;\r\n this.description = '';\r\n }\r\n\r\n protected setFirstAuthoriserAsSelected () {\r\n if (this.timesheetAuthorisers && this.timesheetAuthorisers.length) {\r\n this.selectedAuthoriserId = this.selectedAuthoriserId ? this.selectedAuthoriserId : this.timesheetAuthorisers[0].timesheetAuthoriserId; \r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetSubmitState\", TimesheetSubmitState);\r\n}","\r\n/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"TimesheetSubmitStateUpdates\", \r\n (\r\n TimesheetAddWorkState: State.TimesheetAddWorkState,\r\n TimesheetSubmitState: ITimesheetSubmitState,\r\n TimesheetSubmitEvents: Sonovate.Core.Events.ITimesheetSubmitEvents,\r\n TimesheetStateUpdates: Rx.BehaviorSubject,\r\n MessageBarEvents: Events.MessageBarEvents\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(TimesheetSubmitState);\r\n\r\n TimesheetStateUpdates\r\n .subscribe((state) => {\r\n TimesheetSubmitState.setTimesheetAuthorisers(state.activeTimesheet.assignment.timesheetAuthorisers);\r\n if(state.activeTimesheet.timesheetAuthoriserId && !TimesheetSubmitState.selectedAuthoriserId){\r\n TimesheetSubmitState.selectTimesheetAuthoriser(state.activeTimesheet.timesheetAuthoriserId);\r\n }\r\n subject.onNext(TimesheetSubmitState);\r\n });\r\n\r\n TimesheetSubmitEvents.userIntents.submitTimesheet\r\n .subscribe(() => {\r\n TimesheetSubmitState.setSubmitting();\r\n TimesheetAddWorkState.clearExpandedIndex();\r\n subject.onNext(TimesheetSubmitState);\r\n });\r\n \r\n TimesheetSubmitEvents.httpResults.submitTimesheetSuccess\r\n .subscribe(() => {\r\n TimesheetSubmitState.resetSubmitting();\r\n subject.onNext(TimesheetSubmitState);\r\n });\r\n\r\n TimesheetSubmitEvents.httpResults.submitTimesheetFail\r\n .subscribe((errorMessage:string) => {\r\n MessageBarEvents.userIntents.showErrorMessage.onNext(errorMessage);\r\n TimesheetSubmitState.resetSubmitting();\r\n subject.onNext(TimesheetSubmitState);\r\n });\r\n \r\n TimesheetSubmitEvents.userIntents.typeDescription\r\n .subscribe((text: string) => {\r\n TimesheetSubmitState.typeDescription(text);\r\n subject.onNext(TimesheetSubmitState);\r\n });\r\n \r\n TimesheetSubmitEvents.userIntents.changeTimesheetAuthoriser\r\n .subscribe((id: number) => {\r\n TimesheetSubmitState.selectTimesheetAuthoriser(id);\r\n subject.onNext(TimesheetSubmitState);\r\n });\r\n \r\n TimesheetSubmitEvents.userIntents.clearFields\r\n .subscribe(() => {\r\n TimesheetSubmitState.clear();\r\n subject.onNext(TimesheetSubmitState);\r\n });\r\n\r\n return subject;\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class FeatureToggleController extends BaseController {\r\n\r\n $inject = [\"$scope\", \"FeatureToggle\"];\r\n featureToggle: string;\r\n show: boolean = false; \r\n\r\n constructor(protected $scope: ng.IScope, FeatureToggle: Sonovate.Core.Utils.FeatureToggle){\r\n super($scope);\r\n\r\n this.show = FeatureToggle.isFeatureActive(this.featureToggle);\r\n }\r\n }\r\n\r\n let FeatureToggle = function(): ng.IDirective {\r\n return {\r\n restrict: \"AE\",\r\n controller: FeatureToggleController,\r\n link: (scope, elm) => {\r\n if (! scope['vm']['show']) {\r\n elm.remove();\r\n }\r\n },\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n transclude: true,\r\n replace: true,\r\n template: \"
\",\r\n scope: {\r\n featureToggle: \"@\"\r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").directive(\"featureToggle\", FeatureToggle);\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class PersonSettingsProfileController extends BaseController {\r\n\r\n static inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"PersonSettingsProfileStateUpdates\"\r\n ];\r\n\r\n firstName: string;\r\n lastName: string;\r\n primaryEmail: string;\r\n pictureUrl: string;\r\n localised: {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected PersonSettingsProfileStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope);\r\n this.initPersonSettingsProfileStateUpdatesSubscription();\r\n this.initLocalisationSubscription();\r\n }\r\n\r\n private initPersonSettingsProfileStateUpdatesSubscription() {\r\n this.PersonSettingsProfileStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.firstName = state.profile.firstName;\r\n this.lastName = state.profile.lastName;\r\n this.primaryEmail = state.profile.primaryEmail;\r\n this.pictureUrl = state.profile.pictureUrl;\r\n })\r\n .subscribe();\r\n }\r\n\r\n private initLocalisationSubscription(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"editprofile\", \"userdetails\", \"organisation\"])\r\n .safeApply(this.$scope, (data: IDictionary<{}>) => {\r\n this.localised = R.mergeAll([\r\n data['editprofile'],\r\n data['userdetails'],\r\n data['organisation']\r\n ]);\r\n }).subscribe()\r\n );\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.PersonSettings\")\r\n .directive(\r\n \"snPersonSettingsProfile\",\r\n function PersonSettingsProfile(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: PersonSettingsProfileController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: \"PersonSettings/viewDirectives/snPersonSettingsProfileViewDirective.html\",\r\n scope: {}\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.SignIn {\r\n \r\n class SignupController extends Core.BaseController {\r\n \r\n static $inject = [\r\n '$scope',\r\n '$state',\r\n 'SignupStateUpdates',\r\n 'SignupEvents',\r\n '$location',\r\n 'localiser',\r\n 'DeepLinkStateUpdates'\r\n ];\r\n\r\n public localisedText: IDictionary;\r\n public userDetails: Models.IUserSignupDetails;\r\n public errors: IDictionary;\r\n public isShowingPassword: boolean;\r\n public isSigningUp: boolean;\r\n private errorMessage: string = '';\r\n private signupToken: string;\r\n private isFormValid: boolean;\r\n\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected SignupStateUpdates: Rx.BehaviorSubject,\r\n protected SignupEvents: Core.Events.SignupEvents,\r\n protected $location: ng.ILocationService,\r\n protected localiser: ILocaliserService,\r\n protected DeepLinkStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope);\r\n this.localisedText = {};\r\n this.errors = {};\r\n this.setupSignupState();\r\n this.fetchSignupTokenFromWebAddress();\r\n this.getUserAccountViaWebTokenAuthentication();\r\n this.getLocalisedText();\r\n }\r\n\r\n onUserToggleTermsAndConditions() { \r\n this.SignupEvents.userIntents.userToggledTermsAndConditions.onNext(null);\r\n }\r\n\r\n onUserKeyupInFirstNameInput() {\r\n this.SignupEvents.userIntents.userTypedInFirstNameInput.onNext(this.userDetails.firstName);\r\n }\r\n\r\n onUserKeyupInLastNameInput() {\r\n this.SignupEvents.userIntents.userTypedInLastNameInput.onNext(this.userDetails.lastName);\r\n }\r\n\r\n onUserKeyupInEmailAddressInput() {\r\n this.SignupEvents.userIntents.userTypedInEmailInput.onNext(this.userDetails.email);\r\n }\r\n\r\n onUserKeyupInPasswordInput() {\r\n this.SignupEvents.userIntents.userTypedInPasswordInput.onNext(this.userDetails.password);\r\n }\r\n\r\n submitUserDetailsForAccountActivation() {\r\n this.SignupEvents.userIntents.userSubmittedDetailsForAccountActivation.onNext({\r\n isFormValid: this.isFormValid,\r\n userDetails: this.userDetails\r\n });\r\n }\r\n\r\n launchLinkedinSignupFlow() {\r\n this.SignupEvents.userIntents.clickLinkedinButton.onNext(this.userDetails);\r\n }\r\n\r\n launchGoogleSignupFlow() {\r\n this.SignupEvents.userIntents.clickGoogleButton.onNext(this.userDetails);\r\n }\r\n\r\n toggleShowPassword() {\r\n this.SignupEvents.userIntents.toggleShowPassword.onNext(null);\r\n }\r\n\r\n private setupSignupState() {\r\n this.subscriptions.push(\r\n this.SignupStateUpdates\r\n .safeApply(this.$scope, (state: Core.State.SignupState) => {\r\n this.errors = state.state.errors;\r\n this.userDetails = state.state.userDetails;\r\n this.errorMessage = state.state.errorMessage;\r\n this.isShowingPassword = state.state.isShowingPassword;\r\n this.isSigningUp = state.state.isSigningUp;\r\n this.isFormValid = state.isFormValid();\r\n this.localiseLabelsForErrors();\r\n })\r\n .subscribe()\r\n )\r\n }\r\n\r\n private fetchSignupTokenFromWebAddress() {\r\n this.signupToken = this.$location.search().signupToken;\r\n }\r\n\r\n private getUserAccountViaWebTokenAuthentication() {\r\n if(this.signupToken) {\r\n this.SignupEvents.userIntents.submitUserTokenForAuthentication.onNext(this.signupToken);\r\n } else {\r\n this.$state.go(\"sonovate.signin\"); \r\n }\r\n }\r\n\r\n private localiseLabelsForErrors() {\r\n R.toPairs(this.errors).map((a) => {\r\n let errorKey = a[0];\r\n let error: Models.IFormError = a[1];\r\n let errorLabelAfterPrefix = R.last(error.message.split(\".\"));\r\n this.errors[errorKey].localisedMessage = this.localisedText[errorLabelAfterPrefix];\r\n });\r\n }\r\n\r\n private getLocalisedText() {\r\n this.localiser\r\n .get(['general', 'signup'])\r\n .safeApply(\r\n this.$scope, \r\n (data: {general: IDictionary, signup: IDictionary}) => this.localisedText = R.merge(data.general, data.signup)\r\n )\r\n .subscribe();\r\n }\r\n }\r\n \r\n angular.module(\"sonovate.signup\")\r\n .directive(\r\n \"snSignup\",\r\n function snSignup(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: SignupController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'signup/viewDirectives/snSignupViewDirective.html',\r\n scope: {}\r\n };\r\n }\r\n );\r\n}\r\n\r\n","/// \r\nmodule Sonovate.Config.ReferenceData {\r\n export const accountStatuses: ViewModels.Directory.UserAccountStatus[] = [\r\n {\r\n \"id\": \"None\",\r\n \"text\": \"None\"\r\n },\r\n {\r\n \"id\": \"Pending\",\r\n \"text\": \"Pending\"\r\n },\r\n {\r\n \"id\": \"Active\",\r\n \"text\": \"Active\"\r\n },\r\n {\r\n \"id\": \"Locked\",\r\n \"text\": \"Locked\"\r\n },\r\n {\r\n \"id\": \"Suspended\",\r\n \"text\": \"Suspended\"\r\n }\r\n ]\r\n}\r\n","/// \r\n/// \r\n\r\nmodule Sonovate.Core.Components.ProfileMenu {\r\n \r\n export class ProfileMenuDirectiveController {\r\n \r\n static $inject = [\"$scope\", \"$stateParams\", \"$state\"];\r\n\r\n id: number;\r\n buttons: IButton[] = [];\r\n active: boolean = false;\r\n\r\n constructor(\r\n private $scope: ng.IScope, \r\n private $stateParams: ng.ui.IStateParamsService,\r\n private $state: ng.ui.IStateService\r\n ) {\r\n this.id = this.$stateParams[\"id\"]; \r\n }\r\n\r\n register(buttonText: string, route: string): void {\r\n this.buttons.push({buttonText, route});\r\n }\r\n\r\n showDropdown(): void {\r\n this.active = true;\r\n }\r\n\r\n goToLink(route: string): void {\r\n this.$state.go(route, {id: this.$stateParams[\"id\"]});\r\n }\r\n\r\n }\r\n\r\n}","/// \r\n/// \r\n\r\nmodule Sonovate.Core.Components.ProfileMenu {\r\n\r\n\texport function ProfileMenuDirective(): ng.IDirective {\r\n\r\n\t\treturn {\r\n\t\t\trestrict: \"E\",\r\n\t\t\ttemplateUrl: \"core/components/profileMenuDirective/profileMenuDirective.html\",\r\n\t\t\tscope: { },\r\n\t\t\tcontrollerAs: \"vm\",\r\n\t\t\tbindToController: true,\r\n\t\t\ttransclude: true,\r\n\t\t\tcontroller: ProfileMenuDirectiveController\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tangular.module(\"sonovate.core\").directive(\"snProfileMenu\", ProfileMenuDirective);\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class AccordionController extends BaseController { \r\n\r\n constructor(protected $scope: ng.IScope){\r\n super($scope); \r\n }\r\n }\r\n\r\n let directiveDefinition = function(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: AccordionController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n transclude: true,\r\n replace: true,\r\n templateUrl: \"core/components/snAccordion/snAccordion.html\",\r\n scope: { }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").directive(\"snAccordion\", directiveDefinition);\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class AccordionTabController extends BaseController {\r\n\r\n private snTitle: string;\r\n private snTabCollapsed: boolean;\r\n\r\n constructor(protected $scope: ng.IScope){\r\n super($scope); \r\n }\r\n }\r\n\r\n let directiveDefinition = function(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: AccordionTabController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n transclude: true,\r\n replace: true,\r\n templateUrl: \"core/components/snAccordion/snAccordionTab.html\",\r\n scope: {\r\n snTitle: \"@\",\r\n snTabCollapsed: \"=\"\r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").directive(\"snAccordionTab\", directiveDefinition);\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n\texport interface IActivityStreamFilter {\r\n\t\tname: string,\r\n\t\titemType: string\r\n\t}\r\n\r\n\tclass snActivityStreamListController extends Core.BaseController {\r\n\r\n\t\tstatic $inject = [\r\n\t\t\t\"$scope\",\r\n\t\t\t\"$filter\",\r\n\t\t\t\"localiser\",\r\n\t\t\t\"signedInUserStore\"\r\n\t\t];\r\n\r\n\t\tpublic snCharacterLimit: number;\r\n\t\tpublic snFilterSelected: Sonovate.Models.activityStreamFilterType;\r\n\t\tpublic snFilterCallback: (filterSelected: { filterSelected: Sonovate.Models.activityStreamFilterType }) => void;\r\n\t\tpublic snFilters: IActivityStreamFilter[];\r\n\t\tpublic snStream: Sonovate.Models.IActivityStreamItem[];\r\n\t\tpublic snDeleteCallback: (streamItem: { streamItem: Sonovate.Models.IActivityStreamItem }) => void;\r\n\r\n\t\tconstructor(\r\n\t\t\tprotected $scope: ng.IScope,\r\n\t\t\tprotected $filter: ng.IFilterDate,\r\n\t\t\tprotected localiser: ILocaliserService,\r\n\t\t\tprotected signedInUserStore: ISignedInUserStore,\r\n\t\t\tpublic userDateFormat: string,\r\n\t\t\tpublic userTimeFormat: string,\r\n\t\t\tpublic localised: ILocalisationData,\r\n\t\t\tpublic notesCharacterLimit: number,\r\n\t\t\tpublic truncatedNotes: string[],\r\n\t\t\tpublic sectionsByDate: string[],\r\n\t\t\tpublic today: string,\r\n\t\t\tpublic yesterday: string,\r\n\t\t\tpublic showDeleteMessage: boolean,\r\n\t\t\tpublic documentToDelete: Models.IActivityStreamItem\r\n\t\t) {\r\n\t\t\tsuper($scope);\r\n\t\t\tthis.getLocalisedText();\r\n\t\t\tthis.getSignedInUser();\r\n\t\t\tthis.initialise();\r\n\t\t}\r\n\r\n\t\tprivate initialise(): void {\r\n\t\t\tlet allFilter = { name: \"All\", itemType: \"all\" };\r\n\t\t\tlet filterDate: any = this.$filter('date');\r\n\r\n\t\t\tthis.showDeleteMessage = false;\r\n\t\t\tthis.truncatedNotes = [];\r\n\t\t\tthis.snFilterSelected = this.snFilterSelected || \"all\";\r\n\t\t\tthis.snCharacterLimit = this.snCharacterLimit || 250;\r\n\r\n\t\t\tthis.seperateByDateTitle();\r\n\r\n\t\t\tif (this.snFilters && this.snFilters.length) {\r\n\t\t\t\tthis.snFilters.unshift(allFilter);\r\n\t\t\t} else {\r\n\t\t\t\tthis.snFilters = [];\r\n\t\t\t\tthis.snFilters.push(allFilter)\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tprivate toggleFilter(filterItemType: Sonovate.Models.activityStreamFilterType): void {\r\n\t\t\tthis.snFilterSelected = filterItemType;\r\n\r\n\t\t\tif (typeof this.snFilterCallback == 'function') {\r\n\t\t\t\tthis.snFilterCallback({ filterSelected: this.snFilterSelected });\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tprivate filterStream = (item: Sonovate.Models.IActivityStreamItem) => {\r\n\t\t\treturn item.itemType === this.snFilterSelected || this.snFilterSelected === 'all';\r\n\t\t} //TODO: Binding issue\r\n\r\n\t\tprivate addToTruncatedNotes(index: string): void {\r\n\t\t\tthis.truncatedNotes.push(index)\r\n\t\t}\r\n\r\n\t\tprivate presentInTruncatedNotes(index: string): boolean {\r\n\t\t\treturn this.truncatedNotes.indexOf(index) > -1;\r\n\t\t}\r\n\r\n\t\tprivate removeFromTruncatedNotes(index: string): void {\r\n\t\t\tlet indexToRemove = this.truncatedNotes.indexOf(index);\r\n\t\t\tthis.truncatedNotes.splice(indexToRemove, 1)\r\n\t\t}\r\n\r\n\t\tprivate setCharacterLimit(index: string): number {\r\n\t\t\tlet noteIsTruncated = this.presentInTruncatedNotes(index);\r\n\t\t\treturn noteIsTruncated ? null : this.snCharacterLimit;\r\n\t\t}\r\n\r\n\t\tprivate formatDate(date: string): string {\r\n\t\t\tlet filterDate: any = this.$filter('date');\r\n\t\t\tlet localisedAt = this.localised['activitystream'] ? this.localised['activitystream']['At'] : \"\";\r\n\r\n\t\t\treturn `${filterDate(new Date(date), this.userDateFormat)} \r\n\t\t\t\t${localisedAt} ${filterDate(new Date(date), this.userTimeFormat)}`\r\n\t\t}\r\n\r\n\t\tprivate displayDeleteMessageBox(streamItem: Models.IActivityStreamItem): void {\r\n\t\t\tthis.showDeleteMessage = true;\r\n\t\t\tthis.documentToDelete = streamItem;\r\n\t\t}\r\n\r\n\t\tprivate onDeleteConfirmation(): void {\r\n\t\t\tthis.showDeleteMessage = false;\r\n\t\t\tthis.snDeleteCallback({ streamItem: this.documentToDelete });\r\n\t\t}\r\n\r\n\t\tprivate seperateByDateTitle(): void {\r\n\t\t\tthis.$scope.$watch('vm.snStream', () => { \r\n\t\t\t\tif (this.snStream.length) {\r\n\t\t\t\t\tlet filterDate: any = this.$filter('date');\r\n\r\n\t\t\t\t\tthis.sectionsByDate = [];\r\n\t\t\t\t\tthis.today = filterDate(new Date(), this.userDateFormat);\r\n\t\t\t\t\tthis.yesterday = filterDate(new Date().setDate(new Date().getDate() - 1), this.userDateFormat);\r\n\r\n\t\t\t\t\tR.forEach((stream: any) => { // Add Interface\r\n\t\t\t\t\t\tlet givenDate = filterDate(stream.dateTime, this.userDateFormat);\r\n\r\n\t\t\t\t\t\tif (this.sectionsByDate.indexOf('Today') < 0 && givenDate === this.today) {\r\n\t\t\t\t\t\t\tthis.sectionsByDate.push('Today', givenDate);\r\n\t\t\t\t\t\t\tstream.title = \"Today\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (this.sectionsByDate.indexOf('Yesterday') < 0 && givenDate === this.yesterday) {\r\n\t\t\t\t\t\t\tthis.sectionsByDate.push('Yesterday', givenDate);\r\n\t\t\t\t\t\t\tstream.title = \"Yesterday\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (this.sectionsByDate.indexOf(givenDate) < 0) {\r\n\t\t\t\t\t\t\tthis.sectionsByDate.push(givenDate);\r\n\t\t\t\t\t\t\tstream.title = givenDate;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\treturn \"\";\r\n\t\t\t\t\t}, this.snStream)\r\n\t\t\t\t}\r\n\r\n\t\t\t})\r\n\r\n\t\t}\r\n\r\n\t\tprivate getSignedInUser(): void {\r\n\t\t\tthis.subscriptions.push(\r\n\t\t\t\tthis.signedInUserStore.subject.subscribe(user => {\r\n\t\t\t\t\tthis.userDateFormat = user.settings.dateFormat;\r\n\t\t\t\t\tthis.userTimeFormat = user.settings.timeFormat;\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tprivate getActivityStreamItemObject(): Models.IActivityStreamItem {\r\n\t\t\treturn { \r\n\t\t\t\titemType: \"document\",\r\n\t\t\t\tdateTime: \"\",\r\n\t\t\t\tdocument: { \r\n\t\t\t\t\tdocumentName: \"\",\r\n\t\t\t\t\tdocumentType: \"\"\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tprivate getLocalisedText(): void {\r\n\t\t\tthis.documentToDelete = this.getActivityStreamItemObject();\r\n\t\t\tthis.subscriptions.push(\r\n\t\t\t\tthis.localiser.interpolate([\"general\", \"activitystream\"], () => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tdocumentName: this.documentToDelete.document.documentName\r\n\t\t\t\t\t}\r\n\t\t\t\t}).safeApply(this.$scope,\r\n\t\t\t\t\t(data: ILocalisationData) => {\r\n\t\t\t\t\t\tthis.localised = data;\r\n\t\t\t\t\t}\r\n\t\t\t\t).subscribe()\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tangular.module(\"sonovate.core\")\r\n\t.directive(\r\n\t\t\"snActivityStreamList\",\r\n\t\tfunction snActivityStreamList(): ng.IDirective {\r\n\t\t\treturn {\r\n\t\t\t\trestrict: \"E\",\r\n\t\t\t\tcontroller: snActivityStreamListController,\r\n\t\t\t\tcontrollerAs: \"vm\",\r\n\t\t\t\ttransclude: true,\r\n\t\t\t\tbindToController: true,\r\n\t\t\t\ttemplateUrl: 'core/components/snActivityStreamList/snActivityStreamListDirective.html',\r\n\t\t\t\tscope: {\r\n\t\t\t\t\tsnStream: \"=\",\r\n\t\t\t\t\tsnHideFilters: \"@\",\r\n\t\t\t\t\tsnCharacterLimit: \"@\",\r\n\t\t\t\t\tsnFilterSelected: \"=?\",\r\n\t\t\t\t\tsnFilterCallback: \"&\",\r\n\t\t\t\t\tsnFilters: \"=?\",\r\n\t\t\t\t\tsnDeleteCallback: \"&\"\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\t);\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class AddBankAccountController extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"$state\",\r\n \"currencyStore\",\r\n \"organisationStore\",\r\n \"OrganisationsActions\",\r\n \"$stateParams\",\r\n \"localiser\"\r\n ];\r\n\r\n snChangeBankAccount: () => void;\r\n snOnClose: () => void;\r\n localised: IDictionary = {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n private $state: ng.ui.IStateService,\r\n private currencyStore: any,\r\n protected organisationStore: any,\r\n protected OrganisationsActions: Organisations.IOrganisationActions,\r\n protected $stateParams: ng.ui.IStateParamsService,\r\n protected localiser: ILocaliserService,\r\n\r\n private showForm: boolean,\r\n private currencyList: ng.ui.IType,\r\n private snBankAccount: ViewModels.Directory.BankAccount,\r\n private sendDetails: () => void,\r\n private snErrors: Object,\r\n private status: boolean\r\n ) {\r\n super($scope);\r\n \r\n this.showForm = false;\r\n\r\n this.subscriptions.push(\r\n currencyStore.safeApply(this.$scope, (state: any) => {\r\n this.currencyList = state.currencies;\r\n }).subscribe()\r\n );\r\n\r\n this.sendDetails = function(): void {\r\n this.snAddBankAccount();\r\n }\r\n\r\n this.subscriptions.push(\r\n organisationStore.safeApply($scope, (state: any) => {\r\n this.status = state.successfulResponse;\r\n if (this.status === true) {\r\n this.snOnClose();\r\n }\r\n }).subscribe());\r\n\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"bankaccount\", \"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n if (data.bankaccount && data.general) {\r\n this.localised = R.merge(\r\n data.bankaccount,\r\n data.general\r\n );\r\n }\r\n }).subscribe()\r\n );\r\n\r\n }\r\n\r\n snAddBankAccount(): void {\r\n this.snChangeBankAccount();\r\n }\r\n\r\n openForm(): void {\r\n this.showForm = true;\r\n }\r\n\r\n closePopup(): void {\r\n this.snOnClose();\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snAddBankAccount\",\r\n (): ng.IDirective => {\r\n return {\r\n restrict: \"E\",\r\n controller: AddBankAccountController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snAddBankAccount/snAddBankAccountFormDirective.html',\r\n scope: {\r\n snBankAccount: \"=\",\r\n snAddBankAccount: \"&\",\r\n snOnClose: \"&\",\r\n snErrors: \"=\",\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class AddCurrencyCard extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"$state\", \"currencyStore\", \"organisationStore\", \"OrganisationsActions\", \"$stateParams\"];\r\n snChangeBankAccount: () => void;\r\n snOnClose: () => void;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n private $state: ng.ui.IStateService,\r\n private currencyStore: any\r\n ) {\r\n super($scope);\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snAddCurrencyCard\",\r\n (): ng.IDirective => {\r\n return {\r\n restrict: \"E\",\r\n controller: AddCurrencyCard,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snAddCurrencyCard/snAddCurrencyCard.html',\r\n scope: {\r\n snLocalisedText: \"@\",\r\n snOnClick:\"&\",\r\n snLocked:\"=\"\r\n }\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n\tclass snAddDirectorFormController extends Core.BaseController {\r\n\r\n\t\tstatic $inject = [\r\n\t\t\t\"$scope\", \r\n\t\t\t\"$state\", \r\n\t\t\t\"localiser\", \r\n\t\t\t\"ProposalEvents\", \r\n\t\t\t\"AddDirectorStateUpdates\",\r\n\t\t\t\"AddPersonEvents\",\r\n\t\t\t\"PeopleTransformers\",\r\n\t\t\t\"AddPersonStateUpdates\"\r\n\t\t];\r\n\t\t\r\n\t\tdirector: Models.IDirector;\r\n\t\ttransformedDirector: Models.IDirector;\r\n\t\terrorMessage: string;\r\n\t\tlocalisedText: ILocalisationData;\r\n\t\tvalidationErrors = {address: {}};\r\n\r\n\t\tconstructor(\r\n\t\t\tprotected $scope: ng.IScope,\r\n\t\t\tprotected $state: ng.ui.IStateService,\r\n\t\t\tprotected localiser: ILocaliserService,\r\n\t\t\tprotected ProposalEvents: Sonovate.Core.Events.IProposalEvents,\r\n\t\t\tprotected AddDirectorStateUpdates: Rx.BehaviorSubject,\r\n\t\t\tprotected AddPersonEvents: Core.Events.AddPersonEvents,\r\n\t\t\tprotected PeopleTransformers: Sonovate.Core.Transformers.PeopleTransformers,\r\n\t\t\tprotected AddPersonStateUpdates: Rx.BehaviorSubject\r\n\t\t) {\r\n\t\t\tsuper($scope);\r\n\t\t\tthis.setLocalisedTextWhenRetrieved();\r\n\t\t\t// this.setupSuccessSubscription();\r\n\t\t\tthis.setupAddPersonSubscription();\r\n\t\t}\r\n\r\n\t\tprivate setupAddPersonSubscription() : void {\r\n\t\t\tthis.subscriptions.push(\r\n\t\t\t\tthis.AddPersonStateUpdates.safeApply(this.$scope, (state: Core.State.IAddPersonState) => {\r\n\t\t\t\t\tthis.errorMessage = state.errorMessage;\r\n }).subscribe()\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tpublic onUserKeyUp(): void {\r\n\t\t\tif (!_.isEmpty(this.director.dateOfBirth) && this.director.dateOfBirth !== \"Invalid\") {\r\n\t\t\t\tthis.director.dateOfBirth = new Date(this.director.dateOfBirth).toISOString();\r\n\t\t\t}\r\n\t\t\tthis.ProposalEvents.userIntents.userTypedInAddDirectorForm.onNext(this.director);\r\n\t\t}\r\n\r\n\t\tpublic submitFormRequest(): void {\r\n\t\t\tlet transformedPerson = this.PeopleTransformers.IDirector_IPerson(this.director);\r\n\t\t\t// this.AddPersonEvents.userIntents.addPerson.onNext(transformedPerson);\r\n\t\t}\r\n\r\n\t\tpublic formIsReadyForSubmission(): boolean {\r\n\t\t\tvar validationErrors = angular.copy(this.validationErrors);\r\n\r\n\t\t\tvar hasAddress = _.every(validationErrors.address, function(property: any) {\r\n\t\t\t\treturn _.isEmpty(property);\r\n\t\t\t});\r\n\r\n\t\t\tdelete validationErrors.address\r\n\r\n\t\t\t var hasDetails = _.every(validationErrors, function(property: any) {\r\n\t\t\t\treturn _.isEmpty(property);\r\n\t\t\t});\r\n\t\t\t\r\n\t\t\treturn hasAddress && hasDetails\r\n\t\t}\r\n\r\n\r\n\t\tpublic setLocalisedTextWhenRetrieved(): void {\r\n\t\t\tthis.subscriptions.push(\r\n\t\t\t\tthis.localiser.get([\r\n\t\t\t\t\t\"addaddress\", \r\n\t\t\t\t\t\"general\", \r\n\t\t\t\t\t\"companyuser\"\r\n\t\t\t\t]).safeApply(this.$scope,\r\n\t\t\t\t\t(data: ILocalisationData) => {\r\n\t\t\t\t\t\tthis.localisedText = data;\r\n\t\t\t\t\t}\r\n\t\t\t\t).subscribe()\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tpublic dismissErrorMessage(): void {\r\n\t\t\tthis.AddPersonEvents.userIntents.resetErrors.onNext(null);\r\n\t\t}\r\n\r\n\t\t// private setupSuccessSubscription(): void {\r\n\t\t// \tthis.subscriptions.push(\r\n\t\t// \t\tthis.AddPersonEvents.httpResults.addPersonSuccess\r\n\t\t// \t\t.do((person) => {})\r\n // .safeApply(this.$scope, (person: Models.IPerson) => {\r\n\t\t// \t\t\tthis.ProposalEvents.userIntents.addDirector.onNext(this.PeopleTransformers.IPerson_IDirector(person));\r\n\t\t// \t\t\tthis.closeOnSubmissionSuccess();\r\n // })\r\n // .subscribe()\r\n\t\t// \t);\r\n\t\t// }\r\n\r\n\t\tprivate closeOnSubmissionSuccess(): void {\r\n\t\t\tthis.$state.go(this.$state.current.parent);\r\n\t\t}\r\n\t}\r\n\r\n\tangular.module(\"sonovate.core\")\r\n\t.directive(\r\n\t\t\"snAddDirectorForm\",\r\n\t\tfunction snAddDirectorForm(): ng.IDirective {\r\n\t\t\treturn {\r\n\t\t\t\trestrict: 'E',\r\n\t\t\t\ttemplateUrl: 'core/components/snAddDirectorForm/snAddDirectorFormDirective.html',\r\n\t\t\t\tscope: {},\r\n\t\t\t\treplace: false,\r\n\t\t\t\tbindToController: true,\r\n\t\t\t\tcontroller: snAddDirectorFormController,\r\n\t\t\t\tcontrollerAs: 'vm'\r\n\t\t\t};\r\n\t\t}\r\n\t);\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snAddressCardController extends BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\"];\r\n\r\n localisation: ILocalisationData;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope)\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisation = data;\r\n }).subscribe()\r\n )\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snAddressCard\",\r\n function snAddressCard(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snAddressCardController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n scope: {\r\n snLine1: \"@\",\r\n snLine2: \"@\",\r\n snCity: \"@\",\r\n snPostcode: \"@\",\r\n snCountry: \"@\",\r\n snIsRegisteredAddress: \"=\",\r\n snIsResidentialAddress: \"=\",\r\n snOnEdit: \"&\",\r\n snOnDelete: \"&\",\r\n snSelectable: \"=\",\r\n snIsSelected: \"=\",\r\n snSingleSelect: \"@\",\r\n snStatus: \"@\",\r\n snStatusPrefix: \"@\",\r\n\r\n snFacet: \"=\",\r\n snOnConfirmPublish: \"&\",\r\n snOnRefutePublish: \"&\",\r\n snOnConfirmDiscard: \"&\",\r\n snOnRefuteDiscard: \"&\",\r\n snMentionedParty: \"@\",\r\n snCanEdit: \"=\",\r\n snShowReplace: \"=\",\r\n\t\t snOnReplace:\"&\",\r\n snHideFacetIcon: \"=\"\r\n },\r\n templateUrl: 'core/components/snAddressCard/snAddressCardDirective.html'\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snAddressFormController extends BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\"];\r\n snFormNamespace: Models.IAddress;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n private text: IDictionary\r\n ) {\r\n super($scope);\r\n this.subscriptions.push(\r\n localiser.get([\"addaddress\"])\r\n .safeApply($scope, (data: IDictionary) => {\r\n this.text = data;\r\n }).subscribe()\r\n );\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snAddressForm\",\r\n function snAddressForm(): ng.IDirective {\r\n return {\r\n restrict: 'E',\r\n templateUrl: 'core/components/snAddressForm/snAddressFormDirective.html',\r\n scope: {\r\n snFormNamespace: \"=\",\r\n snOnFormInputChange:\"&\",\r\n snErrors:\"=\"\r\n },\r\n replace: false,\r\n bindToController: true,\r\n controller: snAddressFormController,\r\n controllerAs: 'vm'\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snAddressMediaObjectController extends BaseController{\r\n\r\n static $inject = [\"$scope\", \"localiser\"];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n private text: IDictionary\r\n ) {\r\n super($scope)\r\n\r\n this.subscriptions.push(\r\n localiser.get([\"mediaobject\"])\r\n .safeApply($scope, (data: IDictionary) => {\r\n this.text = data;\r\n }).subscribe()\r\n )\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snAddressMediaObject\",\r\n function snAddressMediaObject(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snAddressMediaObjectController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n scope: {\r\n snLine1: \"@\",\r\n snLine2: \"@\",\r\n snCity: \"@\",\r\n snPostcode: \"@\",\r\n snCountry: \"@\",\r\n snIsRegisteredAddress: \"=\",\r\n snIsResidentialAddress: \"=\"\r\n },\r\n templateUrl: 'core/components/snAddressMediaObject/snAddressMediaObjectDirective.html'\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class AssessmentStatusContoller extends BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\", \"referenceDataActions\", \"RiskStatusStateUpdates\"];\r\n statuses: IDictionary;\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected referenceDataActions: any,\r\n protected RiskStatusStateUpdates: Rx.BehaviorSubject,\r\n private text: IDictionary\r\n ) {\r\n super($scope)\r\n\r\n this.subscriptions.push(\r\n localiser.get([\"mediaobject\"])\r\n .safeApply($scope, (data: IDictionary < string > ) => {\r\n this.text = data;\r\n }).subscribe()\r\n )\r\n\r\n this.initRiskStatusesSubscription();\r\n }\r\n\r\n private initRiskStatusesSubscription() {\r\n this.referenceDataActions.requestSubjects.getStatuses.onNext(null);\r\n\r\n this.subscriptions.push(this.RiskStatusStateUpdates\r\n .safeApply(this.$scope, (state: State.RiskStatusState) => {\r\n this.statuses = state.getStatusesAsDropdownItems();\r\n })\r\n .subscribe());\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snAssessmentStatus\",\r\n function snAddressMediaObject(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: AssessmentStatusContoller,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n scope: {\r\n snStatus: \"@\",\r\n snIconOnly: \"@\",\r\n snIconSize: \"@\"\r\n },\r\n templateUrl: 'core/components/snAssessmentStatus/snAssessmentStatusDirective.html'\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class AssignemntContractCardController extends Core.BaseController {\r\n\r\n static $inject = [\r\n\t\t\t\"$scope\", \r\n\t\t\t\"localiser\",\r\n \"signedInUserStore\",\r\n \"$state\",\r\n \"AgreementEvents\",\r\n \"EditTermsFormStateUpdates\",\r\n \"OnboardingDocumentEvents\",\r\n \"OnboardingDocumentStateUpdates\"\r\n\t\t];\r\n\r\n localised: IDictionary = {};\r\n userDateFormat: string;\r\n isDropdownShowing: boolean;\r\n characterLimit: number;\r\n snTemplateTerm: Models.ITermsTemplate;\r\n snOnEditDocumentTerm: () => void;\r\n snOnEditWrittenTerm: () => void;\r\n snDuplicateOnEdit: () => boolean;\r\n snShowPreview: string;\r\n snOnEdit: Function;\r\n snOnReplace: Function;\r\n snPdfUrl: Function;\r\n \r\n snRouteBase: string; \r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n private signedInUserStore: ISignedInUserStore,\r\n private $state: ng.ui.IStateService,\r\n private AgreementEvents: Events.IAgreementEvents,\r\n private EditTermsFormStateUpdates: Rx.BehaviorSubject,\r\n protected OnboardingDocumentEvents: Core.Events.IOnboardingDocumentEvents,\r\n protected OnboardingDocumentStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope);\r\n this.setupSignedinUserStore();\r\n this.getLocalisedText();\r\n this.initTermsDuplicatedHandler();\r\n }\r\n\r\n private initTermsDuplicatedHandler(): void {\r\n this.subscriptions.push(\r\n this.EditTermsFormStateUpdates.subscribe((state: State.IEditTermsFormState) => {\r\n // no-op\r\n // required to get the state updated correctly \r\n })\r\n );\r\n \r\n this.subscriptions.push( \r\n this.AgreementEvents.httpResults.termsDuplicated.subscribe((terms: Models.ITermsTemplate) => { \r\n this.$state.go(`${this.snRouteBase}.modals`, {modal: \"edit-terms\"});\r\n })\r\n );\r\n }\r\n\r\n public setupSignedinUserStore(): void {\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject.subscribe(state => {\r\n this.userDateFormat = state.settings.dateFormat;\r\n })\r\n );\r\n }\r\n\r\n public getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\r\n \"templateterms\",\r\n \"general\",\r\n \"terms\"\r\n ])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n if (data.templateterms && data.general && data.terms) {\r\n this.localised = R.mergeAll(\r\n [\r\n data.templateterms, \r\n data.general,\r\n data.terms\r\n ]\r\n );\r\n }\r\n }).subscribe()\r\n );\r\n } \r\n\r\n public toggleDropdown(): void {\r\n this.isDropdownShowing = !this.isDropdownShowing;\r\n }\r\n\r\n public previewTerm(): void {\r\n }\r\n\r\n public showPreview() : boolean {\r\n return !R.isNil(this.snShowPreview) && !R.isNil(this.snPdfUrl());\r\n }\r\n\r\n public removeTerms(): void {\r\n this.OnboardingDocumentEvents.userIntents.removeTermsTemplate.onNext(null);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snAssignmentContractCard\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: AssignemntContractCardController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snAssignmentContractCard/snAssignmentContractCard.html',\r\n scope: {\r\n snOnChange: \"&\",\r\n snTemplate: \"=\",\r\n snPreviewPdf: \"&\",\r\n snPdfUrl: \"&\",\r\n snCardCallback:\"&\"\r\n }\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snAssignmentExtensionsPopoutController extends BaseController{\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n ];\r\n\r\n snAssignmentExtensions: Models.IAssignmentExtension[];\r\n snAssignmentReference: string;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope); \r\n }\r\n\r\n public extensionIsGivenAssignment(extension: Models.IAssignmentExtension): boolean {\r\n return extension.reference === this.snAssignmentReference;\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snAssignmentExtensionsPopout\",\r\n function snAssignmentExtensionsPopout(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snAssignmentExtensionsPopoutController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: \"core/components/snAssignmentExtensionsPopout/snAssignmentExtensionsPopoutDirective.html\",\r\n scope: {\r\n snAssignmentExtensions: \"=\",\r\n snAssignmentReference: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.core {\r\n\r\n class AssignmentServiceRateCardController extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"referenceDataActions\",\r\n \"RateUnitStateUpdates\"\r\n ];\r\n\r\n snOnDelete: () => void;\r\n snOnChangeRateName: (object) => void;\r\n snOnChangeClientRateCharge: (object) => void;\r\n snOnChangeCandidateRateCharge: (object) => void;\r\n snOnChangeUnitRate: (object) => void;\r\n description: string;\r\n clientCharge: number;\r\n candidatePay: string;\r\n rate: string;\r\n localised: ILocalisationData;\r\n rateDropdownItems: Models.IDropdownItem[];\r\n snRate: Models.IAssignmentServiceRate;\r\n\r\n error: string\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected referenceDataActions: IReferenceDataActions,\r\n protected RateUnitStateUpdates: Rx.ReplaySubject\r\n ) {\r\n super($scope);\r\n this.setupLocaliser();\r\n this.snRate = this.snRate || {\r\n name: \"\",\r\n clientCharge: {\r\n ammount: 0,\r\n unit: \"\",\r\n unitText: \"\"\r\n },\r\n candidatePay: {\r\n ammount: 0,\r\n unit: \"\",\r\n unitText: \"\"\r\n }\r\n }\r\n }\r\n\r\n public setupLocaliser(){\r\n this.subscriptions.push(\r\n\t\t\t\tthis.localiser.get([\r\n\t\t\t\t\t\"general\",\r\n \"assignments\" \r\n\t\t\t\t]).safeApply(this.$scope, (data: ILocalisationData) => {\r\n\t\t\t\t\t\tthis.localised = data;\r\n\t\t\t\t\t}\r\n\t\t\t\t).subscribe()\r\n );\r\n\r\n this.subscriptions.push(\r\n this.RateUnitStateUpdates.safeApply(this.$scope, (state: Core.State.ReferenceDataState.IRateUnitState ) => {\r\n this.rateDropdownItems = state.getUnitRatesAsDropdownItems();\r\n }).subscribe()\r\n );\r\n }\r\n\r\n public changeTitle(): void{\r\n this.snOnChangeRateName({index:0, string:this.snRate.name});\r\n }\r\n\r\n public changeClientCharge(): void{\r\n this.snOnChangeClientRateCharge({index:0, clientCharge: this.snRate.clientCharge.ammount});\r\n }\r\n\r\n public changeCandidatePay(): void{\r\n this.snOnChangeCandidateRateCharge({index:0, candidateCharge: this.snRate.candidatePay.ammount});\r\n }\r\n\r\n public close(): void{\r\n this.snOnDelete();\r\n }\r\n\r\n public changeRate(value: string): void {\r\n this.snOnChangeUnitRate({index: 0, value: value});\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snAssignmentServiceRateCard\",\r\n function AssignmentsBody(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: AssignmentServiceRateCardController,\r\n controllerAs: \"vm\",\r\n replace: true,\r\n bindToController: true,\r\n templateUrl: 'core/components/snAssignmentServiceRateCardDirective/snAssigmentServiceRateCardDirective.html',\r\n scope: {\r\n snOnDelete: \"&\",\r\n snOnChangeRateName: \"&\",\r\n snOnChangeClientRateCharge: \"&\",\r\n snOnChangeCandidateRateCharge: \"&\",\r\n snOnChangeUnitRate: \"&\",\r\n snIndex: \"=\",\r\n snRate:\"=\",\r\n snLocked:\"=\",\r\n snRateUnit: \"@\"\r\n }\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snAutoCompleteDropdownController extends BaseDropdown {\r\n\r\n static $inject = [\r\n \"$scope\", \r\n \"$filter\",\r\n \"$timeout\"\r\n ];\r\n\r\n snLock: boolean;\r\n snLabel: string;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $filter: ng.IFilterService,\r\n protected $timeout: ng.ITimeoutService\r\n ) {\r\n super($scope, $filter, $timeout);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snAutoCompleteDropdown\",\r\n function snAutoCompleteDropdown(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snAutoCompleteDropdownController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snAutoCompleteDropdown/snAutoCompleteDropdownDirective.html',\r\n scope: {\r\n snModel: \"=\",\r\n snItems: \"=\",\r\n snHeightInItems: \"@\",\r\n snTabindex: \"@\",\r\n snHideTextInBox: \"=\",\r\n snOnOpen: \"&\",\r\n snOnClose: \"&\",\r\n snOnChange: \"&\",\r\n snSelectObject: \"&\",\r\n snError: \"=\",\r\n snLock: \"=\",\r\n snDisableFiltering: \"=\",\r\n snOnType:\"&\",\r\n snLabel: \"@\",\r\n snDisableLabel: \"@\",\r\n snSetModelToFilterTextWhenNothingFound: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snBankAccountCardController extends BaseController {\r\n\r\n\r\n static $inject = [\r\n \"$scope\", \r\n \"localiser\"\r\n ];\r\n \r\n snBankAccount: ViewModels.Directory.BankAccount;\r\n snDeleteBankAccount: (params: { bankAccount: number }) => void;\r\n snEditBankAccount: (params: { bankAccount: ViewModels.Directory.BankAccount }) => void;\r\n \r\n snOnConfirmPublish: (params: { id: number }) => void;\r\n snOnRefutePublish: (params: { id: number }) => void;\r\n snOnConfirmDiscard: (params: { id: number }) => void;\r\n snOnRefuteDiscard: (params: { id: number }) => void;\r\n\r\n bankAccountText: IDictionary = {};\r\n generalText: IDictionary = {};\r\n isDropdownShowing: boolean;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService\r\n\r\n ) {\r\n super($scope);\r\n this.isDropdownShowing = false;\r\n this.setLocalisedTextWhenRetrieved();\r\n }\r\n\r\n delete(): void {\r\n this.snDeleteBankAccount({ bankAccount: this.snBankAccount.id });\r\n }\r\n\r\n edit(): void {\r\n this.snEditBankAccount({ bankAccount: this.snBankAccount });\r\n }\r\n\r\n onConfirmPublish(): void {\r\n this.snOnConfirmPublish({ id: this.snBankAccount.id });\r\n }\r\n\r\n onRefutePublish(): void {\r\n this.snOnRefutePublish({ id: this.snBankAccount.id });\r\n }\r\n\r\n onConfirmDiscard(): void {\r\n this.snOnConfirmDiscard({ id: this.snBankAccount.id });\r\n }\r\n\r\n onRefuteDiscard(): void {\r\n this.snOnRefuteDiscard({ id: this.snBankAccount.id });\r\n }\r\n\r\n toggleDropdown(): void {\r\n this.isDropdownShowing = !this.isDropdownShowing;\r\n }\r\n\r\n private setLocalisedTextWhenRetrieved(): void {\r\n this.subscriptions.push(this.localiser\r\n .get([\"bankaccount\", \"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.bankAccountText = data.bankaccount;\r\n this.generalText = data.general;\r\n }).subscribe());\r\n };\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snBankAccountCard\",\r\n function snBankAccountCard(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snBankAccountCardController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snBankAccountCard/snBankAccountCardDirective.html',\r\n scope: {\r\n\r\n snBankAccount: \"=\",\r\n snCanEdit: \"=\",\r\n\r\n snDeleteBankAccount: \"&\",\r\n snEditBankAccount: \"&\",\r\n\r\n snOnConfirmPublish: \"&\",\r\n snOnRefutePublish: \"&\",\r\n snOnConfirmDiscard: \"&\",\r\n snOnRefuteDiscard: \"&\",\r\n\r\n snOnEnter: \"&\",\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class bankAccountDropdownController extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\"];\r\n snDeleteBankAccount: (params: { bankAccount: number }) => void;\r\n snEditBankAccount: (params: { bankAccount: ViewModels.Directory.BankAccount }) => void;\r\n public bankAccountText: IDictionary = {};\r\n public generalText: IDictionary = {}; \r\n\r\n private snOnConfirmPublish: (params: { id: number }) => void;\r\n private snOnRefutePublish: (params: { id: number }) => void;\r\n private snOnConfirmDiscard: (params: { id: number }) => void;\r\n private snOnRefuteDiscard: (params: { id: number }) => void;\r\n\r\n private snBankAccount: ViewModels.Directory.BankAccount;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n private openState: any\r\n\r\n ) {\r\n super($scope);\r\n this.openState = false;\r\n this.getText();\r\n }\r\n\r\n private open(): void {\r\n this.openState = !this.openState;\r\n } \r\n\r\n delete(): void {\r\n this.snDeleteBankAccount({ bankAccount: this.snBankAccount.id});\r\n }\r\n\r\n edit(): void {\r\n this.snEditBankAccount({bankAccount: this.snBankAccount});\r\n }\r\n\r\n onConfirmPublish(): void {\r\n this.snOnConfirmPublish({ id: this.snBankAccount.id });\r\n }\r\n onRefutePublish(): void {\r\n this.snOnRefutePublish({ id: this.snBankAccount.id });\r\n }\r\n onConfirmDiscard(): void {\r\n this.snOnConfirmDiscard({ id: this.snBankAccount.id });\r\n }\r\n onRefuteDiscard(): void {\r\n this.snOnRefuteDiscard({ id: this.snBankAccount.id });\r\n }\r\n\r\n private getText(): void {\r\n this.subscriptions.push(this.localiser\r\n .get([\"bankaccount\", \"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.bankAccountText = data.bankaccount;\r\n this.generalText = data.general;\r\n }).subscribe());\r\n };\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snBankAccountDropdown\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: bankAccountDropdownController,\r\n controllerAs: \"vm\",\r\n replace: true,\r\n bindToController: true,\r\n templateUrl: 'core/components/snBankAccountDropdown/snBankAccountDropdownDirective.html',\r\n scope: {\r\n snBankAccount: \"=\",\r\n snDeleteBankAccount:\"&\",\r\n snEditBankAccount:\"&\",\r\n snOnEnter:\"&\",\r\n snOnConfirmPublish: \"&\",\r\n snOnRefutePublish: \"&\",\r\n snOnConfirmDiscard: \"&\",\r\n snOnRefuteDiscard: \"&\",\r\n snCanEdit: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n export class bankAccountsController extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"$state\", \"localiser\"];\r\n snAddBankAccount: () => void;\r\n snChangeBankAccount: () => void;\r\n snRoute: string;\r\n public bankAccountText: IDictionary = {};\r\n public generalText: IDictionary = {};\r\n private snOnConfirm: (id: Object) => void;\r\n private snOnRefute: (id: Object) => void;\r\n private snOnConfirmPublish: (id: Object) => void;\r\n private snOnRefutePublish: (id: Object) => void;\r\n private snOnConfirmDiscard: (id: Object) => void;\r\n private snOnRefuteDiscard: (id: Object) => void;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected localiser: ILocaliserService,\r\n protected deleteAccount: (bankAccount: number) => void,\r\n protected editAccount: (bankAccount: ViewModels.Directory.BankAccount) => void,\r\n private snBankAccounts: ViewModels.Directory.BankAccount[]\r\n ) {\r\n super($scope);\r\n\r\n this.getText();\r\n\r\n this.deleteAccount = function(bankAccount: number): void{\r\n this.snDeleteBankAccount({ bankAccount: bankAccount });\r\n }\r\n\r\n this.editAccount = function(bankAccount: ViewModels.Directory.BankAccount): void{\r\n this.snEditBankAccount({ bankAccount: bankAccount })\r\n }\r\n }\r\n\r\n confirm(id: number): void {\r\n this.snOnConfirm({ id: id });;\r\n }\r\n\r\n refute(id: number): void {\r\n this.snOnRefute({ id: id });;\r\n }\r\n\r\n onConfirmPublish(id: Object): void {\r\n this.snOnConfirmPublish({ id: id });\r\n }\r\n \r\n onRefutePublish(id: Number): void {\r\n this.snOnRefutePublish({ id: id });\r\n }\r\n\r\n onConfirmDiscard(id: Number): void {\r\n this.snOnConfirmDiscard({ id: id });\r\n }\r\n\r\n onRefuteDiscard(id: Number): void {\r\n this.snOnRefuteDiscard({ id: id });\r\n }\r\n\r\n private addBankAccount(): void {\r\n this.snAddBankAccount();\r\n }\r\n\r\n private editBankAccount(): void{\r\n this.snChangeBankAccount();\r\n }\r\n\r\n private getText(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"bankaccount\", \"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.bankAccountText = data.bankaccount;\r\n this.generalText = data.general;\r\n }).subscribe()\r\n );\r\n };\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snBankAccounts\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: bankAccountsController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snBankAccounts/snBankAccountsDirective.html',\r\n scope: {\r\n snBankAccounts: \"=\",\r\n snAddBankAccount: \"&\",\r\n snChangeBankAccount: \"&\",\r\n snDeleteBankAccount: \"&\",\r\n snEditBankAccount: \"&\",\r\n snRoute: \"@\",\r\n snOnConfirm: \"&\",\r\n snOnRefute: \"&\",\r\n snOnConfirmPublish: \"&\",\r\n snOnRefutePublish: \"&\",\r\n snOnConfirmDiscard: \"&\",\r\n snOnRefuteDiscard: \"&\",\r\n snCanEdit: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class AddButtonController extends BaseController {\r\n\r\n static $inject = \r\n [\r\n '$scope',\r\n ];\r\n\r\n constructor(protected $scope: ng.IScope) {\r\n super($scope);\r\n }\r\n\r\n }\r\n\r\n angular.module('sonovate.core')\r\n .directive('snAddButton', function directive(): ng.IDirective {\r\n return {\r\n restrict: 'E',\r\n controller: AddButtonController,\r\n controllerAs: 'vm',\r\n replace: false,\r\n bindToController: false,\r\n templateUrl: 'core/components/snButton/snAddButton.html',\r\n scope: {\r\n snShow: '=',\r\n snHideOnDesktop: '=',\r\n snAction: '&',\r\n snStyleOverride: '='\r\n }\r\n };\r\n });\r\n\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snMultiButtonController extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n ];\r\n\r\n snActions;\r\n snIsBusy;\r\n showContextMenu: boolean = false;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n ) {\r\n super($scope);\r\n }\r\n\r\n public toggleContextMenu(): void {\r\n this.showContextMenu = !this.showContextMenu;\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snMultiButton\",\r\n function snMultiButton(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snMultiButtonController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n templateUrl: 'core/components/snButton/snMultiButton.html',\r\n scope: {\r\n snActions: \"=\",\r\n snIsBusy: \"=\",\r\n }\r\n };\r\n }\r\n );\r\n} ","/// \r\nmodule Sonovate.Core {\r\n\r\n class snButtonCardController extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\"];\r\n\r\n constructor(\r\n protected $scope: ng.IScope\r\n ) {\r\n\r\n super($scope);\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snButtonCard\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snButtonCardController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snButtonCard/snButtonCard.html',\r\n scope: {\r\n snLabel: \"@\",\r\n snIcon:\"@\",\r\n snCallback: \"&\" \r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class snCalendarController extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"DateService\",\r\n \"signedInUserStore\",\r\n \"observeOnScope\",\r\n \"localiser\"\r\n ];\r\n\r\n snSelectedDates: string[];\r\n snSelectableRangeStartDate: string;\r\n snSelectableRangeEndDate: string;\r\n snOnChangeSelection: Function;\r\n snOnClearSelection: Function;\r\n snAssignmentDates: Models.IAssignmentDate[];\r\n\r\n rawCalendarPage: Models.ICalendarPage;\r\n mergedCalendarPage: Models.ICalendarPage = {\r\n rows: [] \r\n }; \r\n startOfWeekDay: Models.DayOfWeek = \"Sunday\";\r\n orderedWeekDays: string[];\r\n snDisplayMonth: string;\r\n displayMonth: moment.Moment;\r\n selectableRangeStartDate: moment.Moment;\r\n selectableRangeEndDate: moment.Moment;\r\n selectedDateSummary: string;\r\n userMouseDownOnDayObservable: Rx.Observable;\r\n userMouseEnterOnDayObservable: Rx.Observable;\r\n userMouseUpObservable: Rx.Observable;\r\n stagedSelectionStartDay: Models.ICalendarDay;\r\n stagedSelectionEndDay: Models.ICalendarDay;\r\n selectionInProgress: boolean;\r\n localised: IDictionary = {};\r\n\r\n constructor(\r\n protected $scope: Sonovate.IRxScope,\r\n protected DateService: Sonovate.Core.Utils.DateService,\r\n protected SignedInUserStore: ISignedInUserStore,\r\n protected observeOnScope: Function,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n \r\n this.initLocalisationSubscription();\r\n this.initDisplayMonthWatch();\r\n this.initSelectedDatesWatch();\r\n this.initSignedInUserStoreSubscription();\r\n this.initSelectableRangeWatches();\r\n this.initObservableFunctions();\r\n this.initDragAndDropSelect();\r\n this.initClickDeselect();\r\n this.initAssignmentDatesWatch();\r\n }\r\n\r\n public clearSelection () {\r\n this.snSelectedDates = [];\r\n this.snOnClearSelection();\r\n }\r\n\r\n public clearAllPageSelections () {\r\n window.getSelection().removeAllRanges();\r\n }\r\n\r\n public nextPage () {\r\n this.displayMonth.add(1, 'month');\r\n this.setRawCalendarPage();\r\n this.mergeCalendar();\r\n }\r\n\r\n public prevPage () {\r\n this.displayMonth.subtract(1, 'month');\r\n this.setRawCalendarPage();\r\n this.mergeCalendar();\r\n }\r\n\r\n private initLocalisationSubscription () {\r\n this.localiser\r\n .get(['timesheets'])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data.timesheets;\r\n })\r\n .subscribe();\r\n }\r\n\r\n private initDisplayMonthWatch () {\r\n this.observeOnScope(this.$scope, 'vm.snDisplayMonth')\r\n .safeApply(this.$scope, (val) => {\r\n if (! val.newValue) {\r\n throw new Error('snCalendar: display month must be set to a valid year and month.');\r\n }\r\n this.displayMonth = moment(val.newValue);\r\n this.setRawCalendarPage();\r\n this.mergeCalendar();\r\n\r\n })\r\n .subscribe();\r\n }\r\n\r\n private initAssignmentDatesWatch(){\r\n this.observeOnScope(this.$scope, 'vm.snAssignmentDates')\r\n .safeApply(this.$scope, (val) => {\r\n this.setRawCalendarPage();\r\n this.mergeCalendar();\r\n this.setSelectedDateSummary();\r\n })\r\n .subscribe();\r\n }\r\n\r\n private initSelectedDatesWatch () {\r\n this.observeOnScope(this.$scope, 'vm.snSelectedDates')\r\n .safeApply(this.$scope, (val) => {\r\n if (val.newValue.constructor !== Array) {\r\n throw new Error('snCalendar: \"snSelectedDates\" must be an array.');\r\n }\r\n this.mergeCalendar();\r\n this.snSelectedDates.sort();\r\n this.setSelectedDateSummary();\r\n })\r\n .subscribe();\r\n }\r\n\r\n private initSignedInUserStoreSubscription() {\r\n this.SignedInUserStore.subject\r\n .safeApply(this.$scope, (state: Models.ISignedInUser) => {\r\n this.setWeekStart(state.settings.weekStart);\r\n })\r\n .subscribe();\r\n }\r\n\r\n private initSelectableRangeWatches () {\r\n this.observeOnScope(this.$scope, 'vm.snSelectableRangeStartDate')\r\n .merge(this.observeOnScope(this.$scope, 'vm.snSelectableRangeEndDate'))\r\n .safeApply(this.$scope, (val) => {\r\n if (! val.newValue) {\r\n throw new Error('snCalendar: \"snSelectableRangeStartDate\" must be a date string.');\r\n }\r\n // this.snOnChangeSelection({dates: []});\r\n this.selectableRangeStartDate = moment(this.snSelectableRangeStartDate);\r\n this.selectableRangeEndDate = moment(this.snSelectableRangeEndDate);\r\n this.mergeCalendar();\r\n })\r\n .subscribe();\r\n }\r\n\r\n private initObservableFunctions () { \r\n this.userMouseDownOnDayObservable = this.$scope.$createObservableFunction('userMouseDownOnDay');\r\n this.userMouseEnterOnDayObservable = this.$scope.$createObservableFunction('userMouseEnterOnDay');\r\n this.userMouseUpObservable = Rx.Observable.fromEvent($(window), 'mouseup');\r\n }\r\n\r\n private initDragAndDropSelect () {\r\n this.userMouseDownOnDayObservable\r\n .filter((day) => {\r\n return day.isSelected !== true;\r\n })\r\n .flatMap((day) => {\r\n this.selectionInProgress = true;\r\n day.isFirstStagedSelection = true;\r\n return Rx.Observable\r\n .just(day)\r\n .merge(this.userMouseEnterOnDayObservable)\r\n .takeUntil(this.userMouseUpObservable);\r\n })\r\n .scan((days, day): Models.ICalendarDay[] => {\r\n if (day.isFirstStagedSelection) {\r\n days = [day];\r\n day.isFirstStagedSelection = false;\r\n }\r\n days[1] = day;\r\n return days;\r\n }, [])\r\n .safeApply(this.$scope, (days: Models.ICalendarDay[]) => {\r\n this.stagedSelectionStartDay = days[0];\r\n this.stagedSelectionEndDay = days[1];\r\n this.mergeCalendar();\r\n })\r\n .subscribe();\r\n \r\n this.userMouseUpObservable\r\n .safeApply(this.$scope, () => {\r\n if (this.selectionInProgress) {\r\n this.snOnChangeSelection({dates: this.getMergedSelectedAndStagedDates()});\r\n }\r\n\r\n this.selectionInProgress = false;\r\n this.mergeCalendar();\r\n })\r\n .subscribe();\r\n }\r\n\r\n private initClickDeselect () {\r\n this.userMouseDownOnDayObservable\r\n .filter((day) => {\r\n return day.isSelected === true;\r\n })\r\n .safeApply(this.$scope, (day) => {\r\n let dates = R.filter((date) => {\r\n return ! (day.date.indexOf(date) > -1);\r\n },this.snSelectedDates);\r\n this.snOnChangeSelection({dates: dates});\r\n })\r\n .subscribe();\r\n }\r\n\r\n private getMergedSelectedAndStagedDates () {\r\n let dates = [];\r\n this.mergedCalendarPage.rows.map((row) => {\r\n row.days.map((day) => {\r\n if (day.isSelected || day.isStagedForSelection) {\r\n dates.push(day.date);\r\n }\r\n });\r\n });\r\n return dates;\r\n }\r\n\r\n private setWeekStart (weekStart: Models.DayOfWeek) {\r\n this.startOfWeekDay = weekStart;\r\n this.orderedWeekDays = this.getOrderedWeekdaysFromIndexes(this.DateService.getWeekdaysIndexListBeginningWithDay(weekStart));\r\n }\r\n\r\n private getOrderedWeekdaysFromIndexes (indexes: number[]) {\r\n return indexes.map((index) => {\r\n return moment().day(index).format('dddd');\r\n });\r\n }\r\n\r\n private setSelectedDateSummary () {\r\n if (this.snSelectedDates.length < 4) {\r\n let summary = '';\r\n this.snSelectedDates.map((date) => {\r\n summary += moment(date).format('Do') + ', ';\r\n });\r\n this.selectedDateSummary = summary.slice(0, -2);\r\n return;\r\n }\r\n\r\n this.selectedDateSummary = this.snSelectedDates.length + ' ' + (this.localised && this.localised['Days'] ? this.localised['Days']: '');\r\n }\r\n\r\n private setRawCalendarPage () {\r\n this.rawCalendarPage = this.DateService.getCalendarPage(this.displayMonth, this.startOfWeekDay);\r\n }\r\n\r\n private isInCoordinatesBox (coord: number[], boxCoord1: number[], boxCoord2: number[]) {\r\n let minX = Math.min(boxCoord1[0], boxCoord2[0]);\r\n let maxX = Math.max(boxCoord1[0], boxCoord2[0]);\r\n let minY = Math.min(boxCoord1[1], boxCoord2[1]);\r\n let maxY = Math.max(boxCoord1[1], boxCoord2[1]);\r\n\r\n if (coord[0] >= minX && coord[0] <= maxX && coord[1] >= minY && coord[1] <= maxY) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private checkForWork(day: Models.ICalendarDay): any {\r\n let hasWork = false;\r\n if(!R.isNil(this.snAssignmentDates && !R.isEmpty(this.snAssignmentDates))){\r\n this.snAssignmentDates.map((assignmentDate: Models.IAssignmentDate) => {\r\n if(assignmentDate.hasWork == true){\r\n\r\n }\r\n if(assignmentDate.day === day.date && assignmentDate.hasWork == true){\r\n hasWork = true;\r\n }\r\n })\r\n }\r\n return hasWork\r\n }\r\n\r\n private mergeCalendar () {\r\n this.mergedCalendarPage.rows = this.rawCalendarPage.rows.map((row) => {\r\n row.days = row.days.map((day) => {\r\n let currentDate = moment(day.date);\r\n day.isSelectable = currentDate.isBetween(this.selectableRangeStartDate, this.selectableRangeEndDate, 'days', '[]'); \r\n\r\n day.isFirstInSelectableRange = currentDate.isSame(this.selectableRangeStartDate, 'day');\r\n day.isLastInSelectableRange = currentDate.isSame(this.selectableRangeEndDate, 'day');\r\n day.isSelected = false;\r\n day.hasWork = this.checkForWork(day);\r\n\r\n if (R.contains(day.date, this.snSelectedDates)) {\r\n day.isSelected = true;\r\n }\r\n\r\n day.isStagedForSelection = false;\r\n\r\n if (\r\n this.stagedSelectionStartDay &&\r\n this.stagedSelectionEndDay &&\r\n this.isInCoordinatesBox(day.gridCoordinates, this.stagedSelectionStartDay.gridCoordinates, this.stagedSelectionEndDay.gridCoordinates)\r\n && day.isSelectable\r\n && this.selectionInProgress\r\n ) {\r\n day.isStagedForSelection = true;\r\n }\r\n\r\n return day;\r\n });\r\n return row;\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snCalendar\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snCalendarController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snCalendar/snCalendarDirective.html',\r\n scope: {\r\n snDisplayMonth: \"@\", // e.g. 2016-07\r\n snSelectedDates: \"=\", // Array of \r\n snSelectableRangeStartDate: \"@\", // date string\r\n snSelectableRangeEndDate: \"@\", // date string\r\n snOnClearSelection: \"&\",\r\n snOnChangeSelection: \"&\",\r\n snIsLoading: \"=\",\r\n\t snCalendarFullWidth: \"=\",\r\n snIsWobbling: \"=\",\r\n snAssignmentDates: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snCallbackWithClickOutLink {\r\n\r\n snCallbackWithClickOut: any;\r\n\r\n constructor(\r\n scope: any,\r\n element: any\r\n ) { \r\n $(document).on('mousedown', function(event) { \r\n if(!$(event.target).closest(element).length && !$(event.target).is(element)) {\r\n scope.vm.snCallbackWithClickOut({clickedOffOfElement: true});\r\n } else {\r\n scope.vm.snCallbackWithClickOut({clickedOffOfElement: false});\r\n }\r\n });\r\n } \r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snCallbackWithClickOut\",\r\n function snCallbackWithClickOut(): ng.IDirective {\r\n return {\r\n restrict: \"A\",\r\n link: snCallbackWithClickOutLink,\r\n controller: angular.noop,\r\n template: `
`,\r\n transclude: true,\r\n bindToController: true,\r\n controllerAs: \"vm\",\r\n scope: {\r\n snCallbackWithClickOut: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class snCandidateCardController extends Core.BaseController {\r\n\r\n static $inject = [\r\n\t\t\t\"$scope\",\r\n \"localiser\"\r\n\t\t];\r\n\r\n isDropdownShowing: boolean = false;\r\n localisedText: IDictionary = {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n }\r\n\r\n public toggleDropdown() {\r\n\t this.isDropdownShowing = !this.isDropdownShowing\r\n }\r\n\r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"general\", \"assignments\"]).safeApply(this.$scope,\r\n (data: {general: IDictionary, assignments: IDictionary}) => {\r\n if (data.general && data.assignments) {\r\n this.localisedText = R.merge(data.general, data.assignments);\r\n }\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snCandidateCard\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snCandidateCardController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snCandidateCard/snCandidateCard.html',\r\n scope: {\r\n snCandidate: \"=\",\r\n snRiskFlagCallback: \"&\",\r\n snEditCallback: \"&\",\r\n snDeleteCallback: \"&\"\r\n\r\n }\r\n };\r\n }\r\n\t);\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snCandidateMultiselectSearchCardController extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\", \"PersonOptionsDropdownEvents\"];\r\n\r\n localisedText: IDictionary = {};\r\n snCandidate: Models.IPersonSearchItem;\r\n isDropdownShowing: boolean = false;\r\n snIsSelected: boolean = this.snIsSelected || false;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n private localiser: ILocaliserService,\r\n protected PersonOptionsDropdownEvents: Events.IPersonOptionsDropdownEvents\r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n }\r\n\r\n toggleCardSelection(){\r\n this.snIsSelected = !this.snIsSelected;\r\n }\r\n\r\n toggleDropdown() {\r\n this.isDropdownShowing = !this.isDropdownShowing\r\n }\r\n\r\n getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"mediaobject\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = data.mediaobject;\r\n }).subscribe()\r\n )\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snCandidateMultiselectSearchCard\",\r\n function snCandidateMultiselectSearchCard(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snCandidateMultiselectSearchCardController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n scope: {\r\n snCandidate: \"=\",\r\n snOnClick: \"&?\",\r\n snIsSelected: \"=\",\r\n snOnSelect: \"&\"\r\n },\r\n templateUrl: 'core/components/snCandidateMultiselectSearchCard/snCandidateMultiselectSearchCardDirective.html',\r\n }\r\n }\r\n )\r\n};","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snCandidateSingleSelectSearchCardController extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\"];\r\n\r\n localisedText: IDictionary = {};\r\n snCandidate: Models.IPersonSearchItem;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n private localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n }\r\n\r\n getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"mediaobject\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = data.mediaobject;\r\n }).subscribe()\r\n )\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snCandidateSingleSelectSearchCard\",\r\n function snCandidateSingleSelectSearchCard(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snCandidateSingleSelectSearchCardController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n scope: {\r\n snCandidate: \"=\",\r\n snOnSelect: \"&?\",\r\n snIsSelected: \"=\"\r\n },\r\n templateUrl: 'core/components/snCandidateSingleSelectSearchCard/snCandidateSingleSelectSearchCardDirective.html',\r\n }\r\n }\r\n )\r\n};","\r\n/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n\tclass snCardController extends Core.BaseController {\r\n snOnDuplciate: (params: {id: number}) => void;\r\n\t\tsnOnShowDropdown: Function;\r\n\t\tstatic $inject = [\"$scope\", \"localiser\", \"$timeout\"];\r\n\r\n\t\tsnIsSelected: boolean;\r\n\t\tsnOnSelect: () => void;\r\n\t\tsnSelectable: boolean;\r\n\t\tsnFacet: Models.IFacet;\r\n\r\n\t\tisDropdownShowing: boolean;\r\n\t\tlocalised: ILocalisationData;\r\n\t\tsnSingleSelect: string;\r\n\t\tsingleSelect: boolean;\r\n\t\tsnHideFacetIcon: boolean;\r\n\r\n snStatus: string;\r\n snStatusPrefix: string;\r\n\r\n\t\tconstructor(\r\n\t\t\tprotected $scope: ng.IScope,\r\n\t\t\tprivate localiser: ILocaliserService,\r\n\t\t\tprotected $timeout: ng.ITimeoutService\r\n\t\t) {\r\n\t\t\tsuper($scope);\r\n\t\t\tthis.getLocalisedText();\r\n\t\t\tthis.singleSelect = this.snSingleSelect === 'true';\r\n\t\t}\r\n\r\n\t\ttoggleSelect(): void {\r\n\t\t\tthis.setToogledSelection();\r\n\t\t\tthis.snOnSelect();\r\n\t\t}\r\n\r\n\t\tsetToogledSelection(): void {\r\n\t\t\tif (typeof this.snIsSelected === \"boolean\") {\r\n\t\t\t\tthis.snIsSelected = !this.snIsSelected;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\ttoggleDropdown(): void {\r\n\t\t\tif (!this.isDropdownShowing) {\r\n\t\t\t\tthis.snOnShowDropdown();\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tthis.$timeout(() => {\r\n\t\t\t\tthis.isDropdownShowing = !this.isDropdownShowing;\r\n\t\t\t}, 0);\r\n\t\t}\r\n \r\n\r\n\r\n\t\tgetLocalisedText(): void {\r\n\t\t\tthis.subscriptions.push(\r\n\t\t\t\tthis.localiser\r\n\t\t\t\t.get([\"general\"])\r\n\t\t\t\t.safeApply(this.$scope, (data: ILocalisationData) => {\r\n\t\t\t\t\tthis.localised = data;\r\n\t\t\t\t}).subscribe()\r\n\t\t\t)\r\n\t\t}\r\n \r\n delete(id: number):void {\r\n }\r\n\r\n duplicate(id: number): void {\r\n this.snOnDuplciate({id: id});\r\n }\r\n\t}\r\n\r\n\r\n\tangular.module(\"sonovate.core\")\r\n\t.directive(\r\n\t\t\"snCard\",\r\n\t\tfunction snCard(): ng.IDirective {\r\n\t\t\treturn {\r\n\t\t\t\trestrict: \"E\",\r\n\t\t\t\ttransclude: true,\r\n\t\t\t\tcontroller: snCardController,\r\n\t\t\t\tcontrollerAs: \"vm\",\r\n\t\t\t\tbindToController: true,\r\n\t\t\t\tscope: {\r\n\t\t\t\t\tsnSelectable: \"=\",\r\n\t\t\t\t\tsnIsSelected: \"=\",\r\n\t\t\t\t\tsnOnSelect: \"&\",\r\n\t\t\t\t\tsnOnClick: \"&\",\r\n\t\t\t\t\tsnStatus: \"@\",\r\n\t\t\t\t\tsnStatusPrefix: \"@\",\r\n\t\t\t\t\tsnSingleSelect: \"@\",\r\n\r\n\t\t\t\t\tsnFacet: \"=\",\r\n\t\t\t\t\tsnOnConfirmPublish: \"&\",\r\n\t\t\t\t\tsnOnRefutePublish: \"&\",\r\n\t\t\t\t\tsnOnConfirmDiscard: \"&\",\r\n\t\t\t\t\tsnOnRefuteDiscard: \"&\",\r\n\t\t\t\t\tsnMentionedParty: \"@\",\r\n\t\t\t\t\tsnOrganisationId: \"@\",\r\n\t\t\t\t\tsnOnFlagClick: \"&\",\r\n\t\t\t\t\tsnId: \"@\",\r\n\t\t\t\t\tsnHideCog:\"=\",\r\n\t\t\t snOnDelete:\"&\",\r\n\t\t\t snOnDuplciate:\"&\",\r\n\t\t\t\t\tsnOnShowDropdown: \"&\",\r\n\t\t\t\t\tsnShowReplace: \"=\",\r\n\t\t\t\t\tsnOnReplace: \"&\",\r\n\t\t\t\t\tsnHideFacetIcon: \"=\"\r\n\t\t\t\t},\r\n\t\t\t\ttemplateUrl: 'core/components/snCard/snCardDirective.html'\r\n\t\t\t};\r\n\t\t}\r\n\t);\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snCardAddressDetailsController extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\"];\r\n localisedText: IDictionary = {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n }\r\n \r\n public getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\r\n \"mediaobject\"\r\n ])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = data.mediaobject;\r\n }).subscribe()\r\n );\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snCardAddressDetails\",\r\n function snCardAddressDetails(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snCardAddressDetailsController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n scope: {\r\n snAddress: \"=\"\r\n },\r\n templateUrl: 'core/components/snCardAddressDetails/snCardAddressDetailsDirective.html',\r\n }\r\n }\r\n )\r\n};","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class CardInformationDropdownController extends BaseController {\r\n\r\n static $inject = [\"$scope\"];\r\n\r\n public snOnSelect: (params: {item: string}) => void;\r\n private snListItems: string[];\r\n private selectedItem: string;\r\n private snSelectedItem: string;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n public dropdownIsOpen: boolean\r\n ) {\r\n super($scope);\r\n this.selectDefaultEmailAddress();\r\n this.$scope.$watch(\"vm.snSelectedItem\", (newValue: string) => {\r\n\r\n this.selectDefaultEmailAddress();\r\n });\r\n }\r\n\r\n public toggleDropdown():void {\r\n this.dropdownIsOpen = !this.dropdownIsOpen;\r\n }\r\n \r\n public selectDefaultEmailAddress(): void {\r\n if(this.snListItems && (R.isNil(this.snSelectedItem) || R.isEmpty(this.snSelectedItem))) {\r\n this.snSelectedItem = this.snListItems[0];\r\n }\r\n }\r\n\r\n public setSelectedItem(listItem: string): void {\r\n this.snSelectedItem = listItem;\r\n this.snOnSelect({item: listItem});\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snCardInformationDropdown\",\r\n function snProfileInformationDropdown(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: CardInformationDropdownController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n scope: {\r\n snListItems: \"=\",\r\n snSingularTitle: \"@\",\r\n snMultipleTitle: \"@\",\r\n snOnSelect: \"&\",\r\n snInformationText:\"@\",\r\n snSelectedItem: \"@\",\r\n snNoDataText:\"@\"\r\n },\r\n templateUrl: 'core/components/snCardInformationDropdown/snCardInformationDropdown.html'\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snCardPersonDetailsController extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\"];\r\n\r\n constructor(\r\n protected $scope: ng.IScope\r\n ) {\r\n super($scope);\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snCardPersonDetails\",\r\n function snCardPersonDetails(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snCardPersonDetailsController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n scope: {\r\n snPerson: \"=\"\r\n },\r\n templateUrl: 'core/components/snCardPersonDetails/snCardPersonDetailsDirective.html',\r\n }\r\n }\r\n )\r\n};","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snPersonSettingsProfileHeaderController extends BaseController {\r\n\r\n static inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"PersonSettingsProfileStateUpdates\",\r\n \"PersonProfileEvents\",\r\n \"$state\",\r\n \"signedInUserStore\",\r\n \"DateService\"\r\n ];\r\n\r\n localised: {};\r\n\r\n private newPictureChosen: boolean = false;\r\n private snOnChange: (file) => {};\r\n private snOnDelete: () => {};\r\n private snWidth: string;\r\n private snHeight: string;\r\n private snCanEdit: boolean;\r\n private snSrc: any;\r\n private showPreview : boolean;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected PersonSettingsProfileStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope);\r\n }\r\n\r\n removeImage(): void {\r\n this.newPictureChosen = true;\r\n this.snOnDelete();\r\n }\r\n\r\n upload(file): void {\r\n if (!file) {\r\n this.removeImage();\r\n this.showPreview = false;\r\n return\r\n }\r\n this.showPreview = true;\r\n this.snOnChange({file:file});\r\n }\r\n\r\n openFileDialog(): void {\r\n angular.element('.fileInput').triggerHandler('click');\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.PersonSettings\")\r\n .directive(\r\n \"snChangeProfilePicture\",\r\n function PersonSettingsProfile(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snPersonSettingsProfileHeaderController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: \"core/components/snChangeProfilePicture/snChangeProfilePicture.html\",\r\n scope: {\r\n snWidth: '@',\r\n snSrc: '=',\r\n snFirstName: \"=\",\r\n snLastName: \"=\",\r\n snOnChange: '&',\r\n snOnDelete: '&',\r\n snCanEdit: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}\r\n\r\n","/// \r\nmodule Sonovate.Core {\r\n\r\n class ChargeCard extends BaseController {\r\n\r\n static $inject = [\"$scope\", \"currencyStore\", \"localiser\"];\r\n private currentState: Enums.TariffType;\r\n private showFlatRate: Boolean;\r\n private showTieredRate: Boolean;\r\n private selectedCurrencyCode: String;\r\n\r\n private snFrequency: String;\r\n private snTariff: Models.ITieredTariffPlan;\r\n private currencyList: Models.IDropdownItem[];\r\n private snOnChange: (tariff: Models.ITieredTariffPlan) => void;\r\n private snOnClose: (tariff: Models.ITieredTariffPlan) => void;\r\n private snChangeCurrency: (tariff: Models.ITieredTariffPlan) => void;\r\n private snAddTier: (params: { item: Models.ITieredTariffPlan, tier: Models.ITariffPlanFeeModel }) => void;\r\n private snDeleteTier: (params: { item: number, tier: Models.ITariffPlanFeeModel }) => void;\r\n private snSetFrequency: (params: { item: number, frequency: string }) => void;\r\n private snChangeRate: (params: { item: number, rate: Models.ITariffPlanFeeModel }) => void;\r\n private snChangeFlatRate: (params: { item: number, rate: number }) => void;\r\n private snLocked: boolean;\r\n private snShowClose: boolean;\r\n private menuDisabled: boolean;\r\n public tabs: string[];\r\n private localised: ILocalisationData;\r\n private snChangeState: (params: { item: number, newState: Object }) => void;\r\n private snIndexInFees: number;\r\n private snChangeTariffType: (params: { item: number, type: Enums.TariffType }) => void;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n private currencyStore: any,\r\n protected localiser: ILocaliserService\r\n\r\n ) {\r\n super($scope);\r\n \r\n this.$scope.$watch('vm.snTariff', (newValue: Models.ITieredTariffPlan) => {\r\n if (this.snTariff) {\r\n this.currentState = this.snTariff.tariffType;\r\n this.showFlatRate = (this.snTariff.tariffType === \"Flat\");\r\n this.showTieredRate = (this.snTariff.tariffType === \"Tiered\");\r\n this.tabs = [\r\n \"Monthly\",\r\n \"Quarterly\",\r\n \"Annually\",\r\n \"Perpetual\"\r\n ];\r\n }\r\n });\r\n\r\n this.setCurrencyListOnCurrencyStoreUpdates();\r\n this.setSetDefaultTariffIfNoneIsSet();\r\n this.triggerSnChangeStateOnCurrentStateChange();\r\n this.setLocalisedTextWhenRetrieved();\r\n }\r\n\r\n private triggerSnChangeStateOnCurrentStateChange() : void {\r\n this.$scope.$watch('vm.currentState', (newValue) => {\r\n this.snChangeState({\r\n item: this.snTariff.id,\r\n newState: newValue\r\n })\r\n });\r\n\r\n }\r\n\r\n private setCurrencyListOnCurrencyStoreUpdates() : void {\r\n this.subscriptions.push(\r\n this.currencyStore.safeApply(this.$scope, (state: any) => {\r\n this.currencyList = state.currencies;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private setSetDefaultTariffIfNoneIsSet(): void {\r\n if (!this.tariffIsSet()) {\r\n this.snTariff = {\r\n id: 0,\r\n period: \"Monthly\",\r\n currencyCode: \"\",\r\n fees: [\r\n {\r\n id: 0,\r\n low: 0,\r\n high: 0,\r\n rate: 0,\r\n }\r\n ]\r\n }\r\n }\r\n\r\n this.snTariff.index = this.snIndexInFees;\r\n }\r\n\r\n public tariffIsSet(): boolean {\r\n return !R.isNil(this.snTariff);\r\n }\r\n\r\n private setLocalisedTextWhenRetrieved() : void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"proposal\", \"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data;\r\n }).subscribe()\r\n )\r\n }\r\n\r\n public disableMenu(): void {\r\n this.menuDisabled != this.menuDisabled\r\n }\r\n\r\n public flatRate(): void {\r\n this.snChangeTariffType({\r\n item: this.snTariff.index,\r\n type: \"Flat\"\r\n });\r\n }\r\n\r\n public tieredRate(): void {\r\n this.snChangeTariffType({\r\n item: this.snTariff.index,\r\n type: \"Tiered\"\r\n });\r\n }\r\n\r\n public isCurrentState(state: string): Boolean {\r\n return this.currentState === state;\r\n }\r\n\r\n public changeRate(rate: Models.ITariffPlanFeeModel): void {\r\n this.snChangeRate({\r\n item: this.snTariff.id,\r\n rate: rate\r\n });\r\n }\r\n\r\n public changeCurrency(currency) {\r\n this.selectedCurrencyCode = currency.value;\r\n this.snTariff.currencyCode = currency.value;\r\n }\r\n\r\n public setFrequency(frequency: number): void {\r\n this.snSetFrequency({\r\n item: this.snTariff.index,\r\n frequency: this.tabs[frequency]\r\n })\r\n }\r\n\r\n public getfrequency(frequency: number): Boolean {\r\n return this.snTariff.period === this.tabs[frequency];\r\n }\r\n\r\n public checkAmounts(newTier: Models.ITariffPlanFeeModel): void {\r\n if (this.checkInputs(newTier)) {\r\n this.snAddTier({\r\n item: this.snTariff,\r\n tier: newTier\r\n });\r\n };\r\n this.checkHighAndLow();\r\n }\r\n\r\n public checkHighAndLow(): void {\r\n this.snTariff.fees.forEach((currentValue, index, array) => {\r\n if (this.feeValueIsInvalid(currentValue, array[index + 1])) {\r\n array[index].error = \"Invalid Value\";\r\n } else {\r\n array[index].error = \"\";\r\n }\r\n })\r\n }\r\n\r\n private feeValueIsInvalid(currentFee, nextFee) : boolean {\r\n if (R.isNil(nextFee)) {\r\n return false;\r\n }\r\n return currentFee.high.toString() !== nextFee.low.toString();\r\n }\r\n\r\n public changeFlatRate(): void {\r\n this.snChangeFlatRate({\r\n item: this.snTariff.index,\r\n rate: this.snTariff.flatRate\r\n });\r\n }\r\n\r\n public close() {\r\n this.snOnClose(this.snTariff);\r\n }\r\n\r\n public onClose(tier: any): void {\r\n this.snDeleteTier({\r\n item: this.snTariff.index,\r\n tier: tier.id\r\n });\r\n this.checkHighAndLow();\r\n }\r\n\r\n public checkInputs(item: Models.ITariffPlanFeeModel): boolean {\r\n return isNaN(item.high) == false && this.checkAmountOnLastItem();\r\n }\r\n\r\n public checkAmountOnLastItem(): boolean {\r\n return (\r\n parseInt(this.snTariff.fees[this.snTariff.fees.length - 1].high) > \r\n parseInt(this.snTariff.fees[this.snTariff.fees.length - 1].low)\r\n );\r\n }\r\n\r\n public showClose(): boolean {\r\n if (this.snLocked === true && this.snShowClose === true) {\r\n return false\r\n } else if (this.snLocked === true) {\r\n return false\r\n } else if (this.snShowClose === true && this.snLocked === false) {\r\n return true\r\n } else if (this.snShowClose === false && this.snLocked === false) {\r\n return false\r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snChargeCard\",\r\n function snChargeCard(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: ChargeCard,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snChargeCard/snChargeCardDirective.html',\r\n scope: {\r\n snTariff: \"=\",\r\n snCurrencyCode: \"=?\",\r\n snRate: \"=?\",\r\n snOnChange: \"&\",\r\n snShowClose: \"=\",\r\n snOnClose: \"&\",\r\n snChangeCurrency: \"&\",\r\n snAddTier: \"&\",\r\n snDeleteTier: \"&\",\r\n snSetFrequency: \"&\",\r\n snChangeRate: \"&\",\r\n snChangeFlatRate: \"&\",\r\n snLocked: \"=\",\r\n snShowOtherCurrency:\"=\",\r\n snChangeState:\"&\",\r\n snIndexInFees: \"=\",\r\n snChangeTariffType: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class snChart extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\"];\r\n chartConfig: ChartConfiguration;\r\n chart: any;\r\n snName: string;\r\n snType: string;\r\n snChartLabels: string[];\r\n snChartValues: number[];\r\n snChartColors: string[];\r\n snWidth: number = this.snWidth || 300;\r\n snHeight: number = this.snHeight || 300;\r\n snOptions: ChartOptions = this.snOptions;\r\n showBarChart: boolean = false;\r\n canvas: CanvasRenderingContext2D;\r\n snLineChartData: Models.ILineChartDataSet[];\r\n snChartLinks: IDictionary;\r\n snYAxisLabel: string;\r\n\r\n constructor(\r\n protected $scope: ng.IScope\r\n ) {\r\n super($scope);\r\n this.setupWatch();\r\n }\r\n\r\n setupWatch() {\r\n this.$scope.$watchGroup([\"vm.snChartValues\", \"vm.snLineChartData\"] , (values)=> {\r\n if (this.chart && values) {\r\n this.chart.config = this.setConfig();\r\n this.chart.update();\r\n } else if (this.snChartValues || this.snLineChartData) {\r\n this.initChartJs();\r\n }\r\n })\r\n }\r\n\r\n setDefaultOptions() {\r\n let defaultOptions = {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n scales: {\r\n yAxes: [],\r\n xAxes: []\r\n }\r\n };\r\n\r\n if (this.snType === 'line') {\r\n defaultOptions.scales.xAxes.push({\r\n gridLines: {\r\n display: false\r\n }\r\n });\r\n }\r\n\r\n if (this.snYAxisLabel) {\r\n defaultOptions.scales.yAxes.push({\r\n scaleLabel: {\r\n display: true,\r\n labelString: this.snYAxisLabel\r\n },\r\n });\r\n }\r\n\r\n this.snOptions = R.merge(this.snOptions, defaultOptions); \r\n }\r\n\r\n initChartJs() {\r\n this.chartConfig = this.setConfig();\r\n this.chart = new Chart(this.canvas, this.chartConfig);\r\n }\r\n\r\n setConfig() {\r\n return {\r\n type: this.snType,\r\n data: this.setDataFormat(this.snType),\r\n options: this.snOptions\r\n };\r\n }\r\n\r\n setLineChartDataSets() {\r\n var lineChartData = [];\r\n \r\n R.map((dataSet: Models.ILineChartDataSet) => {\r\n lineChartData.push({\r\n label: dataSet.label,\r\n borderColor: dataSet.color,\r\n value: dataSet.label,\r\n data: dataSet.data,\r\n legendLink: dataSet.legendLink,\r\n dataPointLinks: dataSet.dataPointLinks,\r\n pointBackgroundColor: \"#ffffff\",\r\n pointBorderColor: dataSet.dataPointColors\r\n });\r\n }, this.snLineChartData)\r\n return lineChartData;\r\n }\r\n\r\n\r\n setDataFormat(type: string): any {\r\n if (type === 'line') {\r\n return {\r\n labels: this.snChartLabels,\r\n datasets: this.setLineChartDataSets()\r\n }\r\n\r\n } else{\r\n return {\r\n labels: this.snChartLabels,\r\n datasets: [{\r\n data: this.snChartValues,\r\n backgroundColor: this.snChartColors\r\n }],\r\n links: this.snChartLinks\r\n }\r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snChart\",\r\n (): ng.IDirective => {\r\n return {\r\n restrict: \"E\",\r\n controller: snChart,\r\n controllerAs: \"vm\",\r\n replace: true,\r\n bindToController: true,\r\n templateUrl: 'core/components/snChart/snChart.html',\r\n scope: {\r\n snName:\"@\",\r\n snChartLabels: \"=\",\r\n snChartValues: \"=\",\r\n snChartColors: \"=\",\r\n snWidth:\"=?\",\r\n snHeight:\"=?\",\r\n snType: \"@\",\r\n snOptions: \"=?\",\r\n snLineChartData: \"=?\",\r\n snChartLinks: \"=?\",\r\n snYAxisLabel: \"@\"\r\n },\r\n link: (scope: any, element, attributes) => {\r\n scope.vm.canvas = $(element).children()[0];\r\n scope.vm.canvas = scope.vm.canvas.getContext(\"2d\");\r\n scope.vm.setDefaultOptions();\r\n\t\t\t }\r\n };\r\n }\r\n );\r\n}\r\n","\r\n/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snCheckController {\r\n\r\n static $inject = [\"$scope\"];\r\n snBoxColor: Models.color;\r\n snChange: (params: { checked: boolean, checkedValue: string | boolean, uncheckedValue: string | boolean }) => void;\r\n snModel: string | boolean;\r\n snTrueValue: string | boolean;\r\n snFalseValue: string | boolean;\r\n snLabel: string;\r\n\r\n checked: boolean;\r\n\r\n constructor(\r\n protected $scope: ng.IScope\r\n ) {\r\n this.snBoxColor = this.snBoxColor || \"splash\";\r\n this.snFalseValue = this.snFalseValue || false;\r\n this.snTrueValue = this.snTrueValue || true;\r\n this.checked = this.getDefaultCheckedValue();\r\n\r\n $scope.$watch('vm.snModel', (value) => {\r\n this.checked = this.getDefaultCheckedValue();\r\n });\r\n }\r\n\r\n public isSetToColor(colorName: Models.color): boolean {\r\n return this.checked && this.snBoxColor === colorName;\r\n }\r\n\r\n public toggleCheck(): void {\r\n if (this.checked) {\r\n this.checked = false;\r\n this.setModelTo(this.snFalseValue);\r\n this.callOnChangeCallback();\r\n } else {\r\n this.checked = true;\r\n this.setModelTo(this.snTrueValue);\r\n this.callOnChangeCallback();\r\n }\r\n }\r\n\r\n private callOnChangeCallback() : void {\r\n this.snChange({\r\n checked: this.checked,\r\n checkedValue: this.snTrueValue,\r\n uncheckedValue: this.snFalseValue\r\n });\r\n }\r\n\r\n private setModelTo(value:any) : void {\r\n if (this.snModel) {\r\n this.snModel = value;\r\n }\r\n }\r\n\r\n private getDefaultCheckedValue() : boolean {\r\n return this.snModel === this.snTrueValue;\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snCheck\",\r\n function snCheck(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snCheckController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snCheck/snCheckDirective.html',\r\n scope: {\r\n snBoxColor: \"@\",\r\n snModel: \"=\",\r\n snChange: \"&\",\r\n snTrueValue: \"@\",\r\n snFalseValue: \"@\",\r\n snLabel: \"@\"\r\n }\r\n };\r\n }\r\n );\r\n}","\r\n/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snChecklistController {\r\n\r\n static $inject = [\"$scope\"];\r\n snChecklist: Models.IChecklistItem[];\r\n snModel: string[];\r\n checkMap: string[];\r\n\r\n constructor(\r\n protected $scope: ng.IScope\r\n ) {\r\n this.makeCheckMap(this.snModel);\r\n this.makeCheckMapOnFirstSetOfSnModel();\r\n this.$scope.$watch(\"vm.snChecklist\", () => {\r\n this.makeCheckMap(this.snModel);\r\n });\r\n }\r\n\r\n public onItemSelection(checked, roleName): void {\r\n if (checked) {\r\n this.addItemToModel(roleName);\r\n } else {\r\n this.removeItemFromModel(roleName);\r\n }\r\n }\r\n\r\n private addItemToModel(roleName: string): void {\r\n this.snModel = R.uniq(this.snModel.concat(roleName));\r\n }\r\n\r\n private removeItemFromModel(roleName: string): void {\r\n this.snModel = R.without([roleName], this.snModel);\r\n }\r\n\r\n private makeCheckMapOnFirstSetOfSnModel(): void {\r\n this.$scope.$watch(\"vm.snModel\", (newValue, oldValue) => {\r\n this.makeCheckMap(newValue);\r\n });\r\n }\r\n\r\n private makeCheckMap(model: any): void {\r\n if (this.snChecklist) {\r\n this.checkMap = R.map((roleItem: Models.IChecklistItem): string => {\r\n if (this.itemIsChecked(roleItem, model)) {\r\n return roleItem.value;\r\n }\r\n return \"none\";\r\n }, this.snChecklist);\r\n }\r\n }\r\n\r\n private itemIsChecked(roleItem: Models.IChecklistItem, model: any): boolean {\r\n if (!R.isNil(model)) {\r\n return R.contains(roleItem.value, model);\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snChecklist\",\r\n function snChecklist(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snChecklistController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snCheckBoxList/snCheckBoxListDirective.html',\r\n scope: {\r\n snChecklist: \"=\",\r\n snOnChange: \"&\",\r\n snModel: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n} ","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class SnShowWithClickOutLink {\r\n \r\n snClickoutCallback: () => void;\r\n \r\n constructor(\r\n scope: any,\r\n element: any\r\n \r\n ) { \r\n $(document).on('mousedown', function(event) { \r\n if(!$(event.target).closest(element).length && !$(event.target).is(element)) {\r\n scope.hide();\r\n }\r\n });\r\n \r\n $(document).on(\"keydown\", function(e){\r\n if (e.keyCode === 27) {\r\n scope.hide();\r\n }\r\n });\r\n \r\n $(element).on('focusout', (event: any) => {\r\n if (!$(event.relatedTarget).closest(element).length && !$(event.relatedTarget).is(element)) {\r\n scope.hide();\r\n }\r\n });\r\n \r\n scope.hide = () => {\r\n if(scope.vm.snClickoutCallback) {\r\n scope.$apply(() => {\r\n scope.vm.snClickoutCallback();\r\n });\r\n }\r\n }\r\n } \r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snClickoutCallback\",\r\n function snShowWithClickOut(): ng.IDirective {\r\n return {\r\n restrict: \"A\",\r\n link: SnShowWithClickOutLink,\r\n controller: angular.noop,\r\n bindToController: true,\r\n controllerAs: \"vm\",\r\n scope: {\r\n snClickoutCallback: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snClickStopPropogation\",\r\n function snModal(): ng.IDirective {\r\n return {\r\n restrict: \"A\",\r\n controller: () => {},\r\n link: (\r\n scope: any,\r\n element: ng.IAugmentedJQuery, \r\n attrs: ng.IAttributes\r\n ) => {\r\n element.click((event) => {\r\n event.stopImmediatePropagation();\r\n });\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class snClientCardController extends Core.BaseController {\r\n\r\n static $inject = [\r\n\t\t\t\"$scope\", \r\n\t\t\t\"localiser\", \r\n\t\t\t\"signedInUserStore\"\r\n\t\t];\r\n\r\n snIndex: number;\r\n userDateFormat: string;\r\n\r\n snOnSelect: () => void;\r\n snIsSelected: boolean;\r\n snHideDelete: string;\r\n snHideAddress: string;\r\n snIsSelectable: string;\r\n snSelectIsDisabled: string;\r\n snCantBeRemoved: string;\r\n localisedText: ILocalisationData;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n private signedInUserStore: ISignedInUserStore\r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n }\r\n\r\n public getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\r\n \"mediaobject\"\r\n ])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = data;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n public removeButtonIsShowing(): boolean {\r\n return R.isNil(this.snCantBeRemoved);\r\n }\r\n\r\n public setupSignedinUserStore(): void {\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject.subscribe(state => {\r\n this.userDateFormat = state.settings.dateFormat;\r\n })\r\n );\r\n }\r\n\r\n public toggleSelection() {\r\n this.setToogledSelection();\r\n this.snOnSelect();\r\n }\r\n\r\n private setToogledSelection() {\r\n if (typeof this.snIsSelected === \"boolean\") {\r\n this.snIsSelected = !this.snIsSelected;\r\n }\r\n }\r\n\r\n public showDeleteButton() : boolean {\r\n return !this.snHideDelete || this.snHideDelete !== \"true\";\r\n }\r\n\r\n public showAddress() : boolean {\r\n return !this.snHideAddress || this.snHideAddress !== \"true\";\r\n }\r\n\r\n public showSelectButton() : boolean {\r\n return this.snIsSelectable !== undefined;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snClientCard\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snClientCardController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snClientCard/snClientCard.html',\r\n scope: {\r\n snClient: \"=\",\r\n snCardCallback: \"&\",\r\n snDeleteCallback: \"&\",\r\n snIndex: \"=\",\r\n snOnSelect: \"&\",\r\n snIsSelected: \"=\",\r\n snIsSelectable: \"@\",\r\n snHideDelete: \"@\",\r\n snHideAddress: \"@\",\r\n snCantBeRemoved: \"@\",\r\n snLock:\"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class ClientContactCardController extends Core.BaseController {\r\n\r\n static $inject = [\r\n\t\t\t\"$scope\",\r\n \"$state\",\r\n\t\t\t\"localiser\",\r\n \"PersonOptionsDropdownEvents\",\r\n \"RiskEvents\"\r\n\t\t];\r\n\r\n localised: IDictionary = {};\r\n snContact: Models.IAgreementPerson;\r\n dropdownIsOpen: boolean = false;\r\n snFlagModal: (any) => {};\r\n assessmentStatus: Models.IStatus;\r\n snStatuses: Models.IStatus[];\r\n snSelectedStatus: string;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected localiser: ILocaliserService,\r\n\t\t\tprotected PersonOptionsDropdownEvents: Events.IPersonOptionsDropdownEvents,\r\n protected RiskEvents: Events.RiskEvents\r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n this.$scope.$watch(\"vm.snStatuses\", this.initAssessmentStatus.bind(this));\r\n }\r\n\r\n private initAssessmentStatus(newValue, oldValue) {\r\n var assessment = this.getAssessment();\r\n this.assessmentStatus = this.getStatusById(assessment.assessmentStatus);\r\n this.snSelectedStatus = this.assessmentStatus.text;\r\n }\r\n\r\n public toggleDropdown() {\r\n\t\t\tif (!this.dropdownIsOpen) {\r\n\t\t\t\tthis.PersonOptionsDropdownEvents.userIntents.openDropdownForPersonWithId.onNext(this.snContact.id);\r\n this.dropdownIsOpen = true;\r\n\t\t\t}\r\n }\r\n\r\n public updateAssessment(status) {\r\n // this.$state.go(`${this.$state.current.name}`, { modal: })\r\n this.setAssessmentStatus(status);\r\n }\r\n \r\n public \r\n\r\n\t\tprivate setAssessmentStatus(status): void {\r\n var assessment = this.getAssessment();\r\n this.assessmentStatus = this.getStatusById(status);\r\n this.snSelectedStatus = this.assessmentStatus.text;\r\n this.RiskEvents.userIntents.submitRiskStatus.onNext({\r\n assessmentId: assessment.assessmentId,\r\n status: status\r\n });\r\n\t\t}\r\n\r\n private getStatusById(id: string): Models.IStatus {\r\n return this.snStatuses.reduce((accumulatedStatus, status) => {\r\n return (status.id === id) ? status : accumulatedStatus;\r\n }, { id: \"\", text: \"\"});\r\n }\r\n\r\n public openFlagModal() {\r\n this.snFlagModal({assessments: this.snContact.assessments});\r\n }\r\n\r\n private getAssessment() : Models.IAssessment {\r\n if (this.snContact && this.snContact.assessments && this.snContact.assessments.length) {\r\n return this.snContact.assessments[0];\r\n }\r\n return {};\r\n }\r\n\r\n private isContractSignatory (): boolean {\r\n return !!(this.snContact.types.indexOf(\"ContractSignatory\") > -1);\r\n }\r\n\r\n private isTimesheetAuthoriser (): boolean {\r\n return !!(this.snContact.types.indexOf(\"TimesheetAuthoriser\") > -1);\r\n }\r\n\r\n private isInvoiceContact (): boolean {\r\n return !!(this.snContact.types.indexOf(\"InvoiceContact\") > -1);\r\n }\r\n\r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"general\", \"assignments\", \"profileheader\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n if (data.general && data.assignments && data.profileheader) {\r\n this.localised = R.mergeAll(\r\n [\r\n data.general,\r\n data.assignments,\r\n data.profileheader\r\n ]\r\n );\r\n }\r\n }\r\n ).subscribe()\r\n );\r\n\t\t}\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snClientContactCard\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: ClientContactCardController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snClientContactCard/snClientContactCard.html',\r\n scope: {\r\n snContact: \"=\",\r\n snCardCallback: \"&\",\r\n snFlagModal: \"&\",\r\n snStatuses: \"=\",\r\n snSelectedStatus: \"=?\",\r\n snLock:\"=\"\r\n }\r\n };\r\n }\r\n\t);\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snCompanyDetailsFormDirectiveController extends BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\"];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n private localised: ILocalisationData\r\n ) {\r\n super($scope);\r\n\r\n this.subscriptions.push(\r\n localiser.get([\"addorganisation\"])\r\n .safeApply($scope, (data: ILocalisationData) => {\r\n this.localised = data;\r\n }).subscribe()\r\n );\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snCompanyDetailsFormDirective\",\r\n function snCompanyDetailsFormDirective(): ng.IDirective {\r\n return {\r\n restrict: 'E',\r\n templateUrl: 'core/components/snCompanyDetailsForm/snCompanyDetailsFormDirective.html',\r\n scope: {\r\n snFormNamespace: \"=\",\r\n snErrors: \"=\"\r\n },\r\n replace: false,\r\n bindToController: true,\r\n controller: snCompanyDetailsFormDirectiveController,\r\n controllerAs: 'vm',\r\n link: function($scope, element, attributes) {\r\n\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.core {\r\n\r\n class snContractActionButtonsController extends Core.BaseController {\r\n\r\n \tstatic $inject = [\r\n\t\t\t\"$scope\",\r\n\t\t\t\"localiser\"\r\n \t];\r\n\r\n localised: IDictionary = {};\r\n snApproveContract: Function;\r\n snRejectContract: Function;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService\r\n ) {\r\n \tsuper($scope);\r\n\t\t\tthis.setLocalisedTextWhenRetrieved();\r\n \t}\r\n\r\n private setLocalisedTextWhenRetrieved(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"verification\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n if (data.verification) {\r\n this.localised = R.mergeAll(\r\n [\r\n data.verification\r\n ]\r\n );\r\n }\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n }\r\n\r\n\tangular.module(\"sonovate.core\")\r\n\t.directive(\r\n \t\"snContractActionButtons\",\r\n \tfunction snContractActionButtons(): ng.IDirective {\r\n return {\r\n restrict: 'E',\r\n\t\t templateUrl: 'core/components/snContractActionButtonsViewDirective/snContractActionButtonsViewDirective.html',\r\n\t\t scope: {\r\n snApproveContract: \"&\",\r\n snRejectContract: \"&\"\r\n },\r\n\t\t controllerAs: 'vm',\r\n\t\t bindToController: true,\r\n\t\t controller: snContractActionButtonsController\r\n };\r\n \t}\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n interface IsnCandidateCardLocalisedText {\r\n general: IDictionary;\r\n mediaobject: IDictionary;\r\n };\r\n\r\n class ContractSignatoriesCardController extends Core.BaseController {\r\n\r\n static $inject = [\r\n\t\t\t\"$scope\",\r\n\t\t\t\"localiser\",\r\n \"$timeout\",\r\n \"PersonOptionsDropdownEvents\",\r\n \"AssignmentEvents\"\r\n\t\t];\r\n\r\n snIndex: number;\r\n snHideDelete: string;\r\n snHideAddress: string;\r\n dropdownIsOpen: boolean = false;\r\n localisedText: IsnCandidateCardLocalisedText;\r\n snContact: Models.IOnboardingSignatory;\r\n snSetIssueEmail: (d: {person: Models.IAgreementPerson}) => void;\r\n snFlagModal: (any) => {}\r\n snDeleteCallback: (number) => {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected $timeout: ng.ITimeoutService,\r\n\t\t\tprotected PersonOptionsDropdownEvents: Events.IPersonOptionsDropdownEvents,\r\n protected AssignmentEvents: Core.Events.IAssignmentEvents\r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n }\r\n\r\n public toggleDropdown() {\r\n\t\t\tif (!this.dropdownIsOpen) {\r\n\t\t\t\tthis.PersonOptionsDropdownEvents.userIntents.openDropdownForPersonWithId.onNext(this.snContact.id);\r\n this.dropdownIsOpen = true;\r\n\t\t\t}\r\n }\r\n\r\n public showDeleteButton(): boolean {\r\n return this.snHideDelete === undefined;\r\n }\r\n\r\n public showAddress(): boolean {\r\n return this.snHideAddress === undefined;\r\n }\r\n\r\n public getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\r\n \"mediaobject\", \"general\"\r\n ])\r\n .safeApply(this.$scope, (data: IsnCandidateCardLocalisedText) => {\r\n if (data.mediaobject && data.general) {\r\n this.localisedText = R.merge(data.mediaobject, data.general);\r\n }\r\n }).subscribe()\r\n );\r\n }\r\n\r\n public removeContractSignatory(): void {\r\n this.snDeleteCallback({id: this.snContact.personId});\r\n this.AssignmentEvents.userIntents.removeClientContractSignatory.onNext(this.snContact.id);\r\n }\r\n\r\n public updateContractSignatory(email: any): void {\r\n this.snSetIssueEmail({\r\n person: R.merge(\r\n this.snContact,\r\n { contractIssueEmail: email }\r\n )\r\n });\r\n }\r\n\r\n public openFlagModal(){\r\n this.snFlagModal({assessments: this.snContact.assessments})\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snContractSignatoriesCard\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: ContractSignatoriesCardController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snContractSignatoriesCard/snContractSignatoriesCard.html',\r\n scope: {\r\n snContact: \"=\",\r\n snCandidateLTD: \"=\",\r\n snCardCallback: \"&\",\r\n snDeleteCallback: \"&\",\r\n snEditCallback: \"&\",\r\n snCanDelete:\"=\",\r\n snIndex: \"=\",\r\n snFlagModal: \"&\",\r\n snSetIssueEmail: \"&\"\r\n }\r\n };\r\n }\r\n\t);\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snCountryDropdownController extends BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"countriesDataStore\",\r\n \"referenceDataActions\",\r\n \"signedInUserStore\",\r\n \"localiser\"\r\n ];\r\n\r\n localised: IDictionary = {};\r\n languageCode: string;\r\n countries: Models.IDropdownItem[];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected countriesDataStore: IReferenceDataStore,\r\n protected referenceDataActions: IReferenceDataActions,\r\n protected signedInUserStore: ISignedInUserStore,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n\r\n this.setLanguageCode();\r\n this.requestCountriesIfThereIsALanguageCode();\r\n this.setupOnSignedInUserChange();\r\n this.setDropdownItemsOnCountryStoreUpdate();\r\n this.setLocalisedTextWhenRetrieved();\r\n }\r\n\r\n private setupOnSignedInUserChange() : void {\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject\r\n .safeApply(this.$scope, (data) => {\r\n this.setLanguageCode();\r\n this.requestCountriesIfThereIsALanguageCode();\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private setDropdownItemsOnCountryStoreUpdate() : void {\r\n this.subscriptions.push(\r\n this.countriesDataStore.subject\r\n .safeApply(this.$scope, (countries: { id: string, name: string, text: string}[]) => {\r\n this.countries = countries.map(function(country) {\r\n return {\r\n icon: 'sn-flag sn-flag-' + country.id,\r\n text: country.text,\r\n value: country.id\r\n };\r\n });\r\n }).subscribe()\r\n )\r\n }\r\n\r\n private setLanguageCode() : void {\r\n if (this.signedInUserStore.state && this.signedInUserStore.state.languageCode) {\r\n this.languageCode = this.signedInUserStore.state.languageCode;\r\n }\r\n }\r\n\r\n private requestCountriesIfThereIsALanguageCode() : void {\r\n if (this.languageCode) {\r\n this.referenceDataActions.requestSubjects.getCountries.onNext(this.languageCode); \r\n }\r\n }\r\n\r\n private setLocalisedTextWhenRetrieved() : void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"personsettings\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data.personsettings;\r\n }).subscribe()\r\n );\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snCountryDropdown\",\r\n function snCountryDropdown(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snCountryDropdownController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snCountryDropdown/snCountryDropdownDirective.html',\r\n scope: {\r\n snTabindex: \"@\",\r\n snModel: \"=\",\r\n snOnChange: \"&\",\r\n snError: \"=\",\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snDateInputController extends BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"$timeout\",\r\n \"localiser\",\r\n \"signedInUserStore\"\r\n ];\r\n\r\n public snOnChange: () => void;\r\n public snModel: string;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $timeout: ng.ITimeoutService,\r\n protected localiser: ILocaliserService,\r\n protected signedInUserStore: ISignedInUserStore,\r\n public date: Models.IDateInput,\r\n public dateFormat: string,\r\n public firstPartition: string,\r\n public secondPartition: string,\r\n public thirdPartition: string,\r\n\t\t\tpublic localisedText: IDictionary = {}\r\n\r\n ) {\r\n super($scope);\r\n\r\n this.date = {\r\n \"YYYY\": \"\",\r\n \"MM\": \"\",\r\n \"DD\": \"\"\r\n };\r\n\r\n this.getLocalisedText();\r\n this.setupSignedInUserStore();\r\n this.setupWatches();\r\n }\r\n\r\n public getLocalisedText(): void {\r\n\t\t\tthis.subscriptions.push(\r\n\t\t\t\tthis.localiser.get([\"general\"])\r\n .safeApply(this.$scope, (data: IDictionary) => {\r\n this.localisedText = data;\r\n }).subscribe()\r\n\t\t\t)\r\n }\r\n \r\n public onUserBackspace(elementId): void {\r\n var dateInputType;\r\n var element = $('#'+ elementId);\r\n var dateFormats = [\"dd\", \"mm\", \"yyyy\"];\r\n \r\n R.forEach((dateFormat)=> {\r\n if (elementId.indexOf(dateFormat) > -1) {\r\n dateInputType = dateFormat;\r\n }\r\n }, dateFormats);\r\n\r\n if (_.isEmpty(element.val()) && dateInputType !== \"dd\" ) {\r\n if (dateInputType === \"mm\") {\r\n var previousElement= elementId.substring(0, (elementId.length - 2));\r\n $(`#${previousElement}dd`).focus();\r\n }\r\n \r\n if (dateInputType === \"yyyy\") {\r\n var previousElement= elementId.substring(0, (elementId.length - 4));\r\n $(`#${previousElement}mm`).focus();\r\n }\r\n };\r\n }\r\n\t\t\r\n\t\tpublic setupWatches(): void {\r\n\t\t\tthis.$scope.$watch('vm.snModel', (newVal: Models.IDateInput) => {\r\n\t\t\t\t\tthis.setIsoDate(newVal);\r\n\t\t\t\t});\r\n\r\n\t\t\tthis.$scope.$watch('vm.date', (newVal: Models.IDateInput) => {\r\n\t\t\t\tthis.$timeout(this.snOnChange, 100);\r\n\t\t\t\tvar iso = this.dateObjectToIso(newVal);\r\n\r\n\t\t\t\tif (iso) {\r\n\t\t\t\t\tthis.snModel = moment(iso).format('YYYY-MM-DD');\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.snModel = \"Invalid\";\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!newVal.YYYY && !newVal.MM && !newVal.DD) {\r\n\t\t\t\t\tthis.snModel = \"\"\r\n\t\t\t\t}\r\n\t\t\t}, true);\r\n\t\t}\r\n\r\n public setupSignedInUserStore(): void {\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject.safeApply(this.$scope, (profile) => {\r\n this.dateFormat = profile.settings.dateFormat || \"DD/MM/YYYY\";\r\n this.updateOrder();\r\n }).subscribe()\r\n );\r\n }\r\n\r\n\t\tpublic updateOrder(): void {\r\n\t\t\tvar splitDate = this.dateFormat.toUpperCase().split('/');\r\n\t\t\tthis.firstPartition = splitDate[0];\r\n\t\t\tthis.secondPartition = splitDate[1];\r\n\t\t\tthis.thirdPartition = splitDate[2];\r\n\t\t}\r\n\r\n\t\tpublic setIsoDate(isoDate): string {\r\n if (this.isDateObjectValid(isoDate)) {\r\n return \"\";\r\n }\r\n \r\n\t\t\tvar date = moment(isoDate, \"YYYY-MM-DD\");\r\n\t\t\tif (date.format('YYYY-MM-DD') !== \"Invalid date\") {\r\n\t\t\t\tthis.date.YYYY = date.format(\"YYYY\");\r\n\t\t\t\tthis.date.MM = date.format(\"MM\");\r\n\t\t\t\tthis.date.DD = date.format(\"DD\");\r\n\t\t\t}\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\r\n\t\tpublic dateObjectToIso(dateObj): string {\r\n\r\n\t\t\tif (this.isDateObjectValid(dateObj)) {\r\n\t\t\t\treturn dateObj.YYYY + '-' + dateObj.MM + '-' + dateObj.DD;\r\n\t\t\t}\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\r\n\t\tpublic isDateObjectValid(dateObj): boolean {\r\n if (!dateObj) {\r\n return false;\r\n } \r\n\r\n\t\t\tif (!(dateObj.YYYY && dateObj.MM && dateObj.DD)) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tif (dateObj.YYYY.length !== 4 || dateObj.MM.length > 2 || dateObj.DD.length > 2) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tif (!parseInt(dateObj.YYYY.length) || !parseInt(dateObj.MM.length) || !parseInt(dateObj.DD.length)) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tif (parseInt(dateObj.MM) < 1 || parseInt(dateObj.MM) > 12 || parseInt(dateObj.DD) > 31 || parseInt(dateObj.DD) < 1) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n \r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snDateInput\",\r\n function snDateInput(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n replace: true,\r\n bindToController: true,\r\n controller: snDateInputController,\r\n controllerAs: \"vm\",\r\n scope: {\r\n snLabel: \"@\",\r\n snModel: '=',\r\n snOnChange: '&',\r\n snError: \"=\",\r\n snOnEnterCallback: '&',\r\n snOnBlurCallback: '&',\r\n snDisabled: \"=\"\r\n },\r\n templateUrl: \"core/components/snDateInputDirective/snDateInputDirective.html\"\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n \r\n interface IDateRangeLocalisedText {\r\n general: IDictionary;\r\n date: IDictionary;\r\n }\r\n\r\n export class snDateRangeController extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"$timeout\",\r\n \"DateService\", \r\n \"localiser\"\r\n ];\r\n \r\n private showPopout: boolean;\r\n private localised: IDictionary = {};\r\n \r\n public snShowFilterByThisMonthButton: string;\r\n public snShowFilterByThisWeekButton: string;\r\n public snOnChangeCallback: (dates: {dates: Models.IDateRange}) => void;\r\n public snOnEnterCallback: (dates: {dates: Models.IDateRange}) => void;\r\n public snOnBlurCallback: (dates: {dates: Models.IDateRange}) => void;\r\n public snLabel: string;\r\n public snModel: Models.IDateRange;\r\n \r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $timeout: ng.ITimeoutService,\r\n protected DateService: Utils.DateService,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n this.showPopout = false;\r\n \r\n this.setSnModelIfNoneGiven(); \r\n this.getLocalisedText();\r\n }\r\n\r\n public togglePopout(): void { \r\n this.showPopout = !this.showPopout;\r\n }\r\n\r\n public setSnModelToThisWeek(): void {\r\n this.snModel= this.DateService.getDateRangeOfCurrentWeek();\r\n this.showPopout = false;\r\n }\r\n\r\n public setSnModelToThisMonth(): void {\r\n this.snModel = this.DateService.getDateRangeOfCurrentMonth();\r\n this.showPopout = false;\r\n }\r\n\r\n public showThisWeekButton():boolean {\r\n return !R.isNil(this.snShowFilterByThisMonthButton);\r\n }\r\n\r\n public showThisMonthButton():boolean {\r\n return !R.isNil(this.snShowFilterByThisWeekButton);\r\n }\r\n\r\n public triggerOnChangeCallbackWhenAppropriate(): void {\r\n this.$timeout(() => {\r\n if (this.dateIsValid(this.snModel.startDate) && this.dateIsValid(this.snModel.endDate)) {\r\n this.snOnChangeCallback({\r\n dates: this.IDateRange_IDateRangeIsoString(this.snModel) \r\n });\r\n } \r\n }, 0); \r\n }\r\n\r\n public triggerOnEnterCallback(): void {\r\n if (\r\n _.isEmpty(this.snModel.endDate) && \r\n _.isEmpty(this.snModel.startDate) || \r\n (\r\n !_.isEmpty(this.snModel.endDate) && \r\n !_.isEmpty(this.snModel.startDate) && \r\n (this.snModel.endDate !== 'Invalid' && this.snModel.startDate !== 'Invalid')\r\n )\r\n ) {\r\n let dates = this.IDateRange_IDateRangeIsoString(this.snModel);\r\n this.snOnEnterCallback({ dates: dates });\r\n }\r\n } \r\n \r\n public triggerOnBlurCallback(): void {\r\n\r\n if (\r\n _.isEmpty(this.snModel.endDate) && \r\n _.isEmpty(this.snModel.startDate) || \r\n (\r\n !_.isEmpty(this.snModel.endDate) && \r\n !_.isEmpty(this.snModel.startDate) && \r\n (this.snModel.endDate !== 'Invalid' && this.snModel.startDate !== 'Invalid')\r\n )\r\n ) {\r\n let dates = this.IDateRange_IDateRangeIsoString(this.snModel);\r\n this.snOnBlurCallback({ dates: dates });\r\n }\r\n }\r\n \r\n private IDateRange_IDateRangeIsoString(dates: Models.IDateRange): Models.IDateRange {\r\n return {\r\n startDate: this.DateString_ISOStringOrString(dates.startDate),\r\n endDate: this.DateString_ISOStringOrString(dates.endDate)\r\n }\r\n } \r\n\r\n private DateString_ISOStringOrString(date:string): string {\r\n return this.dateIsValid(date) ? new Date(date).toISOString() : date;\r\n }\r\n\r\n private dateIsValid(date:string): boolean {\r\n return !_.isEmpty(date.trim()) && date !== \"Invalid\";\r\n }\r\n\r\n private setSnModelIfNoneGiven(): void {\r\n if (_.isEmpty(this.snModel)) {\r\n this.snModel = {\r\n startDate: \"Invalid\",\r\n endDate: \"Invalid\"\r\n }\r\n }\r\n }\r\n\r\n private snModelIsValid(): boolean {\r\n return (\r\n !R.isNil(this.snModel) && \r\n this.dateIsValid(this.snModel.startDate) && \r\n this.dateIsValid(this.snModel.endDate)\r\n );\r\n }\r\n\r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data.general;\r\n }).subscribe()\r\n );\r\n };\r\n \r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snDateRange\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snDateRangeController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snDateRangeDirective/snDateRangeDirective.html',\r\n scope: {\r\n snLabel: \"@\",\r\n snModel: \"=\",\r\n snOnChangeCallback: \"&\",\r\n snOnEnterCallback: \"&\",\r\n snOnBlurCallback: \"&\",\r\n snShowFilterByThisMonthButton: \"@\",\r\n snShowFilterByThisWeekButton: \"@\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n \r\n export class DelayCallbackController extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"$timeout\"];\r\n\r\n private snDelayButtonTimeout: number;\r\n private snDelayButtonCallback: Function;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $timeout: ng.ITimeoutService\r\n ) {\r\n super($scope);\r\n\r\n $scope.$watch('vm.snDelayButtonTrigger', (newVal) => {\r\n this.$timeout(() => {\r\n if (newVal) {\r\n this.snDelayButtonCallback();\r\n return;\r\n }\r\n }, this.snDelayButtonTimeout);\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snDelayButton\",\r\n function DelayHide(): ng.IDirective {\r\n return {\r\n restrict: \"A\",\r\n controller: DelayCallbackController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n scope: {\r\n snDelayButtonTrigger: \"=\",\r\n snDelayButtonCallback: \"&\",\r\n snDelayButtonTimeout: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n \r\n interface IDateRangeLocalisedText {\r\n general: IDictionary;\r\n date: IDictionary;\r\n }\r\n\r\n export class DelayHideController extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"$timeout\"];\r\n isHiding: boolean = false;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $timeout: ng.ITimeoutService\r\n ) {\r\n super($scope);\r\n\r\n $scope.$watch('vm.snDelayHide', (newVal) => {\r\n this.$timeout(() => {\r\n if (newVal) {\r\n this.isHiding = true;\r\n return;\r\n }\r\n this.isHiding = false;\r\n }, 500);\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snDelayHide\",\r\n function DelayHide(): ng.IDirective {\r\n return {\r\n restrict: \"A\",\r\n controller: DelayHideController,\r\n controllerAs: \"vm\",\r\n transclude: true,\r\n bindToController: true,\r\n template: '
',\r\n scope: {\r\n snDelayHide: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n \r\n interface IDateRangeLocalisedText {\r\n general: IDictionary;\r\n date: IDictionary;\r\n }\r\n\r\n export class DelayShowController extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"$timeout\"];\r\n isShowing: boolean = false;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $timeout: ng.ITimeoutService\r\n ) {\r\n super($scope);\r\n\r\n $scope.$watch('vm.snDelayShow', (newVal) => {\r\n this.$timeout(() => {\r\n if (newVal) { \r\n this.isShowing = true;\r\n return;\r\n }\r\n this.isShowing = false;\r\n }, 500);\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snDelayShow\",\r\n function DelayShow(): ng.IDirective {\r\n return {\r\n restrict: \"A\",\r\n controller: DelayShowController,\r\n controllerAs: \"vm\",\r\n transclude: true,\r\n bindToController: true,\r\n template: '
',\r\n scope: {\r\n snDelayShow: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n interface IDateRangeLocalisedText {\r\n general: IDictionary < string > ;\r\n date: IDictionary < string > ;\r\n }\r\n\r\n export class DeliveryPeriodToggle extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"$state\",\r\n \"$timeout\",\r\n \"localiser\",\r\n \"TimesheetEvents\",\r\n \"TimesheetAddWorkEvents\",\r\n \"TimesheetStateUpdates\",\r\n \"signedInUserStore\"\r\n ];\r\n\r\n localisedText: ILocalisationData;\r\n state: Sonovate.Core.State.TimesheetState;\r\n hasPreviousTimesheet: boolean;\r\n hasNextTimesheet: boolean;\r\n timesheetsInPeriod: Models.ITimesheetsInPeriod[] = [];\r\n person: Models.ISignedInUser;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected $timeout: ng.ITimeoutService,\r\n protected localiser: ILocaliserService,\r\n protected TimesheetEvents: Core.Events.ITimesheetEvents,\r\n protected TimesheetAddWorkEvents: Core.Events.TimesheetAddWorkEvents,\r\n protected TimesheetStateUpdates: Rx.ReplaySubject < Sonovate.Core.State.TimesheetState > ,\r\n protected signedInUserStore: ISignedInUserStore\r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n this.setupSubscriptions();\r\n }\r\n\r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"general\", \"date\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = data;\r\n }).subscribe()\r\n );\r\n };\r\n\r\n private setupSubscriptions() {\r\n // signed in user state subscription\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject\r\n .safeApply(this.$scope, (data: Models.ISignedInUser) => {\r\n this.person = data;\r\n }).subscribe()\r\n );\r\n // timesheet state subscription\r\n this.subscriptions.push(\r\n this.TimesheetStateUpdates.safeApply(this.$scope, (state: Sonovate.Core.State.TimesheetState) => {\r\n if (state) {\r\n this.state = state;\r\n this.hasPreviousTimesheet = state.activeTimesheet.hasPreviousTimesheet;\r\n this.hasNextTimesheet = state.activeTimesheet.hasNextTimesheet;\r\n if (this.person.userType !== 'Client' && state.activeTimesheet.timesheetsInPeriod.length > 0) {\r\n this.timesheetsInPeriod = this.setupTimesheetsInPeriod(state.activeTimesheet, state.activeTimesheet.timesheetsInPeriod)\r\n } else {\r\n this.timesheetsInPeriod = []\r\n }\r\n }\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private setupTimesheetsInPeriod(activeTimesheet, otherTimesheets): Models.ITimesheetsInPeriod[] {\r\n const timesheetsInPeriod = [...otherTimesheets]\r\n timesheetsInPeriod.push({\r\n timesheetId: activeTimesheet.timesheetId,\r\n timesheetStatus: activeTimesheet.status,\r\n timesheetReference: activeTimesheet.reference\r\n });\r\n timesheetsInPeriod.sort(function (a, b) {\r\n return a.timesheetId - b.timesheetId;\r\n });\r\n\r\n return timesheetsInPeriod\r\n }\r\n\r\n private isTimesheetInList(timesheetId) {\r\n return this.timesheetsInPeriod.map((ts) => {\r\n return ts.timesheetId;\r\n }).indexOf(timesheetId) >= 0\r\n }\r\n\r\n public getTimesheet(timesheetId) {\r\n this.TimesheetEvents.userIntents.getTimesheet.onNext({\r\n timesheetId: timesheetId,\r\n timesheetAssignmentId: this.state.activeTimesheet.assignment.timesheetAssignmentId.toString()\r\n });\r\n this.$state.go(this.$state.current.name, {\r\n timesheetAssignmentId: this.state.activeTimesheet.assignment.timesheetAssignmentId.toString(),\r\n timesheetId: timesheetId\r\n }, {\r\n notify: false\r\n });\r\n }\r\n\r\n public getNextDeliveryPeriod() {\r\n this.TimesheetAddWorkEvents.userIntents.stopEditingWorkEntry.onNext(null);\r\n this.TimesheetEvents.userIntents.getNextTimesheet.onNext({\r\n timesheetId: this.state.activeTimesheet.nextTimesheet.id.toString(),\r\n timesheetAssignmentId: this.state.activeTimesheet.assignment.timesheetAssignmentId.toString(),\r\n hasPreviousTimesheet: this.hasPreviousTimesheet,\r\n hasNextTimesheet: this.hasNextTimesheet\r\n })\r\n }\r\n\r\n public getPreviousDeliveryPeriod() {\r\n this.TimesheetAddWorkEvents.userIntents.stopEditingWorkEntry.onNext(null);\r\n this.TimesheetEvents.userIntents.getPreviousTimesheet.onNext({\r\n timesheetId: this.state.activeTimesheet.previousTimesheet.id.toString(),\r\n timesheetAssignmentId: this.state.activeTimesheet.assignment.timesheetAssignmentId.toString(),\r\n hasPreviousTimesheet: this.hasPreviousTimesheet,\r\n hasNextTimesheet: this.hasNextTimesheet\r\n })\r\n }\r\n\r\n public getFormattedDate(): string {\r\n if (this.state.activeTimesheet.deliveryPeriodStartDate && this.state.activeTimesheet.deliveryPeriodEndDate) {\r\n const startDate = moment(this.state.activeTimesheet.deliveryPeriodStartDate);\r\n const endDate = moment(this.state.activeTimesheet.deliveryPeriodEndDate);\r\n const startDateYear = startDate.year();\r\n const endDateYear = endDate.year();\r\n const dateFormat = startDateYear !== endDateYear ? \"DD MMM YYYY\" : \"DD MMM\"\r\n return `${startDate.format(dateFormat)}—${endDate.format(dateFormat)}`;\r\n }\r\n }\r\n\r\n public getTimesheetReference(): string {\r\n return this.state.activeTimesheet.reference;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snDeliveryPeriodToggle\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: DeliveryPeriodToggle,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snDeliveryPeriodToggle/snDeliveryPeriodToggle.html',\r\n scope: {\r\n snShowArrows: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","\r\n/// \r\n\r\nmodule Sonovate.Core {\r\n // Should be renamed 'snRiskDocumentTypePopout'\r\n class snDocumentTypePopoutController extends BaseController {\r\n\r\n static $inject = [\"$scope\", \"referenceDataActions\", \"DocumentTypeStateUpdates\"];\r\n documentTypes: IDictionary;\r\n snAssessmentTypeId: string;\r\n snOnSelect: (value: any) => {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected referenceDataActions: IReferenceDataActions,\r\n protected DocumentTypeStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope);\r\n this.referenceDataActions.requestSubjects.getDocumentTypes.onNext(null);\r\n this.initDocumentTypes();\r\n }\r\n \r\n private initDocumentTypes () {\r\n this.subscriptions.push(\r\n this.DocumentTypeStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.documentTypes = state.documentTypes;\r\n })\r\n .subscribe()\r\n )\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snDocumentTypePopout\",\r\n function snDocumentTypePopout(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snDocumentTypePopoutController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snDocumentTypePopout/snDocumentTypePopoutDirective.html',\r\n scope: {\r\n snAssessmentTypeId: \"@\",\r\n snOnSelect: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snDropdownController extends BaseDropdown {\r\n\r\n static $inject = [\"$scope\", \"$filter\", \"$timeout\"];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $filter: ng.IFilterService,\r\n protected $timeout: ng.ITimeoutService\r\n ) {\r\n super($scope, $filter, $timeout);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snDropdown\",\r\n function snDropdown(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snDropdownController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snDropdown/snDropdownDirective.html',\r\n scope: {\r\n snModel: \"=\",\r\n snItems: \"=\",\r\n snHeightInItems: \"@\",\r\n snLabel: \"@\",\r\n snDisableLabel: \"=\",\r\n snOnOpen: \"&\",\r\n snOnClose: \"&\",\r\n snOnChange: \"&\"\r\n },\r\n };\r\n }\r\n );\r\n}","\r\n/// \r\nmodule Sonovate.Core {\r\n\r\n class editBankAccountController extends BaseController {\r\n\r\n static $inject = [\r\n \"$scope\", \r\n \"$state\", \r\n \"currencyStore\", \r\n \"organisationStore\", \r\n \"OrganisationsActions\",\r\n \"localiser\"\r\n ];\r\n\r\n snChangeBankAccount: () => void;\r\n snOnClose: () => void;\r\n snBankAccount: ViewModels.Directory.BankAccount;\r\n snEditBankAccount: () => void;\r\n localised: IDictionary = {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n private $state: ng.ui.IStateService,\r\n private currencyStore: any,\r\n protected organisationStore: any,\r\n protected OrganisationsActions: Organisations.IOrganisationActions,\r\n protected localiser: ILocaliserService,\r\n\r\n\r\n private currencyList: ng.ui.IType,\r\n private snErrors: any\r\n ) {\r\n super($scope);\r\n\r\n this.subscriptions.push(\r\n currencyStore.safeApply(this.$scope, (state: any) => {\r\n this.currencyList = state.currencies;\r\n }).subscribe()\r\n );\r\n\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"bankaccount\", \"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n if (data.bankaccount && data.general) {\r\n this.localised = R.merge(\r\n data.bankaccount,\r\n data.general\r\n );\r\n }\r\n }).subscribe()\r\n );\r\n }\r\n \r\n sendDetails(): void {\r\n this.snEditBankAccount();\r\n }\r\n\r\n closePopup(): void {\r\n this.snOnClose();\r\n }\r\n\r\n cancel() {\r\n this.snOnClose();\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snEditBankAccount\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: editBankAccountController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snEditBankAccount/snEditBankAccountDirective.html',\r\n scope: {\r\n snBankAccount: \"=\",\r\n snEditBankAccount: \"&\",\r\n snOnClose: \"&\",\r\n snErrors: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","\r\n/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class SnEditBillingController extends Sonovate.Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\", \"$filter\", \"organisationStore\"];\r\n public localisation: ILocalisationData;\r\n public conflictItems: IDictionary;\r\n public snBillingProfile: ViewModels.Directory.OrganisationBillingProfile;\r\n public snOnSave: (params: { billingProfile: ViewModels.Directory.OrganisationBillingProfile }) => void;\r\n public snOnDelete: (params: { billingProfile: ViewModels.Directory.OrganisationBillingProfile }) => void;\r\n public snOnPublish: (params: { billingProfile: ViewModels.Directory.OrganisationBillingProfile }) => void;\r\n public snOnDiscard: (params: { billingProfile: ViewModels.Directory.OrganisationBillingProfile }) => void;\r\n public editIsVisible: boolean;\r\n\r\n\t\tconstructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected $filter: ng.IFilterService,\r\n protected organisationStore: any,\r\n private snErrors: any\r\n ) {\r\n\t\t\tsuper($scope);\r\n\t\t\tthis.initLocalisation();\r\n this.initOrganisationStore();\r\n\t\t\tthis.initConflictItemsWatch();\r\n }\r\n\r\n showEdit () {\r\n this.editIsVisible = true;\r\n }\r\n\r\n hideEdit () {\r\n this.snErrors = false;\r\n this.editIsVisible = false;\r\n }\r\n\r\n save() {\r\n if (this.snErrors != false) {\r\n this.editIsVisible = true;\r\n this.snOnSave({ billingProfile: this.snBillingProfile });\r\n }else{\r\n this.editIsVisible = false;\r\n }\r\n }\r\n\r\n delete () {\r\n this.snOnDelete({ billingProfile: this.snBillingProfile });\r\n }\r\n\r\n publish () {\r\n this.snOnPublish({ billingProfile: this.snBillingProfile });\r\n }\r\n\r\n discard () {\r\n this.snOnDiscard({ billingProfile: this.snBillingProfile });\r\n }\r\n\r\n private initOrganisationStore(){\r\n this.subscriptions.push(\r\n this.organisationStore.safeApply(this.$scope, function(state) {\r\n if (state.errors.billingProfileError == false) {\r\n this.editIsVisible = false;\r\n }\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private initLocalisation () {\r\n\t\t\tthis.subscriptions.push(\r\n this.localiser\r\n .get([\"general\", \"maintainvatandcurrecny\"])\r\n \t .safeApply(this.$scope, (data: ILocalisationData) => {\r\n \t\t\t\t\tthis.localisation = data;\r\n \t\t }).subscribe()\r\n );\r\n }\r\n\r\n private initConflictItemsWatch () {\r\n\t\t\tthis.$scope.$watch('vm.snBillingProfile', (newVal: ViewModels.Directory.OrganisationBillingProfile) => {\r\n if (newVal) {\r\n this.conflictItems = {\r\n \"Vat Number\": newVal.vatNumber,\r\n \"Vat Registration Date\": this.$filter('date')(newVal.vatRegistrationDate)\r\n };\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive( \r\n \"snEditBillingProfile\",\r\n (): ng.IDirective => {\r\n return {\r\n restrict: \"E\",\r\n controller: SnEditBillingController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n templateUrl: 'core/components/snEditBillingProfile/snEditBillingProfileDirective.html',\r\n scope: {\r\n \tsnBillingProfile: \"=\",\r\n \tsnOnSave: \"&\",\r\n \tsnOnDelete: \"&\",\r\n \tsnOnPublish: \"&\",\r\n \tsnOnDiscard: \"&\",\r\n snEditOnly: \"=?\",\r\n snErrors: \"=\",\r\n snCanEdit: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n\tclass snEditDirectorFormController extends FormBaseClass {\r\n\r\n\t\tstatic $inject = [\r\n\t\t\t\"$scope\", \r\n\t\t\t\"$state\", \r\n\t\t\t\"$timeout\",\r\n\t\t\t\"localiser\", \r\n\t\t\t\"ProposalEvents\", \r\n\t\t\t\"EditDirectorStateUpdates\"\r\n\t\t];\r\n\t\t\r\n\t\tdirector: Models.IDirector;\r\n\r\n\t\tconstructor(\r\n\t\t\tprotected $scope: ng.IScope,\r\n\t\t\tprotected $state: ng.ui.IStateService,\r\n\t\t\tpublic $timeout: ng.ITimeoutService,\r\n\t\t\tprotected localiser: ILocaliserService,\r\n\t\t\tprotected ProposalEvents: Sonovate.Core.Events.IProposalEvents,\r\n\t\t\tprotected EditDirectorStateUpdates: Rx.BehaviorSubject,\r\n\t\t\tprivate localisedText: ILocalisationData,\r\n\t\t\tpublic validationErrors: any\r\n\t\t) {\r\n\t\t\tsuper($scope, $state);\r\n\t\t\tthis.validationErrors = {address: {}};\r\n\t\t\tthis.setLocalisedTextWhenRetrieved();\r\n\t\t\tthis.setupEditDirectorState();\r\n\t\t}\r\n\r\n\t\tpublic onUserKeyUp(): void {\r\n\t\t\tthis.$timeout(() => { //DOB uses on change, which leaves a lag for the model update.\r\n\t\t\t\tif (!_.isEmpty(this.director.dateOfBirth) && this.director.dateOfBirth !== \"Invalid\") {\r\n\t\t\t\t\tthis.director.dateOfBirth = new Date(this.director.dateOfBirth).toISOString();\r\n\t\t\t\t}\r\n\t\t\t\tthis.ProposalEvents.userIntents.userTypedInEditDirectorForm.onNext(this.director);\r\n\t\t\t}, 100);\r\n\t\t}\r\n\r\n\t\tpublic closeOnSubmissionSuccess(): void {\r\n\t\t\tthis.ProposalEvents.userIntents.userClosedEditDirectorForm.onNext({});\r\n\t\t\tthis.$state.go(this.$state.current.parent);\r\n\t\t}\r\n\r\n\t\tprotected submitFormRequest(): void {\r\n\t\t\tthis.ProposalEvents.userIntents.editDirector.onNext(angular.copy(this.director));\r\n\t\t\tthis.closeOnSubmissionSuccess();\r\n\t\t}\r\n\r\n\t\tpublic formIsReadyForSubmission(): boolean {\r\n\t\t\tvar validationErrors = angular.copy(this.validationErrors);\r\n\r\n\t\t\tvar hasAddress = _.every(validationErrors.address, function(property: any) {\r\n\t\t\t\treturn _.isEmpty(property);\r\n\t\t\t});\r\n\r\n\t\t\tdelete validationErrors.address\r\n\r\n\t\t\t var hasDetails = _.every(validationErrors, function(property: any) {\r\n\t\t\t\treturn _.isEmpty(property);\r\n\t\t\t});\r\n\t\t\t\r\n\t\t\treturn hasAddress && hasDetails\r\n\t\t}\r\n\r\n\t\tpublic setErrorMessageOnSubmissionFaliure(): void {\r\n\t\t}\r\n\r\n\t\tpublic setValidationErrors(): void {\r\n\t\t\tlet text = this.localisedText;\r\n\t\t\tlet errors = this.validationErrors;\r\n\t\t\tlet director = this.director;\r\n\t\t\tlet address = director.address;\r\n\t\t\tlet isEmail = Sonovate.Core.Utils.FormValidation.isEmail;\r\n\t\t\tlet required = text.general[\"RequiredField\"];\r\n\t\t\tlet addressFilledIn = this.addressIsPresent();\r\n\r\n\t\t\terrors.firstName = director.firstName ? '' : `${required} ${text.companyuser[\"AddUserFirstName\"]}`;\r\n\t\t\terrors.lastName = director.firstName ? '' : `${required} ${text.companyuser[\"AddUserLastName\"]}`;\r\n\t\t\terrors.emailAddress = director.emailAddress && isEmail(director.emailAddress) ? '' : `${required} ${text.general[\"Valid\"]} ${text.companyuser[\"AddUserEmail\"]}`;\r\n\t\t\terrors.dateOfBirth = !director.dateOfBirth || (director.dateOfBirth && (director.dateOfBirth !== \"Invalid\")) ? '' : `${required} ${text.general[\"DateOfBirth\"]}`;\r\n\t\t\t\r\n\t\t\tif (addressFilledIn) {\r\n\t\t\t\terrors.address.CountryCode = address && address.country ? '' : `${required} ${text.addaddress[\"Country\"]}`;\r\n\t\t\t\terrors.address.Address1 = address && address.address1 ? '' : `${required} ${text.addaddress[\"AddressOne\"]}`;\r\n\t\t\t\terrors.address.Address3 = address && address.address3 ? '' : `${required} ${text.addaddress[\"City\"]}`;\r\n\t\t\t\terrors.address.Postcode = address && address.postcode ? '' : `${required} ${text.addaddress[\"Postcode\"]}`;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tpublic addressIsPresent(): boolean {\r\n\t\t\tlet addressFields = [];\r\n\t\t\tlet errors = this.validationErrors;\r\n\t\t\tlet address = this.director.address;\r\n\r\n\t\t\terrors.address.CountryCode = '';\r\n\t\t\terrors.address.Address1 = '';\r\n\t\t\terrors.address.Address3 = '';\r\n\t\t\terrors.address.Postcode = '';\r\n\r\n\t\t\t!_.isEmpty(address.address1) ? addressFields.push(true) : addressFields.push(false);\r\n\t\t\t!_.isEmpty(address.address2) ? addressFields.push(true) : addressFields.push(false);\r\n\t\t\t!_.isEmpty(address.address3) ? addressFields.push(true) : addressFields.push(false);\r\n\t\t\t!_.isEmpty(address.postcode) ? addressFields.push(true) : addressFields.push(false);\r\n\t\t\t!_.isEmpty(address.country) ? addressFields.push(true) : addressFields.push(false);\r\n\r\n\t\t\treturn addressFields.indexOf(true) > -1;\r\n\t\t}\r\n\r\n\t\tpublic setupEditDirectorState(): void {\r\n\t\t\tthis.subscriptions.push(\r\n\t\t\t\tthis.EditDirectorStateUpdates.safeApply(this.$scope, (state: Core.State.IDirectorFormState) => {\r\n\t\t\t\t\tthis.director = state.director;\r\n }).subscribe()\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tpublic setLocalisedTextWhenRetrieved(): void {\r\n\t\t\tthis.subscriptions.push(\r\n\t\t\t\tthis.localiser.get([\r\n\t\t\t\t\t\"addaddress\", \r\n\t\t\t\t\t\"general\", \r\n\t\t\t\t\t\"companyuser\"\t\r\n\t\t\t\t]).safeApply(this.$scope,\r\n\t\t\t\t\t(data: ILocalisationData) => {\r\n\t\t\t\t\t\tthis.localisedText = data;\r\n\t\t\t\t\t}\r\n\t\t\t\t).subscribe()\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tangular.module(\"sonovate.core\")\r\n\t.directive(\r\n\t\t\"snEditDirectorForm\",\r\n\t\tfunction snEditDirectorForm(): ng.IDirective {\r\n\t\t\treturn {\r\n\t\t\t\trestrict: 'E',\r\n\t\t\t\ttemplateUrl: 'core/components/snEditDirectorForm/snEditDirectorFormDirective.html',\r\n\t\t\t\tscope: {\r\n\t\t\t\t},\r\n\t\t\t\treplace: false,\r\n\t\t\t\tbindToController: true,\r\n\t\t\t\tcontroller: snEditDirectorFormController,\r\n\t\t\t\tcontrollerAs: 'vm'\r\n\t\t\t};\r\n\t\t}\r\n\t);\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snEditPhoneNumberController extends BaseController{\r\n\r\n static $inject = [\r\n '$scope',\r\n 'localiser',\r\n 'referenceDataActions',\r\n 'countriesDataStore'\r\n ];\r\n\r\n dropdownOpen: boolean;\r\n snButtonLabel: string;\r\n snOnCompleteEdit: () => void; \r\n countryCodes: Models.IDropdownItem[]; \r\n localised: IDictionary = {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected referenceDataActions: IReferenceDataActions,\r\n protected countriesDataStore: IReferenceDataStore\r\n ) {\r\n super($scope);\r\n this.dropdownOpen = false;\r\n\r\n referenceDataActions.requestSubjects.getCountries.onNext(\"en-GB\");\r\n this.setCountryCodeDropdownItemsOnCountriesDataStateUpdates();\r\n }\r\n\r\n public openDropdown(): void {\r\n this.dropdownOpen = true;\r\n };\r\n\r\n public closeDropdown(): void {\r\n this.dropdownOpen = false;\r\n };\r\n \r\n public completeEdit(): void {\r\n this.snOnCompleteEdit();\r\n };\r\n\r\n public buttonIsHidden(): boolean {\r\n return this.dropdownOpen || (R.isNil(this.snButtonLabel));\r\n }\r\n\r\n private setCountryCodeDropdownItemsOnCountriesDataStateUpdates(): void {\r\n this.subscriptions.push(\r\n this.countriesDataStore.subject.safeApply(this.$scope, (countries: Models.ICountry[]) => {\r\n this.countryCodes = countries.map(this.ICountry_IDropdownItem);\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private ICountry_IDropdownItem(country: Models.ICountry): Models.IDropdownItem {\r\n return {\r\n beforeText: country.text,\r\n text: country.dialPrefix,\r\n icon: 'sn-flag sn-flag-' + country.id,\r\n value: country.id\r\n }\r\n }\r\n }\r\n\r\n\r\n angular.module('sonovate.core')\r\n .directive(\r\n 'snEditPhoneNumber',\r\n function snEditPhoneNumber(): ng.IDirective {\r\n return {\r\n restrict: 'E',\r\n controller: snEditPhoneNumberController,\r\n controllerAs: 'vm',\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: \"core/components/snEditPhoneNumber/snEditPhoneNumberDirective.html\",\r\n scope: {\r\n snButtonLabel: \"@\",\r\n snButtonIcon: \"@\",\r\n snLabel: \"@\",\r\n snDefaultDialingCode: \"=\",\r\n snPhoneNumber: \"=\",\r\n snOnCompleteEdit: \"&\",\r\n snOnNumberChange: \"&\",\r\n snOnCountryChange: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","\r\n/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class SnEditTaxProfileController extends Sonovate.Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\", \"$filter\"];\r\n public localisation: ILocalisationData;\r\n public conflictItems: IDictionary;\r\n public snTaxProfile: Sonovate.Models.IPersonTaxProfile;\r\n public snOnSave: (params: { taxProfile: Sonovate.Models.IPersonTaxProfile }) => void;\r\n public snOnDelete: (params: { taxProfile: Sonovate.Models.IPersonTaxProfile }) => void;\r\n public snOnPublish: (params: { taxProfile: Sonovate.Models.IPersonTaxProfile }) => void;\r\n public snOnDiscard: (params: { taxProfile: Sonovate.Models.IPersonTaxProfile }) => void;\r\n public editIsVisible: boolean;\r\n\r\n\t\tconstructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected $filter: ng.IFilterService\r\n ) {\r\n\t\t\tsuper($scope);\r\n\t\t\tthis.initLocalisation();\r\n\t\t\tthis.initConflictItemsWatch();\r\n }\r\n\r\n showEdit () {\r\n this.editIsVisible = true;\r\n }\r\n\r\n hideEdit () {\r\n this.editIsVisible = false;\r\n }\r\n\r\n save() {\r\n this.editIsVisible = false;\r\n this.snOnSave({ taxProfile: this.snTaxProfile });\r\n }\r\n\r\n delete () {\r\n this.snOnDelete({ taxProfile: this.snTaxProfile });\r\n }\r\n\r\n publish () {\r\n this.snOnPublish({ taxProfile: this.snTaxProfile });\r\n }\r\n\r\n discard () {\r\n this.snOnDiscard({ taxProfile: this.snTaxProfile });\r\n }\r\n\r\n private initLocalisation () {\r\n\t\t\tthis.subscriptions.push(this.localiser\r\n\t .get([\"general\", \"userdetails\"])\r\n\t .safeApply(this.$scope, (data: ILocalisationData) => { \r\n\t\t\t\t\tthis.localisation = data;\r\n\t\t }).subscribe());\r\n }\r\n\r\n private initConflictItemsWatch () {\r\n\t\t\tthis.$scope.$watch('vm.snTaxProfile', (newVal: any) => {\r\n\t\t\t\tthis.conflictItems = {\r\n\t\t\t\t\t\"Date of Birth\": this.$filter('date')(newVal.dateOfBirth),\r\n\t\t\t\t\t\"Gender\": newVal.gender,\r\n\t\t\t\t\t\"National Insurance Number\": newVal.nationalInsuranceNumber\r\n\t\t\t\t};\r\n\t\t\t});\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snEditTaxProfile\",\r\n (): ng.IDirective => {\r\n return {\r\n restrict: \"E\",\r\n controller: SnEditTaxProfileController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n templateUrl: 'core/components/snEditTaxProfile/snEditTaxProfileDirective.html',\r\n scope: {\r\n \tsnTaxProfile: \"=\",\r\n \tsnOnSave: \"&\",\r\n \tsnOnDelete: \"&\",\r\n \tsnOnPublish: \"&\",\r\n \tsnOnDiscard: \"&\",\r\n snEditOnly: \"=?\",\r\n snErrors: \"=\",\r\n snCanEdit: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nnamespace Sonovate.Core {\r\n class snEllipsisDropdownController extends BaseController {\r\n\r\n snActions;\r\n snIsBusy: boolean;\r\n snShow: boolean;\r\n\r\n isOpen: boolean = false;\r\n hasAnActionableAction = false;\r\n \r\n static $inject = [\"$scope\"];\r\n\r\n constructor(protected $scope: ng.IScope) {\r\n super($scope);\r\n this.hasAnActionableAction = this.checkActions(this.snActions);\r\n }\r\n\r\n toggleOpen = () => (this.isOpen = !this.isOpen);\r\n checkActions = (actions): boolean => actions.find(this.isViewable);\r\n isViewable = (action): boolean => action.show === true;\r\n }\r\n\r\n angular\r\n .module(\"sonovate.core\")\r\n .directive(\r\n \"snEllipsisDropdown\",\r\n function snEllipsisDropdown(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snEllipsisDropdownController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl:\r\n \"core/components/snEllipsisDropdown/snEllipsisDropdown.html\",\r\n scope: {\r\n snActions: \"=\",\r\n snIsBusy: \"=\",\r\n snShow: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\nmodule Sonovate.Core {\r\n class snFacetConfirmationController extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\"];\r\n\r\n private snState: string;\r\n private snMentionedParty: string;\r\n private snOnConfirmPublish: () => void;\r\n private snOnRefutePublish: () => void;\r\n private snOnConfirmDiscard: () => void;\r\n private snOnRefuteDiscard: () => void;\r\n private snFacet: Models.IFacet;\r\n\r\n private popoutIsOpen: boolean;\r\n private localisedText: IDictionary = {};\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n this.popoutIsOpen = false;\r\n this.getLocalisedText();\r\n }\r\n togglePopout(): void {\r\n if (this.popoutIsOpen) {\r\n this.closePopout();\r\n } else {\r\n this.openPopout();\r\n }\r\n }\r\n openPopout(): void {\r\n this.popoutIsOpen = true;\r\n }\r\n closePopout(): void {\r\n this.popoutIsOpen = false;\r\n }\r\n\r\n confirmPublish(): void {\r\n this.snOnConfirmPublish();\r\n this.closePopout();\r\n } \r\n\r\n refutePublish(): void {\r\n this.snOnRefutePublish();\r\n this.closePopout();\r\n }\r\n \r\n confirmDiscard(): void {\r\n this.snOnConfirmDiscard();\r\n this.closePopout();\r\n }\r\n refuteDiscard(): void {\r\n this.snOnRefuteDiscard();\r\n this.closePopout();\r\n }\r\n\r\n isInUserPendingState(): boolean {\r\n if (this.snFacet && this.snFacet !== undefined && this.snFacet.status === \"Recorded\" && this.snFacet.canAction === false) {\r\n return true;\r\n }\r\n }\r\n\r\n isInUserConfirmedState(): boolean {\r\n if (this.snFacet && this.snFacet !== undefined && this.snFacet.status === \"Published\") {\r\n return true\r\n }\r\n }\r\n\r\n isInInformationAddedState(): boolean {\r\n if (this.snFacet && this.snFacet !== undefined && this.snFacet.status === \"Recorded\" && this.snFacet.canAction === true) {\r\n return true\r\n }\r\n }\r\n\r\n isInInformationMarkedAsIncorrectState(): boolean {\r\n if (this.snFacet !== undefined && this.snFacet.status === \"Discarded\") {\r\n return true\r\n }\r\n }\r\n\r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .interpolate([\"facetconfirmation\", \"confirmations\"], () => {\r\n return {\r\n person: this.snMentionedParty\r\n };\r\n })\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = R.merge(\r\n data.facetconfirmation,\r\n data.confirmations\r\n );\r\n }).subscribe()\r\n )\r\n }\r\n }\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snFacetConfirmation\",\r\n function snFacetConfirmation(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snFacetConfirmationController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snFacetConfirmation/snFacetConfirmationDirective.html',\r\n scope: {\r\n snFacet: \"=\",\r\n snMentionedParty: \"@\",\r\n snOnConfirmPublish: \"&\",\r\n snOnRefutePublish: \"&\",\r\n snOnConfirmDiscard: \"&\",\r\n snOnRefuteDiscard: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class SnFacetConflictBoxController {\r\n static $inject = [\"$scope\", \"localiser\"];\r\n private snFacets: any;\r\n private snConflictItems: IDictionary;\r\n private snMentionedParty: string;\r\n protected snConfirmPublish: (params: { id: number }) => void;\r\n protected snRefutePublish: (params: { id: number }) => void;\r\n protected snConfirmDiscard: (params: { id: number }) => void;\r\n protected snRefuteDiscard: (params: { id: number }) => void;\r\n private snOnEdit: () => void;\r\n private snOnDelete: (params: { facet: Models.IFacet }) => void;\r\n protected showSettings: boolean;\r\n private showMenu: boolean;\r\n\r\n\r\n constructor(\r\n protected $scope: ng.IScope\r\n ) {\r\n this.showSettings = false;\r\n }\r\n\r\n toggleMenu(){\r\n this.showMenu = !this.showMenu;\r\n }\r\n\r\n onEdit(): void{\r\n this.showMenu = false;\r\n this.snOnEdit();\r\n }\r\n\r\n onDelete(): void {\r\n this.showMenu = false;\r\n this.snOnDelete({ facet: this.snFacets });\r\n }\r\n\r\n confirmPublish(): void {\r\n this.snConfirmPublish({id: this.snFacets.id});\r\n }\r\n\r\n refutePublish(): void {\r\n this.snRefutePublish({ id: this.snFacets.id });\r\n }\r\n\r\n confirmDiscard(): void {\r\n this.snConfirmDiscard({ id: this.snFacets.id });\r\n }\r\n\r\n refuteDiscard(): void {\r\n this.snRefuteDiscard({ id: this.snFacets.id });\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snFacetConflictBox\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: SnFacetConflictBoxController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snFacetConflictBox/snFacetConflictBoxDirective.html',\r\n scope: {\r\n snFacets: \"=\",\r\n snConflictItems: \"=\",\r\n snMentionedParty: \"@\",\r\n snConfirmPublish: \"&\",\r\n snRefutePublish: \"&\",\r\n snConfirmDiscard: \"&\",\r\n snRefuteDiscard: \"&\",\r\n snOnEdit: \"&\",\r\n snOnDelete: \"&\",\r\n snCanEdit: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class SnFileDownloadLinkController {\r\n snHref: string;\r\n snFileName: string;\r\n snOnDownloadComplete: () => {};\r\n snOnDownloadError: () => {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $http: ng.IHttpService,\r\n protected APP_URL: string\r\n ) {}\r\n\r\n download () {\r\n this.$http.get(this.APP_URL + this.snHref, { responseType: 'arraybuffer' })\r\n .then((response) => {\r\n saveAs(new Blob([response.data], {type: \"application/download\"}), this.snFileName);\r\n this.snOnDownloadComplete();\r\n })\r\n .catch((error) => {\r\n this.snOnDownloadError();\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snFileDownloadLink\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: SnFileDownloadLinkController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n transclude: true,\r\n template: '
',\r\n scope: {\r\n snHref: \"@\",\r\n snFileName:\"@\",\r\n snOnDownloadClick: \"&\",\r\n snOnDownloadComplete: \"&\",\r\n snOnDownloadError: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class FilterDropdownController extends BaseDropdown {\r\n\r\n static $inject = [\r\n \"$scope\", \r\n \"$filter\",\r\n \"$timeout\"\r\n ];\r\n\r\n snShowPopout: boolean;\r\n snPopoutSize: string; \r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $filter: ng.IFilterService,\r\n protected $timeout: ng.ITimeoutService\r\n ) {\r\n super($scope, $filter, $timeout);\r\n if (!this.snPopoutSize) {\r\n this.snPopoutSize = \"small\";\r\n }\r\n }\r\n\r\n openDropdownOrSelectTabbedItem(): void {\r\n if (this.open) {\r\n this.selectTabbedItem();\r\n this.closeDropdown();\r\n } else {\r\n this.openDropdown();\r\n }\r\n }\r\n\r\n openDropdownOrTabToNextItem(): void {\r\n if (this.open) {\r\n this.tabToNextItem();\r\n } else {\r\n this.openDropdown();\r\n }\r\n }\r\n \r\n closeDropdown(): void{\r\n this.snShowPopout = false;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snFilterDropdown\",\r\n function snFitlerDropdown(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: FilterDropdownController,\r\n controllerAs: \"vm\",\r\n replace: true,\r\n bindToController: true,\r\n templateUrl: 'core/components/snFilterDropdown/snFilterDropdownDirective.html',\r\n scope: {\r\n snModel: \"=\",\r\n snItems: \"=\",\r\n snHeightInItems: \"@\",\r\n snOnOpen: \"&\",\r\n snOnClose: \"&\",\r\n snOnChange: \"&\",\r\n snShowPopout: \"=\",\r\n snOnType: \"&\",\r\n snPopoutSize: \"=?\"\r\n },\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snFlagDropdownController extends FilterStatusDropdownBaseClass {\r\n\r\n snSelectedFlagFilter: string;\r\n selectedDropdownItem: Models.IDropdownItem;\r\n localisedText: IDictionary = {};\r\n snOnChangeSelectedFlag: Function;\r\n snSelectedDeliveryPeriod: string;\r\n flagItems: Models.IDropdownItem[];\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"referenceDataActions\",\r\n \"RiskFlagStateUpdates\"\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected referenceDataActions: IReferenceDataActions,\r\n protected RiskFlagStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n this.initRiskStatusesSubscription()\r\n\r\n this.$scope.$watch('vm.snSelectedFlagFilter', (newVal: string) => {\r\n this.setSelectedStatus();\r\n });\r\n }\r\n\r\n mapperFunction (item: Models.IDropdownItem): Models.IDropdownItem {\r\n return item;\r\n }\r\n\r\n initRiskStatusesSubscription(): void {\r\n this.referenceDataActions.requestSubjects.getOrganisationFlags.onNext(\" \");\r\n this.subscriptions.push(\r\n this.RiskFlagStateUpdates\r\n .safeApply(this.$scope, (state: State.ReferenceDataState.IRiskFlagState) => {\r\n this.flagItems = state.getFlagsAsDropdownItemsByAssessmentType(\"OrganisationCompliance\");\r\n this.addAllToStatuses();\r\n this.setSelectedStatus();\r\n }).subscribe()\r\n );\r\n }\r\n\r\n changeSelectedDropdownItem (item: Models.IDropdownItem) {\r\n this.snOnChangeSelectedFlag({item: item.value});\r\n }\r\n\r\n private selectCurrentDropdownItem () {\r\n if(this.flagItems && this.flagItems.length){\r\n this.flagItems.forEach((item) => {\r\n if (item.value === this.snSelectedFlagFilter) {\r\n this.selectedDropdownItem = item;\r\n }\r\n });\r\n }\r\n }\r\n\r\n private setSelectedStatus () {\r\n if(this.snSelectedFlagFilter == \"All\"){\r\n this.selectedDropdownItem = this.flagItems[0];\r\n return\r\n }\r\n\r\n if (! this.snSelectedFlagFilter && this.flagItems.length) {\r\n this.selectedDropdownItem = this.flagItems[0];\r\n return;\r\n }\r\n\r\n this.flagItems.forEach((status) => {\r\n if (status.value === this.snSelectedFlagFilter) {\r\n this.selectedDropdownItem = status;\r\n }\r\n });\r\n }\r\n \r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"general\"]).safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = data.general;\r\n this.selectCurrentDropdownItem();\r\n }).subscribe()\r\n )\r\n }\r\n\r\n private addAllToStatuses() {\r\n this.flagItems.unshift({\r\n text: this.localisedText ? this.localisedText[\"All\"] : '',\r\n value: null,\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snOrganisationFlagFilterDropdown\",\r\n function snSortDeliveryPeriodDropdown(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snFlagDropdownController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n templateUrl: 'core/components/snFlagDropdown/snFlagDropdownDirective.html',\r\n scope: {\r\n snSelectedFlagFilter: \"@\",\r\n snOnChangeSelectedFlag: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\nmodule Sonovate.Core {\r\n\r\n class FlagListngController extends BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"referenceDataActions\",\r\n \"OrganisationFlagVerificationStateUpdates\",\r\n \"OrganisationsActions\",\r\n \"$state\"\r\n ];\r\n localised: IDictionary = {};\r\n flags: Models.IFlags[];\r\n snAssessmentTypeId: string;\r\n snOrganisationId: number;\r\n listVisible: boolean;\r\n hasFlags: boolean;\r\n snOnEditFlags: (organisationId: { organisationId: number}) => void;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected referenceDataActions: IReferenceDataActions,\r\n protected OrganisationFlagVerificationStateUpdates: Rx.BehaviorSubject,\r\n protected OrganisationsActions: Organisations.IOrganisationActions,\r\n protected $state: ng.ui.IStateService\r\n ) {\r\n super($scope);\r\n this.initRiskStatusesSubscription();\r\n }\r\n show(): void {\r\n this.openFlagModal();\r\n this.listVisible = !this.listVisible;\r\n };\r\n\r\n openFlagModal():void{\r\n this.snOnEditFlags({organisationId: this.snOrganisationId});\r\n }\r\n\r\n private initRiskStatusesSubscription() {\r\n this.subscriptions.push(\r\n this.OrganisationFlagVerificationStateUpdates.safeApply(this.$scope, (state: State.IOrganisationFlagVerificationState) => {\r\n if (state.tickedFlags) {\r\n this.flags = state.tickedFlags;\r\n }\r\n }).subscribe()\r\n );\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snFlagListing\",\r\n function FlagDropdown(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: FlagListngController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snFlagListing/snFlagListingDirective.html',\r\n scope: {\r\n snOrganisationId: \"@\",\r\n placeholder: \"@\",\r\n list: \"=\",\r\n selected: \"=\",\r\n property: \"@\",\r\n snAssessmentType: \"@\",\r\n snFlags: \"=\",\r\n snOnEditFlags: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class FooterController extends BaseController {\r\n\r\n \tlocalised: {};\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\"\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n this.setLocalisedTextWhenRetrieved();\r\n }\r\n\r\n private setLocalisedTextWhenRetrieved(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"general\"]) \r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data.general\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snFooter\",\r\n function Footer(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: FooterController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snFooter/snFooter.html',\r\n scope: {\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class SnIcoController extends BaseController { \r\n\r\n private snIconName: string;\r\n\r\n constructor(protected $scope: ng.IScope){\r\n super($scope); \r\n }\r\n }\r\n\r\n let directiveDefinition = function(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: SnIcoController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n transclude: true,\r\n templateUrl: \"core/components/snIco/snIco.html\",\r\n scope: {\r\n snIconName: \"@\",\r\n class: \"@\"\r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").directive(\"snIco\", directiveDefinition);\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class snIconButtonController extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\"\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope\r\n ) {\r\n super($scope);\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snIconButton\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snIconButtonController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snIconButton/snIconButton.html',\r\n scope: {\r\n snIcon: \"@\",\r\n snIconColor: \"@\",\r\n snCallback: \"&\",\r\n snLabel: \"@\",\r\n snDisableArrow: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snIconPopoutController {\r\n\r\n static $inject = [\"$scope\"];\r\n\r\n snIcon: string;\r\n isOpen: boolean;\r\n\r\n constructor(\r\n $scope: ng.IScope\r\n ) { \r\n this.isOpen = false;\r\n this.snIcon = this.snIcon || \"sn-ico sn-ico-cog\"\r\n }\r\n\r\n public togglePopout() : void {\r\n if ( this.isOpen ) {\r\n this.closePopout();\r\n } else {\r\n this.openPopout();\r\n }\r\n }\r\n\r\n private closePopout() : void {\r\n this.isOpen = false;\r\n }\r\n\r\n private openPopout() : void {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snIconPopout\",\r\n function snIconPopout(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snIconPopoutController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snIconPopout/snIconPopoutDirective.html',\r\n scope: {\r\n snIcon: \"@\",\r\n snListItems: \"=\",\r\n snPopoutColor: \"@\",\r\n snVerticalArrowPosition: \"@\",\r\n snHorizontalArrowPosition: \"@\",\r\n snPositions: \"=\",\r\n snTabIndexStartAt: \"=\",\r\n snBlur: \"&\",\r\n snFocus: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class ssnInformationTooltipController extends Core.BaseController {\r\n\r\n static $inject = [\r\n\t\t\t\"$scope\"\r\n\t\t];\r\n\r\n showContent: boolean = false;\r\n\r\n constructor(\r\n protected $scope: ng.IScope\r\n ) {\r\n super($scope);\r\n }\r\n\r\n toggleShowContent() {\r\n this.showContent = !this.showContent;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snInformationTooltip\",\r\n function directive(): ng.IDirective {\r\n return {\r\n transclude: true,\r\n restrict: \"E\",\r\n controller: ssnInformationTooltipController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snInformationTooltip/snInformationTooltip.html',\r\n scope: {\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snInitiateCompanySearchController extends BaseController {\r\n static $inject = [\"$scope\", \"localiser\", \"MergedOrganisationSearchEvents\", \"$state\", \"MergedOrganisationSearchStateUpdates\"];\r\n localised: IDictionary = {};\r\n searchString: string;\r\n snRouteSuffix: string;\r\n snInlineSearch: boolean;\r\n \r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected MergedOrganisationSearchEvents: Core.Events.IMergedOrganisationSearchEvents,\r\n protected $state: ng.ui.IStateService,\r\n protected MergedOrganisationSearchStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope);\r\n this.initLocalisation();\r\n }\r\n \r\n typeInSearchBox(value: string) {\r\n this.MergedOrganisationSearchEvents.userIntents.typeInMergedOrganisationSearchBox.onNext(value);\r\n }\r\n \r\n search () {\r\n this.MergedOrganisationSearchEvents.userIntents.searchMergedOrganisations.onNext({\r\n q: this.searchString,\r\n offset: 0,\r\n size: 10\r\n });\r\n\r\n var route = this.snInlineSearch ? `${this.$state.current.name}.modals` : `${this.$state.current.name}`;\r\n\r\n this.$state.go(route, {\r\n modal: `select-company${this.snRouteSuffix ? '-' : ''}${this.snRouteSuffix}`\r\n });\r\n }\r\n \r\n private initLocalisation () {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"proposal\"])\r\n .safeApply(this.$scope, (localised) => {\r\n this.localised = localised;\r\n })\r\n .subscribe()\r\n )\r\n }\r\n\r\n }\r\n angular.module(\"sonovate.core\") \r\n .directive(\r\n \"snInitiateCompanySearch\",\r\n function snInitiateCompanySearch(): ng.IDirective {\r\n return {\r\n restrict: 'E',\r\n templateUrl: 'core/components/snInitiateCompanySearch/snInitiateCompanySearch.html',\r\n scope: {\r\n \tsnRouteSuffix: \"@\",\r\n snInlineSearch: \"=\"\r\n },\r\n controllerAs: 'vm', \r\n bindToController: true,\r\n controller: snInitiateCompanySearchController\r\n };\r\n }\r\n );\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snInputController extends BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\"\r\n ];\r\n\r\n snIcon: string;\r\n snIconAsText: string;\r\n snError: string;\r\n snRequired: string;\r\n snHasErrors: boolean;\r\n snModel: string;\r\n snDisabled: boolean;\r\n snFirstIcon: string;\r\n snFirstIconAsText: string;\r\n snLabel: string;\r\n snNewLocalisedLabel: string;\r\n snOnBlur: ({item: string}) => void;\r\n snOnFocus: ({item: string}) => void;\r\n snIconWithPointer: string;\r\n snPlaceholder: string;\r\n \r\n hasIcon: boolean;\r\n isRequired: string;\r\n\r\n inputIsFocused: boolean;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n\r\n if (this.snIcon) {\r\n this.hasIcon = true;\r\n }\r\n\r\n if (this.snError) {\r\n this.snHasErrors = true;\r\n }\r\n\r\n if (this.snRequired) {\r\n this.isRequired = \"required\";\r\n }\r\n }\r\n\r\n public getLabel() : string {\r\n return this.snLabel || this.snNewLocalisedLabel;\r\n }\r\n\r\n public moveForFirstIcon(): boolean {\r\n return this.thereIsAFirstIcon() && !this.inputIsFocused && (R.isNil(this.snModel) || R.isEmpty(this.snModel));\r\n }\r\n\r\n public showRegularIcon (): boolean {\r\n return this.thereIsAIcon() && !this.snDisabled;\r\n }\r\n\r\n public showSmallLabel(): boolean {\r\n return this.inputIsFocused || ( !R.isNil(this.snModel) && !R.isEmpty(this.snModel) );\r\n }\r\n\r\n public focusInput(): void {\r\n this.snOnFocus({item: this.snModel});\r\n this.inputIsFocused = true;\r\n }\r\n\r\n public blurInput(): void {\r\n this.snOnBlur({item: this.snModel});\r\n this.inputIsFocused = false;\r\n }\r\n\r\n public showIconWithPointer() : boolean {\r\n return !R.isNil(this.snIconWithPointer);\r\n }\r\n\r\n private thereIsAIcon() : boolean {\r\n return this.valueIsSet(this.snIcon) || this.valueIsSet(this.snIconAsText);\r\n }\r\n\r\n private thereIsAFirstIcon() : boolean {\r\n return this.valueIsSet(this.snFirstIcon) || this.valueIsSet(this.snFirstIconAsText);\r\n }\r\n\r\n private valueIsSet(value) : boolean {\r\n return !R.isNil(value) && !R.isEmpty(value);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snInput\",\r\n function snInput(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snInputController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snInput/snInputDirective.html',\r\n scope: {\r\n snId: \"@\",\r\n snModel: '=',\r\n snType: \"@\",\r\n snInputMode: \"@\",\r\n snName: \"@\",\r\n snLabel: \"@\",\r\n snStickyLabel: \"@\",\r\n snRequired: \"@\",\r\n snDisabled: \"=\",\r\n snNewLocalisedLabel: \"@\",\r\n snError: \"=\",\r\n snWhiteInput: \"=\",\r\n // Used on DOB, to show error state without giving an error via snError\r\n snDisplayError: \"=\", \r\n // An input is considered submitted when the last icon is pressed or enter is pressed\r\n snOnSubmit: \"&\",\r\n snOnIconPress:\"&\",\r\n snOnKeydownEnter:\"&\",\r\n snIconWithPointer: \"@\",\r\n snIcon: \"@\",\r\n snFirstIcon: \"@\",\r\n // this is useful for when you need regular font characters as icons\r\n // pound signs, percentages etc.\r\n snFirstIconAsText: \"@\",\r\n snIconAsText: \"@\",\r\n // on type notification\r\n snKeyup: \"&\",\r\n snChange: \"&\",\r\n snPlaceholder: \"@\",\r\n\r\n // \r\n // !the use of anything bellow this line is in doubt\r\n //\r\n snIconColor: \"@\",\r\n snPattern: \"=\",\r\n snOnChange: \"&\",\r\n snTabindex: \"=\",\r\n snClass: \"@\",\r\n // used in once place but the input never implements it\r\n snOnKeyup: \"&\",\r\n snWidth: \"@\",\r\n snAlignIconRight: \"@\",\r\n snValidationError: \"@\",\r\n snOnBlur: \"&\",\r\n snOnFocus: \"&\",\r\n snFieldDescription: \"=\",\r\n snSmallInput: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","\r\n/// \r\nmodule Sonovate.Core {\r\n\r\n class snInvoiceContactCardController extends Core.BaseController {\r\n\r\n static $inject = [\r\n\t\t\t\"$scope\",\r\n\t\t\t\"localiser\"\r\n\t\t];\r\n\r\n snIndex: number;\r\n snHideDelete: string;\r\n snHideAddress: string;\r\n showDropdown: boolean = false;\r\n localisedText: ILocalisationData;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n }\r\n\r\n public getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\r\n \"mediaobject\", \"general\"\r\n ])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = R.merge(data.mediaobject, data.general);\r\n }).subscribe()\r\n );\r\n }\r\n\r\n public toggleDropdown() {\r\n\t this.showDropdown = !this.showDropdown\r\n }\r\n\r\n public showDeleteButton(): boolean {\r\n return this.snHideDelete === undefined;\r\n }\r\n\r\n public showAddress(): boolean {\r\n return this.snHideAddress === undefined;\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snInvoiceContact\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snInvoiceContactCardController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snInvocieContactCard/snInvoiceContactCard.html',\r\n scope: {\r\n snPerson: \"=\",\r\n snDeleteCallback: \"&\",\r\n snEditCallback: \"&\",\r\n snIndex: \"=\",\r\n snHideDelete: \"@\",\r\n snHideAddress: \"@\",\r\n snCandidateLtd: \"=\"\r\n }\r\n };\r\n }\r\n\t\t);\r\n}\r\n\r\n// D:\\sonovate4\\WebApp\\src\\Sonovate.WebApp\\app\\src\\core\\components\\snInvocieContactCard\\snInvoiceContactCard.html","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class InvoiceListingItemController extends BaseController {\r\n\r\n localised: IDictionary = {};\r\n snInvoice: Models.IInvoiceSearchResult;\r\n dateFormat: string;\r\n\r\n static $inject =\r\n [\r\n \"$scope\",\r\n \"localiser\",\r\n \"signedInUserStore\"\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected SignedInUserStore: Sonovate.ISignedInUserStore\r\n ) {\r\n super($scope);\r\n\r\n this.initLocalisation();\r\n this.initSignedInUserStoreSubscription();\r\n }\r\n\r\n private initLocalisation () {\r\n this.subscriptions.push(\r\n this.localiser.get([\"invoices\"])\r\n .safeApply(this.$scope, (state) => {\r\n this.localised = state;\r\n })\r\n .subscribe()\r\n )\r\n }\r\n\r\n private initSignedInUserStoreSubscription () {\r\n this.subscriptions.push(\r\n this.SignedInUserStore.subject\r\n .safeApply(this.$scope, (state) => {\r\n this.dateFormat = state.settings.dateFormat\r\n })\r\n .subscribe()\r\n )\r\n }\r\n }\r\n \r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snInvoiceListingItem\",\r\n function snInvoiceListingItem(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: InvoiceListingItemController,\r\n controllerAs: \"vm\",\r\n replace: true,\r\n bindToController: true,\r\n templateUrl: 'core/components/snInvoiceListingItem/snInvoiceListingItemDirective.html',\r\n scope: {\r\n snInvoice: \"=\",\r\n },\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\nmodule Sonovate.Core {\r\n\r\n class KpiCard extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"DashboardStateUpdates\", \"$location\", \"WindowResizeService\", \"$window\", \"$timeout\"];\r\n\r\n snKpiContainer: Models.IKpiContainer;\r\n myChart: LinearChartData;\r\n doughnutOptions: Models.IChartOptions;\r\n lineGraphOptions: Models.IChartOptions;\r\n snIndex: number;\r\n kpiGraphData: Models.IKpiGraphData;\r\n kpiContainerElement: JQuery;\r\n kpiContentElement: JQuery;\r\n baseHeight: number = 352; //27rem @ 13px\r\n kpiHeight: number = this.baseHeight;\r\n displayHeight: number = this.baseHeight;\r\n thirdLevelKpiLineGraphData: { datasets: {}[], labels: Array };\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected DashboardStateUpdates : Rx.BehaviorSubject,\r\n protected $location: ng.ILocationService,\r\n protected WindowResizeService: IWindowResizeService,\r\n protected $window: ng.IWindowService,\r\n protected $timeout: ng.ITimeoutService\r\n ) {\r\n super($scope);\r\n this.setGraphOptions();\r\n }\r\n\r\n private setupDashboardState(): void {\r\n this.subscriptions.push(\r\n this.DashboardStateUpdates.safeApply(this.$scope, (state: Sonovate.Core.State.IDashboardState) => {\r\n if (this.kpiContentElement) {\r\n this.concatDataSetsForLineChart();\r\n this.detectKpiHeight();\r\n }\r\n }).subscribe()\r\n )\r\n }\r\n\r\n concatDataSetsForLineChart() {\r\n if (this.hasThirdLevel() && this.snKpiContainer.kpi.kpis.length && this.isLineChart(this.snKpiContainer.childChartTypeLevel2)) {\r\n \r\n this.thirdLevelKpiLineGraphData = {\r\n datasets: [],\r\n labels: this.snKpiContainer.kpi.kpis[0].lineChartData.labels\r\n };\r\n R.forEach((kpi) =>{\r\n this.thirdLevelKpiLineGraphData.datasets = this.thirdLevelKpiLineGraphData.datasets.concat(kpi.lineChartData.datasets);\r\n }, this.snKpiContainer.kpi.kpis);\r\n } \r\n }\r\n\r\n doughnutChartEventCallback(event, chartElement) {\r\n let link = chartElement[0]._chart.controller.config.data.links[chartElement[0]._index];\r\n this.goToKpiLink(link);\r\n this.safeApply();\r\n }\r\n \r\n lineChartEventCallback(event, chartElement) {\r\n let link = chartElement[0]._chart.controller.config.data.datasets[0].dataPointLinks[chartElement[0]._index];\r\n this.goToKpiLink(link);\r\n this.safeApply();\r\n }\r\n\r\n goToKpiLink(link: string) {\r\n if (link) {\r\n this.$location.path(link);\r\n }\r\n }\r\n\r\n safeApply() {\r\n if(!(this.$scope.$$phase || this.$scope.$root.$$phase)) {\r\n this.$scope.$apply();\r\n }\r\n }\r\n\r\n isTextChart(chart): boolean {\r\n return chart === 'text';\r\n }\r\n\r\n isDoughnutChart(chart): boolean {\r\n return chart === 'doughnut';\r\n }\r\n\r\n isBarChart(chart): boolean {\r\n return chart === 'bar';\r\n }\r\n\r\n isLineChart(chart): boolean {\r\n return chart === 'line';\r\n }\r\n\r\n hasThirdLevel(): boolean {\r\n return this.snKpiContainer.secondLevelItemCount > 0 && this.snKpiContainer.thirdLevelItemCount > 0;\r\n }\r\n\r\n hasSecondLevel(): boolean {\r\n return this.snKpiContainer.secondLevelItemCount > 0;\r\n }\r\n\r\n private setupWindowResizeServiceSubscription(): void {\r\n this.subscriptions.push(\r\n this.WindowResizeService.getResizeObserveable().throttle(25).safeApply(this.$scope, () => {\r\n this.detectKpiHeight();\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private setGraphOptions() {\r\n this.doughnutOptions = {\r\n onClick: this.doughnutChartEventCallback.bind(this),\r\n cutoutPercentage: 60,\r\n segmentShowStroke: false,\r\n legend: {\r\n display: false\r\n },\r\n elements: {\r\n arc: {\r\n borderWidth: 0\r\n }\r\n }\r\n };\r\n\r\n this.lineGraphOptions = {\r\n onClick: this.lineChartEventCallback.bind(this),\r\n segmentShowStroke: false,\r\n legend: {\r\n display: false\r\n },\r\n elements: {\r\n line: {\r\n fill: false,\r\n tension:0\r\n },\r\n point: {\r\n radius: 6,\r\n hitRadius:4,\r\n borderWidth: 3\r\n }\r\n }\r\n };\r\n }\r\n\r\n private detectKpiHeight(): void {\r\n let kpiContentHeight = this.kpiContentElement.outerHeight(true);\r\n let kpiFitsHeight = (kpiContentHeight <= this.kpiHeight) && (kpiContentHeight >= (this.kpiHeight - this.baseHeight));\r\n\r\n if (!kpiFitsHeight) {\r\n if(kpiContentHeight > this.kpiHeight) {\r\n this.kpiHeight = this.kpiHeight + this.baseHeight;\r\n } else if (kpiContentHeight < (this.kpiHeight - this.baseHeight)) {\r\n this.kpiHeight = this.kpiHeight - this.baseHeight;\r\n }\r\n \r\n return this.detectKpiHeight();\r\n }\r\n this.displayHeight = this.kpiHeight;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snKpiCard\",\r\n (): ng.IDirective => {\r\n return {\r\n restrict: \"E\",\r\n controller: KpiCard,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snKpiCard/snKpiCard.html',\r\n scope: {\r\n snKpiContainer: \"=\",\r\n snIndex: \"=\"\r\n },\r\n link: (scope: any, element, attributes) => {\r\n scope.vm.$timeout(()=> { //Because Reasons\r\n scope.vm.kpiContainerElement = element.children();\r\n scope.vm.kpiContentElement = element.children().children();\r\n scope.vm.setupWindowResizeServiceSubscription();\r\n scope.vm.setupDashboardState();\r\n }, 0)\r\n\t\t\t }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snLanguageDropdownController extends BaseController{\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"languagesDataStore\",\r\n \"referenceDataActions\",\r\n \"signedInUserStore\"\r\n ];\r\n\r\n localised: IDictionary = {};\r\n languages: Models.IDropdownItem[];\r\n languageCode: string;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected languagesDataStore: IReferenceDataStore,\r\n protected referenceDataActions: IReferenceDataActions,\r\n protected signedInUserStore: ISignedInUserStore\r\n ) {\r\n super($scope);\r\n\r\n this.referenceDataActions.getLanguages(this.languageCode);\r\n this.setLangaugeCodeOnSignedInUserUpdates();\r\n this.setDropdownItemsOnLanguagesStateUpdates();\r\n this.setLocalisedTextWhenRetrieved();\r\n }\r\n\r\n private setLangaugeCodeOnSignedInUserUpdates() : void {\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject\r\n .safeApply(this.$scope, (data) => {\r\n this.languageCode = data.languageCode;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private setDropdownItemsOnLanguagesStateUpdates() : void {\r\n this.subscriptions.push(\r\n this.languagesDataStore.subject\r\n .safeApply(this.$scope, (referenceLanguages) => {\r\n this.languages = R.map((languageReference: ViewModels.Core.LocalisedText) => {\r\n return {\r\n \"text\": languageReference.text,\r\n \"value\": languageReference.id\r\n };\r\n }, referenceLanguages);\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private setLocalisedTextWhenRetrieved(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"personsettings\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data.personsettings;\r\n }).subscribe()\r\n );\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snLanguageDropdown\",\r\n function snLanguageDropdown(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snLanguageDropdownController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snLanguageDropdown/snLanguageDropdownDirective.html',\r\n scope: {\r\n snTabindex: \"@\",\r\n snModel: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class LinkController extends BaseController {\r\n\r\n static $inject = \r\n [\r\n '$scope',\r\n ];\r\n\r\n constructor(protected $scope: ng.IScope) {\r\n super($scope);\r\n }\r\n\r\n }\r\n\r\n angular.module('sonovate.core')\r\n .directive('snLink', function directive(): ng.IDirective {\r\n return {\r\n restrict: 'E',\r\n controller: LinkController,\r\n controllerAs: 'vm',\r\n replace: false,\r\n bindToController: false,\r\n templateUrl: 'core/components/snLink/snLink.html',\r\n scope: {\r\n snOnClick: '=',\r\n snText: '=',\r\n snDisabled: '='\r\n }\r\n };\r\n });\r\n\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snListingController extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\", \r\n \"WindowResizeService\", \r\n \"$cookies\", \r\n \"TimesheetSearchEvents\",\r\n \"PeopleSearchEvents\",\r\n \"PeopleSearchStateUpdates\",\r\n \"TimesheetSearchStateUpdates\",\r\n \"localiser\", \r\n \"signedInUserStore\",\r\n \"$state\",\r\n \"$window\"\r\n ];\r\n\r\n snName: string;\r\n listView: string;\r\n listViewSwitches: Models.ISwitchItem[];\r\n query: Sonovate.Core.Utils.SearchQuery;\r\n localised: ILocalisationData;\r\n snDisableGrid: string;\r\n snDisableList: string;\r\n snBreakpoint: any = !_.isEmpty(this.snBreakpoint) ? parseInt(this.snBreakpoint) : 899;\r\n snDisableCache: boolean = this.snDisableCache ? this.snDisableCache : false;\r\n snHideSwitches: boolean = this.snHideSwitches ? this.snHideSwitches : false;\r\n hideSwitchForMobile: boolean = true;\r\n snTotalResultsLabel: string;\r\n searchQuery: string;\r\n totalResults: number;\r\n showFilters: boolean = this.isBreakpointCrossed() ? false : true;\r\n userType: string;\r\n isBulkApproving: boolean;\r\n actions = [];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n private WindowResizeService: IWindowResizeService,\r\n private $cookies: ng.cookies.ICookiesService,\r\n protected TimesheetSearchEvents: Core.Events.ITimesheetSearchEvents,\r\n protected PeopleSearchEvents: Events.PeopleSearchEvents,\r\n protected PeopleSearchStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetSearchStateUpdates: Rx.Subject,\r\n protected localiser: ILocaliserService,\r\n protected signedInUserStore: ISignedInUserStore,\r\n protected $state: ng.ui.IStateService,\r\n private $window: any\r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n this.setResizeEvent();\r\n this.setDefaultListViewValue();\r\n this.initSearchStateSubscription();\r\n this.initSignedInUserStoreSubscription();\r\n this.setupActions();\r\n this.query = new Core.Utils.SearchQuery();\r\n this.listViewSwitches = [\r\n {\r\n icon: \"sn-ico sn-ico-list\",\r\n text: \"general.List\",\r\n value: \"list\",\r\n },\r\n {\r\n icon: \"sn-ico sn-ico-grid\",\r\n text: \"general.Grid\",\r\n value: \"grid\",\r\n }\r\n ];\r\n }\r\n\r\n private initSearchStateSubscription() {\r\n this.subscriptions.push(\r\n this.PeopleSearchStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.searchQuery = state.getSearchQuery();\r\n this.totalResults = state.totalResults;\r\n }).subscribe()\r\n );\r\n this.subscriptions.push(\t\t\t\r\n this.TimesheetSearchStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.isBulkApproving = state.isBulkApproving;\r\n })\r\n .subscribe()\r\n );\r\n }\r\n\r\n private initSignedInUserStoreSubscription() {\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject.safeApply(this.$scope, (state: Models.ISignedInUser) => {;\r\n this.userType = state.userType;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n getLabel(): string {\r\n if(this.snTotalResultsLabel) {\r\n return this.snTotalResultsLabel;\r\n }\r\n\r\n return this.localised.general['Results'];\r\n }\r\n\r\n setResizeEvent(): void {\r\n this.subscriptions.push(\r\n this.WindowResizeService.getResizeObserveable()\r\n .safeApply(this.$scope, () => {\r\n this.setViewBasedOnScreenWidth();\r\n this.setSwitchVisibillity();\r\n this.showFilters = !this.isBreakpointCrossed();\r\n }).subscribe()\r\n );\r\n }\r\n\r\n getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"general\"]).safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data;\r\n }).subscribe()\r\n )\r\n }\r\n\r\n setViewBasedOnScreenWidth(): void {\r\n this.listView = this.isBreakpointCrossed() ? \"grid\" : \"list\";\r\n }\r\n\r\n isListView(): boolean {\r\n return this.listView === \"list\";\r\n }\r\n\r\n isGridView(): boolean {\r\n return this.listView === \"grid\";\r\n }\r\n\r\n setListViewChoiceAsCookie(): void {\r\n this.$cookies.put(this.getListViewCookieName(), this.listView);\r\n }\r\n\r\n typeInSearchInput(text: string) {\r\n this.PeopleSearchEvents.userIntents.typeInSearchInput.onNext(text);\r\n }\r\n\r\n searchOnInputEnter() {\r\n this.PeopleSearchEvents.userIntents.pressEnterOnSearchInput.onNext(null);\r\n }\r\n \r\n searchOnInputClickIcon() {\r\n this.PeopleSearchEvents.userIntents.pressSearchInputIcon.onNext(null);\r\n } \r\n\r\n private setDefaultListViewValue() {\r\n if (this.isSingleViewListing()) { \r\n this.listView = this.getSingleViewValue();\r\n }\r\n\r\n if (this.snDisableCache) {\r\n this.$cookies.remove(this.getListViewCookieName());\r\n this.setViewBasedOnScreenWidth();\r\n this.setSwitchVisibillity(); \r\n } else {\r\n this.setListViewValueFromCache();\r\n }\r\n }\r\n\r\n private setListViewValueFromCache(): void {\r\n var cachedListView = this.$cookies.get(this.getListViewCookieName());\r\n if (cachedListView) {\r\n this.listView = cachedListView;\r\n this.setSwitchVisibillity();\r\n return;\r\n } else {\r\n this.setViewBasedOnScreenWidth();\r\n this.setSwitchVisibillity();\r\n this.setListViewChoiceAsCookie();\r\n }\r\n }\r\n\r\n private getSingleViewValue(): string {\r\n if (!R.isNil(this.snDisableGrid)) {\r\n return \"list\";\r\n }\r\n return \"grid\";\r\n }\r\n\r\n public searchListings(): void {\r\n this.query.offset = 0;\r\n this.query.addSearchTerm(this.query.q);\r\n\t\t\tthis.TimesheetSearchEvents.userIntents.changeSearchTerm.onNext({query: this.query});\r\n }\r\n\r\n private setSwitchVisibillity(): void {\r\n this.hideSwitchForMobile = this.isBreakpointCrossed() ? true : false;\r\n }\r\n\r\n private isBreakpointCrossed(): boolean {\r\n return this.$window.innerWidth < 860 ? true : false;\r\n }\r\n\r\n private getListViewCookieName(): string {\r\n return \"user.\" + this.snName + \"listView\";\r\n }\r\n\r\n public isSingleViewListing() : boolean {\r\n return !R.isNil(this.snDisableGrid) || !R.isNil(this.snDisableList);\r\n }\r\n\r\n private setupActions(): void {\r\n this.actions.push({\r\n name: 'Filter',\r\n onClick: this.toggleFilters.bind(this),\r\n });\r\n if (this.userType === 'Sonovate') {\r\n this.actions.push({\r\n name: 'Bulk Approve',\r\n onClick: this.openBulkApprovalModal.bind(this),\r\n })\r\n }\r\n }\r\n\r\n private toggleFilters(): void {\r\n this.showFilters = !this.showFilters\r\n }\r\n\r\n private openBulkApprovalModal() { \r\n this.$state.go(`${this.$state.current.name}.modals`, {\r\n modal: 'confirm-bulk-approval'\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snListing\",\r\n function snListing(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n transclude: true,\r\n controller: snListingController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n templateUrl: 'core/components/snListing/snListingDirective.html',\r\n scope: {\r\n snName: \"@\",\r\n snItems: \"=\",\r\n snTotalResults: \"=\",\r\n snTotalResultsLabel: \"=\",\r\n snDisableGrid: \"@\",\r\n snDisableList: \"@\",\r\n snHideSwitches: \"=?\",\r\n snBreakpoint: \"@\",\r\n snDisableCache: \"=?\"\r\n }\r\n };\r\n }\r\n );\r\n} ","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snMaintainEmailAddressController extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\", \"observeOnScope\"];\r\n\r\n snIsAddingEmail: boolean;\r\n snOnAdd: () => void;\r\n snOnDelete: (email: {}) => void;\r\n snOnSetPrimaryEmail: (email: {}) => void;\r\n\r\n showEmailPopout: boolean;\r\n showDeleteConfirmation: boolean;\r\n showSetPrimaryConfirmation: boolean;\r\n emailPopout: number \r\n currentEmail: ViewModels.Directory.Email;\r\n emailPopoutOptions: Object[] = [];\r\n snEmails: ViewModels.Directory.Email[];\r\n emailText: IDictionary = {};\r\n snNewEmail: String;\r\n emailDropdownPositions: { right: string };\r\n snShowSetAsPrimary: boolean;\r\n\r\n private snOnConfirmPublish: (id: Object) => void;\r\n private snOnRefutePublish: (id: Object) => void;\r\n private snOnConfirmDiscard: (id: Object) => void;\r\n private snOnRefuteDiscard: (id: Object) => void;\r\n\r\n generalText: IDictionary = {};\r\n\r\n text: {};\r\n show: boolean;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected observeOnScope: Function\r\n ) {\r\n super($scope);\r\n this.setViewState();\r\n this.subscribeToLocalisedText();\r\n this.show = true;\r\n this.getText();\r\n this.emailDropdownPositions = {\r\n right: \"2.5rem\"\r\n };\r\n }\r\n\r\n private getText(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .interpolate([\"general\", \"maintainemailaddress\"], () => {\r\n return {\r\n email: this.currentEmail.emailAddress,\r\n }\r\n })\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.generalText = data.general;\r\n this.emailText = data.maintainemailaddress;\r\n\r\n this.emailPopoutOptions = [\r\n {\r\n icon: \"sn-ico sn-ico-star\",\r\n text: data.maintainemailaddress ? data.maintainemailaddress['SetAsPrimary'] : '',\r\n show: this.snShowSetAsPrimary,\r\n action: this.openSetPrimaryConfirmation.bind(this)\r\n },\r\n {\r\n icon: \"sn-ico sn-ico-cross\",\r\n text: data.maintainemailaddress ? data.general['Delete'] : '',\r\n show: true,\r\n action: this.openDeleteConfirmation.bind(this)\r\n }\r\n ];\r\n }).subscribe()\r\n );\r\n \r\n this.$scope.$watch('vm.snShowSetAsPrimary', (newVal) => {\r\n if (this.emailPopoutOptions.length > 0) {\r\n this.emailPopoutOptions[0][\"show\"] = newVal;\r\n }\r\n });\r\n };\r\n\r\n private setViewState(): void {\r\n this.showEmailPopout = false;\r\n this.showDeleteConfirmation = false;\r\n this.showSetPrimaryConfirmation = false;\r\n this.emailPopout = 0;\r\n this.currentEmail = {};\r\n }\r\n\r\n private subscribeToLocalisedText(): void {\r\n this.text = {\r\n \"AddEmailAddress\": \"Add Email Address\",\r\n \"Primary\": \"Primary\",\r\n \"Unverified\": \"Unverified\"\r\n };\r\n }\r\n\r\n setEmailAsSelected(email: {}) {\r\n this.currentEmail = email;\r\n }\r\n\r\n openSetPrimaryConfirmation() {\r\n this.showSetPrimaryConfirmation = true;\r\n }\r\n\r\n openDeleteConfirmation(): void {\r\n this.showDeleteConfirmation = true;\r\n }\r\n\r\n addEmail(): void {\r\n if (!this.snIsAddingEmail) {\r\n this.snOnAdd();\r\n }\r\n this.snNewEmail = null;\r\n }\r\n\r\n confirmDelete(): void {\r\n this.snOnDelete({ email: this.currentEmail });\r\n }\r\n\r\n confirmSetPrimary(): void {\r\n this.snOnSetPrimaryEmail({ email: this.currentEmail });\r\n }\r\n onConfirmPublish(id: Object): void {\r\n this.snOnConfirmPublish({ id: id });\r\n }\r\n onRefutePublish(id: Number): void {\r\n this.snOnRefutePublish({ id: id });\r\n }\r\n onConfirmDiscard(id: Number): void {\r\n this.snOnConfirmDiscard({ id: id });\r\n }\r\n onRefuteDiscard(id: Number): void {\r\n this.snOnRefuteDiscard({ id: id });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snMaintainEmailAddress\",\r\n function snMaintainEmailAddress(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snMaintainEmailAddressController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snMaintainEmailAddress/snMaintainEmailAddressDirective.html',\r\n scope: {\r\n snAddButtonLabel: \"@\",\r\n snLoadingButtonLabel: \"@\",\r\n snErrorLabel: \"=\",\r\n snEmails: \"=\",\r\n snNewEmail: \"=\",\r\n snIsAddingEmail: \"=\",\r\n snShowVerificationDialogue: \"=\",\r\n snOnAdd: \"&\",\r\n snOnDelete: \"&\",\r\n snOnSetPrimaryEmail: \"&\",\r\n snLabel: \"@\",\r\n snOnConfirmPublish: \"&\",\r\n snOnRefutePublish: \"&\",\r\n snOnConfirmDiscard: \"&\",\r\n snOnRefuteDiscard: \"&\",\r\n snShowSetAsPrimary: \"=\",\r\n snCanEdit: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class snMaintainPhoneNumbersController extends Sonovate.Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\"];\r\n protected editMode: boolean;\r\n protected editIndex: number;\r\n protected snOnPublishPhoneNumber: (o: { phoneNumber: Models.IPhoneNumber }) => void;\r\n protected snOnDiscardPhoneNumber: (o: { phoneNumber: Models.IPhoneNumber }) => void;\r\n protected currentDeletePhone: Models.IPhoneNumber = {\r\n id: '0',\r\n \"number\":\"\",\r\n \"status\":\"Recorded\",\r\n \"canAction\":true,\r\n \"countryId\": \"\",\r\n dialPrefix: \"\"\r\n };\r\n protected showDeleteConfirmation: boolean;\r\n protected snOnDeletePhoneNumber: (o: { phoneNumber: Models.IPhoneNumber }) => void;\r\n protected snOnSavePhoneNumber: (o: { phoneNumber: Models.IPhoneNumber }) => void;\r\n protected snOnAddPhoneNumber:(o: { phoneNumber: Models.IPhoneNumber }) => void;\r\n protected newPhoneNumber: Models.IPhoneNumber = {\r\n id: '0',\r\n \"number\":\"\",\r\n \"status\":\"Recorded\",\r\n \"canAction\":true,\r\n \"countryId\": \"\",\r\n dialPrefix: \"\"\r\n };\r\n public snPhoneNumbers: Models.IPhoneNumber[];\r\n public localisation: IDictionary;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n\r\n this.subscriptions.push(localiser\r\n .interpolate([\"maintainphonenumber\", \"general\"], () => {\r\n return {\r\n phoneNumber: this.currentDeletePhone.number\r\n };\r\n })\r\n .safeApply(this.$scope, (data: IDictionary) => {\r\n this.localisation = data;\r\n }).subscribe());\r\n }\r\n\r\n edit (index: number) {\r\n\t\t\tthis.editMode = true;\r\n\t\t\tthis.editIndex = index;\r\n\t\t};\r\n\r\n openDeleteConfirmation(phoneNumber: Models.IPhoneNumber) {\r\n this.currentDeletePhone = phoneNumber;\r\n\t\t\tthis.showDeleteConfirmation = true;\r\n\t\t};\r\n\r\n\t\tdeletePhone () {\r\n this.snOnDeletePhoneNumber({phoneNumber: this.currentDeletePhone});\r\n\t\t};\r\n\r\n deletePhoneNumber(number: Models.IPhoneNumber) {\r\n this.snOnDeletePhoneNumber({phoneNumber: number});\r\n }\r\n\r\n savePhoneNumber(number: Models.IPhoneNumber) {\r\n this.snOnSavePhoneNumber({phoneNumber: number});\r\n\t\t \tthis.editMode = false;\r\n\t\t};\r\n\r\n\t\taddPhoneNumber () {\r\n\t\t\tthis.snOnAddPhoneNumber({phoneNumber: this.newPhoneNumber});\r\n\t\t};\r\n\r\n publishPhoneNumber (number: Models.IPhoneNumber) {\r\n this.snOnPublishPhoneNumber({ phoneNumber: number });\r\n };\r\n\r\n discardPhoneNumber (number: Models.IPhoneNumber) {\r\n this.snOnDiscardPhoneNumber({ phoneNumber: number });\r\n };\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snMaintainPhoneNumbers\",\r\n function snMaintainPhoneNumbers(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snMaintainPhoneNumbersController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snMaintainPhoneNumbers/snMaintainPhoneNumbersDirective.html',\r\n scope: {\r\n\t\t\t\t\tsnPhoneNumbers: \"=\",\r\n\t\t\t\t\tsnDefaultCountryCode: \"=\",\r\n\t\t\t\t\tsnOnSavePhoneNumber: \"&\",\r\n\t\t\t\t\tsnOnAddPhoneNumber: \"&\",\r\n\t\t\t\t\tsnOnDeletePhoneNumber: \"&\",\r\n snOnPublishPhoneNumber: \"&\",\r\n snOnDiscardPhoneNumber: \"&\",\r\n snCanEdit: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snManagedDropdownController extends FilterStatusDropdownBaseClass{\r\n\r\n dropdownItems: Models.IDropdownItem[] = [];\r\n selectedDropdownItem: Models.IDropdownItem;\r\n localisedText: IDictionary = {};\r\n snOnChangeManaged: Function;\r\n snSelectedManaged: string = \"null\";\r\n UserType\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"signedInUserStore\",\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected signedInUserStore: ISignedInUserStore,\r\n ) {\r\n super($scope);\r\n this.setupUserType();\r\n this.getLocalisedText();\r\n\r\n this.$scope.$watch('vm.snSelectedManaged', (newVal: string) => {\r\n this.selectCurrentDropdownItem();\r\n });\r\n }\r\n\r\n mapperFunction (item: Models.IDropdownItem): Models.IDropdownItem {\r\n return item;\r\n }\r\n\r\n setDropdownList() {\r\n this.dropdownItems = [\r\n {\r\n value: \"null\",\r\n text: this.localisedText['Anyone']\r\n },\r\n {\r\n value: \"false\",\r\n text: (this.UserType !== \"Candidate\") ? this.localisedText['Candidate'] : this.localisedText['Me']\r\n },\r\n {\r\n value: \"true\",\r\n text: \"Sonovate\"\r\n },\r\n\r\n ];\r\n\r\n }\r\n\r\n changeSelectedDropdownItem (item: Models.IDropdownItem) {\r\n this.snOnChangeManaged({managed: item.value});\r\n }\r\n\r\n private selectCurrentDropdownItem () {\r\n this.dropdownItems.forEach((item) => {\r\n if (item.value === this.snSelectedManaged) {\r\n this.selectedDropdownItem = item;\r\n }\r\n });\r\n }\r\n \r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"general\"]).safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = data.general;\r\n if (data.general) {\r\n this.setDropdownList();\r\n }\r\n this.selectCurrentDropdownItem();\r\n }).subscribe()\r\n )\r\n }\r\n\r\n private setupUserType() {\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject.safeApply(this.$scope, (state: Models.ISignedInUser) => {;\r\n this.UserType = state.userType;\r\n }).subscribe()\r\n );\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snManagedDropdown\",\r\n function snManagedDropdown(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snManagedDropdownController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n templateUrl: 'core/components/snManagedDropdown/snManagedDropdownDirective.html',\r\n scope: {\r\n snSelectedManaged: \"@\",\r\n snOnChangeManaged: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate {\r\n\r\n\texport function snMobileAppMode(): ng.IDirective {\r\n\t\treturn {\r\n\t\t\trestrict: \"A\",\r\n\t\t\tscope: {\r\n },\r\n\t\t\tcontrollerAs: \"vm\",\r\n\t\t\tbindToController: true,\r\n\t\t\tcontroller: ($stateParams: ng.ui.IStateParamsService, $element: ng.IRootElementService) => {\r\n if ($stateParams['mode'] && $stateParams['mode'].toLowerCase() === \"mobileapp\") {\r\n $element.css(\"display\", \"none\");\r\n } \r\n }\r\n\t\t}\r\n\t}\r\n\r\n\tangular.module(\"sonovate\").directive(\"snMobileAppMode\", snMobileAppMode);\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snModalController extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\", \r\n \"$timeout\", \r\n \"$state\", \r\n \"ModalState\",\r\n \"ScrollCalculatorService\"\r\n ];\r\n\r\n snShowOnRoute: string;\r\n snOnShow: () => void;\r\n snOnClose: () => void;\r\n snModalSize: string;\r\n registerWithScrollService: () => {};\r\n scrollRegistrationSubject = new Rx.BehaviorSubject(false);\r\n snFullHeight: string;\r\n state: IModalEventState;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $timeout: ng.ITimeoutService,\r\n protected $state: ng.ui.IStateService,\r\n protected ModalState: IModalState,\r\n protected ScrollCalculatorService: IScrollCalculatorService\r\n ) {\r\n super($scope);\r\n ModalState.actions.registerRoute(this.snShowOnRoute);\r\n this.subscriptions.push(\r\n ModalState.subject.safeApply($scope, (state) => {\r\n this.state = state;\r\n this.toggleBodyOverflow();\r\n this.callShowCallbacks();\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private toggleBodyOverflow(): void {\r\n if (this.state.isShowing) {\r\n document.body.style.overflow = \"hidden\";\r\n } else {\r\n document.body.style.overflow = \"auto\";\r\n }\r\n }\r\n\r\n private callShowCallbacks(): void {\r\n if (this.modalIsShowing()) {\r\n this.snOnShow();\r\n this.scrollRegistrationSubject.onNext(true);\r\n }\r\n }\r\n\r\n public modalIsShowing(): boolean { \r\n return this.isOnModalRoute() && this.state.isShowing;\r\n }\r\n\r\n private isOnModalRoute(): boolean {\r\n return this.state.routeShowing === this.snShowOnRoute;\r\n }\r\n\r\n public closeModal(): void {\r\n if(this.state.returnRoute){\r\n this.snOnClose();\r\n this.$state.go(this.state.returnRoute); \r\n }\r\n }\r\n\r\n public onCloseButtonBlur(): void {\r\n var element: any = document.querySelectorAll('#modal-content [tabindex]')[0];\r\n element.focus();\r\n }\r\n\r\n public modalIsSize(sizeName: string) : boolean {\r\n return this.snModalSize === sizeName;\r\n }\r\n\r\n public modalIsFullHeight() : boolean {\r\n return !R.isNil(this.snFullHeight);\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snModal\",\r\n function snModal(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snModalController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n transclude: true,\r\n bindToController: true,\r\n templateUrl: 'core/components/snModal/snModalDirective.html',\r\n scope: {\r\n snShowOnRoute: \"@\",\r\n snOnShow: \"&\",\r\n snOnClose: \"&\",\r\n snModalSize: \"@\",\r\n snOnScrollBottom: \"&\",\r\n snFullHeight: \"@\"\r\n },\r\n link: (\r\n $scope: ng.IScope, \r\n element: ng.IAugmentedJQuery, \r\n attrs: ng.IAttributes, \r\n controller: any\r\n ) => {\r\n var scrollSubscription = controller.scrollRegistrationSubject.subscribe((open) => {\r\n if (! open) {\r\n return;\r\n }\r\n var modalElement = element.find(\".modal\")[0];\r\n controller.ScrollCalculatorService\r\n .registerScrollContext(\"modal\", modalElement);\r\n });\r\n \r\n $scope.$on('$destroy', function () {\r\n scrollSubscription.dispose();\r\n });\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class NameFacetController extends Core.BaseController {\r\n static $inject = [\"$scope\", \"localiser\"];\r\n private snConflictItem: Object;\r\n protected showSettings: boolean;\r\n protected snConfirmPublish: (params: { id: number }) => void;\r\n protected snRefutePublish: (params: { id: number }) => void;\r\n protected snConfirmDiscard: (params: { id: number }) => void;\r\n protected snRefuteDiscard: (params: { id: number }) => void;\r\n private snFacets: ViewModels.Directory.PersonName = {};\r\n private showForm: boolean;\r\n private snOnEdit: (params: { facet: ViewModels.Directory.PersonName }) => void;\r\n private snOnDelete: (params: { facet: ViewModels.Directory.PersonName }) => void;\r\n protected snOnSave: (params: { facet: ViewModels.Directory.PersonName }) => void;\r\n protected snOnCancel: (params: { facet: ViewModels.Directory.PersonName }) => void;\r\n private text: IDictionary = {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n this.showMenu();\r\n this.showSettings = false;\r\n this.showForm = false;\r\n this.getText();\r\n }\r\n\r\n showMenu():void{\r\n this.showForm = !this.showForm;\r\n }\r\n private getText(): void {\r\n this.subscriptions.push(this.localiser\r\n .get([\"signup\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.text = data.signup;\r\n }).subscribe());\r\n };\r\n onEdit(): void{\r\n this.showForm = true;\r\n }\r\n \r\n onDelete(facet:ViewModels.Directory.PersonName): void{\r\n this.snOnDelete({ facet: facet });\r\n }\r\n\r\n cancel(): void{\r\n this.showForm = false;\r\n }\r\n\r\n onSave(){\r\n this.showForm = false;\r\n this.snOnSave({facet: this.snFacets});\r\n }\r\n\r\n onCancel(){\r\n this.snOnCancel({facet:this.snFacets});\r\n }\r\n\r\n public onConfirmPublish(id): void {\r\n this.snConfirmPublish({id:id});\r\n }\r\n\r\n private onRefutePublish(id): void {\r\n this.snRefutePublish({id:id});\r\n }\r\n\r\n private onConfirmDiscard(id): void {\r\n this.snConfirmDiscard({id:id});\r\n }\r\n\r\n private onRefuteDiscard(id): void {\r\n this.snRefuteDiscard({id:id});\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snNameFacet\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: NameFacetController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snNameFacet/snNameFacet.html',\r\n scope: {\r\n snFacets: \"=\",\r\n snConflictItem:\"=\",\r\n snMentionedParty: \"@\",\r\n snConfirmPublish:\"&\",\r\n snRefutePublish: \"&\",\r\n snConfirmDiscard: \"&\",\r\n snRefuteDiscard: \"&\",\r\n snOnEdit: \"&\",\r\n snOnDelete: \"&\",\r\n snOnSave: \"&\",\r\n snOnCancel: \"&\",\r\n snErrors: \"=\",\r\n snCanEdit: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class NoticeController extends BaseController {\r\n\r\n constants: {} = {}\r\n\r\n static $inject = \r\n [\r\n '$scope',\r\n 'NoticeTypes'\r\n ]\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected NoticeTypes\r\n ) {\r\n super($scope)\r\n this.constants = NoticeTypes\r\n }\r\n\r\n }\r\n\r\n var app = angular.module('sonovate.core')\r\n \r\n app.directive('snNotice', function directive(): ng.IDirective {\r\n return {\r\n restrict: 'E',\r\n controller: NoticeController,\r\n controllerAs: 'vm',\r\n replace: false,\r\n bindToController: false,\r\n templateUrl: 'core/components/snNotice/snNotice.html',\r\n scope: {\r\n snNoticeType: '=',\r\n snNoticeTitle: '=',\r\n snNoticeData: '='\r\n }\r\n }\r\n })\r\n\r\n}","\r\n/// \r\nmodule Sonovate.Core {\r\n \r\n enum NoticeTypes {\r\n warning,\r\n information\r\n }\r\n\r\n var app = angular.module('sonovate.core')\r\n\r\n app.constant('NoticeTypes', NoticeTypes)\r\n \r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class snNotificationsPanel extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"signedInUserStore\",\r\n \"localiser\",\r\n \"$state\",\r\n \"NotificationsEvents\",\r\n \"ScrollCalculatorService\",\r\n \"NotificationsStateUpdates\",\r\n \"$timeout\",\r\n \"$filter\"\r\n ];\r\n\r\n dateFormat: string = \"\";\r\n timeFormat: string = \"\";\r\n localisedText: IDictionary = {};\r\n isNotificationsListOpen: boolean;\r\n showNotificationAnimations: boolean;\r\n private query: Core.Utils.SearchQuery;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected signedInUserStore: ISignedInUserStore,\r\n protected localiser: ILocaliserService,\r\n protected $state: ng.ui.IStateService,\r\n protected NotificationsEvents: Core.Events.INotificationsEvents,\r\n protected ScrollCalculatorService: Sonovate.IScrollCalculatorService,\r\n protected NotificationsStateUpdates: Rx.BehaviorSubject,\r\n protected $timeout: ng.ITimeoutService,\r\n protected $filter: ng.IFilterService\r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n this.setupSignedInUserStoreSubscription();\r\n this.query = new Core.Utils.SearchQuery();\r\n this.query.size = 30;\r\n this.NotificationsEvents.userIntents.getNotifications.onNext(this.query);\r\n this.initNotificationStateSubscription();\r\n this.initQuoteWebsocketsUnquote();\r\n }\r\n\r\n navigateTo(linkObject: {id: string, params: {}}) {\r\n this.$state.go(linkObject.id, linkObject.params);\r\n this.NotificationsEvents.userIntents.closeNotificationsList.onNext(null);\r\n }\r\n\r\n closeNotificationsPanel() {\r\n this.NotificationsEvents.userIntents.closeNotificationsList.onNext(null);\r\n }\r\n\r\n registerWithScrollService (elm) {\r\n this.ScrollCalculatorService.registerScrollContext('notifications', elm[0]);\r\n this.initLazyScrolling();\r\n }\r\n\r\n getYear(date: string) {\r\n var localDate = new Date(date);\r\n localDate.setMinutes(localDate.getMinutes() - new Date().getTimezoneOffset());\r\n return this.$filter('date')(localDate, this.dateFormat);\r\n }\r\n\r\n getTime(date: string) {\r\n var localDate = new Date(date);\r\n localDate.setMinutes(localDate.getMinutes() - new Date().getTimezoneOffset());\r\n return this.$filter('date')(localDate, this.timeFormat);\r\n }\r\n\r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"menu\", \"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n if (data.menu && data.general) {\r\n this.localisedText = R.merge(\r\n data.menu,\r\n data.general\r\n );\r\n }\r\n }\r\n ).subscribe()\r\n )\r\n }\r\n\r\n clickedOffOfPanel(clickedOffOfPanelObject) {\r\n if (clickedOffOfPanelObject.clickedOffOfElement && this.isNotificationsListOpen) {\r\n this.NotificationsEvents.userIntents.closeNotificationsList.onNext(null);\r\n }\r\n }\r\n\r\n private initLazyScrolling () {\r\n this.subscriptions.push(\r\n this.ScrollCalculatorService.getScrollObservableForLazyLoading('notifications')\r\n .subscribe(() => {\r\n this.query.offset++;\r\n this.NotificationsEvents.userIntents.seeMoreNotifications.onNext(this.query)\r\n })\r\n )\r\n }\r\n\r\n private setupSignedInUserStoreSubscription(): void{\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject.subscribe(user => {\r\n this.dateFormat = user.settings.dateFormat || 'dd-MM-yyyy';\r\n this.timeFormat = user.settings.timeFormat || 'HH:mm:ss';\r\n })\r\n );\r\n }\r\n\r\n private initNotificationStateSubscription () {\r\n this.subscriptions.push(\r\n this.NotificationsStateUpdates.safeApply(this.$scope, (state) => {\r\n this.isNotificationsListOpen = state.isNotificationsListOpen;\r\n this.showNotificationAnimations = state.showNotificationAnimations;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private initQuoteWebsocketsUnquote () {\r\n this.NotificationsEvents.userIntents.getNotifications.onNext(null);\r\n \r\n this.subscriptions.push(Rx.Observable\r\n .interval(600000)\r\n .subscribe(() => {\r\n if (! this.isNotificationsListOpen) {\r\n this.NotificationsEvents.userIntents.getNotifications.onNext(null);\r\n }\r\n })\r\n );\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snNotificationsPanel\",\r\n (): ng.IDirective => {\r\n return {\r\n restrict: \"E\",\r\n controller: snNotificationsPanel,\r\n link: (scope, elm, attrs, controller: any) => {\r\n controller.registerWithScrollService($(elm).find('.notification-panel__body'));\r\n },\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snNotificationsPanel/snNotificationsPanel.html',\r\n scope: {\r\n snNotifications: \"=\",\r\n snTotalNewNotifications: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\nmodule Sonovate.Core {\r\n\r\n class OnboardingDocumentSignatoryCardController extends Core.BaseController {\r\n\r\n static $inject = [\r\n\t\t\t\"$scope\",\r\n\t\t\t\"localiser\",\r\n \"$timeout\",\r\n \"PersonOptionsDropdownEvents\",\r\n \"AssignmentEvents\",\r\n \"OnboardingDocumentEvents\"\r\n\t\t];\r\n\r\n snIndex: number;\r\n snHideDelete: string;\r\n snHideAddress: string;\r\n dropdownIsOpen: boolean = false;\r\n localisedText: ILocalisationData;\r\n snContact: Models.IOnboardingSignatory;\r\n snSetIssueEmail: (d: {person: Models.IAgreementPerson}) => void;\r\n snFlagModal: (any) => {}\r\n snDeleteCallback: (number) => {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected $timeout: ng.ITimeoutService,\r\n\t\t\tprotected PersonOptionsDropdownEvents: Events.IPersonOptionsDropdownEvents,\r\n protected AssignmentEvents: Core.Events.IAssignmentEvents,\r\n protected OnboardingDocumentEvents: Core.Events.IOnboardingDocumentEvents\r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n }\r\n\r\n public toggleDropdown() {\r\n\t\t\tif (!this.dropdownIsOpen) {\r\n\t\t\t\tthis.PersonOptionsDropdownEvents.userIntents.openDropdownForPersonWithId.onNext(this.snContact.id);\r\n this.dropdownIsOpen = true;\r\n\t\t\t}\r\n }\r\n\r\n public showDeleteButton(): boolean {\r\n return this.snHideDelete === undefined;\r\n }\r\n\r\n public showAddress(): boolean {\r\n return this.snHideAddress === undefined;\r\n }\r\n\r\n public getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\r\n \"mediaobject\", \"general\"\r\n ])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n if (data.mediaobject && data.general) {\r\n this.localisedText = R.merge(data.mediaobject, data.general);\r\n }\r\n }).subscribe()\r\n );\r\n }\r\n\r\n public removeContractSignatory(): void {\r\n this.snDeleteCallback({id: this.snContact.personId});\r\n }\r\n\r\n public updateContractSignatory(email: string): void {\r\n this.snContact.email = email;\r\n this.snSetIssueEmail({\r\n person: R.merge(\r\n this.snContact,\r\n { selectedEmail: email }\r\n )\r\n });\r\n }\r\n\r\n public openFlagModal(){\r\n this.snFlagModal({assessments: this.snContact.assessments})\r\n }\r\n \r\n private reorderSignatoryDown(): void {\r\n this.OnboardingDocumentEvents.userIntents.moveSignatoryDown.onNext(this.snContact)\r\n }\r\n\r\n private reorderSignatoryUp(): void {\r\n this.OnboardingDocumentEvents.userIntents.moveSignatoryUp.onNext(this.snContact)\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snOnboardingDocumentSignatoryCard\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: OnboardingDocumentSignatoryCardController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snOnboardingDocumentSignatoryCard/snOnboardingDocumentSignatoryCard.html',\r\n scope: {\r\n snContact: \"=\",\r\n snCandidateLTD: \"=\",\r\n snCardCallback: \"&\",\r\n snDeleteCallback: \"&\",\r\n snEditCallback: \"&\",\r\n snCanDelete:\"=\",\r\n snIndex: \"=\",\r\n snFlagModal: \"&\",\r\n snSetIssueEmail: \"&\",\r\n snDisabled: \"&\"\r\n }\r\n };\r\n }\r\n\t);\r\n}\r\n","/// \r\n\r\nmodule Sonovate.core {\r\n\r\n class snOrganisationAccountStatusController extends Core.BaseController {\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"OrganisationAccountStatusEvents\",\r\n \"OrganisationAccountStatusStateUpdates\",\r\n \"OrganisationAccountStatusState\"\r\n ];\r\n localisedText: IDictionary = {};\r\n snStatusId: string;\r\n snOnChangeStatus: Function;\r\n organisationAccountStatus: Models.IStatus;\r\n selectedStatus: Models.IStatus = this.selectedStatus || '';\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected OrganisationAccountStatusEvents: Core.Events.IOrganisationAccountStatusEvents,\r\n protected OrganisationAccountStatusStateUpdates: Rx.BehaviorSubject,\r\n protected OrganisationAccountStatusState: Core.State.ReferenceDataState.IStatusState\r\n ) {\r\n super($scope);\r\n this.setupOrganisationAccountStatusSubscription();\r\n this.getOrganisationAccountStatuses();\r\n\r\n this.$scope.$watch('vm.snStatusId', (newValue, oldValue) => {\r\n if (newValue !== oldValue) {\r\n this.OrganisationAccountStatusState.findStatusInGroupType(this.OrganisationAccountStatusState.statuses['main'], this.snStatusId);\r\n }\r\n });\r\n }\r\n\r\n private getOrganisationAccountStatuses(){\r\n this.OrganisationAccountStatusEvents.userIntents.getOrganisationAccountStatuses.onNext(null);\r\n }\r\n\r\n private setupOrganisationAccountStatusSubscription(){\r\n this.subscriptions.push(\r\n this.OrganisationAccountStatusStateUpdates.safeApply(this.$scope, \r\n (state: Core.State.ReferenceDataState.IStatusState) => {\r\n this.organisationAccountStatus = angular.copy(\r\n state.findStatusInGroupType(state.statuses['main'], this.snStatusId)\r\n );\r\n }\r\n ).subscribe()\r\n )\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\") \r\n .directive(\r\n \"snOrganisationAccountStatus\",\r\n function snOrganisationAccountStatus(): ng.IDirective {\r\n return {\r\n restrict: 'E',\r\n templateUrl: 'core/components/snOrganisationAccountStatus/snOrganisationAccountStatus.html',\r\n scope: {\r\n snStatusId: \"@\"\r\n },\r\n controllerAs: 'vm',\r\n bindToController: true,\r\n controller: snOrganisationAccountStatusController\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snOrganisationListingController extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\", \"$state\"];\r\n\r\n showCardCog: boolean = true;\r\n assesmentType: String = \"Compliance\";\r\n riskModel: String;\r\n snOrganisations: Models.IOrganisation[];\r\n snOnFlagClick: Function;\r\n localised: ILocalisationData;\r\n snOnSelectRiskStatus: Function;\r\n snOnSelectFlagStatus: Function;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected $state: ng.ui.IStateService\r\n ) {\r\n super($scope);\r\n }\r\n\r\n selectFlag(selected) {\r\n this.snOnSelectFlagStatus({item: selected.item.value});\r\n }\r\n\r\n selectStatus(selected) {\r\n this.snOnSelectRiskStatus({item: selected.item.value});\r\n }\r\n\r\n getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"organisation\"]).safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data;\r\n }).subscribe()\r\n )\r\n }\r\n }\r\n \r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snOrganisationListing\",\r\n function snOrganisationListing(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snOrganisationListingController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snOrganisationListing/snOrganisationListingDirective.html',\r\n scope: {\r\n snOrganisations: \"=\",\r\n snAddOrganisation: \"&\",\r\n snAddOrganisationText: \"@\",\r\n snName: \"@\",\r\n snTotalResults: \"=\",\r\n snRiskModel:\"=\",\r\n snFlagModel:\"=\",\r\n snOnSelectRiskStatus: \"&\",\r\n snOnSelectFlagStatus: \"&\",\r\n snAssessmentStatus: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snOrganisationListingItemController extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\", \"OrganisationOptionsDropdownEvents\", \"$timeout\", \"$state\"];\r\n\r\n snIsSelected: boolean;\r\n snOnClick: () => void;\r\n snOrganisation: Models.IOrganisationSearchItem;\r\n snStatus: string;\r\n snTradingAs: string;\r\n snParentName: string;\r\n\r\n dropdownIsOpen: boolean;\r\n statusIdAsText: string;\r\n text: {};\r\n snId: number;\r\n snOnFlagClick: (params: { id: number, assessmentStatus: Enums.AssessmentStatus, riskFlags: Models.IFlagsAndNote}) => void;\r\n snAssessmentType: String;\r\n snFlags: string[];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected OrganisationOptionsDropdownEvents: Events.IOrganisationOptionsDropdownEvents,\r\n protected $timeout: ng.ITimeoutService,\r\n protected $state: ng.ui.IStateService\r\n ) {\r\n super($scope);\r\n this.dropdownIsOpen = false;\r\n this.statusIdAsText = this.snOrganisation.organisationStatus;\r\n this.getLocalisedText();\r\n }\r\n\r\n public toggleDropdown() {\r\n if (! this.dropdownIsOpen) {\r\n this.OrganisationOptionsDropdownEvents.userIntents.openDropdownForOrganisationWithId.onNext(this.snOrganisation.id);\r\n }\r\n \r\n this.$timeout(() => {\r\n this.dropdownIsOpen = !this.dropdownIsOpen;\r\n }, 0);\r\n }\r\n\r\n public toggleSelection() {\r\n this.setToogledSelection();\r\n this.snOnClick();\r\n }\r\n\r\n private setToogledSelection() {\r\n if (typeof this.snIsSelected === \"boolean\") {\r\n this.snIsSelected = !this.snIsSelected;\r\n }\r\n }\r\n\r\n private openModal(organisationId: number): void { \r\n let firstAssessment = this.snOrganisation.assessments[0];\r\n this.snOnFlagClick({ id: this.snOrganisation.id, assessmentStatus: firstAssessment.assessmentStatus, riskFlags: firstAssessment.riskFlags});\r\n }\r\n\r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .interpolate([\"organisation\"], () => {\r\n return {\r\n tradingOrganisationName: this.snTradingAs,\r\n subsidiaryOrganisationName: this.snOrganisation.parentOrganisationId\r\n };\r\n })\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.text = data.organisation;\r\n }).subscribe()\r\n )\r\n }\r\n }\r\n \r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snOrganisationListingItem\",\r\n function snOrganisationListingItem(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snOrganisationListingItemController,\r\n controllerAs: \"vm\",\r\n // replace is set to true because without it\r\n // the .listing-item odd and even background color\r\n // replacements would not work, resulting in us\r\n // having to set that on every ng-repeat \r\n replace: true,\r\n bindToController: true,\r\n templateUrl: 'core/components/snOrganisationListingItem/snOrganisationListingItemDirective.html',\r\n scope: {\r\n snSelectable: \"=\",\r\n snIsSelected: \"=\",\r\n snOnClick: \"&\",\r\n snOrganisation: \"=\",\r\n snRiskFlagCallback:\"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snOrganisationListingSelectController extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"$timeout\", \"localiser\"];\r\n\r\n snOrganisations: Sonovate.Models.IOrganisationListItemModel[];\r\n snOnSelect: () => (snModel: Sonovate.Models.IOrganisationListItemModel[]) => void;\r\n snModel: Sonovate.Models.IOrganisationListItemModel[];\r\n snSelectMode: string;\r\n\r\n isCardSelectedStates: boolean[];\r\n showCardCog: boolean;\r\n localised: ILocalisationData;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n private $timeout: ng.ITimeoutService,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n\r\n this.getLocalisedText();\r\n this.isCardSelectedStates = [];\r\n this.showCardCog = true;\r\n this.watchAndUpdateOrganisationsOnSelection();\r\n this.watchOrganisationChangeAndSetCardSelectionStates();\r\n this.updateModelWithSelectedCards();\r\n }\r\n\r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"organisations\"]).safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data;\r\n }).subscribe()\r\n )\r\n }\r\n\r\n private watchAndUpdateOrganisationsOnSelection() : void {\r\n this.$scope.$watch(\r\n \"vm.isCardSelectedStates\",\r\n (newValue: boolean[], oldValue: boolean[]) => {\r\n this.setAllOtherSelectionsToFalseIfSingleSelect(newValue, oldValue);\r\n this.updateSnOrganisationsWithSelectionStates();\r\n this.updateModelWithSelectedCards();\r\n this.callOnSelectMethod()\r\n },\r\n true\r\n );\r\n }\r\n\r\n private setAllOtherSelectionsToFalseIfSingleSelect(newValue: boolean[], oldValue: boolean[]): void {\r\n if (this.isSingleSelect() && !this.oneItemSelected(newValue)) {\r\n this.isCardSelectedStates = newValue.map(\r\n (newValueIsSelected: boolean, index: number) => {\r\n if (newValueIsSelected === oldValue[index]) {\r\n return false;\r\n } else {\r\n return newValueIsSelected;\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n private oneItemSelected(newValue: boolean[]): boolean {\r\n var selectedItems: boolean[] = [];\r\n newValue.forEach((itemIsSelected) => {\r\n if ( itemIsSelected ) {\r\n selectedItems.push(itemIsSelected);\r\n }\r\n })\r\n return selectedItems.length === 1;\r\n }\r\n\r\n private updateSnOrganisationsWithSelectionStates(): void {\r\n \r\n this.isCardSelectedStates.forEach((cardIsSelected: boolean, index: number) => {\r\n this.snOrganisations[index].isSelected = cardIsSelected;\r\n });\r\n }\r\n\r\n private updateModelWithSelectedCards() : void {\r\n this.snModel = R.filter(\r\n (organisation) => organisation.isSelected,\r\n this.snOrganisations\r\n );\r\n }\r\n\r\n private callOnSelectMethod(): void {\r\n if ( this.isSingleSelect() && this.snModel.length > 0 ) {\r\n this.callOnSelectMethodIfItExists();\r\n } \r\n\r\n if ( this.isMultiSelect() ) {\r\n this.callOnSelectMethodIfItExists();\r\n }\r\n }\r\n\r\n private callOnSelectMethodIfItExists(): void {\r\n var onSelect = this.snOnSelect();\r\n if ( typeof onSelect === \"function\" ) {\r\n onSelect(this.snModel);\r\n }\r\n }\r\n\r\n private watchOrganisationChangeAndSetCardSelectionStates(): void {\r\n this.$scope.$watch(\"vm.snOrganisations\", () => {\r\n this.setIsCardSelectedStates();\r\n });\r\n }\r\n\r\n private setIsCardSelectedStates() : void {\r\n this.isCardSelectedStates = R.map((organisation) => {\r\n if (organisation.isSelected !== undefined ) {\r\n return organisation.isSelected; \r\n }\r\n return false;\r\n }, this.snOrganisations);\r\n }\r\n\r\n private isSingleSelect(): boolean {\r\n return this.snSelectMode === \"single\";\r\n }\r\n\r\n private isMultiSelect() : boolean {\r\n return this.snSelectMode === \"multi\";\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\") \r\n .directive(\r\n \"snOrganisationListingSelect\",\r\n function snOrganisationListingSelect(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snOrganisationListingSelectController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snOrganisationListingSelect/snOrganisationListingSelectDirective.html',\r\n scope: {\r\n snOrganisations: \"=\",\r\n snOnSelect: \"&\",\r\n snName: \"@\",\r\n snModel: \"=\",\r\n snSelectMode: \"@\",\r\n snTotalResults: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snOrganisationRiskStatusDropdownController extends FilterStatusDropdownBaseClass {\r\n\r\n snSelectedRiskStatus: string;\r\n selectedDropdownItem: Models.IDropdownItem;\r\n localisedText: IDictionary = {};\r\n snOnChangeSelectedFlag: Function;\r\n riskItems: Models.IDropdownItem[];\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"RiskStatusStateUpdates\",\r\n \"RiskFlagStateUpdates\",\r\n \"referenceDataActions\"\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected RiskStatusStateUpdates: Rx.BehaviorSubject,\r\n protected RiskFlagStateUpdates: Rx.BehaviorSubject,\r\n protected referenceDataActions: IReferenceDataActions\r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n this.initRiskStatusesSubscription()\r\n\r\n this.$scope.$watch('vm.snSelectedRiskStatus', (newVal: string) => {\r\n this.setSelectedStatus();\r\n });\r\n }\r\n\r\n mapperFunction (item: Models.IDropdownItem): Models.IDropdownItem {\r\n return item;\r\n }\r\n\r\n initRiskStatusesSubscription(): void {\r\n this.referenceDataActions.requestSubjects.getStatuses.onNext(null);\r\n this.subscriptions.push(\r\n this.RiskStatusStateUpdates\r\n .safeApply(this.$scope, (state: State.ReferenceDataState.IStatusState) => {\r\n this.riskItems = state.getGroupTypeStatusesAsDropdownItems(\"OrganisationCompliance\");\r\n this.addAllToStatuses();\r\n this.setSelectedStatus();\r\n }).subscribe()\r\n );\r\n }\r\n\r\n changeSelectedDropdownItem (item: Models.IDropdownItem) {\r\n this.snOnChangeSelectedFlag({item: item.value});\r\n }\r\n\r\n private selectCurrentDropdownItem () {\r\n if(this.riskItems && this.riskItems.length){\r\n this.riskItems.forEach((item) => {\r\n if (item.value === this.snSelectedRiskStatus) {\r\n this.selectedDropdownItem = item;\r\n }\r\n });\r\n }\r\n }\r\n\r\n private setSelectedStatus () {\r\n if(this.snSelectedRiskStatus == \"All\"){\r\n this.selectedDropdownItem = this.riskItems[0];\r\n return\r\n }\r\n\r\n if (! this.snSelectedRiskStatus && this.riskItems.length) {\r\n this.selectedDropdownItem = this.riskItems[0];\r\n return;\r\n }\r\n\r\n this.riskItems.forEach((status) => {\r\n if (status.value === this.snSelectedRiskStatus) {\r\n this.selectedDropdownItem = status;\r\n }\r\n });\r\n }\r\n \r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"general\"]).safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = data.general;\r\n this.selectCurrentDropdownItem();\r\n }).subscribe()\r\n )\r\n }\r\n\r\n private addAllToStatuses() {\r\n this.riskItems.unshift({\r\n text: this.localisedText ? this.localisedText[\"All\"] : '',\r\n value: null,\r\n color: \"splash\",\r\n icon: \"sn-ico-circle\"\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snOrganisationRiskStatusDropdown\",\r\n function snOrganisationRiskStatus(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snOrganisationRiskStatusDropdownController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n templateUrl: 'core/components/snOrganisationRiskStatusDropdown/snOrganisationRiskStatusDropdown.html',\r\n scope: {\r\n snSelectedRiskStatus: \"@\",\r\n snOnChangeSelectedFlag: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snOrganisationSearchCardController extends BaseController {\r\n\r\n static $inject = [\"$scope\", \"OrganisationOptionsDropdownEvents\"];\r\n\r\n snOrganisation: Models.IOrganisationSearchItem;\r\n isDropdownShowing: boolean = false;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected OrganisationOptionsDropdownEvents: Events.IOrganisationOptionsDropdownEvents\r\n ) {\r\n super($scope);\r\n }\r\n\r\n toggleDropdown() {\r\n this.isDropdownShowing = !this.isDropdownShowing;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snOrganisationSearchCard\",\r\n function snOrganisationSearchCard(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snOrganisationSearchCardController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snOrganisationSearchCard/snOrganisationSearchCardDirective.html',\r\n scope: {\r\n snOrganisation:\"=\",\r\n snOnClick: \"&?\",\r\n snRiskFlagCallback: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","\r\n/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snOrganisationStatusDropdownController extends BaseController {\r\n\r\n static $inject = [\"$scope\", \"referenceDataActions\", \"statusIconTextStore\", \"signedInUserStore\"];\r\n\r\n snModel: string;\r\n statuses: Models.IDropdownItem[];\r\n userLanguage: string;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n private referenceDataActions: IReferenceDataActions,\r\n private statusIconTextStore: Rx.ReplaySubject, \r\n private signedInUserStore: ISignedInUserStore\r\n ) {\r\n super($scope);\r\n\r\n this.getStatusReferenceData();\r\n\r\n this.subscriptions.push(\r\n statusIconTextStore.safeApply($scope, status => {\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private getStatusReferenceData(): void {\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject.safeApply(this.$scope, state => {\r\n this.referenceDataActions.requestSubjects.getStatuses.onNext(state.settings.language);\r\n }).subscribe()\r\n );\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snOrganisationStatusDropdown\",\r\n function snOrganisationStatusDropdown(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snOrganisationStatusDropdownController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snOrganisationStatusDropdown/snOrganisationStatusDropdownDirective.html',\r\n scope: {\r\n snModel: \"=\"\r\n }\r\n };\r\n });\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snPasswordInputController extends BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\"];\r\n snOnToggleShowHide: Function;\r\n snModel: string;\r\n localisedText: IDictionary;\r\n snInputLabel: string;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: Sonovate.ILocaliserService\r\n ) {\r\n super($scope);\r\n this.initLocalisationSubscription();\r\n }\r\n\r\n toggleIsShowingPassword() {\r\n this.snOnToggleShowHide();\r\n }\r\n\r\n private initLocalisationSubscription() {\r\n this.subscriptions.push(\r\n this.localiser.get(['general', 'login'])\r\n .safeApply(this.$scope, (data: {general: IDictionary, login: IDictionary}) => {\r\n this.localisedText = R.merge(data.general, data.login);\r\n })\r\n .subscribe())\r\n }\r\n\r\n private getLabel() {\r\n if(this.snInputLabel) {\r\n return this.snInputLabel\r\n }\r\n return this.localisedText['Password'];\r\n }\r\n\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snPasswordInput\",\r\n function snPasswordInput(): ng.IDirective {\r\n return {\r\n restrict: 'E',\r\n templateUrl: 'core/components/snPasswordInput/snPasswordInputDirective.html',\r\n scope: {\r\n snModel: '=',\r\n snKeyup: \"&\",\r\n snChange: \"&\",\r\n snIsShowingPassword: \"=\",\r\n snOnToggleShowHide: \"&\",\r\n snInputLabel: \"@\",\r\n snError: \"=\"\r\n },\r\n controllerAs: 'vm',\r\n bindToController:true,\r\n controller: snPasswordInputController\r\n };\r\n });\r\n}","/// \r\n\r\nmodule Sonovate.SignIn {\r\n \r\n class PasswordStrengthIndicatorController extends Core.BaseController {\r\n \r\n static $inject = [\r\n '$scope',\r\n 'localiser',\r\n 'PasswordStrengthStateUpdates'\r\n ];\r\n\r\n public localisedText: IDictionary;\r\n public passwordStrength: Models.IPasswordStrength; \r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected PasswordStrengthStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope);\r\n this.setupPasswordStrengthState();\r\n this.getLocalisedText();\r\n }\r\n\r\n private setupPasswordStrengthState(): void {\r\n this.PasswordStrengthStateUpdates.safeApply(this.$scope, (state: Core.State.PasswordStrengthState) => {\r\n this.passwordStrength = state.passwordStrength;\r\n }).subscribe();\r\n }\r\n\r\n private getLocalisedText() {\r\n this.localiser.get(['login']).safeApply(this.$scope,\r\n (data: { login: IDictionary } ) => {\r\n this.localisedText = data.login;\r\n }\r\n ).subscribe();\r\n }\r\n }\r\n \r\n angular.module(\"sonovate.signup\")\r\n .directive(\r\n \"snPasswordStrengthIndicator\",\r\n function snPasswordStrengthIndicator(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: PasswordStrengthIndicatorController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snPasswordStrengthIndicator/snPasswordStrengthIndicatorDirective.html',\r\n scope: {}\r\n };\r\n }\r\n );\r\n}\r\n\r\n","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class PaymentListingItemController extends BaseController {\r\n\r\n localised: IDictionary = {};\r\n snPayment: Models.IPaymentSearchResult;\r\n dateFormat: string;\r\n\r\n static $inject =\r\n [\r\n \"$scope\",\r\n \"localiser\",\r\n \"signedInUserStore\"\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected SignedInUserStore: Sonovate.ISignedInUserStore\r\n ) {\r\n super($scope);\r\n\r\n this.initLocalisation();\r\n this.initSignedInUserStoreSubscription();\r\n }\r\n\r\n private initLocalisation () {\r\n this.subscriptions.push(\r\n this.localiser.get([\"payments\"])\r\n .safeApply(this.$scope, (state) => {\r\n this.localised = state;\r\n })\r\n .subscribe()\r\n )\r\n }\r\n\r\n private initSignedInUserStoreSubscription () {\r\n this.subscriptions.push(\r\n this.SignedInUserStore.subject\r\n .safeApply(this.$scope, (state) => {\r\n this.dateFormat = state.settings.dateFormat\r\n })\r\n .subscribe()\r\n )\r\n }\r\n }\r\n \r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snPaymentListingItem\",\r\n function snPaymentListingItem(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: PaymentListingItemController,\r\n controllerAs: \"vm\",\r\n replace: true,\r\n bindToController: true,\r\n templateUrl: 'core/components/snPaymentListingItem/snPaymentListingItemDirective.html',\r\n scope: {\r\n snPayment: \"=\",\r\n },\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\nmodule Sonovate.Core {\r\n\r\n class AssignemntContractCardController extends Core.BaseController {\r\n\r\n static $inject = [\r\n\t\t\t\"$scope\", \r\n\t\t\t\"localiser\",\r\n \"signedInUserStore\",\r\n \"$state\",\r\n \"AgreementEvents\",\r\n \"EditTermsFormStateUpdates\",\r\n \"OnboardingDocumentEvents\",\r\n \"OnboardingDocumentStateUpdates\"\r\n\t\t];\r\n\r\n localised: IDictionary = {};\r\n userDateFormat: string;\r\n isDropdownShowing: boolean;\r\n characterLimit: number;\r\n snTemplateTerm: Models.ITermsTemplate;\r\n snOnEditDocumentTerm: () => void;\r\n snOnEditWrittenTerm: () => void;\r\n snDuplicateOnEdit: () => boolean;\r\n snShowPreview: string;\r\n snOnEdit: Function;\r\n snOnReplace: Function;\r\n snPdfUrl: Function;\r\n \r\n snRouteBase: string; \r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n private signedInUserStore: ISignedInUserStore,\r\n private $state: ng.ui.IStateService,\r\n private AgreementEvents: Events.IAgreementEvents,\r\n private EditTermsFormStateUpdates: Rx.BehaviorSubject,\r\n protected OnboardingDocumentEvents: Core.Events.IOnboardingDocumentEvents,\r\n protected OnboardingDocumentStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope);\r\n this.setupSignedinUserStore();\r\n this.getLocalisedText();\r\n this.initTermsDuplicatedHandler();\r\n }\r\n\r\n private initTermsDuplicatedHandler(): void {\r\n this.subscriptions.push(\r\n this.EditTermsFormStateUpdates.subscribe((state: State.IEditTermsFormState) => {\r\n // no-op\r\n // required to get the state updated correctly \r\n })\r\n );\r\n \r\n this.subscriptions.push( \r\n this.AgreementEvents.httpResults.termsDuplicated.subscribe((terms: Models.ITermsTemplate) => { \r\n this.$state.go(`${this.snRouteBase}.modals`, {modal: \"edit-terms\"});\r\n })\r\n );\r\n }\r\n\r\n public removeUploadedContract() : void {\r\n this.OnboardingDocumentEvents.userIntents.removePdf.onNext(null);\r\n }\r\n\r\n public setupSignedinUserStore(): void {\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject.subscribe(state => {\r\n this.userDateFormat = state.settings.dateFormat;\r\n })\r\n );\r\n }\r\n\r\n public getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\r\n \"assignments\",\r\n \"general\",\r\n \"terms\"\r\n ])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n if (data.assignments && data.general && data.terms) {\r\n this.localised = R.mergeAll(\r\n [\r\n data.assignments, \r\n data.general,\r\n data.terms\r\n ]\r\n );\r\n }\r\n }).subscribe()\r\n );\r\n } \r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snPdfCard\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: AssignemntContractCardController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snPdfCard/snPdfCard.html',\r\n scope: {\r\n snPdf:\"=\"\r\n }\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snPdfPreviewController extends BaseController {\r\n\r\n static $inject = [\r\n \"$scope\"\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope\r\n ) {\r\n super($scope);\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snPdfPreview\",\r\n function snPdfPreview(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snPdfPreviewController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snPdfPreview/snPdfPreviewDirective.html',\r\n scope: {\r\n snTitle: \"@\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snPdfViewerController extends BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"PdfViewerStateUpdates\",\r\n \"PdfViewerService\",\r\n \"PdfViewerState\",\r\n \"localiser\",\r\n \"$sce\"\r\n ];\r\n\r\n snFillParent: string;\r\n pdfData: Blob;\r\n localised: IDictionary = {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected PdfViewerStateUpdates: Rx.BehaviorSubject,\r\n protected PdfViewerService: IPdfViewerService,\r\n protected PdfViewerState: Sonovate.Core.State.IPdfViewerState,\r\n protected localiser: ILocaliserService,\r\n protected $sce: ng.ISCEService\r\n ) {\r\n super($scope);\r\n\r\n this.setupPdfViewerState();\r\n this.setupLocalisationSubscription();\r\n }\r\n\r\n public viewerIsFullHeight(): boolean {\r\n return !R.isNil(this.snFillParent);\r\n }\r\n\r\n private setupPdfViewerState(): void {\r\n this.subscriptions.push(\r\n this.PdfViewerStateUpdates.safeApply(this.$scope, (state: Core.State.IPdfViewerState) => {\r\n this.pdfData = this.generatePdfFileContent(state.pdfData);\r\n }).subscribe()\r\n )\r\n }\r\n\r\n private setupLocalisationSubscription(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data.general;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private generatePdfFileContent(data: string): Blob {\r\n if (!data) {\r\n return null;\r\n }\r\n let file = new Blob([data], { type: 'application/pdf' });\r\n let fileURL = URL.createObjectURL(file);\r\n return this.$sce.trustAsResourceUrl(fileURL);\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snPdfViewer\",\r\n function snPdfViewer(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snPdfViewerController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snPdfViewer/snPdfViewerDirective.html',\r\n link: ($scope, element) => {\r\n let current = element.find(\"embed\");\r\n $scope.$watch(\"vm.pdfData\", (data) => {\r\n let clone = current\r\n .clone()\r\n .attr('data', data);\r\n current.replaceWith(clone);\r\n current = clone;\r\n });\r\n },\r\n scope: {\r\n snFillParent: \"@\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snPeopleStatusDropdownController extends FilterStatusDropdownBaseClass {\r\n\r\n localisedText: IDictionary = {};\r\n peopleStatuses: Models.IPersonStatus[] = [];\r\n snOnChangeStatus: Function;\r\n snSelectedStatus: string;\r\n selectedStatus: Models.IPersonStatus;\r\n \r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"PeopleStatusesStateUpdates\",\r\n \"PeopleStatusesEvents\",\r\n \"PeopleSearchStateUpdates\",\r\n \"PeopleSearchEvents\"\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected PeopleStatusesStateUpdates: Rx.BehaviorSubject,\r\n protected PeopleStatusesEvents: Events.PeopleStatusesEvents,\r\n protected PeopleSearchStateUpdates: Rx.BehaviorSubject,\r\n protected PeopleSearchEvents: Sonovate.Core.Events.PeopleSearchEvents\r\n ) {\r\n super($scope);\r\n this.initLocaliserSubscription();\r\n this.getPeopleStatuses();\r\n this.setDropdownItemsWhenPeopleStatusStateUpdates();\r\n\r\n this.$scope.$watch('vm.snSelectedStatus', () => {\r\n this.setSelectedStatus();\r\n });\r\n }\r\n\r\n changeStatus(value: Models.IPersonStatus): void {\r\n this.snOnChangeStatus({status: value.id});\r\n }\r\n\r\n mapperFunction (peopleStatus: Models.IPersonStatus): Models.IDropdownItem {\r\n return {\r\n value: peopleStatus.id,\r\n text: peopleStatus.text,\r\n icon: peopleStatus.displayIcon,\r\n color: peopleStatus.displayColor\r\n };\r\n }\r\n\r\n private setSelectedStatus () {\r\n if (! this.snSelectedStatus && this.peopleStatuses.length) {\r\n this.selectedStatus = this.peopleStatuses[0];\r\n return;\r\n }\r\n\r\n this.peopleStatuses.forEach((status) => {\r\n if (status.id === this.snSelectedStatus) {\r\n this.selectedStatus = status;\r\n }\r\n });\r\n }\r\n\r\n private getPeopleStatuses(): void {\r\n this.PeopleStatusesEvents.userIntents.getStatuses.onNext(null);\r\n\t }\r\n\r\n private setDropdownItemsWhenPeopleStatusStateUpdates(): void {\r\n this.subscriptions.push(\r\n this.PeopleStatusesStateUpdates\r\n .safeApply(this.$scope, (state: Core.State.PeopleStatusesState) => {\r\n this.peopleStatuses = state.peopleStatuses;\r\n this.addAllToStatuses();\r\n this.setSelectedStatus();\r\n }).subscribe()\r\n )\r\n }\r\n\r\n private addAllToStatuses () {\r\n this.peopleStatuses = R.concat([{\r\n id: '',\r\n text: this.localisedText['AllStatuses'],\r\n displayColor: 'splash',\r\n displayIcon: 'sn-ico-circle'\r\n }], this.peopleStatuses);\r\n }\r\n\r\n private localiseAllStatus () {\r\n if (this.peopleStatuses.length) {\r\n this.peopleStatuses[0].text = this.localisedText['AllStatuses'];\r\n }\r\n }\r\n \r\n private initLocaliserSubscription(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = data.general;\r\n this.localiseAllStatus();\r\n })\r\n .subscribe()\r\n )\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snPeopleStatusDropdown\",\r\n function snPeopleStatusDropdown(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snPeopleStatusDropdownController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n templateUrl: 'core/components/snPeopleStatusDropdown/snPeopleStatusDropdown.html',\r\n scope: {\r\n snSelectedStatus: \"@\",\r\n snOnChangeStatus: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}\r\n\r\n","/// \r\nmodule Sonovate.Core {\r\n\r\n class snPersonAccountStatusController extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"PeopleStatusesState\"];\r\n\r\n statusColor: string;\r\n statusIcon: string;\r\n snStatus: string;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected PeopleStatusesState: Core.State.PeopleStatusesState\r\n ) {\r\n super($scope);\r\n this.assignStatusColorAndIcon();\r\n this.initWatchStatusChange();\r\n }\r\n\r\n initWatchStatusChange() {\r\n this.events.push(\r\n this.$scope.$watch('vm.snStatus', (newValue, oldValue): void => {\r\n if(!angular.equals(newValue, oldValue)){\r\n this.assignStatusColorAndIcon();\r\n }\r\n })\r\n );\r\n }\r\n\r\n assignStatusColorAndIcon() {\r\n this.statusColor = this.PeopleStatusesState.getStatusDisplayColorById(this.snStatus);\r\n this.statusIcon = this.PeopleStatusesState.getStatusDisplayIconById(this.snStatus);\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snPersonAccountStatus\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snPersonAccountStatusController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snPersonAccountStatus/snPersonAccountStatus.html',\r\n scope: {\r\n snStatus: \"@\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n\tclass snPersonOptionsPopoutController extends Core.BaseController {\r\n\r\n\t\tstatic $inject = [\r\n \"$scope\", \r\n \"localiser\", \r\n \"$state\", \r\n \"signedInUserStore\", \r\n \"observeOnScope\", \r\n \"PersonOptionsDropdownStateUpdates\"\r\n ];\r\n\r\n\t\tsnId: number;\r\n\t\tsnPerson: any;\r\n\t\tpermissions: string[] = [];\r\n\t\tloading: boolean = true;\r\n snOnSuspend: Function;\r\n snOnUnSuspend: Function;\r\n snOnResendInvite: Function;\r\n\t\tlocalisedText: ILocalisationData\r\n\r\n\t\tconstructor(\r\n\t\t\tprotected $scope: ng.IScope,\r\n\t\t\tprotected localiser: ILocaliserService,\r\n\t\t\tprotected $state: ng.ui.IStateService,\r\n\t\t\tprotected signedInUserStore: any,\r\n\t\t\tprotected observeOnScope: Function,\r\n\t\t\tprotected PersonOptionsDropdownStateUpdates: Rx.BehaviorSubject,\r\n\t\t\tpublic personToMarkAsContact: any,\r\n\t\t\tpublic localised: ILocalisationData,\r\n\t\t\tpublic requestIds: any,\r\n\t\t\tpublic signedInUser: any,\r\n\t\t\tpublic person: any,\r\n\t\t\tpublic errorMessage: string,\r\n\t\t\tpublic showErrorMessage: boolean, \r\n\t\t\tpublic showMarkAsContact: boolean\r\n\t\t\t) {\r\n\t\t\tsuper($scope);\r\n\t\t\tthis.getSignedInUser();\r\n\t\t\tthis.initPermissionsSubscriptions();\r\n\t\t\tthis.initLocalisationSubscription();\r\n\t\t}\r\n\r\n\t\thasPermission (permission) {\r\n\t\t\treturn this.permissions.indexOf(permission) > -1;\r\n\t\t}\r\n\r\n\t\tpublic initLocalisationSubscription(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"personoptions\"])\r\n .safeApply(this.$scope, (data: any) => {\r\n this.localisedText = data.personoptions;\r\n }).subscribe()\r\n )\r\n\t\t}\r\n\r\n\t\tpublic getSignedInUser(): void {\r\n\t\t\tthis.subscriptions.push(\r\n\t\t\t\tthis.signedInUserStore.subject.safeApply(this.$scope, (signedInUser) => {\r\n\t\t\t\t\tthis.signedInUser = signedInUser\r\n\t\t\t\t}).subscribe()\r\n\t\t\t)\r\n\t\t}\r\n\t\t\r\n\t\tprivate initPermissionsSubscriptions () {\r\n\t\t\t// Corresponding action must be called on parent\r\n\t\t\tthis.PersonOptionsDropdownStateUpdates\r\n\t\t\t\t.safeApply(this.$scope, (state: State.IPersonOptionsDropdownState) => {\r\n\t\t\t\t\tthis.permissions = state.permissions;\r\n\t\t\t\t\tthis.person = state.person;\r\n\t\t\t\t\tthis.loading = state.loading;\r\n\t\t\t\t})\r\n\t\t\t\t.subscribe();\r\n\t\t}\r\n\r\n private init () {\r\n\t\t\t// Corresponding action must be called on parent\r\n\t\t\tthis.PersonOptionsDropdownStateUpdates\r\n\t\t\t\t.safeApply(this.$scope, (state: State.IPersonOptionsDropdownState) => {\r\n\t\t\t\t\tthis.permissions = state.permissions;\r\n\t\t\t\t\tthis.person = state.person;\r\n\t\t\t\t\tthis.loading = state.loading;\r\n\t\t\t\t})\r\n\t\t\t\t.subscribe();\r\n\t\t}\r\n\r\n private suspend(): void {\r\n this.snOnSuspend(this.snId)\r\n }\r\n\r\n private unsuspend(): void {\r\n this.snOnUnSuspend(this.snId)\r\n }\r\n\r\n private resendInvite(): void {\r\n this.snOnResendInvite(this.snId)\r\n }\r\n\t}\r\n\r\n\r\n\tangular.module(\"sonovate.core\")\r\n\t.directive(\r\n\t\t\"snPersonOptionsPopout\",\r\n\t\tfunction snPersonOptionsPopout(): ng.IDirective {\r\n\t\t\treturn {\r\n\t\t\t\trestrict: \"E\",\r\n\t\t\t\tcontroller: snPersonOptionsPopoutController,\r\n\t\t\t\tcontrollerAs: \"vm\",\r\n\t\t\t\treplace: false,\r\n\t\t\t\tbindToController: true,\r\n\t\t\t\ttemplateUrl: 'core/components/snPersonOptionsPopout/snPersonOptionsPopout.html',\r\n\t\t\t\tscope: {\r\n\t\t\t\t\tsnId: \"@\",\r\n\t\t\t\t\tsnStatus: \"=\",\r\n\t\t\t\t\tsnPerson: \"=\",\r\n snOnSuspend: \"&\",\r\n snOnUnSuspend: \"&\",\r\n snOnResendInvite: \"&\"\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\t);\r\n}\r\n","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snPersonSearchCardController extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\", \r\n \"localiser\", \r\n \"PersonOptionsDropdownEvents\",\r\n \"PeopleSearchStateUpdates\"\r\n ];\r\n\r\n localisedText: IDictionary = {};\r\n snPerson: Models.IPersonSearchItem;\r\n isDropdownShowing: boolean = false;\r\n snOnClick: Function;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n private localiser: ILocaliserService,\r\n protected PersonOptionsDropdownEvents: Events.IPersonOptionsDropdownEvents,\r\n protected PeopleSearchStateUpdates: Rx.BehaviorSubject,\r\n ) {\r\n super($scope);\r\n this.initLocaliserSubscription();\r\n this.initPersonSearchSubscription();\r\n }\r\n\r\n toggleDropdown() {\r\n this.isDropdownShowing = !this.isDropdownShowing\r\n }\r\n\r\n initLocaliserSubscription(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"mediaobject\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = data.mediaobject;\r\n }).subscribe()\r\n )\r\n }\r\n\r\n initPersonSearchSubscription(): void {\r\n this.subscriptions.push(\r\n this.PeopleSearchStateUpdates\r\n .safeApply(this.$scope, (data: any) => {\r\n this.isDropdownShowing = false;\r\n }).subscribe()\r\n )\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snPersonSearchCard\",\r\n function snPersonSearchCard(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snPersonSearchCardController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n scope: {\r\n snPerson: \"=\",\r\n snOnClick: \"&\",\r\n snOnSuspend: \"&\",\r\n snOnUnSuspend: \"&\",\r\n snOnResendInvite: \"&\"\r\n },\r\n templateUrl: 'core/components/snPersonSearchCard/snPersonSearchCardDirective.html',\r\n }\r\n }\r\n )\r\n};","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snPersonSearchListingItemController extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\", \r\n \"localiser\",\r\n \"PeopleSearchStateUpdates\"\r\n ];\r\n\r\n localisedText: IDictionary = {};\r\n snPerson: Models.IPersonSearchItem;\r\n isDropdownShowing: boolean = false;\r\n snOnClick: Function;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n private localiser: ILocaliserService,\r\n protected PeopleSearchStateUpdates: Rx.BehaviorSubject,\r\n ) {\r\n super($scope);\r\n this.initLocaliserSubscription();\r\n this.initPersonSearchSubscription();\r\n }\r\n\r\n toggleDropdown() {\r\n this.isDropdownShowing = !this.isDropdownShowing;\r\n }\r\n\r\n initPersonSearchSubscription(): void {\r\n this.subscriptions.push(\r\n this.PeopleSearchStateUpdates\r\n .safeApply(this.$scope, (data: any) => {\r\n this.isDropdownShowing = false;\r\n }).subscribe()\r\n )\r\n }\r\n\r\n initLocaliserSubscription(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"mediaobject\", \"profileheader\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = R.merge(data.profileheader, data.mediaobject);\r\n }).subscribe()\r\n )\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snPersonSearchListingItem\",\r\n function snPersonSearchListingItem(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snPersonSearchListingItemController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n replace: true,\r\n scope: {\r\n snPerson: \"=\",\r\n snOnClick: \"&\",\r\n snOnSuspend: \"&\",\r\n snOnUnSuspend: \"&\",\r\n snOnResendInvite: \"&\"\r\n },\r\n templateUrl: 'core/components/snPersonSearchListingItem/snPersonSearchListingItemDirective.html',\r\n }\r\n }\r\n )\r\n};","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snInputController extends BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\"\r\n ];\r\n\r\n snIcon: string;\r\n snIconAsText: string;\r\n snError: string;\r\n snRequired: string;\r\n snHasErrors: boolean;\r\n snModel: string;\r\n snDisabled: boolean;\r\n snFirstIcon: string;\r\n snFirstIconAsText: string;\r\n snLabel: string;\r\n snNewLocalisedLabel: string;\r\n snOnBlur: ({item: string}) => void;\r\n snIconWithPointer: string;\r\n \r\n hasIcon: boolean;\r\n isRequired: string;\r\n\r\n inputIsFocused: boolean;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n\r\n if (this.snIcon) {\r\n this.hasIcon = true;\r\n }\r\n\r\n if (this.snError) {\r\n this.snHasErrors = true;\r\n }\r\n\r\n if (this.snRequired) {\r\n this.isRequired = \"required\";\r\n }\r\n }\r\n\r\n public getLabel() : string {\r\n return this.snLabel || this.snNewLocalisedLabel;\r\n }\r\n\r\n public moveForFirstIcon(): boolean {\r\n return this.thereIsAFirstIcon() && !this.inputIsFocused && (R.isNil(this.snModel) || R.isEmpty(this.snModel));\r\n }\r\n\r\n public showRegularIcon (): boolean {\r\n return this.thereIsAIcon() && !this.snDisabled;\r\n }\r\n\r\n public showSmallLabel(): boolean {\r\n return this.inputIsFocused || ( !R.isNil(this.snModel) && !R.isEmpty(this.snModel) );\r\n }\r\n\r\n public focusInput(): void {\r\n this.inputIsFocused = true;\r\n }\r\n\r\n public blurInput(): void {\r\n this.snOnBlur({item: this.snModel});\r\n this.inputIsFocused = false;\r\n }\r\n\r\n public showIconWithPointer() : boolean {\r\n return !R.isNil(this.snIconWithPointer);\r\n }\r\n\r\n private thereIsAIcon() : boolean {\r\n return this.valueIsSet(this.snIcon) || this.valueIsSet(this.snIconAsText);\r\n }\r\n\r\n private thereIsAFirstIcon() : boolean {\r\n return this.valueIsSet(this.snFirstIcon) || this.valueIsSet(this.snFirstIconAsText);\r\n }\r\n\r\n private valueIsSet(value) : boolean {\r\n return !R.isNil(value) && !R.isEmpty(value);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snProfileHeaderInput\",\r\n function snInput(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snInputController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snProfileHeaderInput/snProfileHeaderInput.html',\r\n scope: {\r\n snId: \"@\",\r\n snModel: '=',\r\n snName: \"@\",\r\n snLabel: \"@\",\r\n snDisabled: \"=\",\r\n // Used on DOB, to show error state without giving an error via snError\r\n snDisplayError: \"=\", \r\n // An input is considered submitted when the last icon is pressed or enter is pressed\r\n snOnSubmit: \"&\",\r\n snOnKeydownEnter:\"&\",\r\n // on type notification\r\n snKeyup: \"&\",\r\n // \r\n // !the use of anything bellow this line is in doubt\r\n //\r\n snTabindex: \"=\",\r\n // used in once place but the input never implements it\r\n snWidth: \"@\",\r\n snOnBlur: \"&\",\r\n snSmallInput: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snProfileInformationDropdownController extends BaseController {\r\n\r\n static $inject = [\"$scope\"];\r\n\r\n private snListItems: Models.IProfileDropdownItem[];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n public dropdownIsOpen: boolean\r\n ) {\r\n super($scope)\r\n }\r\n public toggleDropdown():void {\r\n this.dropdownIsOpen = !this.dropdownIsOpen;\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snProfileInformationDropdown\",\r\n function snProfileInformationDropdown(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snProfileInformationDropdownController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n scope: {\r\n snListItems: \"=\",\r\n snSingularTitle: \"@\",\r\n snMultipleTitle: \"@\",\r\n },\r\n templateUrl: 'core/components/snProfileInformationDropdown/snProfileInformationDropdownDirective.html'\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n\tclass snProfileRolesDropdownController extends BaseController {\r\n\r\n\t\tstatic $inject = [\"$scope\", \"localiser\"];\r\n\r\n\t\tprivate snListItems: any;\r\n\r\n\t\tconstructor(\r\n\t\t\tprotected $scope: ng.IScope,\r\n\t\t\tprotected localiser: ILocaliserService,\r\n\t\t\tpublic dropdownIsOpen: boolean,\r\n\t\t\tpublic localised: ILocalisationData\r\n\t\t\t) {\r\n\t\t\tsuper($scope)\r\n\r\n\t\t\tthis.setLocalisedTextWhenRetrieved();\r\n\t\t}\r\n\t\tpublic toggleDropdown():void {\r\n\t\t\tthis.dropdownIsOpen = !this.dropdownIsOpen;\r\n\t\t}\r\n\r\n\t\tprivate setLocalisedTextWhenRetrieved(): void {\r\n\t\t\tthis.subscriptions.push(\r\n\t\t\t\tthis.localiser.get([\"general\"])\r\n\t\t\t\t.safeApply(this.$scope, (data: ILocalisationData) => {\r\n\t\t\t\t\tthis.localised = data;\r\n\t\t\t\t}).subscribe()\r\n\t\t\t)\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tangular.module(\"sonovate.core\")\r\n\t.directive(\r\n\t\t\"snProfileRolesDropdown\",\r\n\t\tfunction snProfileRolesDropdown(): ng.IDirective {\r\n\t\t\treturn {\r\n\t\t\t\trestrict: \"E\",\r\n\t\t\t\tcontroller: snProfileRolesDropdownController,\r\n\t\t\t\tcontrollerAs: \"vm\",\r\n\t\t\t\tbindToController: true,\r\n\t\t\t\tscope: {\r\n\t\t\t\t\tsnRoles: \"=\",\r\n\t\t\t\t\tsnOrganisationName: \"@\"\r\n\t\t\t\t},\r\n\t\t\t\ttemplateUrl: 'core/components/snProfileRolesDropdown/snProfileRolesDropdownDirective.html'\r\n\t\t\t};\r\n\t\t}\r\n\t\t);\r\n}","\r\n/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n\tclass snProfileSubNavController extends Core.BaseController {\r\n\r\n\t\tstatic $inject = [\r\n\t\t\t\"$scope\", \r\n\t\t\t\"$anchorScroll\", \r\n\t\t\t\"$location\", \r\n\t\t\t\"$window\", \r\n\t\t\t\"localiser\", \r\n\t\t\t\"$log\"\r\n\t\t];\r\n\t\t\r\n\t\tpublic snDefaultSelected: string;\r\n\t\tpublic floatNavigation: boolean;\r\n\t\tpublic scrollTriggeredByNavigation: boolean = false;\r\n\t\tprivate snOffset: number = this.snOffset || 25;\r\n\t\tpublic snMenuItems: Array\r\n\t\tpublic localised: ILocalisationData;\r\n\t\tpublic selectedMenuItem: ISubnavMenuItem = this.snMenuItems[0];\r\n\t\tpublic subNavRootElement: JQuery;\r\n\t\tpublic snPagePositionTracking: boolean;\r\n \r\n\t\tconstructor(\r\n\t\t\tprotected $scope: ng.IScope,\r\n\t\t\tprotected $anchorScroll: ng.IAnchorScrollService,\r\n\t\t\tprotected $location: ng.ILocationService,\r\n\t\t\tprotected $window: ng.IWindowService,\r\n\t\t\tprotected localiser: ILocaliserService,\r\n\t\t\tprotected $log: ng.ILogService\r\n\t\t) {\r\n\t\t\tsuper($scope);\r\n\t\t\tthis.startPageScrollEvent();\r\n\t\t\tthis.unbindWindowsEventsOnScopeDestroy();\r\n\t\t\tthis.getLocalisedText();\r\n\t\t}\r\n\r\n\t\tisMenuItemShowing(menuItem: Models.ISubnavMenu): boolean {\r\n\t\t\tif ( R.type(menuItem.isShowing) === \"Boolean\") {\r\n\t\t\t\treturn menuItem.isShowing;\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tprivate setupPagePositionTracking(): void {\r\n\t\t\tif (this.snPagePositionTracking) {\r\n\t\t\t\tthis.checkForRegionIds();\r\n\t\t\t\tthis.startPageResizeEvent();\r\n\t\t\t\tthis.recordAnchorPositions();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tprivate checkForRegionIds(): void {\r\n\t\t\tvar missingIds = [];\r\n\t\t\tR.forEach((menuItem)=> {\r\n\t\t\t\tif ( !$(`#${menuItem.id}`).length ) {\r\n\t\t\t\t\tmissingIds.push(menuItem.id);\r\n\t\t\t\t}\r\n\t\t\t}, this.snMenuItems);\r\n\r\n\t\t\tif (missingIds.length) {\r\n\t\t\t\tthis.$log.warn(`SubNav: Your menu item IDs '${missingIds.toString()}' can not be found in the DOM by recordAnchorPositions`);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tprivate startPageResizeEvent(): void {\r\n\t\t\tangular.element(this.$window).bind(\"resize\", () => {\r\n\t\t\t\tthis.$scope.$apply(() => {\r\n\t\t\t\t\tthis.recordAnchorPositions();\r\n\t\t\t\t\tthis.getNextMenuItem();\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tprivate startPageScrollEvent(): void {\r\n\t\t\t\r\n\t\t\tangular.element(this.$window).bind(\"scroll\", () => {\r\n\r\n\t\t\t\tif (!this.scrollTriggeredByNavigation && this.snPagePositionTracking) {\r\n\t\t\t\t\tthis.$scope.$apply(() => {\r\n\t\t\t\t\t\tthis.getNextMenuItem();\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.scrollTriggeredByNavigation = false;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tprivate unbindWindowsEventsOnScopeDestroy(): void {\r\n\t\t\tthis.$scope.$on(\"$destroy\", () => {\r\n\t\t\t\tangular.element(this.$window).unbind(\"scroll\");\r\n\t\t\t\tangular.element(this.$window).unbind(\"resize\");\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tprivate recordAnchorPositions(): void {\r\n\t\t\tvar index = 0;\r\n\t\t\tvar indexLengthFromZero = this.snMenuItems.length - 1;\r\n\t\t\t\r\n\t\t\tR.forEach((menuItem)=> {\r\n\t\t\t\tif ($(`#${menuItem.id}`).offset()) {\r\n\t\t\t\t\tmenuItem.yOffsetStart = ($(`#${menuItem.id}`).offset().top) - this.snOffset;\r\n\t\t\t\t\tmenuItem.indexInMenu = index;\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (index === indexLengthFromZero) {\r\n\t\t\t\t\t\treturn menuItem.yOffsetFinish = (document.documentElement.scrollHeight) - this.snOffset;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tmenuItem.yOffsetFinish = $(`#${this.snMenuItems[index + 1].id}`).offset().top - this.snOffset;\r\n\t\t\t\t\tindex = index + 1;\r\n\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t}, this.snMenuItems);\r\n\t\t}\r\n\r\n\t\tprivate getNextMenuItem(): void {\r\n\t\t\tvar yPoisitionIsPastMenuItemRegionStart = (this.$window.pageYOffset > this.selectedMenuItem.yOffsetStart);\r\n\t\t\tvar yPoisitionIsPastMenuItemRegionEnd = (this.$window.pageYOffset < this.selectedMenuItem.yOffsetFinish);\r\n\t\t\tvar windowIsScrolledToTheBottom = this.scrolledToPageBottom();\r\n\r\n\t\t\tif (!( !windowIsScrolledToTheBottom && (yPoisitionIsPastMenuItemRegionStart && yPoisitionIsPastMenuItemRegionEnd))) {\r\n\t\t\t\tvar findNextSelectedItem = this.findNextSelectedMenuItem();\r\n\r\n\t\t\t\tif (findNextSelectedItem) {\r\n\t\t\t\t\tthis.selectedMenuItem = findNextSelectedItem;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (windowIsScrolledToTheBottom) {\r\n\t\t\t\t\tthis.selectedMenuItem = this.snMenuItems[this.snMenuItems.length - 1];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tprivate findNextSelectedMenuItem(): ISubnavMenuItem {\r\n\t\t\treturn R.find((menuItem: ISubnavMenuItem) => {\r\n\t\t\t\treturn menuItem.yOffsetFinish > this.$window.pageYOffset && menuItem.yOffsetStart < this.$window.pageYOffset;\r\n\t\t\t}, this.snMenuItems);\r\n\t\t}\r\n\r\n\t\tprivate selectMenuItem(menuItem: ISubnavMenuItem): void { \r\n\t\t\tthis.selectedMenuItem = menuItem;\r\n\r\n\t\t\tif (this.snPagePositionTracking) {\r\n\t\t\t\tthis.scrollTriggeredByNavigation = true;\r\n\t\t\t\tthis.$window.scrollTo(0, (this.selectedMenuItem.yOffsetStart))\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tprivate scrolledToPageBottom(): boolean {\r\n\t\t\treturn $(window).scrollTop() + $(window).height() == $(document).height();\r\n\t\t}\r\n\r\n\t\tprivate getLocalisedText(): void {\r\n\t\t\tthis.subscriptions.push(\r\n\t\t\t\tthis.localiser.get([\"subnav\"])\r\n\t\t\t\t.safeApply(this.$scope, (data: ILocalisationData) => {\r\n\t\t\t\t\tthis.localised = data;\r\n\t\t\t\t}).subscribe()\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tangular.module(\"sonovate.core\")\r\n\t\t.directive(\r\n\t\t\"snProfileSubNav\",\r\n\t\tfunction snProfileSubNav(): ng.IDirective {\r\n\t\t\treturn {\r\n\t\t\t\trestrict: \"E\",\r\n\t\t\t\ttransclude: true,\r\n\t\t\t\tcontroller: snProfileSubNavController,\r\n\t\t\t\tcontrollerAs: \"vm\",\r\n\t\t\t\tbindToController: true,\r\n\t\t\t\tscope: {\r\n\t\t\t\t\tsnMenuItems: \"=\",\r\n\t\t\t\t\tsnOffset: \"@\",\r\n\t\t\t\t\tsnPagePositionTracking: \"=?\"\r\n\t\t\t\t},\r\n\t\t\t\ttemplateUrl: 'core/components/snProfileSubNav/snProfileSubNavDirective.html',\r\n\t\t\t\tlink: (scope: any, element, attributes) => {\r\n\t\t\t\t\tscope.vm.subNavRootElement = element.children();\r\n\t\t\t\t\tscope.vm.setupPagePositionTracking();\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\t);\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class SnProvisionalOrganisationCardController extends BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\"];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n }\r\n }\r\n \r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snProvisionalOrganisationCard\",\r\n function SnProvisionalOrganisationCard(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: SnProvisionalOrganisationCardController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true, \r\n templateUrl: 'core/components/snProvisionalOrganisationCard/snProvisionalOrganisationCardDirective.html',\r\n scope: {\r\n snProvisionalOrganisation: \"=\",\r\n snSelectable: \"=\",\r\n snOnSelect: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class SnProvisionalOrganisationListingItemController extends BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\"];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n }\r\n \r\n }\r\n \r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snProvisionalOrganisationListingItem\",\r\n function SnProvisionalOrganisationListingItem(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: SnProvisionalOrganisationListingItemController,\r\n controllerAs: \"vm\",\r\n replace: true,\r\n bindToController: true,\r\n templateUrl: 'core/components/snProvisionalOrganisationListingItem/snProvisionalOrganisationListingItemDirective.html',\r\n scope: {\r\n snProvisionalOrganisation: \"=\",\r\n snSelectable: \"=\",\r\n snOnSelect: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snRadioGroupController extends BaseController{\r\n\r\n static $inject = [\r\n \"$scope\"\r\n ];\r\n\r\n localised: IDictionary = {};\r\n snItems: Models.IRadioItem[];\r\n snOnChange: (a:{ item: Models.IRadioItem }) => void;\r\n snModel: string;\r\n\r\n constructor(\r\n protected $scope: ng.IScope\r\n ) {\r\n super($scope);\r\n this.setItemThatMatchesModelValueOnSnModelUpdate();\r\n }\r\n\r\n private setItemThatMatchesModelValueOnSnModelUpdate() {\r\n this.$scope.$watch(\"vm.snModel\", (newValue:string) => {\r\n this.unselectAllItems();\r\n this.findItemThatMatchesValue(newValue).isSelected = true;\r\n });\r\n }\r\n\r\n private findItemThatMatchesValue(value:string): Models.IRadioItem {\r\n return R.find(R.propEq(\"value\", value), this.snItems) || {};\r\n }\r\n\r\n checkRadio(item: Models.IRadioItem) {\r\n this.snOnChange({ item: item });\r\n this.snModel = item.value; \r\n }\r\n\r\n private unselectAllItems() {\r\n this.snItems.forEach((item) => item.isSelected = false);\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snRadioGroup\",\r\n function snRadioGroup(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snRadioGroupController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: \"core/components/snRadioGroup/snRadioGroupDirective.html\",\r\n scope: {\r\n snItems: \"=\",\r\n snOnChange: \"&\",\r\n snModel: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snRateTierController extends BaseController {\r\n snLocked: any;\r\n snShowClose: any;\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\"\r\n ];\r\n localised: IDictionary = {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n this.setLocalisedTextWhenRetrieved();\r\n }\r\n\r\n private setLocalisedTextWhenRetrieved(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data.general;\r\n }).subscribe()\r\n );\r\n }\r\n \r\n private showClose(): boolean {\r\n if (this.snLocked == true && this.snShowClose == true) {\r\n return false\r\n } else if (this.snLocked == true) {\r\n return false\r\n } else if (this.snShowClose == true && this.snLocked == false) {\r\n return true\r\n } else if (this.snShowClose == false && this.snLocked == false) {\r\n return false\r\n }\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snRateTier\",\r\n function snRateTier(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snRateTierController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snRateTier/snRateTierDirective.html',\r\n scope: {\r\n snLowModel: \"=\",\r\n snHighModel: \"=\",\r\n snRateModel: \"=\",\r\n snShowClose: \"=\",\r\n snOnClose: \"&\",\r\n snOnEnter: \"&\",\r\n snError: \"=\",\r\n snOnChangeRate:\"&\",\r\n snLocked:\"=\",\r\n snSelectedCurrencyCode: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n} ","/// \r\nmodule Sonovate.Core {\r\n\r\n class snRiskFlagChecklistController extends Core.BaseController{\r\n \r\n static $inject = [\r\n \"$scope\", \r\n \"referenceDataActions\", \r\n \"RiskFlagStateUpdates\"\r\n ];\r\n \r\n riskFlags: IDictionary;\r\n snAssessmentType: Enums.AssessmentType;\r\n snModel: Enums.AssessmentRiskFlag[]; \r\n \r\n constructor(\r\n protected $scope: ng.IScope,\r\n private referenceDataActions: IReferenceDataActions,\r\n private RiskFlagStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope);\r\n this.referenceDataActions.requestSubjects.getOrganisationFlags.onNext(\"\");\r\n this.setFlagItemsOnRiskFlagStateUpdates();\r\n }\r\n\r\n public setFlagItemsOnRiskFlagStateUpdates() : void {\r\n this.subscriptions.push(\r\n this.RiskFlagStateUpdates\r\n .safeApply(this.$scope, (state: State.ReferenceDataState.IRiskFlagState) => {\r\n this.riskFlags = R.mapObjIndexed(R.map(this.IRiskStatus_IChecklistItem), state.flags);\r\n }).subscribe()\r\n );\r\n }\r\n\r\n public isCurrentAssessmentType(assessmentType) : boolean {\r\n return assessmentType.toUpperCase() === this.snAssessmentType.toUpperCase(); \r\n }\r\n\r\n private IRiskStatus_IChecklistItem(flag: Models.IStatus): Models.IChecklistItem {\r\n return {\r\n name: flag.text,\r\n description: \"\", \r\n value: flag.id\r\n };\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snRiskFlagChecklist\",\r\n function snRoles(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snRiskFlagChecklistController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snRiskFlagChecklist/snRiskFlagChecklistDirective.html',\r\n scope: {\r\n snModel: \"=\",\r\n snAssessmentType: \"@\",\r\n snOnClick: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n interface IStatusUpdateIntent {\r\n assessmentSummary: Models.IAssessment, \r\n riskStatusState: State.RiskStatusState \r\n };\r\n\r\n class snRiskStatusController extends BaseController{\r\n\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"$state\",\r\n \"localiser\",\r\n \"RiskStatusStateUpdates\",\r\n \"observeOnScope\"\r\n ];\r\n\r\n showStatusIcon: boolean; \r\n status: Models.IStatus;\r\n snAssessmentSummary: ViewModels.Risk.AssessmentSummary\r\n localised: ILocalisationData;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected localiser: ILocaliserService,\r\n protected RiskStatusStateUpdates: Rx.BehaviorSubject,\r\n protected observeOnScope: Function\r\n ) {\r\n super($scope);\r\n \r\n this.showStatusIcon = false;\r\n\r\n this.initStatusUpdateSubscription();\r\n this.initLocalisedText();\r\n }\r\n\r\n public openChangeRiskModal() : void {\r\n this.$state.go(`${this.$state.current.name}.modals`, { modal: \"change-risk-status\" });\r\n }\r\n\r\n private initStatusUpdateSubscription() : void {\r\n this.subscriptions.push(\r\n this.getStatusUpdateObservable()\r\n .filter((given) => !R.isNil(given.assessmentSummary))\r\n .safeApply(this.$scope, (given) => {\r\n this.showStatusIcon = true; \r\n this.status = given.riskStatusState.getStatusByGroupTypeAndId(\r\n given.assessmentSummary.assessmentType,\r\n given.assessmentSummary.assessmentStatus\r\n );\r\n })\r\n .subscribe()\r\n );\r\n }\r\n\r\n private getStatusUpdateObservable(): Rx.Observable {\r\n return Rx.Observable.combineLatest(\r\n this.observeOnScope(this.$scope, 'vm.snAssessmentSummary', true),\r\n this.RiskStatusStateUpdates,\r\n (assessmentSummary: IScopeObserver, riskStatusState: State.RiskStatusState) => { \r\n return {\r\n assessmentSummary: assessmentSummary.newValue,\r\n riskStatusState: riskStatusState\r\n };\r\n }\r\n )\r\n }\r\n\r\n private initLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"risk\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data\r\n })\r\n .subscribe()\r\n );\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snRiskStatus\",\r\n function snRiskStatus(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snRiskStatusController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snRiskStatus/snRiskStatusDirective.html',\r\n scope: {\r\n snAssessmentSummary: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class RiskStatusDropdownController extends FilterStatusDropdownBaseClass {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"referenceDataActions\",\r\n \"RiskStatusStateUpdates\",\r\n \"RiskStatusState\"\r\n ];\r\n\r\n statusDropdownItems: Models.IDropdownItem[];\r\n selectedRiskStatus: Models.IStatus;\r\n\r\n snRiskStatusType: string;\r\n snPopoutSize: string;\r\n snAssessmentStatus: Models.IStatus;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected referenceDataActions: IReferenceDataActions,\r\n protected RiskStatusStateUpdates: Rx.BehaviorSubject,\r\n protected RiskStatusState: State.ReferenceDataState.IStatusState\r\n ) {\r\n super($scope);\r\n\r\n this.showPopout = false;\r\n this.checkValue();\r\n referenceDataActions.requestSubjects.getStatuses.onNext(null);\r\n\r\n this.setItemsAndStatusesOnRiskStatusStateUpdates();\r\n this.setSelectedRiskStatusOnSnModelUpdates();\r\n this.setSelectedRiskStatusOnSnRiskStatusTypeUpdates();\r\n }\r\n \r\n private setItemsAndStatusesOnRiskStatusStateUpdates (): void {\r\n this.subscriptions.push(\r\n this.RiskStatusStateUpdates\r\n .safeApply(this.$scope, (state: Core.State.ReferenceDataState.IStatusState) => {\r\n this.statusDropdownItems = state.getGroupTypeStatusesAsDropdownItems(this.snRiskStatusType);\r\n this.addAllToStatuses();\r\n })\r\n .subscribe()\r\n );\r\n }\r\n\r\n private addAllToStatuses() {\r\n this.statusDropdownItems.unshift({\r\n text: \"All\",\r\n color: \"splash\",\r\n icon: \"sn-ico-circle\",\r\n value: null\r\n });\r\n }\r\n\r\n private setSelectedRiskStatusOnSnModelUpdates(): void {\r\n this.$scope.$watch(\"vm.snModel\", (selectedStatusId:string) => {\r\n this.selectedRiskStatus = this.RiskStatusState.getStatusByGroupTypeAndId(this.snRiskStatusType, selectedStatusId);\r\n });\r\n }\r\n\r\n private setSelectedRiskStatusOnSnRiskStatusTypeUpdates(): void {\r\n this.$scope.$watch(\"vm.snRiskStatusType\", (riskStatusTypeId:string) => {\r\n this.selectedRiskStatus = this.RiskStatusState.getStatusByGroupTypeAndId(riskStatusTypeId, this.snModel);\r\n })\r\n }\r\n }\r\n \r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snRiskStatusDropdown\",\r\n function RiskStatusDropdown(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: RiskStatusDropdownController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snRiskStatusDropdown/snRiskStatusDropdownDirective.html',\r\n scope: {\r\n snOnChange: \"&\",\r\n snModel: \"=\",\r\n snRiskStatusType: \"@\",\r\n snAssessmentStatus: \"=\",\r\n snPopoutSize: \"@\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class SnSearchDirectiveController extends BaseController {\r\n\r\n static $inject = [\r\n \"$scope\"\r\n ];\r\n localised: IDictionary = {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope\r\n ) {\r\n super($scope);\r\n }\r\n }\r\n \r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snSearch\",\r\n function RiskStatusDropdown(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: SnSearchDirectiveController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n scope: {\r\n snTabindex: \"@\",\r\n snModel: \"=\",\r\n snKeyup: \"&\",\r\n snSearchAction: \"&\",\r\n snLabel: \"@\",\r\n // these methods are the one we want to tie to differnt user intents\r\n // to the search input, the search action should see a demise\r\n snOnIconPress: \"&\",\r\n snOnKeydownEnter: \"&\"\r\n },\r\n templateUrl: 'core/components/snSearch/snSearchDirective.html'\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.core {\r\n\r\n class snSearchFilterDropdownController extends Core.BaseController {\r\n dropdownItems: Models.IDropdownItem[];\r\n snMapperFunction: Function;\r\n snOnSelectItem: Function;\r\n snItems: any[];\r\n selectedDropdownItem: Models.IDropdownItem;\r\n isOpen: boolean = false;\r\n focusIndex: number = 0;\r\n snSelectedItem: Models.IDropdownItem;\r\n\r\n $inject = [\r\n \"$timeout\"\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $timeout: ng.ITimeoutService\r\n ) {\r\n super($scope);\r\n\r\n $scope.$watch('vm.snSelectedItem', (newVal) => {\r\n if (newVal) {\r\n this.selectedDropdownItem = this.snMapperFunction()(newVal);\r\n }\r\n });\r\n\r\n $scope.$watch('vm.snItems', (newVal) => {\r\n if (this.snItems) {\r\n this.dropdownItems = this.snItems.map((item) => {\r\n return this.snMapperFunction()(item);\r\n });\r\n }\r\n });\r\n }\r\n\r\n toggleDropdown () {\r\n this.isOpen = !this.isOpen;\r\n }\r\n\r\n selectItemByIndex (index) {\r\n this.snOnSelectItem({item: this.snItems[index]});\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\") \r\n .directive(\r\n \"snSearchFilterDropdown\",\r\n function snSearchFilterDropdown(): ng.IDirective {\r\n return {\r\n restrict: 'E',\r\n templateUrl: 'core/components/snSearchFilterDropdown/snSearchFilterDropdown.html',\r\n scope: {\r\n snSelectedItem: \"=\",\r\n snItems: \"=\",\r\n snMapperFunction: \"&\",\r\n snOnSelectItem: \"&\",\r\n snLabel: \"@\"\r\n },\r\n controllerAs: 'vm',\r\n bindToController: true,\r\n controller: snSearchFilterDropdownController\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\n\r\nmodule Sonovate.core {\r\n\r\n class snSelectCompanyFromSearchController extends Core.BaseController {\r\n static $inject = [\"$scope\", \"MergedOrganisationSearchStateUpdates\", \"MergedOrganisationSearchEvents\", \"$state\", \"localiser\", \"ScrollCalculatorService\", \"ProposalEvents\"];\r\n organisations: Models.IOrganisation[]; \r\n searchQuery: IPageState;\r\n localised: ILocalisationData;\r\n rowCount: number;\r\n loading: boolean;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected MergedOrganisationSearchStateUpdates: Rx.BehaviorSubject,\r\n protected MergedOrganisationSearchEvents: Core.Events.IMergedOrganisationSearchEvents,\r\n protected $state: ng.ui.IStateService,\r\n protected localiser: ILocaliserService,\r\n protected ScrollCalculatorService: IScrollCalculatorService,\r\n protected ProposalEvents: Core.Events.IProposalEvents\r\n ) {\r\n super($scope);\r\n this.initOrganisationSubscription();\r\n this.initLocalisationSubscription();\r\n this.initScrollSubscription();\r\n }\r\n \r\n search () {\r\n this.searchQuery.offset = 0;\r\n this.MergedOrganisationSearchEvents.userIntents.searchMergedOrganisations.onNext(this.searchQuery);\r\n }\r\n \r\n scroll () {\r\n this.MergedOrganisationSearchEvents.userIntents.seeMoreMergedOrganisations.onNext(this.searchQuery);\r\n }\r\n\r\n private initScrollSubscription () {\r\n this.subscriptions.push(\r\n this.ScrollCalculatorService\r\n .getScrollObservableForLazyLoading(\"modal\")\r\n .subscribe(() => {\r\n this.searchQuery.offset++;\r\n this.scroll();\r\n })\r\n );\r\n }\r\n \r\n private initLocalisationSubscription () {\r\n this.subscriptions.push(\r\n this.localiser.interpolate([\"proposal\"], () => { \r\n return {\r\n query: this.searchQuery.q\r\n };\r\n })\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data;\r\n })\r\n .subscribe()\r\n )\r\n }\r\n \r\n private initOrganisationSubscription () {\r\n this.subscriptions.push(\r\n this.MergedOrganisationSearchStateUpdates \r\n .safeApply(this.$scope, (state: Core.State.IMergedOrganisationSearchState) => {\r\n this.organisations = state.organisations;\r\n this.searchQuery = state.search;\r\n this.rowCount = state.totalRowCount;\r\n this.loading = state.loading;\r\n })\r\n .subscribe()\r\n ); \r\n }\r\n } \r\n angular.module(\"sonovate.core\") \r\n .directive(\r\n \"snSelectCompanyFromSearch\",\r\n function snSelectCompanyFromSearch(): ng.IDirective {\r\n return {\r\n restrict: 'E',\r\n templateUrl: 'core/components/snSelectCompanyFromSearch/snSelectCompanyFromSearch.html',\r\n scope: {\r\n \tsnCallback: \"&\",\r\n \tsnOnAddOrganisation: \"&\"\r\n },\r\n controllerAs: 'vm',\r\n bindToController: true,\r\n controller: snSelectCompanyFromSearchController\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snSelectDropdownController extends BaseController{\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"$state\",\r\n \"localiser\"\r\n ];\r\n\r\n private showStatusIcon: boolean; \r\n private status: Models.IStatus;\r\n private snAssessmentSummary: ViewModels.Risk.AssessmentSummary\r\n private localised: ILocalisationData;\r\n private snItems: Models.IDropdownItem[];\r\n private snModel: any;\r\n private snOnChange: (string) => {};\r\n private selectedItem: Models.IDropdownItem;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n this.setupItemsWatch();\r\n this.setupModelWatch();\r\n }\r\n\r\n private selectItem(item): void {\r\n if(this.selectedItem) {\r\n this.snOnChange({item: this.selectedItem});\r\n }\r\n }\r\n\r\n private setupItemsWatch(): void {\r\n this.$scope.$watch(\"vm.snItems\", (newVal: Models.IDropdownItem[], oldVal: Models.IDropdownItem[]) => {\r\n this.setSelectedItem();\r\n if(!newVal){\r\n this.snItems = oldVal;\r\n }\r\n })\r\n }\r\n\r\n private setSelectedItem(): void {\r\n if(this.snItems) {\r\n this.snItems.forEach((item: Models.IDropdownItem) => {\r\n if(this.snModel == item.value){\r\n this.selectedItem = item;\r\n }\r\n })\r\n }\r\n }\r\n\r\n private setupModelWatch(): void {\r\n this.$scope.$watch(\"vm.snModel\", (newVal: Models.IDropdownItem, oldVal: Models.IDropdownItem) => {\r\n this.setSelectedItem();\r\n })\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snSelectDropdown\",\r\n function snRiskStatus(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snSelectDropdownController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snSelectDropdown/snSelectDropdown.html',\r\n scope: {\r\n snOnChange: \"&\",\r\n snItems: \"=\",\r\n snModel: '=',\r\n snShowLabel: \"=\",\r\n snLabel: \"@\"\r\n }\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\n\r\nmodule Sonovate.Core {\r\n class snServiceAgreementDocumentTypePopoutController {\r\n\r\n static $inject = [\"$scope\", \"referenceDataActions\", \"ServiceAgreementDocumentTypeStateUpdates\"];\r\n serviceAgreementDocumentTypes: IDictionary;\r\n snServiceAgreementTypeId: string;\r\n snOnSelect: (value: any) => {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected referenceDataActions: IReferenceDataActions,\r\n protected ServiceAgreementDocumentTypeStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n this.referenceDataActions.requestSubjects.getServiceAgreementDocumentTypes.onNext(null);\r\n this.initServiceAgreementDocumentTypes();\r\n }\r\n \r\n private initServiceAgreementDocumentTypes () {\r\n this.ServiceAgreementDocumentTypeStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.serviceAgreementDocumentTypes = state.serviceAgreementDocumentTypes;\r\n })\r\n .subscribe();\r\n }\r\n\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snServiceAgreementDocumentTypePopout\",\r\n function snServiceAgreementDocumentTypePopout(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snServiceAgreementDocumentTypePopoutController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snServiceAgreementDocumentTypePopout/snServiceAgreementDocumentTypePopoutDirective.html',\r\n scope: {\r\n snServiceAgreementTypeId: \"@\",\r\n snOnSelect: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class SnShowWithClickOutLink {\r\n\r\n constructor(\r\n scope: any,\r\n element: any\r\n ) { \r\n $(document).on('mousedown', function(event) { \r\n if(!$(event.target).closest(element).length && !$(event.target).is(element)) {\r\n scope.hide();\r\n }\r\n });\r\n \r\n $(document).on(\"keydown\", function(e){\r\n if (e.keyCode === 27) {\r\n scope.hide();\r\n }\r\n });\r\n \r\n $(element).on('focusout', (event: any) => {\r\n if (!$(event.relatedTarget).closest(element).length && !$(event.relatedTarget).is(element)) {\r\n scope.hide();\r\n }\r\n });\r\n \r\n scope.hide = () => {\r\n if(scope.vm.snShowWithClickOut) {\r\n scope.$apply(() => {\r\n scope.vm.snShowWithClickOut = false;\r\n });\r\n }\r\n }\r\n } \r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snShowWithClickOut\",\r\n function snShowWithClickOut(): ng.IDirective {\r\n return {\r\n restrict: \"A\",\r\n link: SnShowWithClickOutLink,\r\n controller: angular.noop,\r\n template: `
`,\r\n transclude: true,\r\n bindToController: true,\r\n controllerAs: \"vm\",\r\n scope: {\r\n snShowWithClickOut: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snSlideoutController extends BaseController {\r\n\r\n static $inject = [\r\n \"$rootScope\",\r\n \"$scope\", \r\n \"SlideoutStateUpdates\",\r\n \"SlideoutEvents\"\r\n ];\r\n\r\n snName: string;\r\n snStayOpenForRoutes: string;\r\n isOpen: boolean;\r\n\r\n constructor(\r\n protected $rootScope: ng.IRootScopeService,\r\n protected $scope: ng.IScope,\r\n protected SlideoutStateUpdates: Rx.BehaviorSubject,\r\n protected SlideoutEvents: Events.IEvents\r\n ) {\r\n super($scope);\r\n this.registerSlideout();\r\n this.setIsOpenOnSlideoutStateChange();\r\n this.setToClosedOnRouteNavigation();\r\n this.deregisterWhenDestroyed();\r\n }\r\n\r\n public closeSlideout() : void {\r\n this.SlideoutEvents.userIntents.closeSlideout.onNext(null);\r\n }\r\n\r\n private registerSlideout() : void {\r\n this.SlideoutEvents.userIntents.registerSlideout.onNext({\r\n name: this.snName,\r\n StayOpenForRoutes: this.getArrayOfModalsToStayOpenFor()\r\n }); \r\n }\r\n\r\n private getArrayOfModalsToStayOpenFor() : string[] {\r\n if (!R.isNil(this.snStayOpenForRoutes)) {\r\n return this.snStayOpenForRoutes.match(/([a-zA-Z\\-\\_\\.])+/g);\r\n }\r\n return [];\r\n }\r\n\r\n private setIsOpenOnSlideoutStateChange() : void {\r\n this.subscriptions.push(\r\n this.SlideoutStateUpdates.safeApply(this.$scope, (state: State.ISlideoutState) => {\r\n this.isOpen = state.slideoutIsShowing(this.snName);\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private setToClosedOnRouteNavigation() : void {\r\n this.$rootScope.$on(\"$stateChangeSuccess\", (event) => {\r\n this.SlideoutEvents.userIntents.closeSlideoutIfNotOnRegisteredRoute.onNext(null);\r\n });\r\n }\r\n\r\n private deregisterWhenDestroyed(): void {\r\n this.$scope.$on(\"$destroy\", () => {\r\n this.SlideoutEvents.userIntents.deregisterSlideout.onNext(this.snName);\r\n });\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snSlideout\",\r\n function snSlideout(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snSlideoutController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n transclude: true,\r\n bindToController: true,\r\n templateUrl: 'core/components/snSlideout/snSlideoutDirective.html',\r\n scope: {\r\n snName: \"@\",\r\n snStayOpenForRoutes: \"@\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snSortDeliveryPeriodDropdownController extends FilterStatusDropdownBaseClass{\r\n\r\n dropdownItems: Models.IDropdownItem[] = [];\r\n selectedDropdownItem: Models.IDropdownItem;\r\n localisedText: IDictionary = {};\r\n snOnChangeSelectedDeliveryPeriod: Function;\r\n snSelectedDeliveryPeriod: string;\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\"\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n\r\n this.$scope.$watch('vm.snSelectedDeliveryPeriod', (newVal: string) => {\r\n this.selectCurrentDropdownItem();\r\n });\r\n }\r\n\r\n mapperFunction (item: Models.IDropdownItem): Models.IDropdownItem {\r\n return item;\r\n }\r\n\r\n setDropdownList() {\r\n this.dropdownItems = [\r\n {\r\n value: \"priority\",\r\n text: this.localisedText['MostRelevant']\r\n },\r\n {\r\n value: \"oldest\",\r\n text: this.localisedText['Ascending']\r\n },\r\n {\r\n value: \"newest\",\r\n text: this.localisedText['Descending']\r\n }\r\n ];\r\n }\r\n\r\n changeSelectedDropdownItem (item: Models.IDropdownItem) {\r\n this.snOnChangeSelectedDeliveryPeriod({selectedDeliveryPeriod: item.value});\r\n }\r\n\r\n private selectCurrentDropdownItem () {\r\n this.dropdownItems.forEach((item) => {\r\n if (item.value === this.snSelectedDeliveryPeriod) {\r\n this.selectedDropdownItem = item;\r\n }\r\n });\r\n }\r\n \r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"general\"]).safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = data.general;\r\n if (data.general) {\r\n this.setDropdownList();\r\n }\r\n this.selectCurrentDropdownItem();\r\n }).subscribe()\r\n )\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snSortDeliveryPeriodDropdown\",\r\n function snSortDeliveryPeriodDropdown(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snSortDeliveryPeriodDropdownController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n templateUrl: 'core/components/snSortDeliveryPeriodDropdown/snSortDeliveryPeriodDropdown.html',\r\n scope: {\r\n snSelectedDeliveryPeriod: \"@\",\r\n snOnChangeSelectedDeliveryPeriod: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class snStatusIconButtonController extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\"\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope\r\n ) {\r\n super($scope);\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snStatusIconButton\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snStatusIconButtonController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snStatusIconButton/snStatusIconButton.html',\r\n scope: {\r\n snAssessmentStatus: \"@\",\r\n snStatusId: \"@\",\r\n snStatusPrefix: \"@\",\r\n snId: \"@\",\r\n snCallback: \"&\",\r\n snLabel: \"@\",\r\n snDisableArrow: \"@\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snStopClickPropagationLink {\r\n constructor(scope: ng.IScope, element: JQuery) {\r\n element.on(\"click\", (event: JQueryEventObject) => {\r\n event.stopPropagation();\r\n });\r\n }\r\n }\r\n\r\n angular\r\n .module(\"sonovate.core\")\r\n .directive(\r\n \"snStopClickPropagation\",\r\n function snStopEventPropagation(): ng.IDirective {\r\n return {\r\n restrict: \"A\",\r\n link: snStopClickPropagationLink,\r\n controller: angular.noop,\r\n bindToController: true,\r\n controllerAs: \"vm\",\r\n scope: {}\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snSwitchController extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\", \"WindowResizeService\", \"$window\"];\r\n\r\n snSwitches: Models.ISwitchItem[];\r\n snModel: any;\r\n snChange: () => void;\r\n localised: ILocalisationData;\r\n showSwitches: boolean = true;\r\n snBreakpoint: any = !R.isEmpty(this.snBreakpoint) ? this.snBreakpoint : 899;\r\n snMobileSwitch: any;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected WindowResizeService: IWindowResizeService,\r\n protected $window: ng.IWindowService\r\n ) {\r\n super($scope);\r\n this.setupScreenResizeEvent();\r\n this.setupWatch();\r\n this.setMobileView();\r\n this.getLocalisedText();\r\n }\r\n\r\n getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"switch\"]).safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data;\r\n }).subscribe()\r\n )\r\n }\r\n\r\n setupWatch(): void {\r\n this.$scope.$watch('vm.snModel', () => {\r\n this.snChange();\r\n }); \r\n }\r\n\r\n switchIsSelected(switchItem): boolean {\r\n return this.snModel === switchItem.value;\r\n }\r\n\r\n setMobileView(): void {\r\n if ((this.snMobileSwitch && (this.snMobileSwitch.value !== this.snModel)) && this.$window.innerWidth < this.snBreakpoint) {\r\n this.toggleMobileView();\r\n }\r\n }\r\n\r\n setupScreenResizeEvent(): void {\r\n this.subscriptions.push(\r\n this.WindowResizeService.getResizeObserveable().safeApply(this.$scope, () => {\r\n if ((this.$window.innerWidth < this.snBreakpoint) && this.snMobileSwitch) {\r\n this.toggleMobileView();\r\n }\r\n }).subscribe()\r\n );\r\n }\r\n\r\n toggleMobileView(): void {\r\n this.selectSwitch(this.snMobileSwitch)\r\n }\r\n\r\n selectSwitch(switchItem): void {\r\n this.snModel = switchItem.value;\r\n }\r\n\r\n selectNextSwitch(): void {\r\n this.selectSwitch(this.snSwitches[this.getIndexOfNextSwitch()]); \r\n }\r\n\r\n selectPreviousSwitch(): void {\r\n this.selectSwitch(this.snSwitches[this.getIndexOfPreviousSwitch()]);\r\n }\r\n\r\n getIndexOfNextSwitch(): number {\r\n var indexOfCurrentSwitch = this.getIndexOfCurrentSwitch();\r\n if (indexOfCurrentSwitch < this.snSwitches.length - 1) {\r\n return indexOfCurrentSwitch + 1;\r\n }\r\n return 0;\r\n }\r\n\r\n getIndexOfPreviousSwitch(): number {\r\n var indexOfCurrentSwitch = this.getIndexOfCurrentSwitch();\r\n if (indexOfCurrentSwitch > 0) {\r\n return indexOfCurrentSwitch - 1;\r\n }\r\n return this.snSwitches.length - 1;\r\n }\r\n\r\n getIndexOfCurrentSwitch(): number {\r\n return R.findIndex(\r\n R.equals(this.snModel),\r\n R.map((currentSwitch: any) => {\r\n return currentSwitch.value;\r\n }, this.snSwitches)\r\n );\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snSwitch\",\r\n function snSwitch(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n replace: true,\r\n controller: snSwitchController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n scope: {\r\n snModel: \"=\",\r\n snSwitches: \"=\",\r\n snChange: \"&\",\r\n snMobileSwitch: \"=\",\r\n snBreakpoint: \"=\"\r\n },\r\n templateUrl: 'core/components/snSwitch/snSwitchDirective.html'\r\n };\r\n }\r\n );\r\n} ","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snSwitchOrganisationCardController extends BaseController {\r\n\r\n static $inject = [\"$scope\"];\r\n\r\n snOrganisation: Models.IOrganisationSearchItem;\r\n snIsSelected: boolean = false;\r\n\r\n constructor(\r\n protected $scope: ng.IScope\r\n ) {\r\n super($scope);\r\n }\r\n\r\n toggleCardSelection(): void {\r\n this.snIsSelected = !this.snIsSelected;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snSwitchOrganisationCard\",\r\n function snSwitchOrganisationCard(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snSwitchOrganisationCardController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snSwitchOrganisationCard/snSwitchOrganisationCardDirective.html',\r\n scope: {\r\n snOrganisation:\"=\",\r\n snIsSelected: \"=?\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class snTemplateTermCard extends Core.BaseController {\r\n\r\n static $inject = [\r\n\t\t\t\"$scope\", \r\n\t\t\t\"localiser\",\r\n \"signedInUserStore\",\r\n \"$state\",\r\n \"AgreementEvents\",\r\n \"EditTermsFormStateUpdates\"\r\n\t\t];\r\n\r\n localised: IDictionary = {};\r\n userDateFormat: string;\r\n isDropdownShowing: boolean;\r\n characterLimit: number;\r\n snTemplateTerm: Models.ITermsTemplate;\r\n snOnEditDocumentTerm: () => void;\r\n snOnEditWrittenTerm: () => void;\r\n snDuplicateOnEdit: () => boolean;\r\n snShowPreview: string;\r\n snOnEdit: Function;\r\n snOnReplace: Function;\r\n snPdfUrl: Function;\r\n \r\n snRouteBase: string; \r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n private signedInUserStore: ISignedInUserStore,\r\n private $state: ng.ui.IStateService,\r\n private AgreementEvents: Events.IAgreementEvents,\r\n private EditTermsFormStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope);\r\n this.characterLimit = 50;\r\n this.userDateFormat = \"dd/MM/yyyy\";\r\n this.setupSignedinUserStore();\r\n this.getLocalisedText();\r\n this.initTermsDuplicatedHandler();\r\n }\r\n\r\n private initTermsDuplicatedHandler(): void {\r\n this.subscriptions.push(\r\n this.EditTermsFormStateUpdates.subscribe((state: State.IEditTermsFormState) => {\r\n // no-op\r\n // required to get the state updated correctly \r\n })\r\n );\r\n \r\n this.subscriptions.push( \r\n this.AgreementEvents.httpResults.termsDuplicated.subscribe((terms: Models.ITermsTemplate) => { \r\n this.$state.go(`${this.snRouteBase}.modals`, {modal: \"edit-terms\"});\r\n })\r\n );\r\n }\r\n\r\n public setupSignedinUserStore(): void {\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject.subscribe(state => {\r\n this.userDateFormat = state.settings.dateFormat;\r\n })\r\n );\r\n }\r\n\r\n public getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\r\n \"templateterms\",\r\n \"general\",\r\n \"terms\"\r\n ])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n if (data.templateterms && data.general && data.terms) {\r\n this.localised = R.mergeAll(\r\n [\r\n data.templateterms, \r\n data.general,\r\n data.terms\r\n ]\r\n );\r\n }\r\n }).subscribe()\r\n );\r\n } \r\n\r\n public toggleDropdown(): void {\r\n this.isDropdownShowing = !this.isDropdownShowing;\r\n }\r\n\r\n public previewTerm(): void {\r\n }\r\n\r\n public showPreview() : boolean {\r\n return !R.isNil(this.snShowPreview) && !R.isNil(this.snPdfUrl());\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snTemplateTermCard\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snTemplateTermCard,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snTemplateTermCard/snTemplateTermCard.html',\r\n scope: {\r\n snOnChange: \"&\",\r\n snIsChangeCard: \"=\", \r\n snOnEdit: \"&\",\r\n snOnReplace: \"&\",\r\n snCanEdit: \"=\",\r\n snOnDuplicate: \"&\",\r\n snCanDuplicate: \"=\",\r\n snOnDelete: \"&\",\r\n snCanDelete: \"=\",\r\n snOnSelect: \"&\",\r\n snIsDefault: \"=\",\r\n snOnSetAsDefault: \"&\",\r\n snCanSetAsDefault: \"=\",\r\n snIsSelectable: \"=\",\r\n snTemplateTerm: \"=\", \r\n snRouteBase: \"@\",\r\n snActionsEnabled: \"=\",\r\n snShowPreview: \"@\",\r\n snPreviewPdf: \"&\",\r\n snPdfUrl: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\nmodule Sonovate.Core {\r\n\r\n class snTextBoxController {\r\n\r\n static $inject = [\"$scope\"];\r\n\r\n snWidth: string;\r\n snHeight: string;\r\n\r\n constructor(\r\n protected $scope: ng.IScope\r\n ) {\r\n \r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snTextBox\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snTextBoxController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snTextBox/snTextBox.html',\r\n scope: {\r\n snModel: \"=\",\r\n snOnChange: \"&\",\r\n snPlaceholder: \"@\",\r\n snWidth: \"@\",\r\n snHeight: \"@\",\r\n snError: \"=\",\r\n snOnType: \"&\",\r\n //values are: none, both, horizontal, vertical, initial, inherit\r\n snResize: \"@\",\r\n snOverflow: \"@\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snTimeInputController extends BaseController {\r\n\r\n static $inject = [\r\n \"$scope\"\r\n ];\r\n\r\n snSmallText: any;\r\n\r\n constructor(\r\n protected $scope: ng.IScope\r\n ) {\r\n super($scope);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snTimeInput\",\r\n function snTimeInput(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snTimeInputController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snTimeInput/snTimeInputDirective.html',\r\n scope: {\r\n snLabel: \"=\",\r\n snSmallInput: \"=\",\r\n\r\n snHoursModel: \"=\",\r\n snHoursKeyup: \"&\",\r\n snHoursBlur: \"&\",\r\n snHoursFocus: \"&\",\r\n snHoursDisplayError: \"=\",\r\n snHoursError: \"=\",\r\n \r\n snMinutesModel: \"=\",\r\n snMinutesKeyup: \"&\",\r\n snMinutesBlur: \"&\",\r\n snMinutesFocus: \"&\",\r\n snMinutesDisplayError: \"=\",\r\n snMinutesError: \"=\",\r\n\r\n snIsWobbling: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class snTimesheetAuthoriserCardController extends Core.BaseController {\r\n\r\n static $inject = [\r\n\t\t\t\"$scope\",\r\n \"localiser\"\r\n\t\t];\r\n\r\n isDropdownShowing: boolean = false;\r\n localisedText: IDictionary = {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n }\r\n\r\n public toggleDropdown() {\r\n\t this.isDropdownShowing = !this.isDropdownShowing\r\n }\r\n\r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"general\", \"assignments\"]).safeApply(this.$scope,\r\n (data: {general: IDictionary, assignments: IDictionary}) => {\r\n if (data.general && data.assignments) {\r\n this.localisedText = R.merge(data.general, data.assignments);\r\n }\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snTimesheetAuthoriserCard\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snTimesheetAuthoriserCardController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snTimesheetAuthoriserCard/snTimesheetAuthoriserCard.html',\r\n scope: {\r\n snCandidate: \"=\",\r\n snRiskFlagCallback: \"&\",\r\n snEditCallback: \"&\",\r\n snDeleteCallback: \"&\"\r\n\r\n }\r\n };\r\n }\r\n\t);\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class TimesheetExpenseCard extends BaseController {\r\n\r\n static $inject = \r\n [\r\n \"$scope\", \r\n \"localiser\",\r\n \"DateService\",\r\n \"signedInUserStore\",\r\n \"TimesheetEditExpenseEvents\",\r\n \"TimesheetEditExpenseStateUpdates\",\r\n \"TimesheetStateUpdates\"\r\n ];\r\n\r\n snOnAddWebAddress: (webAddress: { webAddress: { linkUrl: string} }) => void;\r\n snRateBasedCharges: Models.ITimesheetEntry[];\r\n timePreference: string;\r\n editMode: boolean = false;\r\n snExpense: Models.ITimesheetExpense;\r\n descriptionTextCutOff: number = 19;\r\n selectedEditModeId: number;\r\n activeTimesheet: Models.ITimesheet;\r\n currentDeliveryPeriod: Models.IDeliveryPeriod;\r\n currencyCode: string;\r\n timesheetAssignmentId: number;\r\n localisedText: any;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected DateService: Sonovate.Core.Utils.DateService,\r\n protected signedInUserStore: ISignedInUserStore,\r\n protected TimesheetEditExpenseEvents: Sonovate.Core.Events.ITimesheetEditExpensesEvents,\r\n protected TimesheetEditExpenseStateUpdates: Rx.Subject,\r\n private TimesheetStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope);\r\n\r\n this.setupSignedInUserStoreSubscription();\r\n this.setupEditStoreSubscription();\r\n this.initTimesheetStateUpdateSubscription();\r\n this.setupTimesheetAssignmentSubscription();\r\n this.setupLocalisationSubscription();\r\n }\r\n\r\n cancelEdit(): void {\r\n this.TimesheetEditExpenseEvents.userIntents.cancelEditExpense.onNext(null);\r\n }\r\n\r\n seeMoreDescription(): void {\r\n this.TimesheetEditExpenseEvents.userIntents.clickReadMore.onNext(angular.copy(this.snExpense));\r\n }\r\n\r\n deleteExpense (expense: Models.ITimesheetExpense) {\r\n this.TimesheetEditExpenseEvents.userIntents.deleteExpense.onNext({\r\n timesheetId: this.activeTimesheet.timesheetId,\r\n expenseId: expense.id,\r\n version: this.activeTimesheet.version\r\n });\r\n }\r\n\r\n getFormattedTime(date: string): string {\r\n return this.DateService.safeFormat(this.DateService.getMomentTime(date), this.timePreference);\r\n }\r\n\r\n toggleEditMode() {\r\n this.TimesheetEditExpenseEvents.userIntents.openEditExpense.onNext(angular.copy(this.snExpense));\r\n }\r\n\r\n showReadMore(description: string): boolean {\r\n if(description === \"\"){\r\n return false;\r\n }\r\n if(this.getDescriptionSize(this.snExpense.descriptionText || description) < this.descriptionTextCutOff ) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n private getDescriptionSize(description: string): number { \r\n if(description) {\r\n return description.length;\r\n }\r\n return null;\r\n }\r\n\r\n showNonRateBasedAmounts(): boolean {\r\n if(this.snExpense.isRate == false && (this.editMode == false)){\r\n return true\r\n }\r\n return false;\r\n }\r\n\r\n isUploadedEvidenceAImage(): boolean {\r\n return Validation.TimesheetEditExpense.getUploadedEvidenceType(this.snExpense) === \"image\";\r\n }\r\n\r\n isUploadedEvidenceAPdf(): boolean {\r\n return Validation.TimesheetEditExpense.getUploadedEvidenceType(this.snExpense) === \"pdf\";\r\n }\r\n\r\n isThereNoUploadedEvidence(): boolean {\r\n return Validation.TimesheetEditExpense.getUploadedEvidenceType(this.snExpense) === \"none\";\r\n }\r\n\r\n private setupTimesheetAssignmentSubscription() : void {\r\n this.subscriptions.push(\r\n this.TimesheetStateUpdates\r\n .safeApply(this.$scope, (state: Core.State.TimesheetState) => {\r\n if(state && state.activeTimesheet.assignment && state.activeTimesheet.assignment.timesheetAssignmentId){\r\n this.currencyCode = state.activeTimesheet.assignment.currencyCode;\r\n }\r\n })\r\n .subscribe()\r\n );\r\n }\r\n\r\n private initTimesheetStateUpdateSubscription () {\r\n this.subscriptions.push(\r\n this.TimesheetStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.activeTimesheet = state.activeTimesheet;\r\n this.timesheetAssignmentId = state.activeTimesheet.assignment.timesheetAssignmentId;\r\n })\r\n .subscribe()\r\n );\r\n }\r\n\r\n private setupSignedInUserStoreSubscription() {\r\n\t\t\tthis.subscriptions.push(\r\n\t\t\t\tthis.signedInUserStore.subject\r\n .safeApply(this.$scope, (user) => {\r\n this.timePreference = user.settings.timeFormat;\r\n })\r\n .subscribe()\r\n\t\t\t);\r\n }\r\n\r\n private setupEditStoreSubscription() {\r\n this.subscriptions.push(\r\n this.TimesheetEditExpenseStateUpdates\r\n .safeApply(this.$scope, (state: Sonovate.Core.State.ITimesheetEditExpensesState) => {\r\n this.selectedEditModeId = state.selectedExpenseId;\r\n this.checkEditMode(state.selectedExpenseId);\r\n }).subscribe()\r\n\t\t\t);\r\n }\r\n\r\n private checkEditMode(id) {\r\n if(id == this.snExpense.id){\r\n this.editMode = true;\r\n return\r\n } \r\n this.editMode = false;\r\n return;\r\n }\r\n\r\n private setupLocalisationSubscription() {\r\n this.subscriptions.push(\r\n this.localiser.get([\"general\"])\r\n .safeApply(\r\n this.$scope, \r\n (data: ILocalisationData) => this.localisedText = data.general\r\n )\r\n .subscribe()\r\n );\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snTimesheetExpenseCard\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: TimesheetExpenseCard,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snTimesheetExpenseCard/snTimesheetExpenseCard.html',\r\n scope: {\r\n snExpense: \"=\",\r\n snIsEditable: \"=\",\r\n snOnReadMore: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snTimesheetFlagDropdownController extends FilterStatusDropdownBaseClass{\r\n\r\n dropdownItems: Models.IDropdownItem[] = [];\r\n selectedDropdownItem: Models.IDropdownItem;\r\n localisedText: IDictionary = {};\r\n snOnChangeTimesheetFlag: Function;\r\n snSelectedTimesheetFlag: string;\r\n UserType\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n\r\n this.$scope.$watch('vm.snSelectedTimesheetFlag', (newVal: string) => {\r\n this.selectCurrentDropdownItem();\r\n });\r\n }\r\n\r\n mapperFunction (item: Models.IDropdownItem): Models.IDropdownItem {\r\n return item;\r\n }\r\n\r\n setDropdownList() {\r\n this.dropdownItems = [\r\n {\r\n value: \"\",\r\n text: this.localisedText['AllTimesheets'],\r\n type:\"basic\", \r\n },\r\n {\r\n value: \"NoWarnings\",\r\n text: this.localisedText['NoWarnings'],\r\n type:\"info\" \r\n },\r\n {\r\n value: \"Warnings\",\r\n text: this.localisedText['Warnings'],\r\n type:\"warning\" \r\n },\r\n {\r\n value: \"MultipleTimesheetsInPeriod\",\r\n text: this.localisedText['MultipleTimesheetsInPeriodDropdown'],\r\n type:\"warning\",\r\n indent:true\r\n },\r\n {\r\n value: \"Correction\",\r\n text: this.localisedText['Correction'],\r\n type:\"warning\",\r\n indent:true\r\n },\r\n {\r\n value: \"Expenses\",\r\n text: this.localisedText['Expenses'],\r\n type: \"warning\",\r\n indent:true\r\n },\r\n {\r\n value: \"BlockingIssues\",\r\n text: this.localisedText['BlockingIssues'],\r\n type:\"blocking\" \r\n },\r\n {\r\n value: \"OverlappingTime\",\r\n text: this.localisedText['OverlappingTime'],\r\n type: \"blocking\",\r\n indent:true\r\n }\r\n ];\r\n\r\n }\r\n\r\n changeSelectedDropdownItem (item: Models.IDropdownItem) {\r\n this.snOnChangeTimesheetFlag({timesheetFlag: item.value});\r\n }\r\n\r\n private selectCurrentDropdownItem () {\r\n if (! this.selectedDropdownItem && this.dropdownItems.length) {\r\n this.selectedDropdownItem = this.dropdownItems[0];\r\n return;\r\n }\r\n \r\n this.dropdownItems.forEach((item) => {\r\n if (item.value === this.snSelectedTimesheetFlag) {\r\n this.selectedDropdownItem = item;\r\n }\r\n });\r\n }\r\n \r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"general\"]).safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = data.general;\r\n if (data.general) {\r\n this.setDropdownList();\r\n }\r\n this.selectCurrentDropdownItem();\r\n }).subscribe()\r\n )\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snTimesheetFlagDropdown\",\r\n function snTimesheetFlagDropdown(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snTimesheetFlagDropdownController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n templateUrl: 'core/components/snTimesheetFlagDropdown/snTimesheetFlagDropdownDirective.html',\r\n scope: {\r\n snSelectedTimesheetFlag: \"@\",\r\n snOnChangeTimesheetFlag: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snTimesheetFlagSet extends BaseController {\r\n \r\n static $inject = \r\n [\r\n \"$scope\",\r\n \"localiser\"\r\n ];\r\n\r\n localisedText: any;\r\n flags: Models.ITimesheetFlag[];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n\r\n this.setupLocalisationSubscription();\r\n }\r\n\r\n private setupLocalisationSubscription() {\r\n this.subscriptions.push(\r\n this.localiser.get([\"timesheets\", \"general\"])\r\n .safeApply(\r\n this.$scope, \r\n (data: ILocalisationData) => this.localisedText = R.merge( \r\n data.timesheets, data.general\r\n )\r\n )\r\n .subscribe()\r\n );\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snTimesheetFlagSet\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snTimesheetFlagSet,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snTimesheetFlagSet/snTimesheetFlagSet.html',\r\n scope: {\r\n snFlags: '=',\r\n snManaged: '=',\r\n snCorrected: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class TimesheetListingStatusController extends BaseController {\r\n\r\n \tprivate snTimesheetStatusId: string;\r\n \tprivate timesheetStatuses: any //add vm\r\n \tprivate snColourOfActiveStatus: string;\r\n \tprivate activeTimesheetStatus: Models.ITimesheetStatus;\r\n private userType: string;\r\n statusColor: string;\r\n statusIcon: string;\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"signedInUserStore\",\r\n \"TimesheetsStatusService\"\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected SignedInUserStore: Sonovate.ISignedInUserStore,\r\n protected TimesheetsStatusService: Sonovate.Core.TimesheetsStatusService\r\n ) {\r\n super($scope);\r\n this.setupWatch();\r\n }\r\n\r\n private setupWatch(){\r\n this.$scope.$watchGroup([\"vm.snTimesheetStatusId\", \"snTimesheetStatusText\"], (oldStatus: string, newStatus: string)=>{\r\n if (newStatus) {\r\n this.setUpSignedInUserSubscription();\r\n this.getTimesheetStatusIconsAndColor();\r\n }\r\n });\r\n }\r\n\r\n\r\n private setUpSignedInUserSubscription() : void {\r\n this.subscriptions.push(\r\n this.SignedInUserStore.subject.safeApply(this.$scope, (state: Models.ISignedInUser) => {\r\n this.userType = state.userType;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private getTimesheetStatusIconsAndColor(): void {\r\n this.statusColor = this.TimesheetsStatusService.getStatusDisplayColorById(this.snTimesheetStatusId);\r\n this.statusIcon = this.TimesheetsStatusService.getStatusDisplayIconById(this.snTimesheetStatusId);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snTimesheetListingStatus\",\r\n function TimesheetListingStatus(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: TimesheetListingStatus,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snTimesheetListingStatus/snTimesheetListingStatus.html',\r\n scope: {\r\n \tsnTimesheetReference: \"@\",\r\n \tsnTimesheetStatusId: \"@\",\r\n \tsnTimesheetStatusText: \"@\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class TimesheetStatusController extends BaseController {\r\n\r\n \tprivate snTimesheetStatusId: string;\r\n \tprivate timesheetStatuses: any //add vm\r\n \tprivate snColourOfActiveStatus: string;\r\n \tprivate activeTimesheetStatus: Models.ITimesheetStatus;\r\n private userType: string;\r\n statusColor: string;\r\n statusIcon: string;\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"signedInUserStore\",\r\n \"TimesheetsStatusService\"\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected SignedInUserStore: Sonovate.ISignedInUserStore,\r\n protected TimesheetsStatusService: Sonovate.Core.TimesheetsStatusService\r\n ) {\r\n super($scope);\r\n this.setupWatch();\r\n }\r\n\r\n private setupWatch(){\r\n this.$scope.$watchGroup([\"vm.snTimesheetStatusId\", \"snTimesheetStatusText\"], (oldStatus: string, newStatus: string)=>{\r\n if (newStatus) {\r\n this.setUpSignedInUserSubscription();\r\n this.getTimesheetStatusIconsAndColor();\r\n }\r\n });\r\n }\r\n\r\n\r\n private setUpSignedInUserSubscription() : void {\r\n this.subscriptions.push(\r\n this.SignedInUserStore.subject.safeApply(this.$scope, (state: Models.ISignedInUser) => {\r\n this.userType = state.userType;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private getTimesheetStatusIconsAndColor(): void {\r\n this.statusColor = this.TimesheetsStatusService.getStatusDisplayColorById(this.snTimesheetStatusId);\r\n this.statusIcon = this.TimesheetsStatusService.getStatusDisplayIconById(this.snTimesheetStatusId);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snTimesheetStatus\",\r\n function TimesheetStatus(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: TimesheetStatusController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snTimesheetStatus/snTimesheetStatus.html',\r\n scope: {\r\n \tsnTimesheetReference: \"@\",\r\n \tsnTimesheetStatusId: \"@\",\r\n \tsnTimesheetStatusText: \"@\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class TimesheetExpenseCard extends BaseController {\r\n\r\n static $inject = \r\n [\r\n \"$scope\", \r\n \"localiser\",\r\n \"signedInUserStore\",\r\n \"$filter\"\r\n ];\r\n\r\n localisedText: any;\r\n snTimesheetStatusChanges: Models.ITimesheetStatusChange[];\r\n dateFormat: string = \"\";\r\n timeFormat: string = \"\";\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected SignedInUserStore: ISignedInUserStore,\r\n protected $filter: ng.IFilterService\r\n ) {\r\n super($scope);\r\n\r\n this.setupLocalisationSubscription();\r\n this.setupSignedInUserStoreSubscription();\r\n }\r\n\r\n getYear(date: string) {\r\n var localDate = new Date(date);\r\n localDate.setMinutes(localDate.getMinutes() - new Date().getTimezoneOffset());\r\n return this.$filter('date')(localDate, this.dateFormat);\r\n }\r\n\r\n getTime(date: string) {\r\n var localDate = new Date(date);\r\n localDate.setMinutes(localDate.getMinutes() - new Date().getTimezoneOffset());\r\n return this.$filter('date')(localDate, this.timeFormat);\r\n }\r\n\r\n private setupLocalisationSubscription() {\r\n this.subscriptions.push(\r\n this.localiser.get([\"timesheets\"])\r\n .safeApply(\r\n this.$scope, \r\n (data: ILocalisationData) => this.localisedText = data.timesheets\r\n )\r\n .subscribe()\r\n );\r\n }\r\n\r\n private setupSignedInUserStoreSubscription() {\r\n this.subscriptions.push(\r\n this.SignedInUserStore.subject\r\n .safeApply(this.$scope, (state) => {\r\n this.dateFormat = state.settings.dateFormat || 'dd-MM-yyyy';\r\n this.timeFormat = state.settings.timeFormat || 'HH:mm:ss';\r\n })\r\n .subscribe()\r\n )\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snTimesheetStatusChange\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: TimesheetExpenseCard,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snTimesheetStatusChange/snTimesheetStatusChange.html',\r\n scope: {\r\n snTimesheetStatusChange: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\nmodule Sonovate.Core {\r\n\r\n class TimesheetExpenseCard extends BaseController {\r\n\r\n static $inject = \r\n [\r\n \"$scope\"\r\n ];\r\n timesheetStatusService = new Core.TimesheetsStatusService();\r\n\r\n constructor(\r\n protected $scope: ng.IScope\r\n ) {\r\n super($scope);\r\n }\r\n\r\n getColor(color: string) {\r\n return this.timesheetStatusService.getStatusDisplayColorById(color);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snTimesheetStatusChangeHistory\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: TimesheetExpenseCard,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snTimesheetStatusChangeHistory/snTimesheetStatusChangeHistory.html',\r\n scope: {\r\n snTimesheetStatusChanges: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n\r\n class snTimesheetStatusColourIndicatorController extends BaseController {\r\n\r\n\t\tstatusColour: string;\r\n\r\n static $inject = [\"$scope\", \"$element\", \"TimesheetsStatusService\"];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n\t\t\tprotected $element: ng.IRootElementService,\r\n protected TimesheetsStatusService: Sonovate.Core.TimesheetsStatusService\r\n ) {\r\n super($scope);\r\n\t\t\tthis.setupWatch();\r\n }\r\n \r\n\t\tprivate setupWatch() {\r\n\t\t\tthis.$scope.$watch(\"vm.snTimesheetStatusColourIndicator\", (status: string)=>{\r\n\t\t\t\t\tthis.$element.removeClass(`border-color--${this.statusColour}-border`);\r\n\t\t\t\t\tthis.statusColour = this.TimesheetsStatusService.getStatusDisplayColorById(status);\r\n\t\t\t\t\tthis.$element.addClass(`border-color--${this.statusColour}-border`);\r\n\t\t\t});\r\n\t\t}\r\n\r\n }\r\n \r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snTimesheetStatusColourIndicator\",\r\n function snTimesheetStatusColourIndicator(): ng.IDirective {\r\n return {\r\n restrict: \"A\",\r\n controller: snTimesheetStatusColourIndicatorController,\r\n controllerAs: \"vm\",\r\n replace: true,\r\n bindToController: true,\r\n scope: {\r\n snTimesheetStatusColourIndicator: \"=?\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class TimesheetWorkRateUnitController extends BaseController {\r\n\r\n static $inject = \r\n [\r\n '$scope',\r\n ];\r\n\r\n snIsEmpty = false;\r\n\r\n constructor(protected $scope: ng.IScope) {\r\n super($scope);\r\n }\r\n\r\n }\r\n\r\n angular.module('sonovate.core')\r\n .directive('snTimesheetWorkRateUnit', function directive(): ng.IDirective {\r\n return {\r\n restrict: 'E',\r\n controller: TimesheetWorkRateUnitController,\r\n controllerAs: 'vm',\r\n replace: false,\r\n bindToController: false,\r\n templateUrl: 'core/components/snTimesheetWorkRateUnit/snTimesheetWorkRateUnit.html',\r\n scope: {\r\n snIsEmpty: \"=\",\r\n snValue: \"=\",\r\n snUnit: \"=\",\r\n snLabel: \"=\"\r\n }\r\n };\r\n });\r\n\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snTimeZoneDropdownController extends BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"TimeZonesStore\",\r\n \"referenceDataActions\",\r\n \"signedInUserStore\"\r\n ];\r\n\r\n localised: IDictionary = {};\r\n timeZones: Models.IDropdownItem[];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected timeZonesStore: ITimeZoneStore, \r\n protected referenceDataActions: IReferenceDataActions, \r\n protected signedInUserStore: ISignedInUserStore\r\n ) {\r\n super($scope);\r\n this.setDropdownItemsOnTimeZoneUpdates();\r\n this.requestTimeZonesOnSignedInUserUpdates();\r\n this.setLocalisedTextWhenRetrieved();\r\n }\r\n\r\n private requestTimeZonesOnSignedInUserUpdates() : void {\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject.subscribe((data) => {\r\n this.referenceDataActions.requestSubjects.getTimeZones.onNext(data.languageCode);\r\n })\r\n );\r\n }\r\n\r\n private setDropdownItemsOnTimeZoneUpdates() : void {\r\n this.subscriptions.push(\r\n this.timeZonesStore.subject\r\n .safeApply(this.$scope, (timezones) => {\r\n this.timeZones = timezones.map((timezone) => {\r\n return {\r\n text: timezone.text,\r\n value: timezone.id\r\n };\r\n });\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private setLocalisedTextWhenRetrieved(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"personsettings\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data.personsettings;\r\n }).subscribe()\r\n );\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snTimeZoneDropdown\",\r\n function snTimeZoneDropdown(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snTimeZoneDropdownController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snTimeZoneDropdown/snTimeZoneDropdownDirective.html',\r\n scope: {\r\n snTabindex: \"@\",\r\n snModel: \"=\",\r\n snOnChange: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snTradingStyleCardController extends BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\"];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n public localisation: ILocalisationData\r\n ) {\r\n super($scope)\r\n\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisation = data;\r\n }).subscribe()\r\n )\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snTradingStyleCard\",\r\n function snTradingStyleCard(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snTradingStyleCardController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n scope: {\r\n snTradingStyle: \"=\",\r\n snOnEdit: \"&\",\r\n snOnDelete: \"&\",\r\n snOnPublish: \"&\",\r\n snOnDiscard: \"&\",\r\n snSelectable: \"=\",\r\n snIsSelected: \"=\",\r\n snSingleSelect: \"@\",\r\n snCanEdit: \"=\"\r\n },\r\n templateUrl: 'core/components/snTradingStyleCard/snTradingStyleCardDirective.html'\r\n };\r\n }\r\n );\r\n}","\r\n/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class SnTradingStylesFormController extends Sonovate.Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\"];\r\n public snTradingStyle: Sonovate.Models.ITradingStyle;\r\n public localisation: ILocalisationData;\r\n public snOnCancel: ( a: { tradingStyle: Sonovate.Models.ITradingStyle }) => {};\r\n public snOnSave: ( a: { tradingStyle: Sonovate.Models.ITradingStyle }) => {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n this.initLocalisation();\r\n }\r\n\r\n updatePicture (file: any) {\r\n this.snTradingStyle.pictureFile = file;\r\n }\r\n\r\n cancel() {\r\n this.snOnCancel({ tradingStyle: this.snTradingStyle });\r\n }\r\n\r\n save() {\r\n this.snOnSave({ tradingStyle: this.snTradingStyle });\r\n }\r\n\r\n private initLocalisation() {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"general\", \"tradingstyles\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisation = data;\r\n }).subscribe()\r\n ); \r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snTradingStylesForm\",\r\n function SnTradingStylesForm(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: SnTradingStylesFormController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snTradingStylesForm/snTradingStylesFormDirective.html',\r\n scope: {\r\n snTradingStyle: \"=\",\r\n snErrors:\"=\",\r\n snOnSave: \"&\",\r\n snOnCancel: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snUnableToViewTimesheetModalController extends BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"$state\",\r\n \"TimesheetStateUpdates\"\r\n ];\r\n\r\n errors: IDictionary;\r\n localisedText: {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected $state: ng.ui.IStateService,\r\n protected TimesheetStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope);\r\n\r\n this.getLocalisedText();\r\n this.initTimesheetStateUpdateSubscription()\r\n }\r\n\r\n private initTimesheetStateUpdateSubscription () {\r\n this.subscriptions.push(\r\n this.TimesheetStateUpdates\r\n .safeApply(this.$scope, (state: Core.State.TimesheetState) => {\r\n this.errors = state.errors;\r\n })\r\n .subscribe()\r\n );\r\n }\r\n\r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get(['timesheets', 'general']).safeApply(this.$scope, \r\n (data: {timesheets: IDictionary}) => {\r\n this.localisedText = data;\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n\r\n private goToListing(): void {\r\n this.$state.go(\"sonovate.Timesheets\")\r\n }\r\n \r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snUnableToViewTimesheetModal\",\r\n function snUnableToViewTimesheetModal(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snUnableToViewTimesheetModalController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snUnableToViewTimesheetModal/snUnableToViewTimesheetModalDirective.html',\r\n scope: {\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n\tclass snUserListingItemController extends BaseController {\r\n\r\n\t\tstatic $inject = [\r\n\t\t\t\"$scope\", \r\n\t\t\t\"$state\", \r\n\t\t\t\"localiser\", \r\n\t\t\t\"PersonOptionsDropdownEvents\", \r\n\t\t\t\"$timeout\"\r\n\t\t];\r\n\r\n\t\tsnPerson: Models.IPerson;\r\n\t\tsnIsSelected: boolean;\r\n\t\tsnOnSelect: () => void;\r\n\r\n\t\tconstructor(\r\n\t\t\tprotected $scope: ng.IScope,\r\n\t\t\tprotected $state: ng.ui.IStateService,\r\n\t\t\tprotected localiser: ILocaliserService,\r\n\t\t\tprotected PersonOptionsDropdownEvents: Events.IPersonOptionsDropdownEvents,\r\n\t\t\tprotected $timeout: ng.ITimeoutService,\r\n\t\t\tpublic dropdownIsOpen: boolean,\r\n\t\t\tpublic localised: ILocalisationData\r\n\t\t) {\r\n\t\t\tsuper($scope);\r\n\t\t\tthis.dropdownIsOpen = false;\r\n\t\t\tthis.getLocalisedText();\r\n\r\n\t\t}\r\n\r\n public toggleSelection() {\r\n this.setToogledSelection();\r\n this.snOnSelect();\r\n }\r\n\r\n private setToogledSelection() {\r\n if (typeof this.snIsSelected === \"boolean\") {\r\n this.snIsSelected = !this.snIsSelected;\r\n }\r\n }\r\n\r\n\t\tgetLocalisedText(): void {\r\n\t\t\tthis.subscriptions.push(\r\n\t\t\t\tthis.localiser.get([\"mediaobject\"])\r\n\t\t\t\t\t.safeApply(this.$scope, (data: ILocalisationData) => {\r\n\t\t\t\t\t\tthis.localised = data;\r\n\t\t\t\t\t}\r\n\t\t\t\t).subscribe()\r\n\t\t\t)\r\n\t\t}\r\n\r\n\t\ttoggleDropdown(): void {\r\n\r\n\t\t\tif (!this.dropdownIsOpen) {\r\n\t\t\t\tthis.PersonOptionsDropdownEvents.userIntents.openDropdownForPersonWithId.onNext(this.snPerson.id);\r\n\t\t\t}\r\n\r\n\t\t\t// Timeout needed to prevent flicker\r\n\t\t\tthis.$timeout(() => this.dropdownIsOpen = !this.dropdownIsOpen, 0);\r\n\t\t}\r\n\r\n\t\tgoToUser(): void {\r\n\t\t\tthis.$state.go(\"sonovate.users\", { id: this.snPerson.id });\r\n\t\t}\r\n\t}\r\n\r\n\tangular.module(\"sonovate.core\")\r\n\t.directive(\r\n\t\t\"snUserListingItem\",\r\n\t\tfunction snUserListingItem(): ng.IDirective {\r\n\t\t\treturn {\r\n\t\t\t\trestrict: \"E\",\r\n\t\t\t\treplace: true,\r\n\t\t\t\tcontrollerAs: \"vm\",\r\n\t\t\t\tbindToController: true,\r\n\t\t\t\tcontroller: snUserListingItemController,\r\n\t\t\t\ttemplateUrl: 'core/components/snUserListingItem/snUserListingItemDirective.html',\r\n\t\t\t\tscope: {\r\n\t\t\t\t\tsnPerson: \"=\",\r\n\t\t\t\t\tsnStatusPrefix: \"@\",\r\n\t\t\t\t\tsnSelectable: \"=\",\r\n\t\t\t\t\tsnIsSelected: \"=\",\r\n\t\t\t\t\tsnOnSelect: \"&\"\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t)\r\n};","/// \r\nmodule Sonovate.Core {\r\n\r\n interface ISnWebAddressLocalisedText {\r\n confirmations: IDictionary,\r\n general: { Delete: string, Edit: string },\r\n webaddresses: IDictionary\r\n };\r\n\r\n class snWebAddressController extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\"];\r\n public snOnEditWebAddress: (editedWebAddress: { editedWebAddress: Sonovate.Models.IOrganisationWebAddress }) => void;\r\n public snOnDeleteWebAddress: (deletedWebAddress: { deletedWebAddress: Sonovate.Models.IOrganisationWebAddress }) => void;\r\n public snOnConfirmPublish: (webAddress: { webAddress: Sonovate.Models.IOrganisationWebAddress }) => void;\r\n public snOnRefutePublish: (webAddress: { webAddress: Sonovate.Models.IOrganisationWebAddress }) => void;\r\n public snOnConfirmDiscard: (webAddress: { webAddress: Sonovate.Models.IOrganisationWebAddress }) => void;\r\n public snOnRefuteDiscard: (webAddress: { webAddress: Sonovate.Models.IOrganisationWebAddress }) => void;\r\n\r\n private snWebAddress: Sonovate.Models.IOrganisationWebAddress;\r\n private snWebAddressToEdit: Sonovate.Models.IOrganisationWebAddress;\r\n private snWebAddresses: Array;\r\n private snIndex: number;\r\n \r\n private showDeleteConfirmation: boolean;\r\n private snMentionedParty: string;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n private text: ISnWebAddressLocalisedText,\r\n private popoutListItems: Array<{}>,\r\n private deleteWebAddress: () => void,\r\n private toggleEditMode: () => void\r\n ) {\r\n\r\n super($scope);\r\n\r\n this.snMentionedParty = \"Placeholder person\" //TODO: Replace when implimented\r\n this.deleteWebAddress = () => {\r\n this.showDeleteConfirmation = true;\r\n }\r\n\r\n this.toggleEditMode = () => {\r\n this.snWebAddressToEdit = angular.copy(this.snWebAddress);\r\n this.editMode = true;\r\n }\r\n\r\n this.subscriptions.push(\r\n localiser.interpolate([\"general\", \"confirmations\"], () => {\r\n return {\r\n webAddress: this.snWebAddress.linkUrl\r\n };\r\n })\r\n .safeApply($scope, (data: ISnWebAddressLocalisedText) => {\r\n this.text = data;\r\n if (this.text.general && this.text.confirmations) {\r\n this.popoutListItems = this.initialisePopoutList();\r\n }\r\n }).subscribe()\r\n );\r\n\r\n }\r\n\r\n public showMenu: boolean = false;\r\n public editMode: boolean = false;\r\n\r\n public popoutPosition: Object = { right: \"auto\", left: \"-80px\" };\r\n\r\n public callDeleteCallback(): void {\r\n this.showDeleteConfirmation = false;\r\n this.snOnDeleteWebAddress({ deletedWebAddress: this.snWebAddress});\r\n }\r\n\r\n public saveEditedWebAddress(): void {\r\n this.snWebAddresses[this.snIndex] = this.snWebAddressToEdit;\r\n this.snOnEditWebAddress({ editedWebAddress: this.snWebAddressToEdit });\r\n this.editMode = false;\r\n }\r\n\r\n public togglePopout(): void {\r\n this.showMenu = !this.showMenu;\r\n }\r\n\r\n public triggerWebAddressFacetPublishConfirmation(webAddress: Sonovate.Models.IOrganisationWebAddress): void {\r\n this.snOnConfirmPublish({ webAddress: webAddress });\r\n }\r\n public triggerWebAddressFacetPublishRefute(webAddress: Sonovate.Models.IOrganisationWebAddress): void {\r\n this.snOnRefutePublish({ webAddress: webAddress });\r\n }\r\n public triggerWebAddressFacetDiscardConfirmation(webAddress: Sonovate.Models.IOrganisationWebAddress): void {\r\n this.snOnConfirmDiscard({ webAddress: webAddress });\r\n }\r\n public triggerWebAddressFacetDiscardRefute(webAddress: Sonovate.Models.IOrganisationWebAddress): void {\r\n this.snOnRefuteDiscard({ webAddress: webAddress });\r\n }\r\n\r\n public initialisePopoutList(): Array {\r\n return [\r\n {\r\n icon: \"sn-ico-cross\",\r\n text: this.text.general.Delete,\r\n action: this.deleteWebAddress,\r\n show: true\r\n },\r\n {\r\n icon: \"sn-ico-pencil\",\r\n text: this.text.general.Edit,\r\n action: this.toggleEditMode,\r\n show: true\r\n }\r\n ];\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snWebAddress\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snWebAddressController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snWebAddress/snWebAddress.html',\r\n scope: {\r\n snIndex: \"=\",\r\n snOnEditWebAddress: \"&\",\r\n snOnDeleteWebAddress: \"&\",\r\n snWebAddresses: \"=\",\r\n snWebAddress: \"=\",\r\n snFacet: \"=\",\r\n snOnConfirmPublish: \"&\",\r\n snOnRefutePublish: \"&\",\r\n snOnConfirmDiscard: \"&\",\r\n snOnRefuteDiscard: \"&\",\r\n snCanEdit: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n interface ISnWebAddressLocalisedText {\r\n general: IDictionary,\r\n webaddresses: IDictionary\r\n };\r\n\r\n class snWebAddressesController extends BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\"];\r\n public snOnAddWebAddress: (webAddress: { webAddress: { linkUrl: string} }) => void;\r\n public snWebAddress: string;\r\n public address: string;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n private text: ISnWebAddressLocalisedText\r\n ) {\r\n super($scope);\r\n \r\n this.subscriptions.push(\r\n localiser.get([\"general\", \"webaddresses\"])\r\n .safeApply($scope, (data: ISnWebAddressLocalisedText) => {\r\n this.text = data;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private addWebAddress(): void {\r\n this.snOnAddWebAddress({ webAddress: { linkUrl: this.snWebAddress } });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snWebAddresses\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snWebAddressesController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snWebAddresses/snWebAddresses.html',\r\n scope: {\r\n snOnAddWebAddress: \"&\",\r\n snOnEditWebAddress: \"&\",\r\n snOnDeleteWebAddress: \"&\",\r\n snWebAddresses: \"=\",\r\n snWebAddress: \"=\",\r\n\r\n snMentionedParty: \"=\",\r\n snOnConfirmPublish: \"&\",\r\n snOnRefutePublish: \"&\",\r\n snOnConfirmDiscard: \"&\",\r\n snOnRefuteDiscard: \"&\",\r\n snCanEdit: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\nmodule Sonovate.Core {\r\n\r\n class WorkPeriodDateController extends BaseController {\r\n\r\n static $inject = \r\n [\r\n \"$scope\", \r\n \"localiser\",\r\n \"DateService\",\r\n \"signedInUserStore\",\r\n \"TimesheetAddWorkEvents\",\r\n \"TimesheetAddWorkStateUpdates\",\r\n \"TimesheetStateUpdates\",\r\n \"TimesheetEvents\",\r\n \"TimesheetSubmitEvents\",\r\n \"$state\",\r\n \"LoadingStateUpdates\"\r\n ];\r\n\r\n snRateBasedCharges: Models.IDeliveryPeriodDate;\r\n snIsEditable: boolean;\r\n timePreference: string;\r\n snIndexOfRatesInActiveTimesheet: number;\r\n activeTimesheet: Models.ITimesheet;\r\n serviceRateIdToEdit: number;\r\n editModeActive: boolean = false;\r\n nonWorkLabel: string;\r\n activeDeliveryPeriod: Models.IDeliveryPeriod;\r\n snServiceRates: Models.IServiceRate[];\r\n isCandidate: boolean;\r\n subUnits: Models.ISubUnit[];\r\n timesheetAssignmentId: number;\r\n showConflictError: boolean;\r\n isDeleting: boolean;\r\n pageIsLoading: boolean = true;\r\n viewDescriptionText: string;\r\n snClickReadMore: Function;\r\n text: any;\r\n localisedText: IDictionary;\r\n snIndex: number;\r\n expandedIndex: number;\r\n expanded: boolean = false;\r\n isFlagged: boolean = false;\r\n isDropdownExpanded: boolean = false;\r\n dropdownIndex: number;\r\n indexDeleting: number;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected DateService: Sonovate.Core.Utils.DateService,\r\n protected signedInUserStore: ISignedInUserStore,\r\n protected TimesheetAddWorkEvents: Core.Events.TimesheetAddWorkEvents,\r\n protected TimesheetAddWorkStateUpdates: Rx.Subject,\r\n protected TimesheetStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetEvents: Sonovate.Core.Events.ITimesheetEvents,\r\n protected TimesheetSubmitEvents: Sonovate.Core.Events.ITimesheetSubmitEvents,\r\n protected $state: ng.ui.IStateService,\r\n protected LoadingStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope);\r\n this.initLocalisedTextSubscription();\r\n this.initTimesheetStateUpdatesSubscription();\r\n this.setupTimesheetAddWorkStateSubscription();\r\n this.setupSignedInUserStoreSubscription();\r\n this.setupLoadingStateSubscription();\r\n }\r\n\r\n setupLoadingStateSubscription() {\r\n this.subscriptions.push(\r\n this.LoadingStateUpdates.safeApply(this.$scope,\r\n (state: Core.State.LoadingState) => {\r\n this.pageIsLoading = state.showLoadingScreen;\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n\r\n setupTimesheetAddWorkStateSubscription = () => {\r\n const timesheetAddWorkStateSubscription = this.TimesheetAddWorkStateUpdates.safeApply(this.$scope, (state: Core.State.TimesheetAddWorkState) => {\r\n this.expandedIndex = state.expandedIndex\r\n this.expanded = state.expandedIndex === this.snIndex\r\n }).subscribe()\r\n this.subscriptions.push(timesheetAddWorkStateSubscription)\r\n this.TimesheetSubmitEvents.userIntents.submitTimesheet.subscribe(() => {\r\n this.expanded = false\r\n })\r\n }\r\n\r\n expandEntry = (index: number) => {\r\n this.TimesheetAddWorkEvents.userIntents.startEditingWorkEntry.onNext(index)\r\n this.isDropdownExpanded = false\r\n }\r\n\r\n toggleDropdown = (index: number) => {\r\n this.dropdownIndex = index;\r\n this.isDropdownExpanded = !this.isDropdownExpanded\r\n }\r\n \r\n editRateBasedCharge(rateBasedCharge: Models.ITimesheetEntry) {\r\n this.TimesheetAddWorkEvents.userIntents.userStartsEditWorkFlow.onNext(rateBasedCharge);\r\n }\r\n\r\n getFormattedTime(date: string): string {\r\n return date.substring(0, 5);\r\n }\r\n\r\n formatHourlyQuantityToHours(quantity: string) {\r\n return Utils.Time.Decimal_Hours(quantity);\r\n }\r\n\r\n formatHourlyQuantityToMinutes(quantity: string) {\r\n return Utils.Time.Decimal_Minutes(quantity);\r\n }\r\n\r\n deleteEntry (entry) {\r\n const isLastEntry = this.snRateBasedCharges.entries.length === 1\r\n this.indexDeleting = entry.id\r\n this.TimesheetAddWorkEvents.userIntents.deleteEntry.onNext({\r\n timesheetId: this.activeTimesheet.timesheetId,\r\n entry: entry,\r\n version: this.activeTimesheet.version,\r\n isDeleting: this.isDeleting,\r\n isLastEntry\r\n })\r\n }\r\n\r\n isServiceRateHourly(charge: ViewModels.Timesheets.WorkEntry): boolean {\r\n return charge && charge.unitOfMeasure == \"Hour\";\r\n }\r\n\r\n isWorkEntry(charge: ViewModels.Timesheets.WorkEntry): boolean {\r\n return charge && charge.type == \"WorkEntry\";\r\n }\r\n\r\n isNonWorkEntry(charge: ViewModels.Timesheets.WorkEntry): boolean {\r\n return charge && charge.type == \"NonWorkEntry\";\r\n }\r\n\r\n isServiceRateDaily(charge: ViewModels.Timesheets.WorkEntry): boolean {\r\n return charge && charge.unitOfMeasure == \"Day\";\r\n }\r\n\r\n clickReadMore(charge: Models.ITimesheetEntry): void {\r\n this.snClickReadMore({\r\n charge: charge\r\n })\r\n }\r\n\r\n openAddWorkModalForThisDate (addMoreWork: boolean) {\r\n const selectedDates = [this.snRateBasedCharges.date.date]\r\n const addWorkflowIntent: Sonovate.Core.Events.IAddWorkFlowIntent = {\r\n selectedDates: selectedDates,\r\n addingBulkTime: false\r\n }\r\n if (this.expandedIndex === undefined) {\r\n this.TimesheetAddWorkEvents.userIntents.userStartsAddWorkFlow.onNext(addWorkflowIntent);\r\n } else {\r\n this.TimesheetAddWorkEvents.userIntents.stopEditingWorkEntry.onNext(null);\r\n }\r\n if (addMoreWork) {\r\n this.TimesheetAddWorkEvents.userIntents.userStartsAddWorkFlow.onNext(addWorkflowIntent);\r\n }\r\n }\r\n\r\n private findServiceRateByCharge(charge: ViewModels.Timesheets.WorkEntry): Models.IServiceRate {\r\n if (charge.serviceRateId) {\r\n return this.findServiceRateById(charge.serviceRateId);\r\n }\r\n return null;\r\n }\r\n\r\n private findServiceRateById(id: number): Models.IServiceRate {\r\n return R.find((serviceRate) => serviceRate.serviceRateId === id, this.snServiceRates);\r\n }\r\n\r\n private initTimesheetStateUpdatesSubscription() {\r\n\t\t\tthis.TimesheetStateUpdates\r\n\t\t\t\t.safeApply(this.$scope, (state) => {\r\n\t\t\t\t\tthis.timesheetAssignmentId = state.activeTimesheet.assignment.timesheetAssignmentId;\r\n this.activeTimesheet = state.activeTimesheet;\r\n const currentIndex = state.activeTimesheet.timesheetPeriodEntries.dates.indexOf(this.snRateBasedCharges)\r\n this.isFlagged = \r\n state.activeTimesheet.timesheetPeriodEntries.dates[currentIndex] \r\n && state.activeTimesheet.timesheetPeriodEntries.dates[currentIndex].entries \r\n ? state.activeTimesheet.timesheetPeriodEntries.dates[currentIndex].entries.some(entry => entry.showConflict) \r\n : false\r\n this.isDeleting = state.deleting;\r\n\t\t\t\t})\r\n\t\t\t\t.subscribe();\r\n\t\t}\r\n\r\n private setupSignedInUserStoreSubscription(): void {\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject.subscribe(user => {\r\n this.timePreference = user.settings.timeFormat;\r\n })\r\n );\r\n }\r\n\r\n private initLocalisedTextSubscription() {\r\n this.subscriptions.push(\r\n this.localiser.get([\"general\", \"timesheets\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = R.merge(data.general, data.timesheets);\r\n }\r\n ).subscribe()\r\n )\r\n }\r\n\r\n private getDailyServiceRateText(quantity): string {\r\n if(quantity == \"1\"){\r\n return this.localisedText['FullDay'];\r\n }\r\n if(quantity == \"0.75\"){\r\n return this.localisedText['ThreeQuarterDay'];\r\n }\r\n if(quantity == \"0.5\"){\r\n return this.localisedText['HalfDay'];\r\n }\r\n if(quantity == \"0.25\"){\r\n return this.localisedText['QuarterDay'];\r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snWorkPeriodDate\",\r\n function directive(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: WorkPeriodDateController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/components/snWorkPeriodDate/snWorkPeriodDate.html',\r\n scope: {\r\n snServiceRates: \"=\",\r\n snRateBasedCharges: \"=\",\r\n snIsEditable: \"=\",\r\n snClickReadMore: \"&\",\r\n snIndex: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class AgreementStatusState extends StatusStateBaseClass implements Core.State.ReferenceDataState.IStatusState {\r\n\r\n public riskStatuses: IDictionary = {};\r\n public statusStyles: IDictionary> = {\r\n assignment: {\r\n \"Draft\": {\r\n color: \"splash\",\r\n icon: 'sn-ico sn-ico-clock-filled'\r\n },\r\n \"Submitted\": {\r\n color: \"daffodil\",\r\n icon: 'sn-ico sn-ico-clock-filled'\r\n },\r\n \"Approved\": {\r\n color: \"apple\",\r\n icon: 'sn-ico sn-ico-tick-circle-filled'\r\n },\r\n \"Live\": {\r\n color: \"apple\",\r\n icon: 'sn-ico sn-ico-tick-circle-filled'\r\n },\r\n \"Complete\": {\r\n color: \"apple\",\r\n icon: 'sn-ico sn-ico-tick-circle-filled'\r\n },\r\n \"Cancelled\": {\r\n color: \"parrot\",\r\n icon: 'sn-ico sn-ico-no-entry-filled'\r\n }\r\n },\r\n proposal: {\r\n \"Draft\": {\r\n color: \"splash\",\r\n icon: 'sn-ico sn-ico-clock-filled'\r\n },\r\n \"Submitted\": {\r\n color: \"daffodil\",\r\n icon: 'sn-ico sn-ico-clock-filled'\r\n },\r\n \"Approved\": {\r\n color: \"apple\",\r\n icon: 'sn-ico sn-ico-tick-circle-filled'\r\n },\r\n \"Live\": {\r\n color: \"apple\",\r\n icon: 'sn-ico sn-ico-tick-circle-filled'\r\n },\r\n \"Complete\": {\r\n color: \"apple\",\r\n icon: 'sn-ico sn-ico-tick-circle-filled'\r\n },\r\n \"Cancelled\": {\r\n color: \"parrot\",\r\n icon: 'sn-ico sn-ico-no-entry-filled'\r\n },\r\n \"Issued\": {\r\n color: \"apple\",\r\n icon: 'sn-ico sn-ico-tick-circle-filled'\r\n } \r\n },\r\n };\r\n\r\n constructor() {\r\n super();\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"AgreementStatusState\", AgreementStatusState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n var AgreementStatusStateUpdates = (\r\n AgreementStatusState: Core.State.ReferenceDataState.IStatusState, \r\n AgreementStatusEvents: Events.AgreementStatusEvents,\r\n StateChangeService: Services.StateChangeService\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(AgreementStatusState);\r\n\r\n AgreementStatusEvents.httpResults.getAgreementStatusesSuccess.subscribe((statuses) => {\r\n AgreementStatusState.setStatuses(statuses);\r\n subject.onNext(AgreementStatusState);\r\n });\r\n\r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").factory(\"AgreementStatusStateUpdates\", AgreementStatusStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class AssignmentInvoiceFrequencyReferenceDataState implements ReferenceDataState.IInvoiceFrequencyState {\r\n \r\n\r\n clientFrequencies: Models.IInvoiceFrequency[];\r\n candidateFrequencies: Models.IInvoiceFrequency[]\r\n\r\n constructor() {\r\n }\r\n\r\n public setCandidateFrequencies(frequencies: Models.IInvoiceFrequency[]) {\r\n this.candidateFrequencies = frequencies;\r\n }\r\n\r\n public setClientFrequencies(frequencies: Models.IInvoiceFrequency[]){\r\n this.clientFrequencies = frequencies;\r\n }\r\n\r\n public getCandidateFrequencies() : Models.IInvoiceFrequency[] {\r\n return this.candidateFrequencies;\r\n }\r\n\r\n public getClientFrequencies(): Models.IInvoiceFrequency[]{\r\n return this.clientFrequencies;\r\n }\r\n\r\n public clear(): void{\r\n\r\n }\r\n \r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"AssignmentInvoiceFrequencyReferenceDataState\", AssignmentInvoiceFrequencyReferenceDataState);\r\n}\r\n\r\n// interface IInvoiceFrequency{\r\n// id: string,\r\n// text: string\r\n// }D:\\sonovate4\\WebApp\\src\\Sonovate.WebApp\\app\\src\\core\\states\\referenceDataState\\AssignmentInvoiceFrequencyReferenceDataState.ts","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n var AssignmentInvoiceFrequencyReferenceDataState = (AssignmentInvoiceFrequencyReferenceDataState: Core.State.ReferenceDataState.IInvoiceFrequencyState, referenceDataActions: IReferenceDataActions) => {\r\n var subject = new Rx.BehaviorSubject(AssignmentInvoiceFrequencyReferenceDataState);\r\n\r\n referenceDataActions.resultSubjects.getClientInvoiceFrequenciesComplated.subscribe((frequencies: any) => {\r\n AssignmentInvoiceFrequencyReferenceDataState.setClientFrequencies(frequencies);\r\n subject.onNext(AssignmentInvoiceFrequencyReferenceDataState);\r\n });\r\n\r\n referenceDataActions.resultSubjects.getCandidateInvoiceFrequenciesComplated.subscribe((frequencies: any) => {\r\n AssignmentInvoiceFrequencyReferenceDataState.setCandidateFrequencies(frequencies);\r\n subject.onNext(AssignmentInvoiceFrequencyReferenceDataState);\r\n });\r\n\r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").factory(\"AssignmentInvoiceFrequencyReferenceDataStateUpdates\", AssignmentInvoiceFrequencyReferenceDataState);\r\n}\r\n\r\n","/// \r\n\r\nmodule Sonovate.Core.State {\r\n \r\n // This should be renamed 'Risk Document Type'\r\n class DocumentTypeState implements Core.State.ReferenceDataState.IDocumentTypeState {\r\n\r\n documentTypes : IDictionary = {};\r\n\r\n constructor() {}\r\n\r\n setDocumentTypes(documentTypes: IDictionary) {\r\n this.documentTypes = documentTypes;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"DocumentTypeState\", DocumentTypeState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n var DocumentTypeStateUpdates = (DocumentTypeState: Core.State.ReferenceDataState.IDocumentTypeState, referenceDataActions: IReferenceDataActions) => {\r\n var subject = new Rx.BehaviorSubject(DocumentTypeState);\r\n\r\n referenceDataActions.resultSubjects.getDocumentTypesComplete.subscribe((documentTypes: IDictionary) => {\r\n DocumentTypeState.setDocumentTypes(documentTypes);\r\n subject.onNext(DocumentTypeState);\r\n });\r\n\r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").factory(\"DocumentTypeStateUpdates\", DocumentTypeStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class ExpenseTypeState implements Core.State.ReferenceDataState.IExpenseTypeDropdownState {\r\n\r\n expenseTypes: Models.IExpenseType[] = [];\r\n\r\n constructor() {}\r\n\r\n public setExpenseTypes(expenseTypes: Models.IExpenseType[]) {\r\n this.expenseTypes = expenseTypes;\r\n }\r\n \r\n public getExpensesAsDropdownItems (): Models.IExpenseTypeDropdownItem[] {\r\n return this.expenseTypes.map((expenseType: Models.IExpenseType): Models.IExpenseTypeDropdownItem => {\r\n return {\r\n value: expenseType.adHocTypeId,\r\n text: expenseType.label,\r\n isRateBased: expenseType.isRate,\r\n rateBasedChargeLabel: expenseType.serviceRate ? expenseType.serviceRate.unitOfMeasure.unitOfMeasureLabel : null\r\n }\r\n })\r\n }\r\n\r\n private getUnitOfMeasureLabel(expenseType: Models.IExpenseType): string {\r\n return \"\";\r\n }\r\n \r\n public clear () {\r\n this.expenseTypes = [];\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"ExpenseTypeState\", ExpenseTypeState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n var ExpenseTypeStateUpdates = (ExpenseTypeState: Core.State.ReferenceDataState.IExpenseTypeDropdownState, referenceDataActions: IReferenceDataActions) => {\r\n var subject = new Rx.BehaviorSubject(ExpenseTypeState);\r\n \r\n referenceDataActions.resultSubjects.getExpenseTypesCompleted.subscribe((expenseTypes: Models.IExpenseType[]) => {\r\n ExpenseTypeState.setExpenseTypes(expenseTypes);\r\n subject.onNext(ExpenseTypeState);\r\n });\r\n\r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").factory(\"ExpenseTypeStateUpdates\", ExpenseTypeStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n\r\n class InvoiceStatusState extends StatusStateBaseClass implements Core.State.ReferenceDataState.IStatusState {\r\n\r\n public statuses: IDictionary = {};\r\n public statusStyles: IDictionary> = {\r\n main: {\r\n \"Generated\": {\r\n color: \"daffodil\",\r\n icon: \"sn-ico-clock-filled\"\r\n },\r\n \"Verified\" : {\r\n color: \"apple\",\r\n icon: \"sn-ico-tick-circle-filled\"\r\n },\r\n \"Issued\" : {\r\n color: \"splash\",\r\n icon: \"sn-ico-paper-plane\"\r\n }\r\n } \r\n }\r\n\r\n constructor() {\r\n super();\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"InvoiceStatusState\", InvoiceStatusState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n var InvoiceStatusStateUpdates = (\r\n InvoiceStatusState: Core.State.ReferenceDataState.IStatusState, \r\n InvoiceEvents: Events.IInvoiceEvents\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(InvoiceStatusState);\r\n\r\n InvoiceEvents.httpResults.invoiceStatusesRetrievedSuccessful.subscribe((statuses) => {\r\n InvoiceStatusState.setStatuses({ \"main\": statuses });\r\n subject.onNext(InvoiceStatusState);\r\n });\r\n\r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").factory(\"InvoiceStatusStateUpdates\", InvoiceStatusStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n\r\n class OrganisationAccountStatusState extends StatusStateBaseClass implements Core.State.ReferenceDataState.IStatusState {\r\n\r\n public statuses: IDictionary = {main: []};\r\n public statusStyles: IDictionary> = {\r\n main: {\r\n \"Proposed\": {\r\n color: \"daffodil\",\r\n icon: \"sn-ico-clock-filled\"\r\n },\r\n \"Verified\" : {\r\n color: \"apple\",\r\n icon: \"sn-ico-tick-circle-filled\"\r\n },\r\n \"Rejected\" : {\r\n color: \"parrot\",\r\n icon: \"sn-ico-no-entry-filled\"\r\n }\r\n } \r\n }\r\n\r\n constructor() {\r\n super();\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"OrganisationAccountStatusState\", OrganisationAccountStatusState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n var OrganisationAccountStatusStateUpdates = (\r\n OrganisationAccountStatusState: Core.State.ReferenceDataState.IStatusState, \r\n OrganisationAccountStatusEvents: Events.IOrganisationAccountStatusEvents\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(OrganisationAccountStatusState);\r\n\r\n OrganisationAccountStatusEvents.httpResults.OrganisationAccountStatusesRetrievedSuccessfuly.subscribe((statuses) => {\r\n OrganisationAccountStatusState.setStatuses({ \"main\": statuses });\r\n subject.onNext(OrganisationAccountStatusState);\r\n });\r\n\r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").factory(\"OrganisationAccountStatusStateUpdates\", OrganisationAccountStatusStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class PeopleSearchDropdownState implements Core.State.ReferenceDataState.IPeopleSearchDropdownState {\r\n\r\n people: Models.IPerson[] = [];\r\n\r\n constructor() {}\r\n\r\n setPeople(people: Models.IPerson[]) {\r\n this.people = people;\r\n }\r\n \r\n getPeopleAsDropdownItems (): Models.IDropdownItem[] {\r\n return this.people.map((person: Models.IPerson): Models.IDropdownItem => {\r\n return {\r\n text: `${person.firstName} ${person.lastName}`,\r\n value: person.id\r\n };\r\n })\r\n }\r\n \r\n clear () {\r\n this.people = [];\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"PeopleSearchDropdownState\", PeopleSearchDropdownState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n var PeopleSearchDropdownStateUpdates = (PeopleSearchDropdownState: Core.State.ReferenceDataState.IPeopleSearchDropdownState, referenceDataActions: IReferenceDataActions) => {\r\n var subject = new Rx.BehaviorSubject(PeopleSearchDropdownState);\r\n \r\n referenceDataActions.requestSubjects.clearPeopleSearchDropdown.subscribe(() => {\r\n PeopleSearchDropdownState.clear();\r\n subject.onNext(PeopleSearchDropdownState);\r\n });\r\n\r\n referenceDataActions.resultSubjects.searchPeopleInOrganisationComplete.subscribe((people: Models.IPerson[]) => {\r\n PeopleSearchDropdownState.setPeople(people);\r\n subject.onNext(PeopleSearchDropdownState);\r\n });\r\n\r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").factory(\"PeopleSearchDropdownStateUpdates\", PeopleSearchDropdownStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"ProposalStatusStateUpdates\",\r\n (\r\n ProposalStatusState: Core.State.ReferenceDataState.ProposalStatusState,\r\n AgreementStatusEvents: Events.AgreementStatusEvents,\r\n StateChangeService: Services.StateChangeService\r\n ) => { \r\n\r\n var subject = new Rx.BehaviorSubject(ProposalStatusState);\r\n\r\n StateChangeService\r\n .getStateChangeObservableForRoute('sonovate.ProposalsView')\r\n .merge(StateChangeService.getStateChangeObservableForRoute('sonovate.ProposalsView.modals'))\r\n .take(1)\r\n .subscribe((state) => {\r\n AgreementStatusEvents.userIntents.getAgreementStatuses.onNext(null); \r\n subject.onNext(ProposalStatusState);\r\n });\r\n\r\n AgreementStatusEvents.httpResults.getProposalStatusesSuccess\r\n .subscribe((statuses) => {\r\n ProposalStatusState.setStatuses(statuses);\r\n subject.onNext(ProposalStatusState);\r\n });\r\n\r\n return subject;\r\n }\r\n );\r\n} ","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class RateUnitState implements ReferenceDataState.IRateUnitState {\r\n \r\n\r\n unitRates: Models.IUnitOfMeasure[];\r\n\r\n constructor() {\r\n this.unitRates = [];\r\n }\r\n\r\n public setUnitRates(unitRates: any) {\r\n this.unitRates = unitRates;\r\n }\r\n\r\n public getUnitRates() : any {\r\n return this.unitRates;\r\n }\r\n \r\n public getUnitRatesAsDropdownItems() {\r\n return R.map((item: Models.IUnitOfMeasure) => {\r\n return {\r\n value: item.id,\r\n text: item.text\r\n }\r\n }, this.unitRates);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"RateUnitState\", RateUnitState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n var RateUnitStateUpdates = (RateUnitState: Core.State.ReferenceDataState.IRateUnitState, referenceDataActions: IReferenceDataActions) => {\r\n\r\n var subject = new Rx.BehaviorSubject(RateUnitState);\r\n\r\n referenceDataActions.resultSubjects.getRateUnitsCompleted.subscribe((rateUnits: Models.IUnitOfMeasure[]) => {\r\n RateUnitState.setUnitRates(rateUnits);\r\n subject.onNext(RateUnitState);\r\n });\r\n\r\n return subject;\r\n }\r\n angular.module(\"sonovate.core\").factory(\"RateUnitStateUpdates\", RateUnitStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class RiskFlagState implements ReferenceDataState.IRiskFlagState {\r\n \r\n\r\n flags: IDictionary;\r\n\r\n constructor() {\r\n this.flags = {};\r\n }\r\n\r\n public setFlags(flags: IDictionary) {\r\n this.flags = flags;\r\n }\r\n\r\n public getFlags() : any {\r\n return this.flags;\r\n }\r\n\r\n public getFlagsAsDropdownItems(type: Enums.AssessmentType): Models.IDropdownItem[] {\r\n if (!R.isNil(type)) {\r\n return this.getFlagsAsDropdownItemsByAssessmentType(type);\r\n }\r\n return this.covertFlagsToDropdownItems(R.flatten(R.values(this.flags)));\r\n }\r\n\r\n public getFlagsAsDropdownItemsByAssessmentType (type: Enums.AssessmentType): Models.IDropdownItem[] {\r\n if (this.flags.hasOwnProperty(type)) {\r\n return this.covertFlagsToDropdownItems(this.flags[type]);\r\n }\r\n return [];\r\n }\r\n \r\n private covertFlagsToDropdownItems (flags: Models.IStatus[]): Models.IDropdownItem[] {\r\n return R.map((flag) => {\r\n return {\r\n value: flag.id,\r\n text: flag.text\r\n }\r\n }, flags);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"RiskFlagState\", RiskFlagState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n angular.module(\"sonovate.core\").factory(\r\n \"RiskFlagStateUpdates\", \r\n (\r\n RiskFlagState: ReferenceDataState.IRiskFlagState,\r\n referenceDataActions: IReferenceDataActions\r\n ) => {\r\n\r\n var subject = new Rx.BehaviorSubject(RiskFlagState);\r\n\r\n referenceDataActions.resultSubjects.getOrganisationFlagsComplete.subscribe((flags: any) => {\r\n RiskFlagState.setFlags(flags);\r\n subject.onNext(RiskFlagState); \r\n });\r\n\r\n return subject;\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class ServiceAgreementDocumentTypeState implements Core.State.ReferenceDataState.IServiceAgreementDocumentTypeState {\r\n\r\n serviceAgreementDocumentTypes : IDictionary = {};\r\n\r\n constructor() {}\r\n\r\n setServiceAgreementDocumentTypes(serviceAgreementDocumentTypes: IDictionary) {\r\n this.serviceAgreementDocumentTypes = serviceAgreementDocumentTypes;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"ServiceAgreementDocumentTypeState\", ServiceAgreementDocumentTypeState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n var ServiceAgreementDocumentTypeStateUpdates = (ServiceAgreementDocumentTypeState: Core.State.ReferenceDataState.IServiceAgreementDocumentTypeState, referenceDataActions: IReferenceDataActions) => {\r\n var subject = new Rx.BehaviorSubject(ServiceAgreementDocumentTypeState);\r\n\r\n referenceDataActions.resultSubjects.getServiceAgreementDocumentTypesCompleted.subscribe((documentTypes: IDictionary) => {\r\n ServiceAgreementDocumentTypeState.setServiceAgreementDocumentTypes(documentTypes);\r\n subject.onNext(ServiceAgreementDocumentTypeState);\r\n }); \r\n\r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").factory(\"ServiceAgreementDocumentTypeStateUpdates\", ServiceAgreementDocumentTypeStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n class StartOfWeekState implements Core.State.ReferenceDataState.IStartOfWeekState {\r\n\r\n private days : Models.IStartOfWeekDay[] = [];\r\n\r\n constructor() {}\r\n\r\n setStartOfWeekDays(days: Sonovate.Models.IStartOfWeekDay[]) {\r\n this.days = days\r\n }\r\n\r\n getStartOWeekDays() : Sonovate.Models.IStartOfWeekDay[] {\r\n return this.days;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").service(\"StartOfWeekState\", StartOfWeekState);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n var startOfWeekStateUpdates = (StartOfWeekState: Core.State.ReferenceDataState.IStartOfWeekState, referenceDataActions: IReferenceDataActions) => {\r\n var subject = new Rx.BehaviorSubject(StartOfWeekState);\r\n\r\n referenceDataActions.resultSubjects.getStartOfWeekDaysComplete\r\n .subscribe((startOfWeekDays: Models.IStartOfWeekDay[]) => {\r\n var state = subject.getValue();\r\n state.setStartOfWeekDays(startOfWeekDays);\r\n subject.onNext(state);\r\n });\r\n\r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").factory(\"StartOfWeekStateUpdates\", startOfWeekStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\tTimesheetsStatusService\r\n export class TimesheetStatusesState {\r\n timesheetStatuses: Models.ITimesheetStatus[] = [];\t\t\r\n\r\n\t\tstatic $inject = [\"TimesheetsStatusService\"];\r\n\r\n constructor(\r\n protected TimesheetsStatusService: Core.TimesheetsStatusService\r\n ) {\r\n }\r\n\r\n\t\tgetStatusById (id: string): Models.ITimesheetStatus {\r\n\t\t\ttry {\r\n\t\t\t\treturn this.timesheetStatuses.filter((status) => {\r\n\t\t\t\t\treturn status.id === id;\r\n\t\t\t\t})[0];\r\n\t\t\t} catch (e) {\r\n\t\t\t\tthrow new Error(`getStatusById: status with id '${id}' does not exist.`);\r\n\t\t\t}\r\n\t\t}\r\n\r\n setTimesheetStatuses(timesheetStatuses: Models.ITimesheetStatus[]): void {\r\n this.timesheetStatuses = R.filter((timesheetStatus)=> {\r\n\t\t\t\treturn timesheetStatus.id !== \"None\";\r\n\t\t\t}, timesheetStatuses).map((timesheetStatus) => {\r\n\t\t\t\ttimesheetStatus.displayColor = this.TimesheetsStatusService.getStatusDisplayColorById(timesheetStatus.id);\r\n\t\t\t\ttimesheetStatus.displayIcon = this.TimesheetsStatusService.getStatusDisplayIconById(timesheetStatus.id);\r\n\t\t\t\treturn timesheetStatus;\r\n\t\t\t}); \r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .service(\"TimesheetStatusesState\", TimesheetStatusesState);\r\n}\r\n","/// \r\n\r\nmodule Sonovate.Core.State {\r\n\r\n var TimesheetStatusesStateUpdates = (\r\n TimesheetStatusesState: Core.State.ReferenceDataState.ITimesheetStatusesState, \r\n TimesheetStatusesEvents: Core.Events.ITimesheetStatusesEvents\r\n ) => {\r\n var subject = new Rx.BehaviorSubject(TimesheetStatusesState);\r\n \r\n TimesheetStatusesEvents.httpResults.getStatusesCompleted.subscribe((statuses: Models.ITimesheetStatus[]) => {\r\n TimesheetStatusesState.setTimesheetStatuses(statuses);\r\n subject.onNext(TimesheetStatusesState); \r\n });\r\n\r\n return subject;\r\n }\r\n\r\n angular.module(\"sonovate.core\").factory(\"TimesheetStatusesStateUpdates\", TimesheetStatusesStateUpdates);\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snAccountMigrationController extends BaseController {\r\n\r\n person: Models.ISignedInUser;\r\n text: IDictionary = {};\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"$state\",\r\n \"signedInUserStore\",\r\n \"localiser\",\r\n \"TIME_AND_FUND_APP_URL\",\r\n ];\r\n \r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n private signedInUserStore: ISignedInUserStore,\r\n private localiser: ILocaliserService,\r\n private TIME_AND_FUND_APP_URL: string,\r\n ) {\r\n super($scope);\r\n\r\n this.initSignedInUserSubscription();\r\n this.initLocaliserSubscription();\r\n }\r\n\r\n goToParent () {\r\n this.$state.go('^');\r\n }\r\n\r\n goToTimeAndFund () {\r\n window.location.href = this.TIME_AND_FUND_APP_URL\r\n }\r\n\r\n private initSignedInUserSubscription(): void {\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject\r\n .safeApply(this.$scope, (data: Models.ISignedInUser) => {\r\n this.person = data;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private initLocaliserSubscription(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"migration\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n if (data.migration) {\r\n this.text = R.mergeAll([\r\n data.migration,\r\n ]);\r\n }\r\n }).subscribe()\r\n )\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snAccountMigration\",\r\n function snAddPerson(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snAccountMigrationController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/viewDirectives/snAccountMigration/snAccountMigration.html',\r\n scope: {\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snActivityStreamController extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n\t\t\t\"$state\",\r\n \"ActivityStreamStateUpdates\",\r\n \"ActivityStreamEvents\",\r\n \"localiser\"\r\n ];\r\n\r\n localisedText: IDictionary = {};\r\n activityStreamItems: Models.IActivityStreamItem[];\r\n noteResourceId: number;\r\n noteResourceType: Core.State.ActivityStreamStateContext;\r\n documentResourceId: number;\r\n documentResourceType: Core.State.ActivityStreamStateContext;\r\n isDocumentTypeDropdownShowing: boolean = false;\r\n documentRiskAssessmentType: string;\r\n note: string;\r\n documentType: string;\r\n \r\n filters: Core.IActivityStreamFilter[] = [{\r\n name: \"Notes\",\r\n itemType: \"note\"\r\n },\r\n {\r\n name: \"Documents\",\r\n itemType: \"document\"\r\n }];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected ActivityStreamStateUpdates: Rx.BehaviorSubject,\r\n protected ActivityStreamEvents: Core.Events.ActivityStreamEvents,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n this.initLocaliserSubscription();\r\n this.initActivityStreamStateUpdatesSubscription();\r\n }\r\n\r\n showDocumentTypeDropdown () {\r\n this.isDocumentTypeDropdownShowing = true;\r\n }\r\n\r\n hideDocumentTypeDropdown () {\r\n this.isDocumentTypeDropdownShowing = false;\r\n }\r\n\r\n selectDocumentType (value) {\r\n this.ActivityStreamEvents.userIntents.selectDocumentType.onNext(value);\r\n this.$scope['triggerFileDialogue']();\r\n }\r\n\r\n selectDocument($files: File[]) {\r\n this.ActivityStreamEvents.userIntents.uploadDocument.onNext({\r\n resourceType: this.documentResourceType,\r\n resourceId: this.documentResourceId,\r\n documentType: this.documentType,\r\n documentName: $files[0].name,\r\n file: $files[0]\r\n });\r\n this.isDocumentTypeDropdownShowing = false;\r\n }\r\n\r\n openAddNoteModal () {\r\n this.$state.go(`${this.$state.current.name}.modals`, {\r\n modal: 'add-note'\r\n });\r\n }\r\n\r\n typeNote (value) {\r\n this.ActivityStreamEvents.userIntents.typeNote.onNext(value);\r\n }\r\n\r\n submitNote() {\r\n this.ActivityStreamEvents.userIntents.submitNote.onNext({\r\n resourceId: this.noteResourceId,\r\n resourceType: this.noteResourceType,\r\n note: this.note\r\n });\r\n this.$state.go('^');\r\n }\r\n\r\n deleteDocument (item: Models.IActivityStreamItem) {\r\n this.ActivityStreamEvents.userIntents.deleteDocument.onNext({\r\n resourceType: this.documentResourceType,\r\n resourceId: this.documentResourceId,\r\n documentId: item.document.id\r\n });\r\n }\r\n\r\n private initActivityStreamStateUpdatesSubscription () {\r\n this.ActivityStreamStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.activityStreamItems = state.filteredActivityStreamItems;\r\n this.noteResourceId = state.noteResourceId;\r\n this.noteResourceType = state.noteResourceType;\r\n this.documentResourceId = state.documentResourceId;\r\n this.documentResourceType = state.documentResourceType;\r\n this.documentType = state.documentType;\r\n this.documentRiskAssessmentType = state.documentRiskAssessmentType;\r\n this.note = state.note;\r\n })\r\n .subscribe();\r\n }\r\n\r\n private initLocaliserSubscription() {\r\n this.localiser\r\n .get([\"activitystream\", \"general\", \"assignments\", \"verification\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = R.mergeAll(\r\n [\r\n data.activitystream,\r\n data.general,\r\n data.assignments,\r\n data.verification\r\n ]\r\n );\r\n }).subscribe();\r\n }\r\n }\r\n\r\n class SnActivityStreamLink {\r\n constructor (scope: any, element: any) {\r\n scope.triggerFileDialogue = () => {\r\n element.find(\".file-input\").click();\r\n }\r\n }\r\n }\r\n \r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snActivityStream\",\r\n function snActivityStream(): ng.IDirective {\r\n return {\r\n restrict: 'E',\r\n templateUrl: 'core/viewDirectives/snActivityStreamViewDirective/snActivityStreamViewDirective.html',\r\n scope: {},\r\n controllerAs: 'vm',\r\n bindToController: true,\r\n controller: snActivityStreamController,\r\n link: SnActivityStreamLink\r\n };\r\n }\r\n );\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snAddPersonController extends BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"AddPersonEvents\",\r\n \"AddPersonStateUpdates\"\r\n ];\r\n\r\n localisedText: {};\r\n firstName: string;\r\n lastName: string;\r\n emailAddress: string;\r\n isSendingInvitation: boolean;\r\n errorMessages: {\r\n firstName: string,\r\n lastName: string,\r\n primaryEmail: string\r\n };\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected AddPersonEvents: Core.Events.AddPersonEvents,\r\n protected AddPersonStateUpdates: Rx.Subject\r\n ) {\r\n super($scope);\r\n\r\n this.setLocalisedText();\r\n this.setupPersonStateSubscription();\r\n }\r\n\r\n public userTypedInFirstNameInput() : void {\r\n this.AddPersonEvents.userIntents.userTypedInFirstNameInput.onNext(this.firstName);\r\n }\r\n\r\n public userTypedInLastNameInput() : void {\r\n this.AddPersonEvents.userIntents.userTypedInLastNameInput.onNext(this.lastName);\r\n }\r\n\r\n public userTypedInEmailAddressInput() : void {\r\n this.AddPersonEvents.userIntents.userTypedInEmailAddressInput.onNext(this.emailAddress);\r\n }\r\n\r\n public userSubmittedRequestToAddPerson() : void {\r\n this.AddPersonEvents.userIntents.userSubmittedRequestToAddPerson.onNext({\r\n firstName: this.firstName,\r\n lastName: this.lastName,\r\n primaryEmail: this.emailAddress\r\n }); \r\n }\r\n\r\n public closeModal() : void {\r\n this.AddPersonEvents.userIntents.userClosedAddUserModal.onNext(null);\r\n }\r\n\r\n private setupPersonStateSubscription(): void {\r\n this.subscriptions.push(\r\n this.AddPersonStateUpdates.safeApply(this.$scope, (state: Core.State.AddPersonState) => {\r\n this.errorMessages = state.errorMessages;\r\n this.isSendingInvitation = state.isSendingInvitation;\r\n }).subscribe()\r\n ); \r\n }\r\n\r\n private setLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"addPerson\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = data.addPerson;\r\n }).subscribe()\r\n );\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snAddPerson\",\r\n function snAddPerson(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snAddPersonController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/viewDirectives/snAddPerson/snAddPersonViewDirective.html',\r\n scope: {\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snAssignmentOfClientTermsController extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"$state\",\r\n \"$stateParams\",\r\n \"localiser\",\r\n \"TermsEvents\",\r\n \"OrganisationTermsStateUpdates\",\r\n \"EditTermsFormStateUpdates\"\r\n ];\r\n\r\n localisedText: IDictionary = {};\r\n saveTemplateAs: string;\r\n editFormState: Core.State.IEditTermsFormState;\r\n pdfTitle: string;\r\n errors: IDictionary;\r\n showErrorDialog: boolean;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected $stateParams: ng.ui.IStateParamsService,\r\n private localiser: ILocaliserService,\r\n private TermsEvents: Core.Events.ITermEvents,\r\n private OrganisationTermsStateUpdates: Rx.BehaviorSubject,\r\n private EditTermsFormStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope)\r\n this.getLocalisedText();\r\n this.setupEditTermsState();\r\n this.saveTemplateAs = \"proposalOnly\";\r\n }\r\n\r\n public setupEditTermsState() {\r\n this.subscriptions.push(\r\n this.EditTermsFormStateUpdates.safeApply(this.$scope, (state: Core.State.IEditTermsFormState) => {\r\n this.editFormState = state;\r\n this.hasPDFSavedSuccessfully(); \r\n }).subscribe()\r\n )\r\n }\r\n\r\n public savePDFTerm(PDFTerm) {\r\n var pdfRequestPayload = {\r\n organisationId: this.$stateParams[\"id\"],\r\n title: `${this.pdfTitle}.pdf` || this.editFormState.file.name,\r\n isProposal: this.saveTemplateAs === \"any\" ? false : true,\r\n file: this.editFormState.file\r\n }\r\n \r\n //this.TermsEvents.userIntents.saveUploadedPdfTerms.onNext(pdfRequestPayload)\r\n }\r\n \r\n public hasPDFSavedSuccessfully() {\r\n if (this.editFormState.submissionStatus === \"submissionSuccess\") {\r\n this.closePopup(); \r\n }\r\n \r\n if (this.editFormState.hasErrors){\r\n this.errors = this.editFormState.errors;\r\n this.showErrorDialog = true;\r\n }\r\n }\r\n \r\n public closePopup() {\r\n this.$state.go(this.$state.current.parent)\r\n } \r\n \r\n public onErrorDialogConfirm() {\r\n this.showErrorDialog = false;\r\n }\r\n \r\n public getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\r\n \"general\",\r\n \"templateterms\"\r\n ])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = R.merge(data.templateterms, data.general);\r\n }).subscribe()\r\n );\r\n }\r\n\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snAssignmentOfClientTerms\",\r\n function snAssignmentOfClientTerms(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snAssignmentOfClientTermsController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/viewDirectives/snAssignmentOfClientTerms/snAssignmentOfClientTermsDirective.html',\r\n scope: {\r\n snCloseRoute: \"@\",\r\n snOnSelect: \"&\",\r\n snOnToggleSelect: \"&\",\r\n snSelectMode: \"@\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snAssignmentStatusDropdownController extends FilterStatusDropdownBaseClass {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"$timeout\",\r\n \"localiser\",\r\n \"AgreementStatusEvents\",\r\n \"AgreementStatusStateUpdates\",\r\n \"AgreementStatusState\"\r\n ];\r\n\r\n filterByAllItemValue: string;\r\n statusDropdownItems: Models.IDropdownItem[];\r\n selectedStatus: Models.IStatus;\r\n snStatusType: string;\r\n snPopoutSize: string;\r\n snAssessmentStatus: Models.IStatus;\r\n\r\n localised: IDictionary = {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $timeout: ng.ITimeoutService,\r\n protected localiser: ILocaliserService,\r\n protected AgreementStatusEvents: Events.AgreementStatusEvents,\r\n protected AgreementStatusStateUpdates: Rx.BehaviorSubject,\r\n protected AgreementStatusState: State.ReferenceDataState.IStatusState\r\n ) {\r\n super($scope);\r\n\r\n this.filterByAllItemValue = null;\r\n this.showPopout = false;\r\n this.selectedStatus = {}; \r\n this.statusDropdownItems = [\r\n {\r\n text: \"\",\r\n value: this.filterByAllItemValue\r\n }\r\n ]; \r\n this.localised = {}; \r\n this.checkValue();\r\n this.AgreementStatusEvents.userIntents.getAgreementStatuses.onNext(null);\r\n\r\n this.setItemsAndStatusesOnStatusStateUpdates();\r\n this.setSelectedStatusOnSnModelUpdates();\r\n this.setSelectedStatusOnsnStatusTypeUpdates();\r\n this.setLocalisedTextWhenRetrieved();\r\n }\r\n\r\n private setItemsAndStatusesOnStatusStateUpdates (): void {\r\n this.subscriptions.push(\r\n this.AgreementStatusStateUpdates\r\n .safeApply(this.$scope, (state: Core.State.ReferenceDataState.IStatusState) => {\r\n this.statusDropdownItems = this.statusDropdownItems.concat(state.getGroupTypeStatusesAsDropdownItems(this.snStatusType));\r\n this.selectedStatus = state.getStatusByGroupTypeAndId(this.snStatusType, this.snModel) || this.getSelectedStatusValueForAll();\r\n })\r\n .subscribe()\r\n );\r\n }\r\n\r\n private setSelectedStatusOnSnModelUpdates(): void {\r\n this.$scope.$watch(\"vm.snModel\", (selectedStatusId:string) => {\r\n if (selectedStatusId === this.filterByAllItemValue) {\r\n this.selectedStatus = this.getSelectedStatusValueForAll();\r\n } else {\r\n this.selectedStatus = this.AgreementStatusState.getStatusByGroupTypeAndId(this.snStatusType, selectedStatusId);\r\n }\r\n });\r\n }\r\n\r\n private setSelectedStatusOnsnStatusTypeUpdates(): void {\r\n this.$scope.$watch(\"vm.snStatusType\", (statusTypeId:string) => {\r\n this.selectedStatus = this.AgreementStatusState.getStatusByGroupTypeAndId(statusTypeId, this.snModel);\r\n })\r\n }\r\n\r\n private setLocalisedTextWhenRetrieved(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"menu\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n if (data.menu) {\r\n this.localised = data.menu;\r\n this.addDropdownItemForAll();\r\n }\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private addDropdownItemForAll(): void {\r\n this.statusDropdownItems[0].text = this.localised[\"All\"];\r\n if (R.isNil(this.selectedStatus)) { \r\n this.selectedStatus = {\r\n text: this.localised[\"All\"]\r\n };\r\n }\r\n }\r\n\r\n private getSelectedStatusValueForAll(): Models.IStatus {\r\n return {\r\n text: this.localised[\"All\"] || null\r\n };\r\n }\r\n\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snAssignmentStatusDropdown\",\r\n function snAssignmentStatusDropdown(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snAssignmentStatusDropdownController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: \"core/viewDirectives/snAssignmentStatusDropdown/snAssignmentStatusDropdownViewDirective.html\",\r\n scope: {\r\n snOnChange: \"&\",\r\n snModel: \"=\",\r\n snStatusType: \"@\",\r\n snStatus: \"=\",\r\n snPopoutSize: \"@\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snCompaniesSearchController extends BaseController {\r\n static $inject = [\"$scope\"];\r\n \r\n constructor(\r\n protected $scope: ng.IScope\r\n ) {\r\n super($scope);\r\n }\r\n\r\n }\r\n angular.module(\"sonovate.core\") \r\n .directive(\r\n \"snCompaniesSearch\",\r\n function snCompaniesSearch(): ng.IDirective {\r\n return {\r\n restrict: 'E',\r\n templateUrl: 'core/viewDirectives/snCompaniesSearch/snCompaniesSearchViewDirective.html',\r\n scope: {\r\n \tsnCallback: \"&\",\r\n \tsnOnAddOrganisation: \"&\",\r\n \tsnRouteSuffix: \"@\",\r\n snInlineSearch:\"=\"\r\n },\r\n controllerAs: 'vm', \r\n bindToController: true,\r\n controller: snCompaniesSearchController\r\n };\r\n }\r\n );\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snFlagAssessmentFormController extends FormBaseClass {\r\n\r\n static $inject = [\r\n \"$scope\", \r\n \"$state\", \r\n \"localiser\",\r\n \"RiskEvents\"\r\n ];\r\n\r\n snOwnerId: number;\r\n snAssessmentSummaries: Models.IAssessment[];\r\n checkedFlags: Enums.AssessmentRiskFlag[];\r\n note: string;\r\n localised: IDictionary = {};\r\n\r\n showErrorMessage: boolean;\r\n formErrors: {\r\n note: string;\r\n }\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected localiser: ILocaliserService,\r\n protected RiskEvents: Events.RiskEvents\r\n ) {\r\n super($scope, $state);\r\n this.checkedFlags = this.getAsessmentCheckedFlags();\r\n this.note = \"\";\r\n this.formErrors = {\r\n note: \"\"\r\n };\r\n\r\n this.setCheckedFlagsOnsnAssessmentUpdates();\r\n this.setLocalisedTextWhenRetrieved();\r\n this.closeOnSubmissionSuccess();\r\n this.setErrorMessageOnSubmissionFaliure();\r\n }\r\n\r\n public submit() : void {\r\n if(this.formIsReadyForSubmission()) {\r\n this.submitFormRequest(); \r\n } else {\r\n this.resetValidationErrors();\r\n this.setValidationErrors();\r\n }\r\n }\r\n\r\n protected submitFormRequest():void {\r\n let assessment = this.getAssessment();\r\n this.RiskEvents.userIntents.submitRiskFlags.onNext({\r\n ownerId: this.snOwnerId,\r\n assessmentId: assessment.assessmentId,\r\n flags: this.checkedFlags,\r\n note: this.note\r\n })\r\n }\r\n\r\n public formIsReadyForSubmission(): boolean {\r\n return (!R.isNil(this.note) && !R.isEmpty(this.note.trim()));\r\n }\r\n\r\n protected closeOnSubmissionSuccess(): void {\r\n this.subscriptions.push(\r\n this.RiskEvents.httpResults.submittedRiskFlagsSuccessful\r\n .safeApply(this.$scope, (given) => {\r\n super.close();\r\n }).subscribe()\r\n );\r\n };\r\n\r\n protected setErrorMessageOnSubmissionFaliure(): void {\r\n this.subscriptions.push(\r\n this.RiskEvents.httpResults.submittedRiskFlagsError\r\n .safeApply(this.$scope, (error) => {\r\n this.showErrorMessage = true;\r\n this.errorMessage = error.error;\r\n }).subscribe()\r\n );\r\n };\r\n\r\n protected setValidationErrors(): void {\r\n if (!R.isNil(this.localised['RequiredField']) && R.isEmpty(this.note.trim())) {\r\n this.formErrors.note = this.localised['RequiredField'];\r\n }\r\n }\r\n\r\n private resetValidationErrors() : void {\r\n this.formErrors.note = \"\";\r\n }\r\n\r\n protected setLocalisedTextWhenRetrieved(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data.general;\r\n }).subscribe()\r\n );\r\n };\r\n\r\n public getAssessmentType() {\r\n if (this.assessmentIsSet()) {\r\n return this.getAssessment().assessmentType\r\n }\r\n return '';\r\n }\r\n\r\n private getAssessment() : Models.IAssessment { \r\n if (this.assessmentIsSet()) {\r\n return this.snAssessmentSummaries[0];\r\n }\r\n return null;\r\n }\r\n\r\n private getAsessmentCheckedFlags() : Enums.AssessmentRiskFlag[] {\r\n if (this.assessmentIsSet()) {\r\n return this.getAssessment().riskFlags.flags;\r\n }\r\n return []\r\n }\r\n\r\n private assessmentIsSet() : boolean {\r\n return !R.isNil(this.snAssessmentSummaries) && !R.isEmpty(this.snAssessmentSummaries);\r\n }\r\n\r\n private setCheckedFlagsOnsnAssessmentUpdates() : void {\r\n this.$scope.$watch(\"vm.snAssessmentSummaries\", () => {\r\n this.checkedFlags = this.getAsessmentCheckedFlags();\r\n });\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.PersonSettings\") \r\n .directive(\r\n \"snFlagAssessmentForm\",\r\n function snFlagAssessmentForm(): ng.IDirective {\r\n return {\r\n restrict: 'E',\r\n templateUrl: 'core/viewDirectives/snFlagAssessmentFormViewDirective/snFlagAssessmentFormViewDirective.html',\r\n scope: {\r\n snAssessmentSummaries: \"=\", \r\n snOwnerId: \"=\"\r\n },\r\n controllerAs: 'vm',\r\n bindToController: true,\r\n controller: snFlagAssessmentFormController\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class MessageBarController extends BaseController {\r\n\r\n static inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"MessageBarStateUpdates\",\r\n \"MessageBarEvents\"\r\n ];\r\n\r\n showMessageBar: boolean;\r\n messageBarColor: Models.color;\r\n messageBarText: string; \r\n localised: {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected MessageBarStateUpdates: Rx.BehaviorSubject,\r\n protected MessageBarEvents: Events.MessageBarEvents\r\n ) {\r\n super($scope);\r\n this.initMessageBarStateUpdatesSubscription();\r\n this.initLocalisationSubscription();\r\n }\r\n\r\n dismissMessageBar() {\r\n this.MessageBarEvents.userIntents.dismissMessage.onNext(null);\r\n }\r\n\r\n private initMessageBarStateUpdatesSubscription() {\r\n this.subscriptions.push(\r\n this.MessageBarStateUpdates\r\n .safeApply(this.$scope, (state: State.MessageBarState) => {\r\n this.showMessageBar = state.show;\r\n this.messageBarColor = state.color;\r\n this.messageBarText = state.message;\r\n })\r\n .subscribe()\r\n );\r\n }\r\n\r\n private initLocalisationSubscription(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"general\"])\r\n .safeApply(this.$scope, (data: IDictionary<{}>) => {\r\n this.localised = data['general'];\r\n }).subscribe()\r\n );\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.PersonSettings\")\r\n .directive(\r\n \"snGlobalMessageBar\",\r\n function MessageBar(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: MessageBarController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: \"core/viewDirectives/snGlobalMessageBar/snGlobalMessageBarViewDirective.html\", \r\n scope: {}\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snInviteToSonovateFormController extends BaseController {\r\n\r\n static $inject = [\r\n \"$scope\", \r\n \"$state\",\r\n \"localiser\", \r\n \"PeopleActions\",\r\n \"roleListActions\"\r\n ];\r\n\r\n personId: number;\r\n personFirstName: string;\r\n personEmail: string;\r\n personRoles: number[];\r\n personEmails: Models.IDropdownItem[];\r\n availableRoles: Models.IChecklistItem[];\r\n localised: IDictionary = {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected localiser: ILocaliserService,\r\n protected PeopleActions: IActions,\r\n // services bellow are still js and not following established patterns hence \"any\"\r\n protected roleListActions: any\r\n ) {\r\n super($scope);\r\n this.personId = this.getPersonId();\r\n this.personRoles = [];\r\n\r\n // this.userActions.getPersonEmails(this.personId);\r\n // this.userActions.getPersonDetails(this.personId)\r\n this.roleListActions.getRoleList();\r\n\r\n // this.setPersonNameOnDetailRetrieval();\r\n this.setRolesOnRetrievedRoleList();\r\n // this.setPersonEmailsOnPersonEmailRetrieval();\r\n // this.setLocalisedTextWhenRetrived();\r\n\r\n }\r\n\r\n public invitePerson(): void {\r\n this.PeopleActions.requestSubjects.invitePersonToSonovate.onNext({\r\n id: this.personId,\r\n details: {\r\n roles: this.personRoles,\r\n email: this.personEmail\r\n }\r\n });\r\n this.closeForm();\r\n }\r\n\r\n public closeForm() : void {\r\n this.$state.go(this.$state.current.parent);\r\n }\r\n\r\n private getPersonId() : number {\r\n if (!this.$state.params['modalId']) {\r\n throw new Error(`[snInviteToSonovateForm]: No modalId is in the route, make sure there is one`);\r\n } else {\r\n return this.$state.params['modalId'];\r\n }\r\n }\r\n\r\n // private setPersonNameOnDetailRetrieval() : void {\r\n // var personDetailsSuccessObservable = > this.userActions.subjects.onPersonSuccess;\r\n // this.subscriptions.push(\r\n // personDetailsSuccessObservable\r\n // .safeApply(this.$scope, (data: any) => {\r\n // this.personFirstName = data.model.personNameViewModels[0].firstName;\r\n // }).subscribe()\r\n // );\r\n // }\r\n\r\n private setRolesOnRetrievedRoleList () : void {\r\n this.subscriptions.push(\r\n this.roleListActions.subjects.getRoleList\r\n .safeApply(this.$scope, (roles) => {\r\n this.availableRoles = this.transformRolesToRoleItems(roles);\r\n }).subscribe()\r\n );\r\n }\r\n\r\n // private setPersonEmailsOnPersonEmailRetrieval() : void {\r\n // this.subscriptions.push(\r\n // this.userActions.subjects.onEmailSuccess\r\n // .safeApply(this.$scope, (emails: ViewModels.Directory.Email[]) => {\r\n // this.personEmails = this.transformEmailsToDropdownItems(emails);\r\n // this.setDefaultEmailChoice();\r\n // }).subscribe()\r\n // );\r\n\r\n private transformRolesToRoleItems(roles: ViewModels.Directory.Role[]) : Models.IChecklistItem[] {\r\n return R.map((role: ViewModels.Directory.Role): Models.IChecklistItem => {\r\n return {\r\n name: role.name,\r\n description: role.description,\r\n value: role.roleId,\r\n }\r\n }, roles);\r\n }\r\n\r\n private transformEmailsToDropdownItems (emails: ViewModels.Directory.Email[]): Models.IDropdownItem[] {\r\n return R.map((email: ViewModels.Directory.Email) => {\r\n return {\r\n text: email.emailAddress,\r\n value: email.emailAddress\r\n }\r\n }, emails);\r\n }\r\n\r\n private setLocalisedTextWhenRetrived(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .interpolate([\"general\", \"companyuser\", \"userdetails\"], () => {\r\n return {\r\n name: this.personFirstName\r\n }\r\n })\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n if ( data.general && data.companyuser && data.userdetails ) {\r\n this.localised = R.mergeAll([\r\n data.general, \r\n data.companyuser,\r\n data.userdetails\r\n ]);\r\n }\r\n }).subscribe()\r\n )\r\n }\r\n\r\n private setDefaultEmailChoice(): void {\r\n if (!R.isEmpty(this.personEmails)) {\r\n this.personEmail = this.personEmails[0].value;\r\n }\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snInviteToSonovateForm\",\r\n function snInviteToSonovateForm(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snInviteToSonovateFormController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/viewDirectives/snInviteToSonovateForm/snInviteToSonovateFormDirective.html',\r\n scope: {}\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snMenuController extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\", \r\n \"$timeout\", \r\n \"$state\", \r\n \"$cookies\",\r\n \"$stateParams\",\r\n \"signOutActions\", \r\n \"signedInUserStore\",\r\n \"AuthenticationActions\",\r\n \"localiser\",\r\n \"LoadingStateUpdates\",\r\n \"NotificationsStateUpdates\",\r\n \"NotificationsEvents\",\r\n \"TIME_AND_FUND_APP_URL\",\r\n ];\r\n\r\n canSwitchContext: boolean = false;\r\n person: Models.ISignedInUser;\r\n hasBeenToggled: boolean;\r\n showPopoutCard: boolean;\r\n showBetaBox: boolean = false;\r\n appMode: string = this.$stateParams['mode'];\r\n menuExpanded: boolean;\r\n menuInWideMode: boolean;\r\n menuInWideModeAnimationComplete: boolean;\r\n showLoadingScreen: boolean = false;\r\n\r\n showNotifications: boolean = false;\r\n newNotificationsTotal: number;\r\n notifications: Array;\r\n unreadNotificationIDs: Array;\r\n\r\n toggleBurger: boolean = false;\r\n showHamburgerDropdown: boolean;\r\n\r\n text: IDictionary = {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n private $timeout: ng.ITimeoutService,\r\n private $state: ng.ui.IStateService,\r\n private $cookies: ng.cookies.ICookiesService,\r\n private $stateParams: ng.ui.IStateParamsService,\r\n private signOutActions: ISignOutActions,\r\n private signedInUserStore: ISignedInUserStore,\r\n private AuthenticationActions: IAuthenticationActions,\r\n private localiser: ILocaliserService,\r\n private LoadingStateUpdates: Rx.BehaviorSubject,\r\n private NotificationsStateUpdates: Rx.BehaviorSubject,\r\n private NotificationsEvents: Core.Events.INotificationsEvents,\r\n private TIME_AND_FUND_APP_URL: string,\r\n ) {\r\n super($scope);\r\n\r\n this.setViewState();\r\n this.initSignedInUserDateSubscription();\r\n this.initMenuTextSubscription();\r\n this.initNotificationStateSubscription();\r\n this.initLoadingStateSubscription();\r\n }\r\n\r\n public toggleMobileNavPopup(): void {\r\n if (this.showHamburgerDropdown) {\r\n document.body.style.overflow = \"auto\";\r\n this.closeDropdown();\r\n } else {\r\n document.body.style.overflow = \"hidden\";\r\n this.openDropdown();\r\n }\r\n }\r\n\r\n public scrollbarIsVisible() {\r\n return scrollbars.visible;\r\n }\r\n\r\n public toggleBetaBox(): void {\r\n if (this.showBetaBox) {\r\n this.closeBetaBox();\r\n } else {\r\n this.openBetaBox();\r\n }\r\n }\r\n\r\n public openBetaBox(): void {\r\n this.showBetaBox = true;\r\n }\r\n\r\n public closeBetaBox(): void {\r\n this.showBetaBox = false;\r\n }\r\n\r\n public openDropdown() : void {\r\n this.showHamburgerDropdown = true;\r\n }\r\n\r\n public closeDropdown() : void {\r\n this.showHamburgerDropdown = false;\r\n }\r\n\r\n public logoutUser(): void {\r\n this.signOutActions.logout();\r\n }\r\n\r\n private cacheMenuExpansion(): void {\r\n this.$cookies.put(\"user.menuExpanded\", this.menuExpanded.toString());\r\n }\r\n\r\n public toggleNotifications(): void {\r\n if(this.showNotifications){\r\n this.NotificationsEvents.userIntents.closeNotificationsList.onNext(null);\r\n return\r\n }\r\n this.NotificationsEvents.userIntents.openNotificationList.onNext(null);\r\n }\r\n\r\n private showNotificationsList(): void {\r\n this.NotificationsEvents.userIntents.openNotificationList.onNext(null);\r\n }\r\n\r\n private hideNotifications(): void {\r\n this.NotificationsEvents.userIntents.closeNotificationsList.onNext(null);\r\n }\r\n\r\n private showNotificationsSection() :void {\r\n this.showNotifications = !this.showNotifications;\r\n }\r\n\r\n public togglePopoutCard(): void {\r\n if (this.showPopoutCard) {\r\n this.closePopout();\r\n } else {\r\n this.openPopout();\r\n }\r\n }\r\n\r\n public openPopout(): void {\r\n this.showPopoutCard = true;\r\n }\r\n\r\n public closePopout(): void {\r\n this.showPopoutCard = false;\r\n }\r\n \r\n private setViewState(): void {\r\n this.showHamburgerDropdown = false;\r\n this.showPopoutCard = false;\r\n }\r\n\r\n private initSignedInUserDateSubscription(): void {\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject\r\n .safeApply(this.$scope, (data: Models.ISignedInUser) => {\r\n this.person = data;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private initNotificationStateSubscription(): void {\r\n this.subscriptions.push(\r\n this.NotificationsStateUpdates.safeApply(this.$scope, (state: Core.State.INotificationsState) => {\r\n this.notifications = state.notifications;\r\n this.newNotificationsTotal = state.unreadNotificationCount;\r\n this.showNotifications = state.isNotificationsListOpen;\r\n this.unreadNotificationIDs = state.getUnreadNotificationIds();\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private initLoadingStateSubscription(): void {\r\n this.subscriptions.push(\r\n this.LoadingStateUpdates.safeApply(this.$scope, (state: Sonovate.Core.State.LoadingState) => {\r\n this.showLoadingScreen = state.showLoadingScreen;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private initMenuTextSubscription(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .interpolate([\"menu\", \"general\", \"migration\"], () => {\r\n return {\r\n migrationDate: this.convertDateToReadable(new Date(this.person.migrationDate!))\r\n };\r\n })\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n if (data.menu && data.general && data.migration) {\r\n this.text = R.mergeAll([\r\n data.menu,\r\n data.general,\r\n data.migration,\r\n ]);\r\n }\r\n })\r\n .subscribe()\r\n )\r\n }\r\n\r\n private isMobileApp(): boolean {\r\n return this.$stateParams['mode'] === \"mobileApp\";\r\n }\r\n\r\n private userHasMigrationDate(): boolean {\r\n const validUserTypes = ['Candidate', 'Client'];\r\n return validUserTypes.indexOf(this.person.userType) !== -1 && this.person.migrationDate != undefined;\r\n }\r\n\r\n private userMigrationDateIsInFuture(): boolean | undefined {\r\n if (this.person.migrationDate != undefined)\r\n return new Date(this.person.migrationDate).getTime() > Date.now();\r\n }\r\n\r\n private goToTimeAndFund() {\r\n window.location.href = this.TIME_AND_FUND_APP_URL\r\n }\r\n\r\n private convertDateToReadable(date: Date): string {\r\n const formatter = new Intl.DateTimeFormat('en', { month: 'long', day: '2-digit' }); \r\n let [{ value: month },,{ value: day }] = (formatter as any).formatToParts(date);\r\n day = day + (day.endsWith('1') ? 'st' : day.endsWith('2') ? 'nd' : day.endsWith('3') ? 'rd' : 'th');\r\n return `${day} ${month}`;\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snMenu\",\r\n function snMenu(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snMenuController,\r\n controllerAs: \"vm\",\r\n transclude: true,\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/viewDirectives/snMenu/snMenuDirective.html',\r\n scope: {}\r\n };\r\n }\r\n );\r\n}","/// \r\nmodule Sonovate.Core {\r\n\r\n class OrganisationBankAccountForm extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"$state\",\r\n \"currencyStore\",\r\n \"OrganisationBankAccountEvents\",\r\n \"OrganisationAddBankAccountFormState\",\r\n \"OrganisationAddBankAccountFormStateUpdates\",\r\n \"localiser\"\r\n ];\r\n\r\n bankAccount: Models.IBankAccount;\r\n currencyList: ng.ui.IType;\r\n bankDetailsAreShowing: boolean;\r\n errorMessage: string;\r\n isEditing: boolean;\r\n formErrors: State.IOrganisationAddBankAccountFormErrors;\r\n \r\n localised: IDictionary = {};\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected currencyStore: any,\r\n protected OrganisationBankAccountEvents: Events.IOrganisationBankAccountEvents,\r\n protected OrganisationAddBankAccountFormState: State.IOrganisationAddBankAccountFormState,\r\n protected OrganisationAddBankAccountFormStateUpdates: Rx.BehaviorSubject,\r\n protected localiser: ILocaliserService\r\n ) {\r\n super($scope);\r\n\r\n this.errorMessage = \"\";\r\n this.formErrors = {\r\n country: \"\",\r\n baseCurrency: \"\",\r\n accountName: \"\",\r\n accountNumber: \"\",\r\n sortCode: \"\",\r\n bankBranchName: \"\"\r\n };\r\n this.isEditing = false;\r\n this.localised = {};\r\n this.bankDetailsAreShowing = false;\r\n this.bankAccount = {};\r\n\r\n this.setCurrenciesOnCurrencyStoreUpdates();\r\n this.setViewOnStateUpdates();\r\n this.setLocalisedTextWhenRetrieved();\r\n this.closeOnSubmissionSuccess();\r\n }\r\n\r\n public submit(): void {\r\n if (this.isEditing) {\r\n this.updateBankAccount();\r\n } else {\r\n this.addBankAccount();\r\n }\r\n }\r\n\r\n private addBankAccount(): void { \r\n this.OrganisationBankAccountEvents.userIntents.addBankAccount.onNext({\r\n isValid: this.OrganisationAddBankAccountFormState.formIsReadyForSubmission(),\r\n ownerId: this.OrganisationAddBankAccountFormState.organisationId,\r\n bankAccount: this.OrganisationAddBankAccountFormState.bankAccount\r\n });\r\n }\r\n\r\n private updateBankAccount(): void {\r\n this.OrganisationBankAccountEvents.userIntents.updateBankAccount.onNext({\r\n isValid: this.OrganisationAddBankAccountFormState.formIsReadyForSubmission(),\r\n ownerId: this.OrganisationAddBankAccountFormState.organisationId,\r\n bankAccount: this.OrganisationAddBankAccountFormState.bankAccount\r\n });\r\n }\r\n\r\n public close(): void {\r\n this.OrganisationBankAccountEvents.userIntents.resetBankAccount.onNext(null);\r\n this.$state.go(`${this.$state.current.parent}`);\r\n }\r\n\r\n public setCountry(item:Models.IDropdownItem): void {\r\n this.OrganisationBankAccountEvents.userIntents.setCountry.onNext(item.value);\r\n }\r\n\r\n public setCurrency(item:Models.IDropdownItem): void {\r\n this.OrganisationBankAccountEvents.userIntents.setCurrency.onNext(item.value);\r\n }\r\n\r\n public setAccountName(accountName:string): void {\r\n this.OrganisationBankAccountEvents.userIntents.setAccountName.onNext(accountName);\r\n }\r\n\r\n public setAccountNumber(accountNumber:string): void {\r\n this.OrganisationBankAccountEvents.userIntents.setAccountNumber.onNext(accountNumber);\r\n }\r\n\r\n public setSortCode(sortCode:string): void {\r\n this.OrganisationBankAccountEvents.userIntents.setSortCode.onNext(sortCode);\r\n }\r\n\r\n public setBankBranchName(bankBranchName:string): void {\r\n this.OrganisationBankAccountEvents.userIntents.setBankBranchName.onNext(bankBranchName);\r\n }\r\n\r\n public setIban(iban:string): void { \r\n this.OrganisationBankAccountEvents.userIntents.setIban.onNext(iban);\r\n }\r\n \r\n public setBic(bic:string): void { \r\n this.OrganisationBankAccountEvents.userIntents.setBic.onNext(bic);\r\n } \r\n\r\n public setConfidentialFactoring(checked:boolean): void {\r\n this.OrganisationBankAccountEvents.userIntents.setConfidentialFactoring.onNext(checked);\r\n }\r\n\r\n public showBankDetails(): void {\r\n this.bankDetailsAreShowing = true;\r\n }\r\n\r\n private setCurrenciesOnCurrencyStoreUpdates(): void {\r\n this.subscriptions.push(\r\n this.currencyStore.safeApply(this.$scope, (state: any) => {\r\n this.currencyList = state.currencies;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private setViewOnStateUpdates(): void {\r\n this.subscriptions.push(\r\n this.OrganisationAddBankAccountFormStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.setFormErrors(state.formErrors);\r\n this.errorMessage = state.errorMessage;\r\n this.isEditing = state.isEditing;\r\n this.bankAccount = state.bankAccount;\r\n this.bankDetailsAreShowing = state.bankDetailsAreShowing;\r\n })\r\n .subscribe()\r\n )\r\n }\r\n\r\n private setFormErrors(formErrors): void {\r\n R.mapObjIndexed((hasError, fieldName) => {\r\n this.formErrors[fieldName] = hasError ? this.localised[\"RequiredField\"] : null;\r\n }, formErrors)\r\n }\r\n\r\n public dissmissErrorMessage(): void {\r\n this.OrganisationBankAccountEvents.userIntents.dismissErrorMessage.onNext(null);\r\n }\r\n\r\n private closeOnSubmissionSuccess(): void {\r\n this.subscriptions.push(\r\n this.OrganisationBankAccountEvents.httpResults.addBankAccountSuccess\r\n .safeApply(this.$scope, () => this.close())\r\n .subscribe()\r\n );\r\n }\r\n\r\n private setLocalisedTextWhenRetrieved(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"bankaccount\", \"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n if (data.bankaccount && data.general) {\r\n this.localised = R.merge(\r\n data.bankaccount,\r\n data.general\r\n );\r\n } \r\n }).subscribe()\r\n );\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snOrganisationBankAccountForm\",\r\n (): ng.IDirective => {\r\n return {\r\n restrict: \"E\",\r\n controller: OrganisationBankAccountForm,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/viewDirectives/snOrganisationBankAccountForm/snOrganisationBankAccountFormViewDirective.html',\r\n scope: {}\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snOrganisationOptionsPopoutController extends Core.BaseController {\r\n\r\n static $inject = [\"$scope\", \"localiser\", \"$state\", \"OrganisationOptionsDropdownStateUpdates\"];\r\n snId: number;\r\n localised: IDictionary = {};\r\n snOnFlagClick: any;\r\n permissions: string[];\r\n organisation: Models.IOrganisation;\r\n loading: boolean;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected $state: ng.ui.IStateService,\r\n protected OrganisationOptionsDropdownStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope);\r\n this.subscribeToOptionText();\r\n this.initOrganisationDropdownSubscription();\r\n }\r\n \r\n hasPermission (permission) {\r\n return this.permissions.indexOf(permission) > -1;\r\n }\r\n\r\n public verify() : void {\r\n this.$state.go(\r\n `${this.$state.current.name}.modals`,\r\n {modal: \"verify-organisation\", id: this.snId}\r\n );\r\n }\r\n\r\n public reject() : void {\r\n this.$state.go(\r\n `${this.$state.current.name}.modals`,\r\n {modal: \"reject-organisation\", id: this.snId}\r\n );\r\n }\r\n \r\n private initOrganisationDropdownSubscription () {\r\n this.OrganisationOptionsDropdownStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.permissions = state.permissions;\r\n this.organisation = state.organisation;\r\n this.loading = state.loading;\r\n })\r\n .subscribe();\r\n }\r\n\r\n\r\n public flag() : void {\r\n this.$state.go(\r\n `${this.$state.current.name}.modals`,\r\n {modal: \"organisation-flag\", id: this.snId}\r\n );\r\n } \r\n\r\n\r\n private subscribeToOptionText() : void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data.general;\r\n }).subscribe()\r\n )\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snOrganisationOptionsPopout\",\r\n function snOrganisationOptionsPopout(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snOrganisationOptionsPopoutController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/viewDirectives/snOrganisationOptionsPopout/snOrganisationOptionsPopoutDirective.html',\r\n scope: {\r\n snId: \"@\",\r\n snOnFlagClick:\"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snPeopleSearchController extends BaseController {\r\n\r\n static $inject = [\r\n \"$scope\", \r\n \"$state\",\r\n \"localiser\",\r\n \"PeopleSearchEvents\",\r\n \"PeopleSearchStateUpdates\",\r\n \"$stateParams\",\r\n \"ScrollCalculatorService\",\r\n \"PersonProfileEvents\",\r\n \"AddPersonEvents\",\r\n \"AddPersonStateUpdates\"\r\n ];\r\n\r\n searchQuery: string;\r\n people: Models.IPerson[];\r\n localised: IDictionary = {};\r\n selectedStatus: string;\r\n showNoResultsFeedback: boolean = false;\r\n\t\tshowNoQueryResultsFeedback: boolean = false;\r\n showAddUserSuccessFeedback: boolean;\r\n addUserFeedbackForUserWithEmaiL: string;\r\n totalResults: number;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected localiser: ILocaliserService,\r\n protected PeopleSearchEvents: Events.PeopleSearchEvents,\r\n protected PeopleSearchStateUpdates: Rx.BehaviorSubject,\r\n protected $stateParams: ng.ui.IStateParamsService,\r\n protected ScrollCalculatorService: IScrollCalculatorService ,\r\n protected PersonProfileEvents: Core.Events.PersonProfileEvents,\r\n protected AddPersonEvents: Core.Events.AddPersonEvents,\r\n protected AddPersonStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope);\r\n this.initSearchStateSubscription();\r\n this.initAddPersonStateSubscription();\r\n this.initScrollCalculatorSubscription();\r\n this.initLocaliserSubscription();\r\n }\r\n\r\n typeInSearchInput(text: string) {\r\n this.PeopleSearchEvents.userIntents.typeInSearchInput.onNext(text);\r\n }\r\n\r\n searchOnInputEnter() {\r\n this.PeopleSearchEvents.userIntents.pressEnterOnSearchInput.onNext(null);\r\n }\r\n \r\n searchOnInputClickIcon() {\r\n this.PeopleSearchEvents.userIntents.pressSearchInputIcon.onNext(null);\r\n }\r\n\r\n onStatusChange(value): void {\r\n this.PeopleSearchEvents.userIntents.changeStatusFilter.onNext(value);\r\n }\r\n\r\n goToPersonProfile(person: Models.IPerson) {\r\n this.PersonProfileEvents.userIntents.clearState.onNext(null);\r\n this.$state.go(\"sonovate.PersonSettings\", {personSettingsId: person.id});\r\n }\r\n\r\n suspendUser(id: number) {\r\n this.PeopleSearchEvents.userIntents.suspendUser.onNext(id);\r\n }\r\n \r\n unsuspendUser(id: number){\r\n this.PeopleSearchEvents.userIntents.unSuspendUser.onNext(id);\r\n }\r\n\r\n resendInvite(id: number){\r\n this.PeopleSearchEvents.userIntents.resendInvite.onNext(id);\r\n }\r\n\r\n openAddPersonModal() {\r\n this.AddPersonEvents.userIntents.userOpenedAddUserModal.onNext(null);\r\n }\r\n\r\n closeAddPersonModal() {\r\n this.AddPersonEvents.userIntents.userClosedAddUserModal.onNext(null);\r\n }\r\n\r\n private initAddPersonStateSubscription() {\r\n this.subscriptions.push(\r\n this.AddPersonStateUpdates\r\n .safeApply(this.$scope, (state: Core.State.AddPersonState) => {\r\n this.showAddUserSuccessFeedback = state.isAddPersonSuccessFeedbackShowing;\r\n this.addUserFeedbackForUserWithEmaiL = state.emailAddress;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private initSearchStateSubscription() {\r\n this.subscriptions.push(\r\n this.PeopleSearchStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.searchQuery = state.getSearchQuery();\r\n this.people = state.collection;\r\n this.selectedStatus = state.getStatus();\r\n this.showNoResultsFeedback = state.showNoResultsFeedback;\r\n this.showNoQueryResultsFeedback = state.showNoQueryResultsFeedback;\r\n this.totalResults = state.totalResults;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private initScrollCalculatorSubscription () {\r\n\t\t\tthis.subscriptions.push(\r\n\t\t\t\tthis.ScrollCalculatorService\r\n\t\t\t\t\t.getWindowScrollObservableForLazyLoading()\r\n\t\t\t\t\t.subscribe(() => this.PeopleSearchEvents.userIntents.searchForMorePeople.onNext(null))\r\n\t\t\t)\r\n\t\t}\r\n\r\n private initLocaliserSubscription(): void {\r\n this.subscriptions.push(\r\n this.localiser.interpolate([\"general\"], () => {\r\n return {\r\n emailAddress: this.addUserFeedbackForUserWithEmaiL,\r\n }\r\n })\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data.general;\r\n }).subscribe()\r\n )\r\n }\r\n }\r\n\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snPeopleSearch\",\r\n function snPeopleSearch(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snPeopleSearchController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/viewDirectives/snPeopleSearch/snPeopleSearchViewDirective.html',\r\n scope: {}\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n\tclass ProposalFeesViewDirective extends Core.BaseController {\r\n\r\n\t\tstatic $inject = [\r\n \"$scope\", \r\n \"localiser\", \r\n \"$state\", \r\n \"currencyStore\", \r\n \"ProposalStateUpdates\", \r\n \"ProposalEvents\"\r\n ];\r\n\r\n\t\tprivate currencyList: any;\r\n\t\tprivate tariffs: Models.ITieredTariffPlan[];\r\n\t\tprivate defaultPlan: any;\r\n private locked: boolean; \r\n private isComplete: boolean;\r\n private baseTariff: Models.ITieredTariffPlan;\r\n\r\n\t\tconstructor(\r\n\t\t\tprotected $scope: ng.IScope,\r\n\t\t\tprotected localiser: ILocaliserService,\r\n\t\t\tprotected $state: ng.ui.IStateService,\r\n\t\t\tprotected currencyStore: any,\r\n protected ProposalStateUpdates: Rx.BehaviorSubject,\r\n protected proposalEvents: Sonovate.Core.Events.IProposalEvents\r\n\t\t) {\r\n\t\t\tsuper($scope);\r\n this.locked = false;\r\n this.isComplete = false;\r\n this.tariffs = [];\r\n this.setupSubscriptions();\r\n\t\t}\t\r\n \r\n public setupSubscriptions(): void {\r\n this.subscriptions.push(\t\t\r\n this.ProposalStateUpdates.safeApply(this.$scope, (state: Core.State.IProposalState) => {\r\n this.isComplete = state.stepsComplete.feeRatesChosen;\r\n if (!R.isNil(state.proposal)) {\r\n this.tariffs = state.proposal.tariffs;\r\n this.baseTariff = state.proposal.baseTariff;\r\n this.locked = state.locked;\r\n }\r\n }).subscribe()\r\n ); \r\n }\r\n\r\n public tarrifPlansAreSet(): boolean {\r\n return !R.isNil(this.tariffs) && !R.isEmpty(this.tariffs);\r\n }\r\n\r\n public changeFlatRate(item, rate) {\r\n this.proposalEvents.userIntents.changeTariffFlatRate.onNext({currencyIndex:item, rate:rate});\r\n }\r\n\t\t\r\n public changeRate(item, rate) {\r\n\t\t\tthis.proposalEvents.userIntents.changeCurrencyRate.onNext({\r\n currencyIndex:item, \r\n rateName:rate\r\n });\r\n\t\t}\r\n\t\t\r\n public setFrequency(item: number, frequency: any) {\r\n\t\t\tthis.proposalEvents.userIntents.changeTieredRateFrequency.onNext({currencyIndex:item, tieredRate:frequency});\r\n\t\t}\r\n \r\n public deleteTier(item: number, tier: number) {\r\n this.proposalEvents.userIntents.removeCurrencyTier.onNext({currencyIndex:item, tierIndex:tier});\r\n\t\t}\r\n \r\n public addTier(item: Models.ITieredTariffPlan, tier: Models.ITariffPlanFeeModel) : void {\r\n this.proposalEvents.userIntents.addCurrencyTier.onNext({currencyIndex:item.index, tier:tier});\r\n }\r\n \r\n public changeCurrency(tariff: Models.ITieredTariffPlan) {\r\n this.proposalEvents.userIntents.changeCurrency.onNext({ \r\n currencyIndex: tariff.index, \r\n currencyCode: tariff.currencyCode \r\n });\r\n }\r\n\t\t\r\n public removeItem(item: Models.ITieredTariffPlan): void {\r\n this.proposalEvents.userIntents.removeCurrency.onNext(item.index);\r\n\t\t}\r\n\t\t\r\n public updateState(item: number, newState: any): void {\r\n this.proposalEvents.userIntents.changeState.onNext({ item: item, newState: newState });\r\n\t\t}\r\n\r\n\t\tpublic addCurrency(): void {\r\n this.proposalEvents.userIntents.addCurrency.onNext(null);\r\n\t\t}\r\n\r\n public updateTariffType(item, type): void {\r\n this.proposalEvents.userIntents.updateTariffType.onNext({ item: item, newType: type });\r\n } \r\n\r\n //BASE TARIFF EVENTS\r\n public changeFlatRateBaseTariff(item, rate) {\r\n this.proposalEvents.userIntents.changeTariffFlatRate.onNext({currencyIndex:item, rate:rate});\r\n }\r\n\t\t\r\n public changeRateBaseTariff(item, rate) {\r\n\t\t\tthis.proposalEvents.userIntents.changeCurrencyRate.onNext({\r\n currencyIndex:item.index, \r\n rateName:rate\r\n });\r\n\t\t}\r\n\r\n public updateTariffTypeBaseTariff(item, type): void {\r\n\t\t\tthis.proposalEvents.userIntents.updateTariffTypeBaseTariff.onNext({item:item.index, newType:type})\r\n }\r\n\t\t\r\n public setFrequencyBaseTariff(item: number, frequency: any) {\r\n\t\t\tthis.proposalEvents.userIntents.changeTieredRateFrequencyBaseTariff.onNext({currencyIndex:item, tieredRate:frequency});\r\n\t\t}\r\n \r\n public deleteTierBaseTariff(item: number, tier: number) {\r\n this.proposalEvents.userIntents.removeCurrencyTierBaseTariff.onNext({currencyIndex:item, tierIndex:tier});\r\n\t\t}\r\n \r\n public addTierBaseTariff(item: Models.ITieredTariffPlan, tier: Models.ITariffPlanFeeModel) : void {\r\n this.proposalEvents.userIntents.addCurrencyTierBaseTariff.onNext({currencyIndex:item.index, tier:tier});\r\n }\r\n \r\n public changeCurrencyBaseTariff(tariff: Models.ITieredTariffPlan) {\r\n this.proposalEvents.userIntents.changeCurrencyBaseTariff.onNext({\r\n currencyIndex: tariff.index, \r\n currencyCode: tariff.currencyCode \r\n });\r\n }\r\n\t\t\r\n public removeItemBaseTariff(item: Models.ITieredTariffPlan): void {\r\n this.proposalEvents.userIntents.removeCurrency.onNext(item.index);\r\n\t\t}\r\n\t\t\r\n\t\tpublic addCurrencyBaseTariff(): void {\r\n this.proposalEvents.userIntents.addCurrency.onNext(null);\r\n\t\t}\r\n\r\n public updateStateBaseTariff(item: number, newState: any): void {\r\n this.proposalEvents.userIntents.changeStateBaseTariff.onNext({ item: item, newState: newState });\r\n\t\t}\r\n\t}\r\n\r\n\tangular.module(\"sonovate.core\")\r\n\t\t.directive(\r\n\t\t\"snProposalFees\",\r\n\t\tfunction snPersonOptionsPopout(): ng.IDirective {\r\n\t\t\treturn {\r\n\t\t\t\trestrict: \"E\",\r\n\t\t\t\tcontroller: ProposalFeesViewDirective,\r\n\t\t\t\tcontrollerAs: \"vm\",\r\n\t\t\t\treplace: false,\r\n\t\t\t\tbindToController: true,\r\n\t\t\t\ttemplateUrl: 'core/viewDirectives/snProposalFeesViewDirective/snProposalFeesViewDirective.html',\r\n\t\t\t\tscope: {}\r\n\t\t\t};\r\n\t\t}\r\n\t);\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snProposalStatusDropdownController extends FilterStatusDropdownBaseClass{\r\n \r\n localisedText: IDictionary = {};\r\n statuses: Models.IStatusItem[] = [];\r\n snOnChangeStatus: Function;\r\n snSelectedStatus: string;\r\n selectedStatus: Models.IStatusItem;\r\n \r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"ProposalStatusStateUpdates\",\r\n \"AgreementStatusEvents\"\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected ProposalStatusStateUpdates: Rx.BehaviorSubject,\r\n protected AgreementStatusEvents: Events.AgreementStatusEvents\r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n this.getStatuses();\r\n this.setDropdownItemsWhenProposalsStatusStateUpdates();\r\n\r\n this.$scope.$watch('vm.snSelectedStatus', () => {\r\n this.setSelectedStatus();\r\n });\r\n }\r\n\r\n changeStatus(value: Models.IStatusItem): void {\r\n this.snOnChangeStatus({status: value.id});\r\n }\r\n\r\n mapperFunction (proposalStatus: Models.IStatusItem): Models.IDropdownItem {\r\n return {\r\n value: proposalStatus.id,\r\n text: proposalStatus.text,\r\n icon: proposalStatus.icon,\r\n color: proposalStatus.color\r\n };\r\n } \r\n\r\n private setSelectedStatus () {\r\n if (! this.snSelectedStatus && this.statuses.length) {\r\n this.selectedStatus = this.statuses[0];\r\n return;\r\n }\r\n\r\n this.statuses.forEach((status) => {\r\n if (status.id === this.snSelectedStatus) {\r\n this.selectedStatus = status;\r\n }\r\n });\r\n }\r\n\r\n private getStatuses(): void {\r\n this.AgreementStatusEvents.userIntents.getAgreementStatuses.onNext(null);\r\n\t }\r\n\r\n private setDropdownItemsWhenProposalsStatusStateUpdates(): void {\r\n this.subscriptions.push(\r\n this.ProposalStatusStateUpdates\r\n .safeApply(this.$scope, (state: Core.State.ReferenceDataState.ProposalStatusState) => {\r\n this.statuses = state.statuses; \r\n this.addAllToStatuses();\r\n this.setSelectedStatus();\r\n }).subscribe()\r\n )\r\n }\r\n\r\n private addAllToStatuses () {\r\n this.statuses = R.concat([{\r\n id: '',\r\n text: this.localisedText['AllStatuses'],\r\n color: 'splash',\r\n icon: 'sn-ico-circle'\r\n }], this.statuses);\r\n }\r\n\r\n private localiseAllStatus () {\r\n if (this.statuses.length) {\r\n this.statuses[0].text = this.localisedText['AllStatuses'];\r\n }\r\n }\r\n \r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = data.general;\r\n this.localiseAllStatus();\r\n }).subscribe()\r\n )\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snProposalStatusDropdown\",\r\n function snProposalStatusDropdown(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snProposalStatusDropdownController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/viewDirectives/snProposalStatusDropdown/snProposalStatusDropdownDirective.html',\r\n scope: {\r\n snModel: \"=\",\r\n snSelectedStatus: \"=\",\r\n snOnChangeStatus: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n\tclass ProposalTypeViewDirective extends Core.BaseController {\r\n\r\n\t\tstatic $inject = [\r\n \"$scope\", \r\n \"localiser\", \r\n \"$state\", \r\n \"currencyStore\", \r\n \"ProposalStateUpdates\", \r\n \"ProposalEvents\"\r\n ];\r\n \r\n\t\tsnId: number;\r\n\t\tsnPerson: any;\r\n\t\tcurrencyList: any;\r\n proposalType: Sonovate.Enums.AgreementType;\r\n\t\tdefaultPlan: any;\r\n locked: boolean;\r\n isComplete: boolean;\r\n localisedText: IDictionary = {};\r\n radioItems: Models.IRadioItem[];\r\n \r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected $state: ng.ui.IStateService,\r\n protected currencyStore: any,\r\n protected ProposalStateUpdates: Rx.BehaviorSubject,\r\n protected ProposalEvents: Sonovate.Core.Events.IProposalEvents\r\n ) {\r\n super($scope);\r\n\r\n this.radioItems = [\r\n {\r\n label: \"Invoice Factoring\",\r\n value: \"InvoiceFactoring\"\r\n },\r\n {\r\n label: \"Confidential Factoring\",\r\n value: \"ConfidentialFactoring\"\r\n }\r\n ];\r\n\r\n this.isComplete = false;\r\n this.proposalType = \"InvoiceFactoring\";\r\n this.initProposalStateUpdatesSubscription();\r\n this.initLocaliserSubscription();\r\n }\r\n\r\n public initProposalStateUpdatesSubscription(): void {\r\n this.subscriptions.push(\r\n this.ProposalStateUpdates.safeApply(this.$scope, (state: Core.State.IProposalState) => {\r\n this.proposalType = state.proposal.fundingModel;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private initLocaliserSubscription() : void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"proposal\", \"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = R.mergeAll([\r\n data.proposal,\r\n data.general\r\n ]);\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private updateProposalFundingModel(item): void {\r\n this.ProposalEvents.userIntents.changeFundingModel.onNext(item.value);\r\n }\r\n\t}\r\n\r\n\tangular.module(\"sonovate.core\")\r\n\t\t.directive(\r\n\t\t\"snProposalType\",\r\n\t\tfunction snProposalType(): ng.IDirective {\r\n\t\t\treturn {\r\n\t\t\t\trestrict: \"E\",\r\n\t\t\t\tcontroller: ProposalTypeViewDirective,\r\n\t\t\t\tcontrollerAs: \"vm\",\r\n\t\t\t\treplace: false,\r\n\t\t\t\tbindToController: true,\r\n\t\t\t\ttemplateUrl: 'core/viewDirectives/snProposalTypeViewDirective/snProposalTypeViewDirective.html',\r\n\t\t\t\tscope: {\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\t);\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n class snSelectOrganisationAddressListController extends BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"organisationAddressesActions\",\r\n \"organisationAddressesStore\"\r\n ];\r\n localised: IDictionary = {};\r\n snOrganisationId: number;\r\n addresses: Object[];\r\n searchText: string;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected organisationAddressesActions: any,\r\n protected organisationAddressesStore: any\r\n ) {\r\n super($scope);\r\n this.initLocalisationSubscription();\r\n this.initAddressStoreSubscription();\r\n this.organisationAddressesActions.requestSubjects.onGetAddresses.onNext(this.snOrganisationId);\r\n }\r\n\r\n private initAddressStoreSubscription() {\r\n this.subscriptions.push(\r\n this.organisationAddressesStore\r\n .addressesSubject\r\n .safeApply(this.$scope, (state) => {\r\n this.addresses = state.addresses;\r\n })\r\n .subscribe()\r\n )\r\n }\r\n\r\n private initLocalisationSubscription () {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"assignments\", \"general\"])\r\n .safeApply(this.$scope, (state) => {\r\n this.localised = state;\r\n })\r\n .subscribe()\r\n );\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snSelectOrganisationAddressList\",\r\n function snSelectOrganisationAddressList(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snSelectOrganisationAddressListController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/viewDirectives/snSelectOrganisationAddressList/snSelectOrganisationAddressListDirective.html',\r\n scope: {\r\n snOrganisationId: \"@\",\r\n snOnSelect: \"&\",\r\n snOnClickAddLocation: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snTermController extends BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"$state\",\r\n \"localiser\",\r\n \"PdfViewerEvents\"\r\n ];\r\n\r\n openTab: Models.TermChoiceType;\r\n snOnSetUploadedTerm: (d: {term: File}) => void;\r\n snOnSetTemplateTerm: (d: {term: Models.ITermsTemplate}) => void;\r\n snOnRemoveUploadedTerm: () => void;\r\n snTemplateTermsModalName: string;\r\n snTemplatePreviewModalName: string;\r\n snPdfTerm: File;\r\n snTemplateTerm: Models.ITermsTemplate;\r\n localised: IDictionary = {};\r\n snPreviewPdf: Function;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected localiser: ILocaliserService,\r\n protected PdfViewerEvents: Core.Events.IPdfViewerEvents\r\n ) {\r\n super($scope);\r\n\r\n this.openTab = \"template\";\r\n this.setLocalisedTextWhenRetrieved();\r\n }\r\n\r\n public openUploadTab(): void {\r\n this.openTab = \"upload\";\r\n }\r\n\r\n public openUseTemplateTab(): void { \r\n this.openTab = \"template\";\r\n }\r\n\r\n public tabIsOpen(tabName:Models.TermChoiceType) : boolean {\r\n return tabName === this.openTab;\r\n }\r\n \r\n public termIsUploaded() : boolean {\r\n return !R.isNil(this.snPdfTerm);\r\n }\r\n\r\n public uploadTerm() : void {\r\n this.$scope['openFileUploadDialogue']();\r\n }\r\n\r\n public setUploadedTerm(uploadedTerms: File[]) : void {\r\n if (!R.isNil(uploadedTerms) && !R.isEmpty(uploadedTerms)) {\r\n this.snPdfTerm = uploadedTerms[0];\r\n this.snOnSetUploadedTerm({ term: this.snPdfTerm });\r\n }\r\n }\r\n\r\n public removeUploadedTerm() : void {\r\n this.snPdfTerm = null;\r\n this.snOnRemoveUploadedTerm();\r\n }\r\n\r\n \r\n public chooseTemplateTerm() : void {\r\n this.$state.go(`${this.$state.current.name}.modals`, { modal: this.snTemplateTermsModalName });\r\n }\r\n\r\n public selectTemplateTerm(term: Models.ITermsTemplate) : void {\r\n this.snTemplateTerm = term;\r\n this.snOnSetTemplateTerm({term: this.snTemplateTerm});\r\n }\r\n\r\n\r\n private setLocalisedTextWhenRetrieved(): void {\r\n this.subscriptions.push(\r\n this.localiser\r\n .get([\"terms\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data.terms;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n public getPdfUrl(): string {\r\n return (this.snTemplateTerm && this.snTemplateTerm.url) ? this.snTemplateTerm.url : null;\r\n }\r\n\r\n public previewPdf(): void {\r\n this.PdfViewerEvents.userIntents.setPdfUrl.onNext(this.getPdfUrl());\r\n this.snPreviewPdf();\r\n }\r\n }\r\n\r\n class snTermLink {\r\n constructor (scope: any, element: any) {\r\n scope.openFileUploadDialogue = () => {\r\n element.find(\".file-input\").click();\r\n }\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snTerm\",\r\n function snTerm(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snTermController,\r\n controllerAs: \"vm\",\r\n link: snTermLink,\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'core/viewDirectives/snTerm/snTermViewDirective.html',\r\n scope: {\r\n snAggreementId: \"@\",\r\n snTemplateTermsModalName: \"@\",\r\n snTemplatePreviewModalName: \"@\",\r\n snOnSetTemplateTerm: \"&\",\r\n snOnSetUploadedTerm: \"&\",\r\n snOnRemoveUploadedTerm: \"&\",\r\n snPdfTerm: \"=\",\r\n snTemplateTerm: \"=\",\r\n snPreviewPdf: \"&\",\r\n snPdfUrl: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snTimesheetsStatusDropdownController extends FilterStatusDropdownBaseClass{\r\n\r\n localisedText: IDictionary = {};\r\n timesheetStatuses: Models.ITimesheetStatus[] = [];\r\n snOnChangeStatus: Function;\r\n snSelectedStatus: string;\r\n selectedStatus: Models.ITimesheetStatus;\r\n private userType: string;\r\n \r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"TimesheetStatusesStateUpdates\",\r\n \"TimesheetStatusesEvents\",\r\n \"signedInUserStore\"\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected TimesheetStatusesStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetStatusesEvents: Sonovate.Core.Events.ITimesheetStatusesEvents,\r\n protected SignedInUserStore: Sonovate.ISignedInUserStore\r\n ) {\r\n super($scope);\r\n this.initSignedInUserStoreSubscription();\r\n this.getLocalisedText();\r\n this.getTimesheetStatuses();\r\n this.setDropdownItemsWhenTimesheetsStatusStateUpdates();\r\n\r\n this.$scope.$watch('vm.snSelectedStatus', () => {\r\n this.setSelectedStatus();\r\n });\r\n }\r\n\r\n changeStatus(value: Models.ITimesheetStatus): void {\r\n this.snOnChangeStatus({status: value.id});\r\n }\r\n\r\n mapperFunction (timesheetStatus: Models.ITimesheetStatus): Models.IDropdownItem {\r\n return {\r\n value: timesheetStatus.id,\r\n text: timesheetStatus.text,\r\n icon: timesheetStatus.displayIcon,\r\n color: timesheetStatus.displayColor\r\n };\r\n }\r\n\r\n private setSelectedStatus () {\r\n if (! this.snSelectedStatus && this.timesheetStatuses.length) {\r\n this.selectedStatus = this.timesheetStatuses[0];\r\n return;\r\n }\r\n\r\n this.timesheetStatuses.forEach((status) => {\r\n if (status.id === this.snSelectedStatus) {\r\n this.selectedStatus = status;\r\n }\r\n });\r\n }\r\n\r\n private initSignedInUserStoreSubscription () {\r\n this.SignedInUserStore.subject.subscribe((state) => {\r\n this.userType = state.userType;\r\n })\r\n }\r\n\r\n private getTimesheetStatuses(): void {\r\n this.TimesheetStatusesEvents.userIntents.getStatuses.onNext(this.userType);\r\n\t }\r\n\r\n private setDropdownItemsWhenTimesheetsStatusStateUpdates(): void {\r\n this.subscriptions.push(\r\n this.TimesheetStatusesStateUpdates\r\n .safeApply(this.$scope, (state: Core.State.ReferenceDataState.ITimesheetStatusesState) => {\r\n this.timesheetStatuses = state.timesheetStatuses;\r\n this.addAllToStatuses();\r\n this.setSelectedStatus();\r\n }).subscribe()\r\n )\r\n }\r\n\r\n private addAllToStatuses () {\r\n this.timesheetStatuses.unshift({\r\n id: '',\r\n text: this.localisedText['AllStatuses'],\r\n displayColor: 'splash',\r\n displayIcon: 'sn-ico-circle'\r\n });\r\n }\r\n\r\n private localiseAllStatus () {\r\n if (this.timesheetStatuses.length) {\r\n this.timesheetStatuses[0].text = this.localisedText['AllStatuses'];\r\n }\r\n }\r\n \r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = data.general;\r\n this.localiseAllStatus();\r\n }).subscribe()\r\n )\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snTimesheetsStatusDropdown\",\r\n function snTimesheetsStatusDropdown(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snTimesheetsStatusDropdownController,\r\n controllerAs: \"vm\",\r\n bindToController: true,\r\n templateUrl: 'core/viewDirectives/snTimesheetsStatusDropdown/snTimesheetsStatusDropdownDirective.html',\r\n scope: {\r\n snSelectedStatus: \"@\",\r\n snOnChangeStatus: \"&\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Invoices {\r\n\r\n\tclass InvoicesListingController extends Core.BaseController {\r\n\r\n invoices: Models.IInvoiceSearchResult[];\r\n\t\tquery: Sonovate.Core.Utils.SearchQuery;\r\n\t\tlocalisedText: {};\r\n\t\ttotalResults: number;\r\n\t\tshowNoResultsFeedback: boolean = false;\r\n\t\tshowNoQueryResultsFeedback: boolean = false;\r\n\t\tsignedInUser: Models.ISignedInUser;\r\n\r\n\t\tstatic $inject = [\r\n\t\t\t\"$scope\",\r\n\t\t\t\"InvoicesSearchEvents\",\r\n\t\t\t\"InvoicesSearchStateUpdates\",\r\n\t\t\t\"ScrollCalculatorService\",\r\n\t\t\t\"localiser\",\r\n\t\t\t\"signedInUserStore\"\r\n\t\t];\r\n\r\n\t\tconstructor(\r\n\t\t\tprotected $scope: ng.IScope,\r\n\t\t\tprotected InvoicesSearchEvents: Sonovate.Core.Events.IInvoicesSearchEvents,\r\n\t\t\tprotected InvoicesSearchStateUpdates: Rx.BehaviorSubject,\r\n\t\t\tprotected ScrollCalculatorService: Sonovate.IScrollCalculatorService,\r\n\t\t\tprotected localiser: ILocaliserService,\r\n\t\t\tprotected signedInUserStore: ISignedInUserStore\r\n\t\t) {\r\n\t\t\tsuper($scope);\r\n\t\t\tthis.query = new Sonovate.Core.Utils.SearchQuery();\r\n\r\n\t\t\tthis.search();\r\n\t\t\tthis.initInvoicesSearchStateSubscription();\r\n\t\t\tthis.initScrollCalculatorSubscription();\r\n\t\t\tthis.initLocalisationSubscription();\r\n\t\t\tthis.getSignedInUser();\r\n\t\t}\r\n\r\n\t\tsearch () {\r\n\t\t\tthis.query.offset = 0;\r\n\t\t\tthis.InvoicesSearchEvents.userIntents.searchInvoices.onNext(this.query);\r\n\t\t}\r\n\r\n\t\tloadMoreInvoices () {\r\n\t\t\tthis.query.offset++;\r\n\t\t\tthis.InvoicesSearchEvents.userIntents.loadMoreInvoices.onNext(this.query);\r\n\t\t}\r\n\r\n\t\tprivate getSignedInUser(): void {\r\n\t\t\tthis.subscriptions.push(\r\n\t\t\t\tthis.signedInUserStore.subject.subscribe(user => {\r\n\t\t\t\t\tthis.signedInUser = user;\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tprivate initInvoicesSearchStateSubscription () {\r\n\t\t\tthis.subscriptions.push(\r\n\t\t\t\tthis.InvoicesSearchStateUpdates\r\n\t\t\t\t\t.safeApply(this.$scope, (state) => {\r\n\t\t\t\t\t\tthis.invoices = state.collection;\r\n\t\t\t\t\t\tthis.totalResults = state.totalResults;\r\n\t\t\t\t\t\tthis.showNoResultsFeedback = state.showNoResultsFeedback;\r\n\t\t\t\t\t\tthis.showNoQueryResultsFeedback = state.showNoQueryResultsFeedback;\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.subscribe()\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tprivate initScrollCalculatorSubscription () {\r\n\t\t\tthis.subscriptions.push(\r\n\t\t\t\tthis.ScrollCalculatorService\r\n\t\t\t\t\t.getWindowScrollObservableForLazyLoading()\r\n\t\t\t\t\t.subscribe(() => {\r\n\t\t\t\t\t\tthis.loadMoreInvoices();\r\n\t\t\t\t\t})\r\n\t\t\t)\r\n\t\t}\r\n\r\n\t\tprivate initLocalisationSubscription () {\r\n\t\t\tlet invoices, Agency;\r\n\t\t\tthis.subscriptions.push(\r\n\t\t\t\tthis.localiser.get([\"general\"])\r\n\t\t\t\t.safeApply(this.$scope, (data: ILocalisationData) => {\r\n\t\t\t\t\tthis.localisedText = data.general;\r\n\t\t\t\t})\r\n\t\t\t\t.subscribe()\r\n\t\t\t)\r\n\t\t}\r\n\t}\r\n\r\n\tangular.module(\"sonovate.Invoices\")\r\n\t\t.directive(\r\n\t\t\"snInvoicesListing\",\r\n\t\tfunction InvoicesListings(): ng.IDirective {\r\n\t\t\treturn {\r\n\t\t\t\trestrict: \"E\",\r\n\t\t\t\tcontroller: InvoicesListingController,\r\n\t\t\t\tcontrollerAs: \"vm\",\r\n\t\t\t\treplace: false, \r\n\t\t\t\tbindToController: true,\r\n\t\t\t\ttemplateUrl: 'Invoices/viewDirectives/snInvoicesListingViewDirective/snInvoicesListingViewDirective.html',\r\n\t\t\t\tscope: {\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\t);\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class PersonLocalePreferencesController extends BaseController {\r\n\r\n static inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"PersonLocalePreferencesStateUpdates\",\r\n \"PersonLocalePreferencesEvents\",\r\n \"PersonSettingsProfileStateUpdates\",\r\n \"countriesDataStore\",\r\n \"signedInUserStore\",\r\n \"referenceDataActions\",\r\n \"TimeZonesStore\"\r\n\r\n ];\r\n localised: {};\r\n\r\n private showSaveButton: boolean;\r\n private userId: number;\r\n private countryCode: string;\r\n private timeZone: string;\r\n private saving: boolean;\r\n private loading: boolean;\r\n private showSuccess: boolean;\r\n private saved: boolean;\r\n private countries: Models.IDropdownItem[];\r\n private languageCode: string;\r\n private timeZones: Models.IDropdownItem[];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected PersonLocalePreferencesStateUpdates: Rx.BehaviorSubject,\r\n protected PersonLocalePreferencesEvents: Sonovate.Core.Events.PersonLocalePreferencesEvents,\r\n protected PersonSettingsProfileStateUpdates: Rx.BehaviorSubject,\r\n protected countriesDataStore: IReferenceDataStore,\r\n protected signedInUserStore: ISignedInUserStore,\r\n protected referenceDataActions: IReferenceDataActions,\r\n protected TimeZonesStore: ITimeZoneStore\r\n ) {\r\n super($scope);\r\n this.setLocalisedTextWhenRetrieved();\r\n this.setupLocalePreferencesSubscription();\r\n this.setupPersonSettingsProfileStateUpdates();\r\n this.getLocalePreferences();\r\n this.setupOnSignedInUserChange();\r\n this.setDropdownItemsOnCountryStoreUpdate();\r\n this.requestTimeZonesOnSignedInUserUpdates();\r\n this.setDropdownItemsOnTimeZoneUpdates();\r\n }\r\n\r\n private requestTimeZonesOnSignedInUserUpdates() : void {\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject.subscribe((data) => {\r\n this.referenceDataActions.requestSubjects.getTimeZones.onNext(data.languageCode);\r\n })\r\n );\r\n }\r\n\r\n private setDropdownItemsOnTimeZoneUpdates() : void {\r\n this.subscriptions.push(\r\n this.TimeZonesStore.subject\r\n .safeApply(this.$scope, (timezones) => {\r\n this.timeZones = timezones.map((timezone) => {\r\n return {\r\n text: timezone.text,\r\n value: timezone.id\r\n };\r\n });\r\n }).subscribe()\r\n );\r\n }\r\n\r\n\r\n private requestCountriesIfThereIsALanguageCode() : void {\r\n if (this.languageCode) {\r\n this.referenceDataActions.requestSubjects.getCountries.onNext(this.languageCode); \r\n }\r\n }\r\n\r\n private setLanguageCode() : void {\r\n if (this.signedInUserStore.state && this.signedInUserStore.state.languageCode) {\r\n this.languageCode = this.signedInUserStore.state.languageCode;\r\n }\r\n }\r\n \r\n private setupOnSignedInUserChange() : void {\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject\r\n .safeApply(this.$scope, (data) => {\r\n this.setLanguageCode();\r\n this.requestCountriesIfThereIsALanguageCode();\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private getLocalePreferences() {\r\n this.PersonLocalePreferencesEvents.userIntents.getLocalePreferences.onNext(this.userId);\r\n }\r\n\r\n private setupPersonSettingsProfileStateUpdates(){\r\n this.subscriptions.push( \r\n this.PersonSettingsProfileStateUpdates\r\n .safeApply(this.$scope, (state: State.PersonSettingsProfileState) => {\r\n this.userId = state.profile.id;\r\n })\r\n .subscribe())\r\n }\r\n\r\n private setDropdownItemsOnCountryStoreUpdate() : void {\r\n this.subscriptions.push(\r\n this.countriesDataStore.subject\r\n .safeApply(this.$scope, (countries: { id: string, name: string, text: string}[]) => {\r\n this.countries = countries.map(function(country) {\r\n return {\r\n icon: 'sn-flag sn-flag-' + country.id,\r\n text: country.text,\r\n value: country.id\r\n };\r\n });\r\n }).subscribe()\r\n )\r\n }\r\n\r\n private setupLocalePreferencesSubscription() {\r\n this.subscriptions.push( \r\n this.PersonLocalePreferencesStateUpdates\r\n .safeApply(this.$scope, (state: State.PersonLocalePreferencesState) => {\r\n this.showSaveButton = state.enableSaveButton;\r\n this.countryCode = angular.copy(state.selectedCountry);\r\n this.timeZone = angular.copy(state.selectedTimeZone);\r\n this.saving = state.saving;\r\n this.showSuccess = state.showSuccessMessage;\r\n this.saved = state.saved;\r\n })\r\n .subscribe())\r\n }\r\n\r\n private setLocalisedTextWhenRetrieved(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"assignments\", \"general\", \"personsettings\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n if (data.assignments && data.general) {\r\n this.localised = R.mergeAll(\r\n [\r\n data.assignments,\r\n data.general,\r\n data.personsettings\r\n ]\r\n );\r\n }\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n\r\n resetSavedState() : void {\r\n this.PersonLocalePreferencesEvents.userIntents.resetSavedState.onNext(null)\r\n }\r\n\r\n changeTimezone(timeZone: string) {\r\n this.PersonLocalePreferencesEvents.userIntents.updateTimeZoneSetting.onNext(timeZone)\r\n }\r\n\r\n changeCountry(country: string) {\r\n this.PersonLocalePreferencesEvents.userIntents.updateCountrySetting.onNext(country)\r\n }\r\n\r\n save() {\r\n this.PersonLocalePreferencesEvents.userIntents.saveLocalePreferences.onNext({\r\n userId: this.userId,\r\n countryCode: this.countryCode,\r\n timeZone: this.timeZone\r\n })\r\n }\r\n\r\n dismissSuccessMessage() {\r\n this.PersonLocalePreferencesEvents.userIntents.dismissSuccessMessage.onNext(null);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.PersonSettings\")\r\n .directive(\r\n \"snPersonLocalisationPreferences\",\r\n function PersonSettingsProfile(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: PersonLocalePreferencesController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: \"PersonSettings/viewDirectives/snPersonLocalePreferencesViewDirective/snPersonLocalePreferencesViewDirective.html\",\r\n scope: {}\r\n };\r\n }\r\n );\r\n}\r\n\r\n\r\n","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class PersonPhoneNumbersController extends BaseController {\r\n\r\n static inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"PersonSettingsProfileStateUpdates\",\r\n \"PeopleTransformers\"\r\n ];\r\n localised: {};\r\n phoneNumbers: Models.IPersonSettingsMergedPhoneNumber[];\r\n isViewDirectiveShowing: boolean;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected PersonSettingsProfileStateUpdates: Rx.BehaviorSubject,\r\n protected PeopleTransformers: Sonovate.Core.Transformers.PeopleTransformers\r\n ) {\r\n super($scope);\r\n this.setLocalisedTextWhenRetrieved();\r\n this.setupPersonSettingsProfileStateUpdates();\r\n }\r\n \r\n\r\n private setupPersonSettingsProfileStateUpdates(){\r\n this.subscriptions.push( \r\n this.PersonSettingsProfileStateUpdates\r\n .safeApply(this.$scope, (state: State.PersonSettingsProfileState) => {\r\n this.phoneNumbers = this.PeopleTransformers.IPersonSettingsPhoneNumbers_IPersonSettingsMergedPhoneNumbers(state.profile.phoneNumbers);\r\n this.isViewDirectiveShowing = state.hasPhoneNumbers();\r\n })\r\n .subscribe()\r\n )\r\n }\r\n\r\n private setLocalisedTextWhenRetrieved(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"personsettings\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data.personsettings\r\n })\r\n .subscribe()\r\n );\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.PersonSettings\")\r\n .directive(\r\n \"snPersonPhoneNumbers\",\r\n function PersonSettingsProfile(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: PersonPhoneNumbersController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: \"PersonSettings/viewDirectives/snPersonPhoneNumbersViewDirective/snPersonPhoneNumbersViewDirective.html\",\r\n scope: {}\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class PersonSettingsChangePasswordController extends BaseController {\r\n\r\n static inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"PersonSettingsChangePasswordEvents\",\r\n \"PersonSettingsChangePasswordStateUpdates\",\r\n \"$stateParams\"\r\n ];\r\n localised: {};\r\n\r\n private oldPassword: string;\r\n private changePassword: string;\r\n private showOldPassword: boolean = false;\r\n private showChangePassword: boolean = false;\r\n private showError: boolean = false;\r\n private errorMessage: string;\r\n private showSuccess: boolean;\r\n private showSaveButton: boolean;\r\n private oldPasswordError: string;\r\n private newPasswordError: string;\r\n private saving: boolean;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected PersonSettingsChangePasswordEvents: Sonovate.Core.Events.PersonSettingsChangePasswordEvents,\r\n protected PersonSettingsChangePasswordStateUpdates: Rx.BehaviorSubject,\r\n protected $stateParams: ng.ui.IStateParamsService\r\n ) {\r\n super($scope);\r\n this.setLocalisedTextWhenRetrieved();\r\n this.setupChangePasswordSubscription();\r\n this.resetChangePasswordState();\r\n }\r\n\r\n private resetChangePasswordState() {\r\n //this.PersonSettingsChangePasswordEvents.userIntents.resetState.onNext(null);\r\n }\r\n\r\n private setupChangePasswordSubscription() {\r\n this.subscriptions.push( \r\n this.PersonSettingsChangePasswordStateUpdates\r\n .safeApply(this.$scope, (state: State.PersonSettingsChangePasswordState) => {\r\n this.oldPassword = angular.copy(state.oldPassword);\r\n this.changePassword = angular.copy(state.changePassword);\r\n this.showOldPassword = state.showOldPassword;\r\n this.showChangePassword = state.showChangePassword;\r\n this.showError = state.showErrorMessage;\r\n this.errorMessage = state.errorMessageText;\r\n this.showSuccess = state.showSuccessMessage;\r\n this.showSaveButton = state.enableSaveButton;\r\n this.oldPasswordError = state.errors.oldpassword;\r\n this.newPasswordError = state.errors.changePassword;\r\n this.saving = state.saving;\r\n })\r\n .subscribe())\r\n }\r\n\r\n private setLocalisedTextWhenRetrieved(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"assignments\", \"general\", \"changepassword\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n if (data.assignments && data.general && data.changepassword) {\r\n this.localised = R.mergeAll(\r\n [\r\n data.assignments,\r\n data.general,\r\n data.changepassword\r\n ]\r\n );\r\n }\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n\r\n toggleShowOldPassword() {\r\n this.PersonSettingsChangePasswordEvents.userIntents.toggleShowOldPassword.onNext(null);\r\n }\r\n\r\n toggleShowChangePassword() {\r\n this.PersonSettingsChangePasswordEvents.userIntents.toggleShowChangePassword.onNext(null);\r\n }\r\n\r\n changeChangePassword(passwordText: string) {\r\n this.PersonSettingsChangePasswordEvents.userIntents.updateChangePassword.onNext(passwordText);\r\n } \r\n\r\n changeOldPassword(passwordText: string) {\r\n this.PersonSettingsChangePasswordEvents.userIntents.updateOldPassword.onNext(passwordText);\r\n }\r\n\r\n sendChangePassword() {\r\n this.PersonSettingsChangePasswordEvents.userIntents.saveChangePassword.onNext({\r\n oldPassword: this.oldPassword,\r\n changePassword: this.changePassword,\r\n });\r\n }\r\n\r\n dismissError() {\r\n this.PersonSettingsChangePasswordEvents.userIntents.dismissErrorMessage.onNext(null);\r\n }\r\n\r\n dismissSuccessMessage() {\r\n this.PersonSettingsChangePasswordEvents.userIntents.dismissSuccessMessage.onNext(null);\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.PersonSettings\")\r\n .directive(\r\n \"snPersonSettingsChangePassword\",\r\n function PersonSettingsProfile(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: PersonSettingsChangePasswordController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: \"PersonSettings/viewDirectives/snPersonSettingsChangePasswordViewDirective/snPersonSettingsChangePasswordViewDirective.html\",\r\n scope: {}\r\n };\r\n }\r\n );\r\n}\r\n\r\n","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snPersonSettingsProfileHeaderController extends BaseController {\r\n\r\n static inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"PersonSettingsProfileStateUpdates\",\r\n \"PersonProfileEvents\",\r\n \"$state\",\r\n \"signedInUserStore\",\r\n \"DateService\"\r\n ];\r\n\r\n localised: {};\r\n\r\n private user: Models.IPersonProfile;\r\n private showEditMode: boolean;\r\n private emailText: string;\r\n private showOldPassword;\r\n private password: string;\r\n private saving: boolean;\r\n private showInfo: boolean;\r\n private currentUserId: number;\r\n changeEmailConfirmationStatus: string;\r\n showEmailChangeMessageBox: boolean;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected PersonSettingsProfileStateUpdates: Rx.BehaviorSubject,\r\n protected PersonProfileEvents: Events.PersonProfileEvents,\r\n protected $state: ng.ui.IStateService,\r\n protected signedInUserStore: ISignedInUserStore,\r\n protected DateService: Sonovate.Core.Utils.DateService\r\n ) {\r\n super($scope);\r\n this.setLocalisedTextWhenRetrieved();\r\n this.setupPersonSettingsProfileStateUpdates();\r\n this.setupSignedInUserSubscription();\r\n }\r\n\r\n private setupSignedInUserSubscription(){\r\n this.subscriptions.push( \r\n this.signedInUserStore.subject.subscribe(user => {\r\n this.currentUserId = user.personId;\r\n })\r\n )\r\n }\r\n\r\n private setupPersonSettingsProfileStateUpdates(){\r\n this.subscriptions.push( \r\n this.PersonSettingsProfileStateUpdates\r\n .safeApply(this.$scope, (state: State.PersonSettingsProfileState) => {\r\n this.user = state.profile;\r\n this.showEditMode = state.editEmailMode;\r\n this.emailText = state.emailToEdit;\r\n this.showOldPassword = state.showPassword;\r\n this.password = state.password;\r\n this.saving = state.saving;\r\n this.showInfo = state.enableInfoPanel;\r\n this.showEmailChangeMessageBox = state.showEmailChangeMessageBox;\r\n this.changeEmailConfirmationStatus = state.changeEmailConfirmationStatus;\r\n })\r\n .subscribe()\r\n )\r\n }\r\n\r\n private setLocalisedTextWhenRetrieved(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"assignments\", \"general\", \"personsettings\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n if (data.assignments && data.general) {\r\n this.localised = R.mergeAll(\r\n [\r\n data.assignments,\r\n data.general,\r\n data.personsettings\r\n ]\r\n );\r\n }\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n\r\n private getFormattedDate(date: string): string {\r\n return this.DateService.safeFormatString(date, \"DD/MM/YYYY\");\r\n }\r\n\r\n showEditEmail(): void {\r\n this.PersonProfileEvents.userIntents.showEditEmail.onNext(null);\r\n }\r\n\r\n hideEditEmail(): void {\r\n this.PersonProfileEvents.userIntents.hideEditEmail.onNext(null);\r\n }\r\n\r\n sendEmailForVerification() : void {\r\n this.PersonProfileEvents.userIntents.submitEmailForVerification.onNext(this.emailText);\r\n }\r\n\r\n typeEmail(emailText: string): void {\r\n this.PersonProfileEvents.userIntents.typeEmail.onNext(emailText);\r\n }\r\n\r\n typePassword(passwordText: string): void {\r\n this.PersonProfileEvents.userIntents.typePassword.onNext(passwordText);\r\n }\r\n\r\n toggleShowOldPassword(): void {\r\n this.PersonProfileEvents.userIntents.toggleShowPassword.onNext(null);\r\n }\r\n\r\n cancelUpdateEmail(): void {\r\n this.$state.go(\"^\");\r\n }\r\n\r\n submitChangeEmailRequest(): void {\r\n this.PersonProfileEvents.userIntents.submitEmailChangeRequest.onNext({\r\n newEmail: this.emailText,\r\n password: this.password\r\n });\r\n }\r\n\r\n showInfoPanel(): void {\r\n this.PersonProfileEvents.userIntents.showInfoPanel.onNext(null);\r\n }\r\n\r\n cancelEmailChange(): void {\r\n this.PersonProfileEvents.userIntents.cancelEmailChange.onNext(null);\r\n }\r\n\r\n resendInvite(): void {\r\n this.PersonProfileEvents.userIntents.resendEmail.onNext(null);\r\n }\r\n\r\n userProfilePictureChanged(photo: File): void {\r\n this.PersonProfileEvents.userIntents.uploadProfilePicture.onNext({\r\n File: photo,\r\n userId: this.user.id\r\n });\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.PersonSettings\")\r\n .directive(\r\n \"snPersonSettingsProfileHeader\",\r\n function PersonSettingsProfile(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snPersonSettingsProfileHeaderController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: \"PersonSettings/viewDirectives/snPersonSettingsProfileHeaderViewDirective/snPersonSettingsProfileHeaderViewDirective.html\",\r\n scope: {}\r\n };\r\n }\r\n );\r\n}\r\n\r\n\r\n","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class PersonTaxDetailsController extends BaseController {\r\n\r\n static inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"PersonSettingsProfileStateUpdates\",\r\n \"PeopleTransformers\"\r\n ];\r\n\r\n localised: {};\r\n taxProfiles: Models.IPersonSettingsMergedTaxProfiles;\r\n isViewDirectiveShowing: boolean;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected PersonSettingsProfileStateUpdates: Rx.BehaviorSubject,\r\n protected PeopleTransformers: Sonovate.Core.Transformers.PeopleTransformers\r\n ) {\r\n super($scope);\r\n this.setLocalisedTextWhenRetrieved();\r\n this.setupPersonSettingsProfileStateUpdates();\r\n }\r\n\r\n private setupPersonSettingsProfileStateUpdates(){\r\n this.subscriptions.push( \r\n this.PersonSettingsProfileStateUpdates\r\n .safeApply(this.$scope, (state: State.PersonSettingsProfileState) => {\r\n this.taxProfiles = this.PeopleTransformers.IPersonSettingsTaxProfiles_IPersonSettingsMergedTaxProfiles(state.profile.taxProfiles);\r\n this.isViewDirectiveShowing = state.hasTaxProfiles();\r\n })\r\n .subscribe()\r\n );\r\n }\r\n\r\n private setLocalisedTextWhenRetrieved(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"personsettings\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data.personsettings;\r\n })\r\n .subscribe()\r\n );\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.PersonSettings\")\r\n .directive(\r\n \"snPersonTaxDetails\",\r\n function PersonSettingsProfile(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: PersonTaxDetailsController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: \"PersonSettings/viewDirectives/snPersonTaxDetailsViewDirective/snPersonTaxDetailsViewDirective.html\",\r\n scope: {}\r\n };\r\n }\r\n );\r\n}\r\n\r\n\r\n","/// \r\n\r\nmodule Sonovate.Timesheets {\r\n\r\n class snCalendarInputFieldController extends Sonovate.Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\", \r\n \"TimesheetAddWorkStateUpdates\",\r\n \"TimesheetAddWorkEvents\"\r\n ];\r\n\r\n selectedDateSummary: string;\r\n localisedText: IDictionary = {};\r\n datePickerDisabled: boolean = false;\r\n dateError: boolean = false;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected TimesheetAddWorkStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetAddWorkEvents: Core.Events.TimesheetAddWorkEvents\r\n ) {\r\n super($scope);\r\n this.initLocalisation();\r\n this.initTimesheetAddWorkStateUpdatesSubscription();\r\n }\r\n\r\n private initTimesheetAddWorkStateUpdatesSubscription() {\r\n this.subscriptions.push(\r\n this.TimesheetAddWorkStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.setSelectedDateSummary(state.selectedDates);\r\n this.datePickerDisabled = state.isEditing;\r\n this.dateError = state.dateError\r\n })\r\n .subscribe())\r\n }\r\n\r\n private initLocalisation () {\r\n\t\t\tthis.localiser\r\n\t\t\t\t.get([\"general\", \"timesheets\"])\r\n\t\t\t\t.safeApply(this.$scope,\r\n\t\t\t\t\t(data: {general: IDictionary, timesheets: IDictionary}) => {\r\n\t\t\t\t\t\tthis.localisedText = R.merge(data.general, data.timesheets);\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.subscribe();\r\n }\r\n\r\n private setSelectedDateSummary (selectedDates: string[]) {\r\n selectedDates.sort();\r\n \r\n if (selectedDates.length < 4) {\r\n let summary = '';\r\n selectedDates.map((date) => {\r\n summary += moment(date).format('Do') + ', ';\r\n });\r\n this.selectedDateSummary = summary.slice(0, -2);\r\n return;\r\n }\r\n\r\n this.selectedDateSummary = selectedDates.length + ' ' + (this.localisedText && this.localisedText['Days'] ? this.localisedText['Days']: '');\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.Timesheets\")\r\n .directive(\r\n \"snCalendarInputField\",\r\n function snCalendarInputField(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snCalendarInputFieldController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'Timesheets/viewDirectives/snCalendarInputField/snCalendarInputField.html',\r\n scope: {\r\n snOnClick: '&'\r\n }\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\n\r\ninterface Balance {\r\n currency: string;\r\n balance: number;\r\n}\r\n\r\ninterface BalancePaymentRequest {\r\n payDate: string;\r\n balanceDue: Number;\r\n currency: string;\r\n}\r\n\r\ninterface BalanceViewModel {\r\n balances: Balance[];\r\n latest: boolean;\r\n payDate: string;\r\n paymentRequests: BalancePaymentRequest[];\r\n}\r\n\r\ninterface OptOutAnswer {\r\n text: string;\r\n selected?: boolean;\r\n}\r\n\r\ninterface RetainedPaySettings {\r\n OptOut: {\r\n Reasons: [{\r\n Text: string;\r\n }]\r\n }\r\n}\r\n\r\ninterface ReleasePaymentRequest {\r\n optOut: boolean;\r\n optOutReasons: string[];\r\n}\r\n\r\nmodule Sonovate.Core {\r\n class CandidateBalanceDirectiveController extends Core.BaseController {\r\n static $inject = [\"$scope\", \"$http\", \"APP_URL\", \"$state\", \"signedInUserStore\", \"PersonProfileEvents\"];\r\n private SUBSCRIPTION = \"RetainedPay\";\r\n\r\n public balance: Balance;\r\n public isLatest: boolean;\r\n public isLoading: boolean;\r\n public isSubmitting: boolean;\r\n public isoPaymentDate: string;\r\n public isOptingOut: boolean;\r\n public optOutAnswers: OptOutAnswer[];\r\n public paymentRequests: BalancePaymentRequest[];\r\n private controlDisabled: boolean = true;\r\n\r\n private currencyMap = {\r\n \"GBP\": \"£\",\r\n \"EUR\": \"€\",\r\n \"USD\": \"$\"\r\n }; \r\n \r\n constructor(\r\n public $scope: ng.IScope, \r\n public $http: ng.IHttpService, \r\n public APP_URL: string,\r\n public $state: ng.ui.IStateService,\r\n protected signedInUserStore: ISignedInUserStore,\r\n protected PersonProfileEvents: Events.PersonProfileEvents,\r\n ) { \r\n super($scope); \r\n this.optOutAnswers = [];\r\n \r\n this.getBalanceData(); \r\n\r\n this.signedInUserStore.subject.subscribe(user => {\r\n this.controlDisabled = !(user.settings.subscriptions || []).some(s => s === this.SUBSCRIPTION);\r\n }); \r\n }\r\n\r\n disabled(): boolean {\r\n return this.controlDisabled === true;\r\n }\r\n\r\n openModal(){ \r\n this.getBalanceData();\r\n this.$state.go(\"sonovate.Timesheets.modals\", {modal: \"balance-modal\"});\r\n }\r\n\r\n closeModal(){\r\n this.reset();\r\n this.$state.go(\"^\");\r\n }\r\n\r\n private reset(): void {\r\n this.optOutAnswers = this.optOutAnswers.map(answer => {\r\n answer.selected = false;\r\n return answer;\r\n });\r\n this.isOptingOut = false;\r\n }\r\n\r\n getPayDate() {\r\n return moment(this.isoPaymentDate).format(\"Do MMMM\");\r\n }\r\n \r\n getCurrentBalance(): number { \r\n return this.balance && this.balance.balance || 0;\r\n }\r\n\r\n getCurrencySymbol(): string { \r\n return this.balance && this.currencyMap[this.balance.currency];\r\n } \r\n \r\n isActionable(): boolean {\r\n return this.balance && this.balance.balance > 0 && !this.isLoading;\r\n }\r\n\r\n showLoader(): boolean {\r\n return !this.balance && this.isLoading;\r\n }\r\n\r\n releaseSubmitting(): boolean {\r\n return this.isSubmitting;\r\n }\r\n\r\n confirmPayMe(): void {\r\n if(this.isSubmitting){\r\n return;\r\n }\r\n\r\n if(this.isOptingOut){\r\n this.PersonProfileEvents.userIntents.unsubscribed.onNext(this.SUBSCRIPTION);\r\n }\r\n\r\n this.releasePayment({\r\n optOut: this.isOptingOut,\r\n optOutReasons: this.optOutAnswers.filter(a => a.selected).map(a => {\r\n return a.text;\r\n })\r\n });\r\n }\r\n\r\n private releasePayment(body: ReleasePaymentRequest): ng.IPromise {\r\n this.isLoading = true;\r\n this.isSubmitting = true;\r\n return this.$http\r\n .put(this.APP_URL+\"/v2/balance\", body)\r\n .then(() => { \r\n if(this.balance){\r\n this.balance.balance = 0;\r\n }\r\n this.getBalanceData(true);\r\n this.closeModal();\r\n })\r\n .catch(err => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n this.isLoading = false;\r\n this.isSubmitting = false;\r\n });\r\n }\r\n\r\n isBalanceDataStale(): boolean {\r\n return this.isLatest === false; \r\n }\r\n\r\n getBalanceData(allowStale: boolean = false): ng.IPromise {\r\n this.isLoading = true;\r\n return this.$http\r\n .get(this.APP_URL+\"/v2/balance\") \r\n .then((res: IResponse) => {\r\n if(res.status === 204) {\r\n this.controlDisabled = true;\r\n this.PersonProfileEvents.userIntents.unsubscribed.onNext(this.SUBSCRIPTION);\r\n return null;\r\n }\r\n else if(res.status === 200) {\r\n this.controlDisabled = false;\r\n this.PersonProfileEvents.userIntents.featureSubscription.onNext(this.SUBSCRIPTION);\r\n }\r\n return res.data && res.data.result;\r\n })\r\n .then((data: BalanceViewModel) => {\r\n if(data && !allowStale) { \r\n this.balance = data.balances.find(b => b.currency === \"GBP\");\r\n this.isLatest = data.latest; \r\n this.isoPaymentDate = data.payDate; \r\n } \r\n this.paymentRequests = data && data.paymentRequests || [];\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n getSettings(): ng.IPromise {\r\n return this.$http\r\n .get(this.APP_URL+\"/v2/settings/RetainedPay\")\r\n .then((res: IResponse) => {\r\n return res.data && res.data.result;\r\n })\r\n .then((data: RetainedPaySettings) => {\r\n this.optOutAnswers = data && data.OptOut.Reasons.map(a => {\r\n return {text: a.Text};\r\n });\r\n });\r\n }\r\n\r\n optOutToggled(): void {\r\n if(!this.optOutAnswers.length && this.isOptingOut === true) {\r\n this.getSettings();\r\n }\r\n }\r\n\r\n showOptOutOptions(): boolean {\r\n return this.isOptingOut === true;\r\n }\r\n\r\n paymentRequestVisible(): boolean {\r\n return this.paymentRequests && this.paymentRequests.length > 0 && this.paymentRequests.filter(r => r.balanceDue > 0).length > 0;\r\n }\r\n\r\n getBalanceDue(req: BalancePaymentRequest): Number {\r\n return req && req.balanceDue || 0;\r\n }\r\n\r\n getBalanceDuePayDate(req: BalancePaymentRequest): string {\r\n return req && moment(req.payDate).format(\"dddd Do MMMM YYYY\");\r\n }\r\n\r\n getBalanceDueCurrencySymbol(req: BalancePaymentRequest): string {\r\n return req && this.currencyMap[req.currency];\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.core\").directive(\"snCandidateBalance\", (): ng.IDirective => {\r\n return {\r\n restrict: \"E\",\r\n controller: CandidateBalanceDirectiveController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: \"Timesheets/viewDirectives/snCandidateBalance/snCandidateBalanceViewDirective.html\",\r\n scope: {}\r\n }\r\n })\r\n}\r\n\r\n","/// \r\n\r\nmodule Sonovate.Timesheets {\r\n \r\n class TimesheetActionsController extends Core.BaseController {\r\n\r\n localisedText: IDictionary = {};\r\n activeTimesheet: Models.ITimesheetNew;\r\n actionsInProgress: Models.IActionsInProgress;\r\n showAutofilling: boolean;\r\n isAutofilling: boolean; //TODO: migrate to actionsInProgress\r\n isSigning: boolean = false;\r\n sonovateNotes: string;\r\n initiatedSignFromDetailedView: boolean = false;\r\n adhocTransactions: Models.IAdhocTransaction[];\r\n evidenceSummaries: Models.ISonovateWorkSummary[];\r\n permissions: Core.Permissions.TimesheetPermissions.IPermissionSet;\r\n buttonActionList: string[];\r\n showContextMenu: boolean = false;\r\n isSonovateAdmin: boolean = false;\r\n action: Models.ITimesheetAction;\r\n\r\n downloadFilename: string;\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"$state\",\r\n \"localiser\",\r\n \"signedInUserStore\",\r\n \"TimesheetStateUpdates\",\r\n \"TimesheetAutofillStateUpdates\",\r\n \"TimesheetSonovateActionEvents\",\r\n \"TimesheetClearEvents\",\r\n \"TimesheetSignEvents\",\r\n \"TimesheetSonovateAddWorkStateUpdates\",\r\n \"TimesheetCandidateReopenEvents\",\r\n \"TimesheetDismissEvents\",\r\n \"TimesheetEvents\",\r\n \"TimesheetCreateEvents\",\r\n \"TimesheetAddWorkEvents\",\r\n \"$stateParams\",\r\n \"httpService\"\r\n ];\r\n \r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected localiser: ILocaliserService,\r\n protected signedInUserStore: ISignedInUserStore,\r\n protected TimesheetStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetAutofillStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetSonovateActionEvents: Core.Events.TimesheetSonovateActionEvents,\r\n protected TimesheetClearEvents: Core.Events.TimesheetClearEvents,\r\n protected TimesheetSignEvents: Core.Events.TimesheetSignEvents,\r\n protected TimesheetSonovateAddWorkStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetCandidateReopenEvents: Core.Events.TimesheetCandidateReopenEvents,\r\n protected TimesheetDismissEvents: Core.Events.TimesheetDismissEvents,\r\n protected TimesheetEvents: Core.Events.TimesheetEvents,\r\n protected TimesheetCreateEvents: Core.Events.ITimesheetCreateEvents,\r\n protected TimesheetAddWorkEvents: Sonovate.Core.Events.TimesheetAddWorkEvents,\r\n protected $stateParams: ng.ui.IStateParamsService,\r\n protected httpService: IHttpService\r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n this.setupSignedInUserStoreSubscription();\r\n this.setupTimesheetState();\r\n this.initTimesheetSonovateAddWorkStateSubscription();\r\n }\r\n\r\n addWork(addingBulkTime: boolean = false): void {\r\n const addWorkflowIntent: Sonovate.Core.Events.IAddWorkFlowIntent = {\r\n selectedDates: [],\r\n addingBulkTime\r\n }\r\n this.TimesheetAddWorkEvents.userIntents.stopEditingWorkEntry.onNext(null);\r\n this.TimesheetAddWorkEvents.userIntents.userStartsAddWorkFlow.onNext(addWorkflowIntent);\r\n }\r\n \r\n setupSignedInUserStoreSubscription(): void{\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject.subscribe(user => {\r\n this.isSonovateAdmin = user && user.permissions && user.permissions.isSonovateAdmin ? user.permissions.isSonovateAdmin : false;\r\n })\r\n );\r\n }\r\n\r\n openRejectionModal () {\r\n this.$state.go(`${this.$state.current.name}.modals`, {\r\n modal: 'reject'\r\n });\r\n }\r\n\r\n openDeleteTimesheetModal () {\r\n this.$state.go(`${this.$state.current.name}.modals`, {\r\n modal: 'confirm-deletion'\r\n });\r\n }\r\n\r\n initiateSign () {\r\n this.initiatedSignFromDetailedView = true;\r\n if (this.activeTimesheet.validationMessages.length) {\r\n this.$state.go(`${this.$state.current.name}.modals`, {\r\n modal: 'confirm-sign'\r\n });\r\n return;\r\n }\r\n this.sign();\r\n this.initiatedSignFromDetailedView = false;\r\n }\r\n\r\n sign () {\r\n const timesheetIntent = this.getTimesheetIdAndVersionPayload()\r\n this.TimesheetSignEvents.userIntents.signTimesheet.onNext(timesheetIntent);\r\n }\r\n\r\n openManagedModal() {\r\n this.$state.go(`${this.$state.current.name}.modals`, {\r\n modal: 'manage'\r\n });\r\n }\r\n\r\n openReopenAsManagedModal() {\r\n this.$state.go(`${this.$state.current.name}.modals`, {\r\n modal: 'reopen'\r\n });\r\n }\r\n\r\n submitTimesheet () {\r\n if (this.activeTimesheet.passesValidation) {\r\n this.$state.go(`${this.$state.current.name}.modals`, {\r\n modal: 'submit'\r\n });\r\n return;\r\n }\r\n \r\n this.$state.go(`${this.$state.current.name}.modals`, {\r\n modal: 'confirm-submit'\r\n });\r\n }\r\n\r\n reopenTimesheet() {\r\n this.TimesheetSonovateActionEvents.userIntents.reopenTimesheet.onNext(this.getTimesheetIdAndVersionPayload());\r\n }\r\n\r\n userApprovedTimesheet() {\r\n this.TimesheetSonovateActionEvents.userIntents.userApprovedTimesheet.onNext({\r\n timesheetId: this.activeTimesheet.timesheetId,\r\n force: false,\r\n version: this.activeTimesheet.version\r\n });\r\n }\r\n\r\n openDeclineModal() {\r\n this.$state.go(`${this.$state.current.name}.modals`, {\r\n modal: 'decline'\r\n });\r\n }\r\n\r\n openAutofillModal () {\r\n this.$state.go(`${this.$state.current.name}.modals`, {\r\n modal: 'autofill'\r\n });\r\n } \r\n\r\n penManagedModal() {\r\n this.$state.go(`${this.$state.current.name}.modals`, {\r\n modal: 'manage'\r\n });\r\n }\r\n\r\n routeToviewTimesheetDetails() {\r\n this.$state.go(`${this.$state.current.name}.modals`, {\r\n modal: 'timesheet-details'\r\n });\r\n }\r\n\r\n sonovateSubmit() {\r\n this.TimesheetSonovateActionEvents.userIntents.submitManagedTimesheet.onNext({\r\n timesheetId: this.activeTimesheet.timesheetId,\r\n adhocTransactions: this.adhocTransactions,\r\n summaries: this.evidenceSummaries,\r\n notes: this.sonovateNotes,\r\n version: this.activeTimesheet.version\r\n });\r\n }\r\n\r\n openClearModal () {\r\n this.$state.go(`${this.$state.current.name}.modals`, {\r\n modal: 'confirm-clear'\r\n });\r\n } \r\n\r\n getTimesheetIdAndVersionPayload(){\r\n return {\r\n timesheetId: this.activeTimesheet.timesheetId,\r\n version: this.activeTimesheet.version\r\n }\r\n }\r\n \r\n candidateTimesheetEditOnDismiss() {\r\n this.TimesheetCandidateReopenEvents.userIntents.reopenCandidateTimesheet.onNext(this.getTimesheetIdAndVersionPayload()); \r\n }\r\n\r\n dismiss () { \r\n this.TimesheetDismissEvents.userIntents.dismissTimesheet.onNext({\r\n timesheetId: this.activeTimesheet.timesheetId,\r\n version: this.activeTimesheet.version\r\n });\r\n }\r\n\r\n openCandidateTimesheetEditModal() {\r\n this.$state.go(`${this.$state.current.name}.modals`, {\r\n modal: 'edit'\r\n });\r\n }\r\n\r\n toggleContextMenu() {\r\n this.showContextMenu = !this.showContextMenu;\r\n }\r\n\r\n closeContextMenu() {\r\n this.showContextMenu = false;\r\n }\r\n\r\n downloadTimesheet(resolve: Function, reject: Function): void {\r\n const intent: Sonovate.Core.Events.IDownloadTimesheet = {\r\n timesheetId: this.activeTimesheet.timesheetId,\r\n candidateName: this.activeTimesheet.assignment.candidateName,\r\n deliveryPeriodEndDate: this.activeTimesheet.deliveryPeriodEndDate,\r\n resolve,\r\n reject\r\n }\r\n this.TimesheetEvents.userIntents.downloadTimesheet.onNext(intent)\r\n }\r\n \r\n timesheetDownloadComplete(): void {\r\n this.TimesheetEvents.httpResults.downloadTimesheetCompleted.onNext(null);\r\n }\r\n \r\n timesheetDownloadError(): void {\r\n this.TimesheetEvents.httpResults.downloadTimesheetFailed.onNext(null);\r\n }\r\n\r\n addNewTimesheet () {\r\n this.TimesheetCreateEvents.userIntents.createTimesheet.onNext({\r\n timesheetAssignmentId: this.$stateParams[\"timesheetAssignmentId\"],\r\n deliveryPeriodId: this.activeTimesheet.deliveryPeriodId\r\n });\r\n }\r\n\r\n actionSubmitted(timesheetAction: Models.ITimesheetActions) {\r\n this.TimesheetEvents.userIntents.actionSubmitted.onNext(timesheetAction);\r\n }\r\n\r\n actionCompleted() {\r\n this.TimesheetEvents.userIntents.actionCompleted.onNext(null);\r\n }\r\n\r\n actionFailed(error: String) {\r\n this.TimesheetEvents.userIntents.actionFailed.onNext(error);\r\n }\r\n\r\n performAction (timesheetAction: Models.ITimesheetActions) {\r\n return new Promise((resolve, reject) => {\r\n switch(timesheetAction) {\r\n case \"Sign\":\r\n this.initiateSign();\r\n break; \r\n case \"Reject\" :\r\n this.openRejectionModal();\r\n resolve();\r\n break; \r\n case \"Resubmit\": \r\n this.submitTimesheet();\r\n resolve();\r\n break; \r\n case \"Submit\":\r\n if (this.isSonovateAdmin) {\r\n this.sonovateSubmit();\r\n } else {\r\n this.submitTimesheet();\r\n } \r\n resolve();\r\n break; \r\n case \"Copy last timesheet\":\r\n this.openAutofillModal();\r\n resolve();\r\n break; \r\n case \"Dismiss\":\r\n this.dismiss();\r\n resolve();\r\n break; \r\n case \"Delete\": \r\n this.openDeleteTimesheetModal();\r\n resolve();\r\n break; \r\n case \"Edit\": \r\n this.openCandidateTimesheetEditModal();\r\n resolve();\r\n break;\r\n case \"Clear\": \r\n this.openClearModal();\r\n resolve();\r\n break; \r\n case \"Take control\":\r\n this.openManagedModal();\r\n resolve();\r\n break; \r\n case \"Approve\": \r\n this.userApprovedTimesheet();\r\n break; \r\n case \"Decline\":\r\n this.openDeclineModal();\r\n resolve();\r\n break; \r\n case \"Reopen\":\r\n if (this.isSonovateAdmin) {\r\n this.openReopenAsManagedModal();\r\n } else {\r\n this.reopenTimesheet();\r\n this.openCandidateTimesheetEditModal();\r\n }\r\n resolve();\r\n break; \r\n case \"Add timesheet\":\r\n this.addNewTimesheet();\r\n break; \r\n case \"Change authoriser\":\r\n this.submitTimesheet();\r\n resolve();\r\n break; \r\n case \"Download\":\r\n this.downloadTimesheet(resolve, reject);\r\n break; \r\n }\r\n })\r\n \r\n }\r\n\r\n userSelectedAction(timesheetAction: Models.ITimesheetActions) {\r\n this.closeContextMenu(); // closes the open context menu\r\n this.actionSubmitted(timesheetAction); // updates the state so the view knows we are busy doing something\r\n this.performAction(timesheetAction)\r\n .then(() => {\r\n this.actionCompleted(); // updates the state so the view knows we are no longer busy\r\n })\r\n .catch(err => {\r\n console.error(err);\r\n this.actionFailed(err); // updates the state so the view knows we are no longer busy but also didn't complete\r\n })\r\n }\r\n\r\n private setupTimesheetState() {\r\n this.subscriptions.push(\r\n this.TimesheetStateUpdates.safeApply(this.$scope, (state: Core.State.TimesheetState) => {\r\n this.activeTimesheet = state.activeTimesheet;\r\n this.actionsInProgress = state.activeTimesheet.actionsInProgress;\r\n this.isSigning = state.signing;\r\n this.permissions = state.permissions;\r\n this.buttonActionList = state.setButtonListByPriority();\r\n this.action = state.action;\r\n this.downloadFilename = state.downloadFileName;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"timesheets\", \"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = R.merge(\r\n data.timesheets,\r\n data.general\r\n );\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n\r\n private initTimesheetSonovateAddWorkStateSubscription() {\r\n this.subscriptions.push(\r\n this.TimesheetSonovateAddWorkStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.adhocTransactions = state.state.adhocTransactions;\r\n this.evidenceSummaries = state.state.summaries;\r\n this.sonovateNotes = state.state.notes;\r\n })\r\n .subscribe()\r\n )\r\n }\r\n }\r\n \r\n angular.module(\"sonovate.Timesheets\")\r\n .directive(\r\n \"snTimesheetActions\",\r\n function TimesheetActions(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: TimesheetActionsController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'Timesheets/viewDirectives/snTimesheetActions/snTimesheetActions.html',\r\n scope: {}\r\n };\r\n }\r\n );\r\n }","/// \r\n\r\nmodule Sonovate.Timesheets {\r\n\r\n class TimesheetAddExpensesController extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"$state\",\r\n \"localiser\",\r\n \"TimesheetAddExpensesEvents\",\r\n \"referenceDataActions\",\r\n \"ExpenseTypeStateUpdates\",\r\n \"TimesheetStateUpdates\",\r\n \"TimesheetAddExpenseStateUpdates\",\r\n \"$timeout\",\r\n \"TimesheetEvents\",\r\n \"$stateParams\"\r\n ];\r\n\r\n expenseDropdownItems: Models.IExpenseTypeDropdownItem[];\r\n expense: Models.ITimesheetExpense;\r\n showVatError: boolean;\r\n showNetError: boolean;\r\n showRateBasedExpense: boolean;\r\n description: string;\r\n currentTimesheetId: any;\r\n isValid: boolean;\r\n currentTimesheetStartDate: string;\r\n currentTimesheetEndDate: string;\r\n localisedText: IDictionary = {};\r\n isWobbling: boolean = false;\r\n showRateError: boolean;\r\n currencyCode: string;\r\n selectedExpense: number;\r\n timesheetVersion: number;\r\n saving: boolean;\r\n saved: boolean;\r\n selectedExpenseLabel: string;\r\n timesheetAssignmentId: number;\r\n activeTimesheet: Models.ITimesheet;\r\n showConflictError: boolean;\r\n isLoading: boolean;\r\n selectedExpenseRateLabel: string;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected localiser: ILocaliserService,\r\n protected TimesheetAddExpensesEvents: Sonovate.Core.Events.ITimesheetAddExpensesEvents,\r\n protected referenceDataActions: IReferenceDataActions,\r\n protected ExpenseTypeStateUpdates: Rx.Observable,\r\n protected TimesheetStateUpdates: Rx.Observable,\r\n protected TimesheetAddExpenseStateUpdates: Rx.Observable,\r\n protected $timeout: ng.ITimeoutService,\r\n protected TimesheetEvents: Sonovate.Core.Events.ITimesheetEvents,\r\n protected $stateParams: ng.ui.IStateParamsService,\r\n ) {\r\n super($scope);\r\n\r\n this.getLocalisedText();\r\n this.setUpReferenceDataSubscription();\r\n this.setupTimesheetAssignmentSubscription();\r\n this.setupTimesheetExpenseSubscription();\r\n this.setupZippedExpenseTimesheetSubscription();\r\n this.setupFilesWatch();\r\n this.setUpExpenseTypes();\r\n\r\n this.TimesheetAddExpensesEvents.userIntents.setExpenseType.onNext({\r\n isRateBased:false,\r\n rateBasedChargeLabel:null,\r\n text:\"Accommodation\",\r\n value:1\r\n });\r\n }\r\n\r\n public setupFilesWatch(): void {\r\n this.$scope.$watch('vm.files', (newFile: File) => {\r\n if(newFile){\r\n this.TimesheetAddExpensesEvents.userIntents.addEvidencePicture.onNext(newFile);\r\n }\r\n });\r\n }\r\n\r\n public addEvidencePhotoMultiSelectAdd(photos: File[]): void {\r\n this.TimesheetAddExpensesEvents.userIntents.addMultipleEvidencePictures.onNext(photos);\r\n }\r\n \r\n\r\n public removeImage(): void {\r\n this.TimesheetAddExpensesEvents.userIntents.removeEvidencePicture.onNext(null);\r\n }\r\n\r\n public reloadPage(): void {\r\n this.TimesheetAddExpensesEvents.userIntents.dismissError.onNext(null);\r\n this.TimesheetEvents.userIntents.viewTimesheet.onNext(null);\r\n this.TimesheetEvents.userIntents.getTimesheet.onNext({\r\n timesheetId: this.activeTimesheet.timesheetId,\r\n timesheetAssignmentId: this.timesheetAssignmentId.toString()\r\n })\r\n }\r\n\r\n public setupZippedExpenseTimesheetSubscription() : void {\r\n this.subscriptions.push(\r\n Rx.Observable.zip(\r\n this.ExpenseTypeStateUpdates,\r\n this.TimesheetAddExpenseStateUpdates\r\n ).safeApply(this.$scope, (state) => {\r\n this.selectedExpenseLabel = this.getWorkLabel(state[1].expense.selectedExpenseTypeId); \r\n }).subscribe()\r\n );\r\n }\r\n\r\n public setUpReferenceDataSubscription() : void {\r\n this.subscriptions.push(\r\n this.ExpenseTypeStateUpdates\r\n .safeApply(this.$scope, (state: Core.State.ReferenceDataState.IExpenseTypeDropdownState) => {\r\n this.expenseDropdownItems = state.getExpensesAsDropdownItems();\r\n }).subscribe()\r\n );\r\n }\r\n\r\n public setUpExpenseTypes() : void {\r\n this.subscriptions.push(\r\n this.ExpenseTypeStateUpdates\r\n .safeApply(this.$scope, () => {\r\n this.referenceDataActions.requestSubjects.getExpenseTypes.onNext(this.$stateParams['timesheetId']);\r\n }).subscribe()\r\n );\r\n }\r\n\r\n public setupTimesheetAssignmentSubscription() : void {\r\n this.subscriptions.push(\r\n this.TimesheetStateUpdates\r\n .safeApply(this.$scope, (state: Core.State.TimesheetState) => {\r\n if(state && state.activeTimesheet.assignment && state.activeTimesheet.assignment.timesheetAssignmentId){\r\n this.timesheetVersion = state.activeTimesheet.version;\r\n this.currencyCode = state.activeTimesheet.assignment.currencyCode;\r\n this.currentTimesheetId = state.activeTimesheet.timesheetId;\r\n this.timesheetAssignmentId = state.activeTimesheet.assignment.timesheetAssignmentId;\r\n this.activeTimesheet = state.activeTimesheet;\r\n this.isLoading = state.loading;\r\n }\r\n }).subscribe()\r\n );\r\n }\r\n\r\n public setupTimesheetExpenseSubscription(): void {\r\n this.subscriptions.push(\r\n this.TimesheetAddExpenseStateUpdates\r\n .safeApply(this.$scope, (state: Sonovate.Core.State.TimesheetAddExpenseState) => {\r\n this.description = state.expense.descriptionText;\r\n this.expense = state.expense;\r\n this.showRateBasedExpense = state.showRateBasedExpense;\r\n this.showVatError = state.vatError;\r\n this.showNetError = state.netError;\r\n this.showRateError = state.rateQuantityError;\r\n this.isValid = state.isFormValid();\r\n this.selectedExpense = state.expense.selectedExpenseTypeId;\r\n this.selectedExpenseRateLabel = state.expense.selectedExpenseRateLabel;\r\n this.selectedExpenseLabel = this.getWorkLabel(state.expense.selectedExpenseTypeId);\r\n this.saving = state.saving;\r\n this.saved = state.saved;\r\n this.showConflictError = state.showConflictError;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n public getWorkLabel (id) : string {\r\n let selected = \"\";\r\n this.expenseDropdownItems.filter((serviceRate) => {\r\n if(serviceRate.value == id){\r\n selected = serviceRate.text;\r\n }\r\n })\r\n return selected;\r\n }\r\n\r\n public setSelectedExpenseType(item: Models.IExpenseTypeDropdownItem): void {\r\n this.TimesheetAddExpensesEvents.userIntents.setExpenseType.onNext(item);\r\n }\r\n\r\n public updateDescription(description: string): void {\r\n this.TimesheetAddExpensesEvents.userIntents.updateDescription.onNext(description);\r\n }\r\n\r\n public updateNetAmount(netAmount: string): void { \r\n this.TimesheetAddExpensesEvents.userIntents.setNet.onNext(netAmount);\r\n }\r\n\r\n public updateVatAmount(vatAmount: string): void {\r\n this.TimesheetAddExpensesEvents.userIntents.setVat.onNext(vatAmount);\r\n }\r\n\r\n public addEvidiencePhoto(photo: File): void {\r\n this.TimesheetAddExpensesEvents.userIntents.addEvidencePicture.onNext(File);\r\n }\r\n\r\n public addEvidiencePhotoMultiSelect(photos: File[]): void {\r\n this.TimesheetAddExpensesEvents.userIntents.addMultipleEvidencePictures.onNext(photos);\r\n }\r\n\r\n public resetSavedState(): void {\r\n this.TimesheetAddExpensesEvents.userIntents.dismissSaved.onNext(null);\r\n }\r\n\r\n public addExpense(): void {\r\n this.triggerWobble();\r\n this.TimesheetAddExpensesEvents.userIntents.addExpense.onNext({\r\n expense: this.expense, \r\n timesheetId: this.currentTimesheetId, \r\n isValid: this.isValid,\r\n version: this.timesheetVersion\r\n });\r\n }\r\n\r\n private getLocalisedText(): void {\r\n this.subscriptions.push (\r\n this.localiser.get([\"timesheets\", \"general\"])\r\n .safeApply(this.$scope,\r\n (data: {timesheets: IDictionary, general: IDictionary}) => {\r\n this.localisedText = R.merge(\r\n data.timesheets,\r\n data.general\r\n ); \r\n }\r\n ).subscribe()\r\n );\r\n }\r\n\r\n public updateQuantity(expenseAmount): void {\r\n this.TimesheetAddExpensesEvents.userIntents.setQuantity.onNext(expenseAmount)\r\n }\r\n\r\n public openFileDialog(): void {\r\n angular.element('.fileInput').triggerHandler('click');\r\n }\r\n\r\n private triggerWobble () {\r\n this.isWobbling = true;\r\n this.$timeout(() => {\r\n this.isWobbling = false;\r\n }, 500);\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.Timesheets\")\r\n .directive(\r\n \"snTimesheetAddExpenses\",\r\n function TimesheetAddExpenses(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: TimesheetAddExpensesController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'Timesheets/viewDirectives/snTimesheetAddExpensesViewDirective/snTimesheetAddExpensesViewDirective.html',\r\n scope: {\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Timesheets {\r\n \r\n class TimesheetAddWorkModalController extends Core.BaseController {\r\n \r\n static $inject = [\r\n \"$scope\",\r\n \"TimesheetAddWorkStateUpdates\"\r\n ];\r\n\r\n calendarViewActive: boolean;\r\n isEditing: boolean;\r\n header: string;\r\n \r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected TimesheetAddWorkStateUpdates: Rx.Subject\r\n ) {\r\n super($scope);\r\n this.initTimesheetAddWorkStateUpdates();\r\n }\r\n \r\n private initTimesheetAddWorkStateUpdates() {\r\n this.subscriptions.push(\r\n this.TimesheetAddWorkStateUpdates.safeApply(this.$scope, (state) => {\r\n this.calendarViewActive = state.showCalendarView;\r\n this.isEditing = state.isEditing;\r\n this.header = state.isEditing ? 'Edit time' : 'Add time'\r\n }).subscribe()\r\n );\r\n }\r\n\r\n }\r\n \r\n angular.module(\"sonovate.Timesheets\")\r\n .directive(\r\n \"snTimesheetAddWorkModal\",\r\n function TimesheetAddWorkModal(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: TimesheetAddWorkModalController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'Timesheets/viewDirectives/snTimesheetAddWorkModal/snTimesheetAddWorkModal.html',\r\n scope: {\r\n }\r\n };\r\n }\r\n );\r\n }","/// \r\n\r\nmodule Sonovate.Timesheets {\r\n\r\n class TimesheetAddWorkController extends Sonovate.Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"$cookies\",\r\n \"localiser\",\r\n \"TimesheetStateUpdates\",\r\n \"TimesheetEvents\",\r\n \"TimesheetAddWorkEvents\",\r\n \"TimesheetAddWorkStateUpdates\",\r\n \"$state\",\r\n \"$timeout\" \r\n ];\r\n\r\n showTimes: boolean;\r\n workUnitLabel: string = '';\r\n showSubUnits: boolean;\r\n subUnits: Models.IDropdownItem[];\r\n showNonWorkSection: boolean;\r\n assignmentDates: Models.IAssignmentDate[];\r\n quantityType: Models.TimesheetWorkQuantityType;\r\n selectedServiceRateLabel: string;\r\n showSuccess: boolean;\r\n permissions: Core.Permissions.TimesheetPermissions.IPermissionSet = {};\r\n selectedDates: string[] = [];\r\n isAddingBulkTime: boolean;\r\n currentDeliveryPeriod: Models.IDeliveryPeriod;\r\n isFormValid: boolean;\r\n isQuantityInvalid: boolean;\r\n isWobbling: boolean;\r\n isLoading: boolean;\r\n entry: Models.ITimesheetEntry;\r\n localisedText: IDictionary = {};\r\n serviceRates: Models.IDropdownItem[];\r\n isSelectedDatesInvalid: boolean;\r\n activeTimesheet: Models.ITimesheetNew;\r\n assignmentNonWorkLabel: string = '';\r\n assignmentNonWorkUnit: string = \"Day\";\r\n errors: IDictionary;\r\n addWorkHours: string;\r\n addWorkMinutes: string;\r\n addBreakHours: string;\r\n addBreakMinutes: string;\r\n showConflictError: boolean;\r\n timesheetAssignmentId: number;\r\n nonWorkSubUnits: Models.IDropdownItem[];\r\n isAdding: boolean;\r\n quantityLabel: string = '';\r\n showAdding: boolean;\r\n showCalendarView: boolean;\r\n dateError: boolean = false;\r\n expandMetadata = false;\r\n hasUserClosedTooltip: boolean = false;\r\n closedTooltip: boolean = false;\r\n instantClosedTooltip: boolean = false;\r\n signedInUser: number;\r\n cookieKeyTooltip: string;\r\n cookieKeyMetadata: string;\r\n isEditing: boolean;\r\n showWarning: boolean = false;\r\n showCalculatedMessage: boolean = false;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $cookies,\r\n protected localiser: ILocaliserService,\r\n protected TimesheetStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetEvents: Core.Events.ITimesheetEvents,\r\n protected TimesheetAddWorkEvents: Core.Events.TimesheetAddWorkEvents,\r\n protected TimesheetAddWorkStateUpdates: Rx.BehaviorSubject, \r\n protected $state: ng.ui.IStateService,\r\n protected $timeout: ng.ITimeoutService \r\n\r\n ) {\r\n super($scope);\r\n this.initTimesheetStateUpdatesSubscription();\r\n this.initTimesheetAddWorkStateUpdatesSubscription();\r\n this.initLocalisation();\r\n this.initTooltipManagement();\r\n this.initMetadataManagement();\r\n }\r\n\r\n private initTimesheetStateUpdatesSubscription() {\r\n this.subscriptions.push(this.TimesheetStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.signedInUser = state.signedInUserId;\r\n this.isLoading = state.loading;\r\n this.assignmentNonWorkLabel = state.activeTimesheet.assignment.nonWorkLabel;\r\n this.assignmentNonWorkLabel = state.activeTimesheet.assignment.nonWorkLabel;\r\n this.assignmentDates = state.activeTimesheet.assignment.days;\r\n this.setNonWorkUnitOfMeasure();\r\n this.setQuantityLabel();\r\n this.activeTimesheet = state.activeTimesheet;\r\n this.timesheetAssignmentId = state.activeTimesheet.assignment.timesheetAssignmentId;\r\n this.permissions = state.permissions;\r\n })\r\n .subscribe())\r\n }\r\n\r\n private initTimesheetAddWorkStateUpdatesSubscription() {\r\n this.subscriptions.push(\r\n this.TimesheetAddWorkStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.isEditing = state.isEditing;\r\n this.addWorkHours = state.state.addWorkHours;\r\n this.addWorkMinutes = state.state.addWorkMinutes;\r\n this.addBreakHours = state.state.addBreakHours;\r\n this.addBreakMinutes = state.state.addBreakMinutes;\r\n this.errors = state.state.errors;\r\n this.entry = state.state.entry;\r\n this.quantityType = state.state.quantityType;\r\n this.selectedDates = state.selectedDates;\r\n this.isAddingBulkTime = state.addingBulkTime;\r\n this.isFormValid = state.isFormValid();\r\n this.isQuantityInvalid = ! state.isQuantityValid;\r\n this.isSelectedDatesInvalid = ! state.isSelectedDatesValid;\r\n this.showTimes = state.showTimes;\r\n this.isAdding = state.isAdding;\r\n this.showSubUnits = state.areSubUnitsAvialbleForNonWorkRate();\r\n this.showNonWorkSection = state.showNonWorkSection;\r\n this.showSuccess = state.showSuccess;\r\n this.showConflictError = state.showConflictError;\r\n this.showCalendarView = state.showCalendarView;\r\n this.showAdding = state.isAdding ? true : false;\r\n if (state.isAdding) this.triggerAdd();\r\n\t this.workUnitLabel = state.activeServiceRate && state.activeServiceRate.unitOfMeasure ? state.activeServiceRate.unitOfMeasure.unitOfMeasureLabel : null;\r\n this.serviceRates = state.getServiceRatesAsDropdownItems();\r\n this.selectedServiceRateLabel = this.getWorkLabel(state.state.entry.serviceRateId);\r\n this.subUnits = state.getSubUnitsAsDropdownItems();\r\n this.nonWorkSubUnits = state.getNonWorkSubUnitsAsDropdownItems();\r\n this.dateError = state.dateError;\r\n this.showCalculatedMessage = this.hasUserEnteredAnyMetadata()\r\n })\r\n .subscribe())\r\n }\r\n\r\n private initTooltipManagement = () => {\r\n this.cookieKeyTooltip = `sonovate.${this.signedInUser}.tooltip`\r\n this.shouldShowTooltip()\r\n }\r\n\r\n private initMetadataManagement = () => {\r\n this.cookieKeyMetadata = `sonovate.${this.signedInUser}.metadata`\r\n // have to do string comparison because the cookies api returns the value as a string\r\n const shouldExpand = this.$cookies.get(this.cookieKeyMetadata) === 'true' ? true : false\r\n this.isEditing ? this.hasUserCompletedMetadata() ? this.setExpandedMetadata(true) : this.setExpandedMetadata(false) : this.setExpandedMetadata(shouldExpand)\r\n }\r\n\r\n closeTooltip = (instant: boolean = false) => {\r\n this.$cookies.put(this.cookieKeyTooltip, false)\r\n if (instant) this.instantClosedTooltip = true\r\n this.closedTooltip = true\r\n }\r\n\r\n shouldShowTooltip = () => {\r\n const cookie = this.$cookies.get(this.cookieKeyTooltip)\r\n this.hasUserClosedTooltip = cookie == 'false' ? true : false\r\n }\r\n\r\n hasUserEnteredAnyMetadata = () => {\r\n if (this.entry.startTime || this.entry.endTime) return true\r\n return false\r\n }\r\n\r\n hasUserCompletedMetadata = () => {\r\n if (this.entry.startTime || this.entry.endTime || this.addBreakHours || this.addBreakMinutes) return true\r\n return false\r\n }\r\n\r\n openCalendar = () => {\r\n this.TimesheetAddWorkEvents.userIntents.setCalendarView.onNext(true)\r\n this.closeTooltip(true)\r\n }\r\n\r\n toggleExpandMetadata = () => {\r\n this.expandMetadata = !this.expandMetadata\r\n this.$cookies.put(this.cookieKeyMetadata, this.expandMetadata)\r\n }\r\n\r\n setExpandedMetadata = (value) => {\r\n this.expandMetadata = value\r\n }\r\n\r\n typeEndTime () {\r\n this.TimesheetAddWorkEvents.userIntents.typeEndTime.onNext(this.entry.endTime);\r\n }\r\n\r\n blurStartTime () { \r\n this.TimesheetAddWorkEvents.userIntents.blurStartTime.onNext(null);\r\n }\r\n\r\n blurEndTime () {\r\n this.TimesheetAddWorkEvents.userIntents.blurEndTime.onNext(null);\r\n } \r\n\r\n typeBreakHours() {\r\n this.TimesheetAddWorkEvents.userIntents.typeBreakHours.onNext(this.addBreakHours);\r\n }\r\n\r\n blurBreakHours() {\r\n this.TimesheetAddWorkEvents.userIntents.blurBreakHours.onNext(null);\r\n }\r\n\r\n typeBreakMinutes() {\r\n this.TimesheetAddWorkEvents.userIntents.typeBreakMinutes.onNext(this.addBreakMinutes);\r\n }\r\n \r\n blurBreakMinutes() {\r\n this.TimesheetAddWorkEvents.userIntents.blurBreakMinutes.onNext(null);\r\n }\r\n\r\n clearSelectedDates () {\r\n this.TimesheetAddWorkEvents.userIntents.clearSelectedDates.onNext(null);\r\n }\r\n \r\n typeHours() {\r\n this.TimesheetAddWorkEvents.userIntents.typeHours.onNext(this.addWorkHours);\r\n }\r\n\r\n blurHours() {\r\n this.showWarning = false\r\n this.TimesheetAddWorkEvents.userIntents.blurHours.onNext(null);\r\n }\r\n\r\n focusHours() {\r\n this.showWarning = this.hasUserCompletedMetadata()\r\n }\r\n\r\n typeMinutes() {\r\n this.TimesheetAddWorkEvents.userIntents.typeMinutes.onNext(this.addWorkMinutes);\r\n }\r\n \r\n blurMinutes() {\r\n this.showWarning = false\r\n this.TimesheetAddWorkEvents.userIntents.blurMinutes.onNext(null);\r\n }\r\n\r\n focusMinutes() {\r\n this.showWarning = this.hasUserCompletedMetadata()\r\n }\r\n\r\n typeQuantity (quantity) {\r\n this.TimesheetAddWorkEvents.userIntents.typeQuantity.onNext(quantity);\r\n }\r\n\r\n blurQuantity () {\r\n this.TimesheetAddWorkEvents.userIntents.blurQuantity.onNext(null);\r\n }\r\n\r\n setNonWorkUnitOfMeasure () {\r\n this.TimesheetAddWorkEvents.userIntents.setNonWorkUnitOfMeasure.onNext({\r\n unit:this.assignmentNonWorkUnit,\r\n label: this.assignmentNonWorkLabel\r\n });\r\n }\r\n\r\n selectDates (dates: string[]) {\r\n this.TimesheetAddWorkEvents.userIntents.userSelectsDatesToAddWork.onNext(dates);\r\n }\r\n\r\n typeDescription () {\r\n this.TimesheetAddWorkEvents.userIntents.typeDescription.onNext(this.entry.description);\r\n }\r\n\r\n typeStartTime () {\r\n this.TimesheetAddWorkEvents.userIntents.typeStartTime.onNext(this.entry.startTime);\r\n }\r\n\r\n reloadPage(): void {\r\n this.TimesheetAddWorkEvents.userIntents.dismissError.onNext(null);\r\n this.TimesheetEvents.userIntents.viewTimesheet.onNext(null);\r\n this.TimesheetEvents.userIntents.getTimesheet.onNext({\r\n timesheetId: this.activeTimesheet.timesheetId,\r\n timesheetAssignmentId: this.timesheetAssignmentId.toString()\r\n })\r\n }\r\n\r\n resetSavedState(): void {\r\n this.TimesheetAddWorkEvents.userIntents.dismissSuccess.onNext(null);\r\n }\r\n \r\n triggerWobble () {\r\n\t\t\tthis.isWobbling = true;\r\n\t\t\tthis.$timeout(() => {\r\n\t\t\t\tthis.isWobbling = false;\r\n\t\t\t}, 500);\r\n }\r\n\r\n submitEntry (): void {\r\n this.triggerWobble()\r\n this.TimesheetAddWorkEvents.userIntents.validate.onNext(null)\r\n const entry: Core.Events.ISubmitAddWorkUserIntent = {\r\n id: this.entry.id,\r\n timesheetId: this.activeTimesheet.timesheetId,\r\n selectedDates: this.selectedDates,\r\n entry: this.entry,\r\n isFormValid: this.isFormValid,\r\n version: this.activeTimesheet.version,\r\n isAdding: this.isAdding\r\n }\r\n // create\r\n if (!entry.id && entry.entry.type === \"WorkEntry\") { \r\n this.TimesheetAddWorkEvents.userIntents.submitEntry.onNext(entry);\r\n }\r\n if (!entry.id && entry.entry.type === \"NonWorkEntry\") { \r\n this.TimesheetAddWorkEvents.userIntents.submitEntry.onNext(entry);\r\n }\r\n // edit\r\n if (entry.id && entry.entry.type === \"WorkEntry\") { \r\n this.TimesheetAddWorkEvents.userIntents.editWorkEntry.onNext(entry);\r\n }\r\n if (entry.id && entry.entry.type === \"NonWorkEntry\") { \r\n this.TimesheetAddWorkEvents.userIntents.editWorkEntry.onNext(entry);\r\n }\r\n }\r\n\r\n getWorkLabel (id) : string {\r\n let selected = \"\";\r\n this.serviceRates.filter((serviceRate) => {\r\n if(serviceRate.value == id){\r\n selected = serviceRate.text;\r\n }\r\n })\r\n return selected;\r\n }\r\n\r\n closeModal() {\r\n this.TimesheetAddWorkEvents.userIntents.closeAddWorkModal.onNext(null);\r\n this.TimesheetAddWorkEvents.userIntents.clearAddWorkForm.onNext(null);\r\n }\r\n \r\n triggerAdd () {\r\n this.$timeout(() => {\r\n if (this.isAdding) {\r\n this.showAdding = true;\r\n }\r\n }, 500);\r\n }\r\n\r\n private initLocalisation () {\r\n\t\t\tthis.localiser\r\n\t\t\t\t.get([\"general\", \"timesheets\"])\r\n\t\t\t\t.safeApply(this.$scope,\r\n\t\t\t\t\t(data: {general: IDictionary, timesheets: IDictionary}) => {\r\n\t\t\t\t\t\tthis.localisedText = R.merge(data.general, data.timesheets);\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.subscribe();\r\n }\r\n\r\n \r\n\r\n selectWorkType (id) {\r\n this.TimesheetAddWorkEvents.userIntents.selectServiceRate.onNext(id);\r\n this.setQuantityLabel();\r\n }\r\n\r\n saveDaySelection() {\r\n this.TimesheetAddWorkEvents.userIntents.userCompletesAddingWorkDates.onNext(null)\r\n this.TimesheetAddWorkEvents.userIntents.setCalendarView.onNext(false);\r\n }\r\n\r\n closeCalendarView() {\r\n this.TimesheetAddWorkEvents.userIntents.userCancelsAddingWorkDates.onNext(null);\r\n this.TimesheetAddWorkEvents.userIntents.setCalendarView.onNext(false);\r\n if (this.selectedDates.length == 0) this.TimesheetAddWorkEvents.userIntents.closeAddWorkModal.onNext(null)\r\n }\r\n\r\n userSelectsDateToAddNewWork (dates: string[]) {\r\n this.TimesheetAddWorkEvents.userIntents.userSelectsDatesToAddWork.onNext(dates);\r\n }\r\n\r\n private setQuantityLabel () {\r\n if (!this.entry) {\r\n return;\r\n }\r\n\r\n if (this.entry.type === 'NonWorkEntry') {\r\n this.quantityLabel = this.activeTimesheet.assignment.timesheetAssignmentId.toString();\r\n return;\r\n }\r\n\r\n this.quantityLabel = this.workUnitLabel;\r\n }\r\n\r\n \r\n }\r\n\r\n angular.module(\"sonovate.Timesheets\")\r\n .directive(\r\n \"snTimesheetAddWork\",\r\n function TimesheetAddWork(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: TimesheetAddWorkController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'Timesheets/viewDirectives/snTimesheetAddWorkViewDirective/snTimesheetAddWorkViewDirective.html',\r\n scope: {\r\n \tsnCalendarFullWidth: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snTimesheetCardItemController extends TimesheetItemBaseClass {\r\n\r\n snTimesheetItem;\r\n\r\n actions = [{\r\n name: 'Sign',\r\n onClick: this.signTimesheet.bind(this),\r\n show: this.canSign() && !this.snTimesheetItem.hasIrregularActivity,\r\n },{\r\n name: 'Sign',\r\n onClick: this.routeToTimesheetConfirmSubmissionModal.bind(this),\r\n show: this.canSign() && this.snTimesheetItem.hasIrregularActivity,\r\n },{\r\n name: 'Approve',\r\n onClick: this.userApprovedTimesheet.bind(this),\r\n show: this.showApprove(),\r\n },{\r\n name: 'Dismiss',\r\n onClick: this.dismissTimesheet.bind(this),\r\n show: this.canDismiss(),\r\n }];\r\n hasAnActionableAction: boolean = false;\r\n \r\n static $inject = [\r\n \"$scope\", \r\n \"localiser\", \r\n \"$state\",\r\n \"TimesheetSignEvents\",\r\n \"TimesheetEvents\",\r\n \"TimesheetMessageEvents\",\r\n \"TimesheetDismissEvents\",\r\n \"$window\",\r\n \"TimesheetSonovateActionEvents\"\r\n ];\r\n \r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected $state: ng.ui.IStateService,\r\n protected TimesheetSignEvents: Core.Events.TimesheetSignEvents,\r\n protected TimesheetEvents: Core.Events.ITimesheetEvents,\r\n protected TimesheetMessageEvents: Core.Events.ITimesheetMessageEvents,\r\n protected TimesheetDismissEvents: Core.Events.ITimesheetDismissEvents,\r\n protected $window: ng.IWindowService,\r\n protected TimesheetSonovateActionEvents: Core.Events.TimesheetSonovateActionEvents\r\n ) {\r\n super(\r\n $scope,\r\n localiser,\r\n $state,\r\n TimesheetSignEvents,\r\n TimesheetEvents,\r\n TimesheetMessageEvents,\r\n TimesheetDismissEvents,\r\n $window,\r\n TimesheetSonovateActionEvents\r\n );\r\n this.hasAnActionableAction = this.checkActions(this.actions);\r\n }\r\n\r\n checkActions = (actions): boolean => actions.find(this.isViewable);\r\n isViewable = (action): boolean => action.show === true;\r\n isActionBusy = (): boolean => {\r\n return (\r\n this.snTimesheetItem.actionsInProgress.dismiss ||\r\n this.snTimesheetItem.actionsInProgress.approve ||\r\n this.snTimesheetItem.actionsInProgress.sign\r\n )\r\n }\r\n shouldShowActions = (): boolean => {\r\n return this.canDismiss() || this.canSign() || this.showApprove()\r\n }\r\n\r\n }\r\n \r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snTimesheetCardItem\",\r\n function snTimesheetCardItem(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snTimesheetCardItemController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'Timesheets/viewDirectives/snTimesheetCardItemViewDirective/snTimesheetCardItemViewDirective.html',\r\n scope: {\r\n snTimesheetItem:\"=\",\r\n snDateFormat: \"@\",\r\n snDismissCallback: \"&\",\r\n snSignCallback: \"&\",\r\n snContext:\"@\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Timesheets {\r\n\r\nclass TimesheetDeclineController extends Core.BaseController {\r\n\r\n localisedText: IDictionary = {};\r\n description: string;\r\n timesheetAuthoriserDropdownItems: Models.IDropdownItem[];\r\n selectedAuthoriserId: number;\r\n currentDeliveryPeriod: Models.IDeliveryPeriod;\r\n timesheetVersion: number;\r\n submitting: boolean;\r\n declineReason:string;\r\n formErrors: any;\r\n actionsInProgress: Models.IActionsInProgress;\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"TimesheetStateUpdates\",\r\n \"TimesheetDeclineStateUpdates\",\r\n \"TimesheetDeclineEvents\",\r\n \"$state\"\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected TimesheetStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetDeclineStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetDeclineEvents: Core.Events.TimesheetDeclineEvents,\r\n protected $state: ng.ui.IStateService\r\n ) {\r\n super($scope);\r\n this.initLocalisedText();\r\n this.initTimesheetStateSubscription();\r\n this.initTimesheetDeclineStateUpdateSubscription();\r\n }\r\n\r\n decline () {\r\n this.TimesheetDeclineEvents.userIntents.declineTimesheet.onNext({\r\n timesheetId: this.$state.params['timesheetId'],\r\n version: this.timesheetVersion,\r\n message: this.declineReason\r\n });\r\n }\r\n \r\n typeDeclineReason() {\r\n this.TimesheetDeclineEvents.userIntents.typeDeclineReason.onNext(this.declineReason);\r\n }\r\n\r\n goToParent () {\r\n this.TimesheetDeclineEvents.userIntents.clearState.onNext(null);\r\n this.$state.go('^'); \r\n }\r\n\r\n private initTimesheetDeclineStateUpdateSubscription() {\r\n this.subscriptions.push(\r\n this.TimesheetDeclineStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.formErrors = state.formErrors;\r\n this.declineReason = state.declineReason;\r\n })\r\n .subscribe()\r\n )\r\n }\r\n\r\n private initTimesheetStateSubscription() {\r\n this.subscriptions.push(\r\n this.TimesheetStateUpdates\r\n .safeApply(\r\n this.$scope, \r\n (state: Core.State.TimesheetState) => {\r\n this.actionsInProgress = state.activeTimesheet.actionsInProgress;\r\n this.timesheetVersion = state.activeTimesheet.version;\r\n }\r\n )\r\n .subscribe()\r\n );\r\n }\r\n\r\n private initLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"timesheets\", \"general\"]).safeApply(this.$scope,\r\n (data: ILocalisationData) => {\r\n this.localisedText = R.merge(\r\n data.timesheets,\r\n data.general\r\n );\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n}\r\n\r\n angular.module(\"sonovate.Timesheets\")\r\n .directive(\r\n \"snTimesheetDecline\",\r\n function TimesheetDecline(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: TimesheetDeclineController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'Timesheets/viewDirectives/snTimesheetDeclineViewDirective/snTimesheetDeclineViewDirective.html',\r\n scope: {\r\n \tsnFullWidth: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Timesheets {\r\n \r\n class TimesheetDetailsModalController extends Core.BaseController {\r\n \r\n static $inject = [\r\n \"$scope\",\r\n \"TimesheetStateUpdates\"\r\n ];\r\n\r\n activeTimesheet: Models.ITimesheetNew;\r\n \r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected TimesheetStateUpdates: Rx.Subject\r\n ) {\r\n super($scope);\r\n this.setupTimesheetState();\r\n }\r\n\r\n private setupTimesheetState() {\r\n this.subscriptions.push(\r\n this.TimesheetStateUpdates.safeApply(this.$scope, (state: Core.State.TimesheetState) => {\r\n this.activeTimesheet = state.activeTimesheet;\r\n }).subscribe()\r\n );\r\n }\r\n \r\n }\r\n \r\n angular.module(\"sonovate.Timesheets\")\r\n .directive(\r\n \"snTimesheetDetailsModal\",\r\n function TimesheetDetailsModal(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: TimesheetDetailsModalController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'Timesheets/viewDirectives/snTimesheetDetailsModal/snTimesheetDetailsModal.html',\r\n scope: {\r\n }\r\n };\r\n }\r\n );\r\n }","/// \r\n\r\nmodule Sonovate.Timesheets {\r\n\r\n class TimesheetEditExpenseController extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"$state\",\r\n \"localiser\",\r\n \"TimesheetEditExpenseEvents\",\r\n \"referenceDataActions\",\r\n \"ExpenseTypeStateUpdates\",\r\n \"TimesheetStateUpdates\",\r\n \"TimesheetEditExpenseStateUpdates\",\r\n '$timeout'\r\n ];\r\n\r\n expenseDropdownItems: Models.IExpenseTypeDropdownItem[];\r\n showDescription: boolean;\r\n expense: Models.ITimesheetExpense;\r\n showVatError: boolean;\r\n showNetError: boolean;\r\n showRateBasedExpense: boolean;\r\n description: string;\r\n currentTimesheetId: any;\r\n isValid: boolean;\r\n currentTimesheetStartDate: string;\r\n currentTimesheetEndDate: string;\r\n descriptionTextCutOff: number = 18;\r\n evidenceImagesAmount: number;\r\n pictureToDisplay: Models.IImage;\r\n newPictures: Models.IImage[];\r\n showRateError: boolean;\r\n isRate: boolean;\r\n isWobbling: boolean = false;\r\n currencyCode: string;\r\n timesheetVersion: number;\r\n localisedText: IDictionary = {};\r\n rateLabel: string;\r\n uploadedEvidenceType: Models.IExpenseEvidenceType;\r\n editDescriptionOnly: boolean;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected localiser: ILocaliserService,\r\n protected TimesheetEditExpenseEvents: Sonovate.Core.Events.ITimesheetEditExpensesEvents,\r\n protected referenceDataActions: IReferenceDataActions,\r\n protected ExpenseTypeStateUpdates: Rx.Observable,\r\n protected TimesheetStateUpdates: Rx.Observable,\r\n protected TimesheetEditExpenseStateUpdates: Rx.Observable,\r\n protected $timeout: ng.ITimeoutService\r\n ) {\r\n super($scope);\r\n\r\n this.setUpReferenceDataSubscription();\r\n this.setupTimesheetAssignmentSubscription();\r\n this.setupEditStoreSubscription();\r\n this.getLocalisedText();\r\n\r\n $scope.$watch('vm.files', function (newFile: File) {\r\n if(newFile){\r\n TimesheetEditExpenseEvents.userIntents.addEvidencePicture.onNext(newFile)\r\n }\r\n });\r\n }\r\n\r\n public setUpReferenceDataSubscription() : void {\r\n \r\n this.subscriptions.push(\r\n this.ExpenseTypeStateUpdates\r\n .safeApply(this.$scope, (state: Core.State.ReferenceDataState.IExpenseTypeDropdownState) => {\r\n this.expenseDropdownItems = state.getExpensesAsDropdownItems();\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"timesheets\", \"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = R.merge(\r\n data.timesheets,\r\n data.general\r\n );\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n\r\n isUploadedEvidenceAImage(): boolean {\r\n return this.uploadedEvidenceType === \"image\";\r\n }\r\n\r\n isUploadedEvidenceAPdf(): boolean {\r\n return this.uploadedEvidenceType === \"pdf\";\r\n }\r\n\r\n isThereNoUploadedEvidence(): boolean {\r\n return this.uploadedEvidenceType === \"none\";\r\n }\r\n\r\n private setupEditStoreSubscription() {\r\n this.subscriptions.push(\r\n this.TimesheetEditExpenseStateUpdates\r\n .safeApply(this.$scope, (state: Sonovate.Core.State.ITimesheetEditExpensesState) => {\r\n if(state.expense){\r\n this.expense = angular.copy(state.expense);\r\n this.uploadedEvidenceType = state.uploadedEvidenceType;\r\n this.evidenceImagesAmount = state.evidenceImagesAmount;\r\n this.pictureToDisplay = state.pictureToDisplay;\r\n this.newPictures = state.newEvidencePictures;\r\n this.isValid = state.isFormValid(); \r\n this.showVatError = state.vatError;\r\n this.showNetError = state.netError;\r\n this.showRateError = state.rateError;\r\n this.showDescription = state.showDescription;\r\n this.description = state.expense.descriptionText;\r\n this.isRate = state.showRateBasedExpense;\r\n this.rateLabel = state.expense.selectedExpenseRateLabel;\r\n this.editDescriptionOnly = state.editDescriptionOnly;\r\n }\r\n }).subscribe()\r\n\t\t\t);\r\n }\r\n\r\n public setupTimesheetAssignmentSubscription() : void {\r\n this.subscriptions.push(\r\n this.TimesheetStateUpdates\r\n .safeApply(this.$scope, (state: Core.State.TimesheetState) => {\r\n\r\n this.timesheetVersion = state.activeTimesheet.version;\r\n if(state && state.activeTimesheet.assignment && state.activeTimesheet.assignment.timesheetAssignmentId){\r\n this.currencyCode = state.activeTimesheet.assignment.currencyCode;\r\n this.referenceDataActions.requestSubjects.getExpenseTypes.onNext(state.activeTimesheet.timesheetId);\r\n this.currentTimesheetId = state.activeTimesheet.timesheetId;\r\n }\r\n }).subscribe()\r\n );\r\n }\r\n\r\n public setSelectedExpenseType(item: Models.IExpenseTypeDropdownItem): void {\r\n this.TimesheetEditExpenseEvents.userIntents.setExpenseType.onNext(item);\r\n }\r\n\r\n public openDescription(): void {\r\n this.TimesheetEditExpenseEvents.userIntents.openDescription.onNext(null);\r\n }\r\n\r\n public closeDescription(): void {\r\n this.TimesheetEditExpenseEvents.userIntents.dismissDescription.onNext(null);\r\n }\r\n\r\n public removeAndCloseDescription(): void {\r\n this.TimesheetEditExpenseEvents.userIntents.removeAndCloseDescription.onNext(null);\r\n }\r\n\r\n public updateDescription(description: string): void {\r\n this.TimesheetEditExpenseEvents.userIntents.updateDescription.onNext(description);\r\n }\r\n\r\n public updateNetAmount(netAmount: string): void { \r\n this.TimesheetEditExpenseEvents.userIntents.setNet.onNext(netAmount);\r\n }\r\n\r\n public updateVatAmount(vatAmount: string): void {\r\n this.TimesheetEditExpenseEvents.userIntents.setVat.onNext(vatAmount);\r\n }\r\n\r\n public addEvidiencePhoto(photo: File): void {\r\n this.TimesheetEditExpenseEvents.userIntents.addEvidencePicture.onNext(File);\r\n }\r\n\r\n public addEvidiencePhotoMultiSelect(photos: File[]): void {\r\n this.TimesheetEditExpenseEvents.userIntents.addMultipleEvidencePictures.onNext(photos);\r\n }\r\n\r\n public addExpense(): void {\r\n this.triggerWobble();\r\n this.TimesheetEditExpenseEvents.userIntents.addExpense.onNext({\r\n expense: this.expense,\r\n newPictures: this.newPictures,\r\n timesheetId: this.currentTimesheetId, \r\n isValid: this.isValid, \r\n version: this.timesheetVersion\r\n });\r\n }\r\n\r\n private triggerWobble () {\r\n this.isWobbling = true;\r\n this.$timeout(() => {\r\n this.isWobbling = false;\r\n }, 500);\r\n }\r\n\r\n public updateQuantity(expenseAmount): void {\r\n this.TimesheetEditExpenseEvents.userIntents.setQuantity.onNext(expenseAmount);\r\n }\r\n\r\n public openFileDialog(): void {\r\n angular.element('.editExpenseFileInput').triggerHandler('click');\r\n }\r\n\r\n public getDescriptionSubstring(description: string): string { \r\n if(description){\r\n return description.substring(0, this.descriptionTextCutOff);\r\n }\r\n }\r\n\r\n public getDescriptionSize(description: string): number { \r\n if(description) {\r\n return description.length;\r\n }\r\n return \r\n }\r\n\r\n public showReadMore(description: string): boolean { \r\n if(this.getDescriptionSize(this.expense.descriptionText || description) < this.descriptionTextCutOff ) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public cancelEdit(): void { \r\n this.TimesheetEditExpenseEvents.userIntents.cancelEditExpense.onNext(null);\r\n }\r\n\r\n }\r\n\r\n angular.module(\"sonovate.Timesheets\")\r\n .directive(\r\n \"snTimesheetEditInlineExpense\",\r\n function TimesheetEditExpense(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: TimesheetEditExpenseController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'Timesheets/viewDirectives/snTimesheetEditExpense/snTimesheetEditExpense.html',\r\n scope: {\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Timesheets {\r\n\r\n class TimesheetExpensesController extends Core.BaseController {\r\n\r\n private localisedText: IDictionary = {};\r\n private snAssignment: Models.IAssignmentNew;\r\n private state: Sonovate.Core.State.TimesheetState;\r\n private activeTimesheetStatus: string;\r\n private isLoading: boolean;\r\n private timesheetAssignmentId: number;\r\n private activeTimesheet: Models.ITimesheet;\r\n private showConflict: boolean;\r\n private viewDescriptionText: string;\r\n private permissions: Core.Permissions.TimesheetPermissions.IPermissionSet = {};\r\n pageIsLoading: boolean = true;\r\n\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"$state\",\r\n \"localiser\",\r\n \"TimesheetStateUpdates\",\r\n \"TimesheetEvents\",\r\n \"TimesheetEditExpenseStateUpdates\",\r\n \"signedInUserStore\",\r\n \"TimesheetEditExpenseEvents\",\r\n \"LoadingStateUpdates\"\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected localiser: ILocaliserService,\r\n protected TimesheetStateUpdates: Rx.ReplaySubject,\r\n protected timesheetEvents: Sonovate.Core.Events.ITimesheetEvents,\r\n protected TimesheetEditExpenseStateUpdates: any,\r\n protected signedInUserStore: ISignedInUserStore,\r\n protected TimesheetEditExpenseEvents: Sonovate.Core.Events.ITimesheetEditExpensesEvents,\r\n protected LoadingStateUpdates: Rx.BehaviorSubject\r\n\r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n this.getAssignment();\r\n this.setupEditExpenseSubscription();\r\n this.setupLoadingStateSubscription();\r\n }\r\n\r\n setupLoadingStateSubscription() {\r\n this.subscriptions.push(\r\n this.LoadingStateUpdates.safeApply(this.$scope,\r\n (state: Core.State.LoadingState) => {\r\n this.pageIsLoading = state.showLoadingScreen;\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n\r\n goToParent(): void {\r\n this.$state.go('^');\r\n }\r\n\r\n readMore(expense): void {\r\n this.viewDescriptionText = expense.descriptionText;\r\n this.$state.go(`${this.$state.current.name}.modals`, { modal: \"view-expense-description-text\" });\r\n }\r\n\r\n reloadPage(): void {\r\n this.TimesheetEditExpenseEvents.userIntents.dismissError.onNext(null);\r\n this.timesheetEvents.userIntents.viewTimesheet.onNext(null);\r\n this.timesheetEvents.userIntents.getTimesheet.onNext({\r\n timesheetId: this.activeTimesheet.timesheetId,\r\n timesheetAssignmentId: this.timesheetAssignmentId.toString()\r\n })\r\n }\r\n \r\n private addEvidiencePhotoMultiSelect(photos: File[]): void {\r\n this.TimesheetEditExpenseEvents.userIntents.addMultipleEvidencePictures.onNext(photos);\r\n }\r\n\r\n private setupEditExpenseSubscription(): void {\r\n this.subscriptions.push(\r\n this.TimesheetEditExpenseStateUpdates.safeApply(this.$scope, (state: Sonovate.Core.State.ITimesheetEditExpensesState) => {\r\n this.showConflict = state.showConflictError;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private getAssignment(): void {\r\n this.subscriptions.push(\r\n this.TimesheetStateUpdates.safeApply(this.$scope, (state: Sonovate.Core.State.TimesheetState) => {\r\n this.state = state;\r\n this.activeTimesheetStatus = state.activeTimesheet.status;\r\n this.isLoading = state.loading;\r\n this.timesheetAssignmentId = state.activeTimesheet.assignment.timesheetAssignmentId;\r\n this.activeTimesheet = state.activeTimesheet;\r\n this.permissions = state.permissions;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"timesheets\", \"general\"]).safeApply(this.$scope,\r\n (data: ILocalisationData) => {\r\n this.localisedText = R.merge(\r\n data.timesheets,\r\n data.general\r\n );\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.Timesheets\")\r\n .directive(\r\n \"snTimesheetExpenses\",\r\n function TimesheetsExpenses(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: TimesheetExpensesController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'Timesheets/viewDirectives/snTimesheetExpensesViewDirective/snTimesheetsExpensesViewDirective.html',\r\n scope: {\r\n \tsnAssignment: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snTimesheetListingController extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\", \r\n \"localiser\", \r\n \"signedInUserStore\",\r\n \"TimesheetSearchEvents\",\r\n \"$stateParams\",\r\n \"$state\",\r\n \"ScrollCalculatorService\",\r\n \"TimesheetSearchStateUpdates\",\r\n \"TimesheetDismissEvents\",\r\n \"$rootScope\",\r\n \"LoadingStateUpdates\",\r\n \"TimesheetSonovateActionEvents\",\r\n \"TimesheetDeliveryPeriodSortOrderService\",\r\n \"FEATURES\"\r\n ];\r\n\r\n localisedText: IDictionary = {};\r\n userDateFormat: string = \"dd/MM/yyyy\"; \r\n query: Sonovate.Core.Utils.SearchQuery;\r\n timesheets: Models.ITimesheetSearchResult[] = [];\r\n context: string;\r\n totalResults: number;\r\n timesheetLocalised: IDictionary = {};\r\n dismissTimesheetIntent: Sonovate.Core.Events.ITimesheetDismissIntent;\r\n currentDeliveryPeriodFilter: string;\r\n changingState: boolean = false;\r\n statusSelected: string;\r\n managedSelected: string;\r\n timesheetFlagSelected: string;\r\n showNoResultsFeedback: boolean;\r\n showNoQueryResultsFeedback: boolean;\r\n showManagedDropdown: boolean;\r\n showTimesheetFlagDropdown: boolean;\r\n pageIsLoading: boolean = true;\r\n showConflictError: boolean;\r\n isBulkApproving: boolean;\r\n showBulkApprovalMessage: boolean;\r\n hasBulkApprovePermissions: boolean;\r\n actionsInProgress: Models.IListingActionsInProgress;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected signedInUserStore: ISignedInUserStore,\r\n protected TimesheetSearchEvents: Core.Events.ITimesheetSearchEvents,\r\n protected $stateParams: ng.ui.IStateParamsService,\r\n protected $state: ng.ui.IStateService,\r\n protected ScrollCalculatorService: IScrollCalculatorService,\r\n protected TimesheetSearchStateUpdates: Rx.Subject,\r\n protected TimesheetDismissEvents: Sonovate.Core.Events.ITimesheetDismissEvents,\r\n protected $rootScope: ng.IRootScopeService,\r\n protected LoadingStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetSonovateActionEvents: Core.Events.TimesheetSonovateActionEvents,\r\n protected TimesheetDeliveryPeriodSortOrderService: Sonovate.Core.Services.TimesheetDeliveryPeriodSortOrderService,\r\n private FEATURES: IFeatureToggle[]\r\n\r\n ) {\r\n super($scope);\r\n this.setupStateChangeListener();\r\n this.query = new Core.Utils.SearchQuery();\r\n this.initScrollSubscription();\r\n this.query.offset = 0;\r\n this.query.setFromStateParams(this.$stateParams, 10);\r\n\r\n this.currentDeliveryPeriodFilter = this.query.order ? this.query.order.direction: null;\r\n\r\n if (!this.currentDeliveryPeriodFilter) {\r\n var filter = this.TimesheetDeliveryPeriodSortOrderService.getSortOrderFilter(signedInUserStore.state.userType);\r\n\r\n this.query.order = {\r\n fieldName: filter\r\n }\r\n this.currentDeliveryPeriodFilter = filter;\r\n }\r\n\r\n this.statusSelected = this.query.getFilterValue('status');\r\n this.managedSelected = this.query.getFilterValue('managed');\r\n this.timesheetFlagSelected = this.query.getFilterValue('timesheetFlag');\r\n this.TimesheetSearchEvents.userIntents.carryOutSearch.onNext({query: this.query});\r\n\r\n this.getLocalisedText(); \r\n this.setupSignedinUserStore();\r\n this.initTimesheetSearchStateSubscription();\r\n this.initDismissTimesheetSuccessSubscription();\r\n this.setupShowManagedDropdown();\r\n this.setupShowTimesheetFlagDropdown();\r\n this.setupLoadingStateSubscription();\r\n this.setupBulkApproveButtonPermissions();\r\n this.getCurrentBulkApprovalStatus(); \r\n }\r\n\r\n featureEnabled(feature: string): boolean { \r\n let definedFeature = this.FEATURES.find(f => f.key === feature); \r\n return definedFeature && definedFeature.enabled; \r\n }\r\n\r\n isCandidate(): boolean { \r\n return this.signedInUserStore.state.userType === \"Candidate\";\r\n }\r\n\r\n setupLoadingStateSubscription() {\r\n this.subscriptions.push(\r\n this.LoadingStateUpdates.safeApply(this.$scope,\r\n (state: Core.State.LoadingState) => {\r\n this.pageIsLoading = state.showLoadingScreen;\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n\r\n isSonovate(): boolean { \r\n return this.context === 'sonovate';\r\n }\r\n\r\n openBulkApprovalModal() { \r\n this.$state.go(`${this.$state.current.name}.modals`, {\r\n modal: 'confirm-bulk-approval'\r\n });\r\n }\r\n\r\n getCurrentBulkApprovalStatus(): void {\r\n if (this.hasBulkApprovePermissions) { \r\n this.TimesheetSonovateActionEvents.httpResults.getCurrentBulkApprovalStatus.onNext(null); \r\n this.subscriptions.push(Rx.Observable\r\n .interval(300000)\r\n .subscribe(() => { \r\n this.TimesheetSonovateActionEvents.httpResults.getCurrentBulkApprovalStatus.onNext(null); \r\n })\r\n );\r\n }\r\n }\r\n\r\n public bulkApprove(): void { \r\n this.TimesheetSonovateActionEvents.userIntents.userBulkApprovedTimesheetsFromListing.onNext(null);\r\n this.closeForm();\r\n }\r\n\r\n public closeForm() : void {\r\n this.$state.go(this.$state.current.parent);\r\n }\r\n\r\n public searchListings(): void {\r\n this.query.offset = 0;\r\n this.query.addSearchTerm(this.query.q);\r\n\t\t\tthis.TimesheetSearchEvents.userIntents.changeSearchTerm.onNext({query: this.query});\r\n }\r\n\r\n public onStatusChange(value): void {\r\n this.statusSelected = value;\r\n this.query.offset = 0;\r\n this.query.filter(\"status\", \"eq\", value);\r\n this.TimesheetSearchEvents.userIntents.changeStatusFilter.onNext({query: this.query});\r\n }\r\n\r\n public onManagedChange(value): void {\r\n this.managedSelected = value;\r\n this.query.offset = 0;\r\n this.query.filter(\"managed\", \"eq\", value);\r\n this.TimesheetSearchEvents.userIntents.changeManagedFilter.onNext({query: this.query});\r\n }\r\n\r\n public onTimesheetFlagChange(value): void {\r\n this.timesheetFlagSelected = value;\r\n this.query.offset = 0;\r\n this.query.filter(\"timesheetFlag\", \"eq\", value);\r\n this.TimesheetSearchEvents.userIntents.changeTimesheetFlagFilter.onNext({query: this.query});\r\n }\r\n\r\n public onSortDeliveryPeriods(value: 'priority'|'newest'|'oldest'): void {\r\n this.currentDeliveryPeriodFilter = value;\r\n this.query.offset = 0;\r\n\r\n // value should be one of ['priority', 'newest', 'oldest']\r\n this.query.order = {\r\n fieldName: value\r\n }\r\n\r\n this.TimesheetSearchEvents.userIntents.changeAssendingFilter.onNext({query: this.query});\r\n }\r\n\r\n public getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"Timesheet\", \"general\", \"timesheets\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = R.merge(data.Timesheet, data.general);\r\n this.timesheetLocalised = data.timesheets;\r\n }).subscribe()\r\n )\r\n }\r\n\r\n public setupSignedinUserStore(): void {\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject.subscribe(state => {\r\n this.userDateFormat = state.settings.dateFormat; \r\n })\r\n );\r\n }\r\n\r\n private initScrollSubscription () {\r\n\t\t\tthis.subscriptions.push(\r\n this.ScrollCalculatorService\r\n .getWindowScrollObservableForLazyLoading()\r\n .subscribe(() => {\r\n this.query.incrementOffset(1);\r\n this.scroll();\r\n })\r\n );\r\n\t\t}\r\n\r\n private scroll(): void {\r\n if (!this.changingState) { //Stops involuntary redirect to Timesheets via query\r\n this.TimesheetSearchEvents.userIntents.seeMoreResults.onNext({query: this.query});\r\n }\r\n }\r\n\r\n private goToParent () {\r\n this.$state.go('^');\r\n }\r\n\r\n private dismissTimesheet(intent: Sonovate.Core.Events.ITimesheetDismissIntent): void {\r\n this.TimesheetDismissEvents.userIntents.dismissTimesheetFromListing.onNext({\r\n timesheetId: intent.timesheetId,\r\n version: intent.version\r\n })\r\n }\r\n\r\n private setupStateChangeListener(): void {\r\n this.events.push(\r\n this.$rootScope.$on('$stateChangeStart', (event, toState, toParams, fromState, fromParams) => {\r\n if (toState.name.indexOf(\"sonovate.TimesheetsWork\") > -1) {\r\n this.changingState = true;\r\n }\r\n })\r\n );\r\n }\r\n\r\n public reloadPage(): void {\r\n this.TimesheetSonovateActionEvents.userIntents.dismissError.onNext(null);\r\n this.searchListings();\r\n }\r\n\r\n private initTimesheetSearchStateSubscription() {\r\n this.subscriptions.push(\t\t\t\r\n this.TimesheetSearchStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.query = state.query;\r\n this.timesheets = state.collection; \r\n this.context = state.context; \r\n this.totalResults = state.totalResults;\r\n this.showNoResultsFeedback = state.showNoResultsFeedback;\r\n this.showNoQueryResultsFeedback = state.showNoQueryResultsFeedback;\r\n this.showConflictError = state.showConflictError;\r\n this.isBulkApproving = state.isBulkApproving;\r\n this.showBulkApprovalMessage = state.showBulkApprovalMessage;\r\n this.actionsInProgress = state.actionsInProgress;\r\n })\r\n .subscribe()\r\n );\r\n }\r\n\r\n private initDismissTimesheetSuccessSubscription() {\r\n this.subscriptions.push(\r\n this.TimesheetDismissEvents.httpResults.dismissTimesheetFromListingSuccess\r\n .subscribe()\r\n );\r\n }\r\n\r\n private setupShowManagedDropdown() {\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject.safeApply(this.$scope, (state: Models.ISignedInUser) => {;\r\n this.showManagedDropdown = (state.userType === \"Client\") ? false : true;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private setupShowTimesheetFlagDropdown() {\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject.safeApply(this.$scope, (state: Models.ISignedInUser) => {;\r\n this.showTimesheetFlagDropdown = (state.userType === \"Sonovate\" ) ? true : false;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private setupBulkApproveButtonPermissions() {\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject.safeApply(this.$scope, (state: Models.ISignedInUser) => {;\r\n this.hasBulkApprovePermissions = (state.userType === \"Sonovate\" ) ? true : false;\r\n }).subscribe()\r\n );\r\n }\r\n }\r\n \r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snTimesheetListing\",\r\n function snTimesheetListing(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snTimesheetListingController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'Timesheets/viewDirectives/snTimesheetListingViewDirective/snTimesheetListingViewDirective.html',\r\n scope: {\r\n \r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Core {\r\n\r\n class snTimesheetListItemController extends TimesheetItemBaseClass {\r\n\r\n static $inject = [\r\n \"$scope\", \r\n \"localiser\", \r\n \"$state\",\r\n \"TimesheetSignEvents\",\r\n \"TimesheetEvents\",\r\n \"TimesheetMessageEvents\",\r\n \"TimesheetDismissEvents\",\r\n \"$window\",\r\n \"TimesheetSonovateActionEvents\",\r\n \"signedInUserStore\",\r\n \"TimesheetSearchStateUpdates\"\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected $state: ng.ui.IStateService,\r\n protected TimesheetSignEvents: Core.Events.TimesheetSignEvents,\r\n protected TimesheetEvents: Core.Events.ITimesheetEvents,\r\n protected TimesheetMessageEvents: Core.Events.ITimesheetMessageEvents,\r\n protected TimesheetDismissEvents: Core.Events.ITimesheetDismissEvents,\r\n protected $window: ng.IWindowService,\r\n protected TimesheetSonovateActionEvents: Core.Events.TimesheetSonovateActionEvents,\r\n protected signedInUserStore: ISignedInUserStore,\r\n protected TimesheetSearchStateUpdates: Rx.Subject\r\n ) {\r\n super(\r\n $scope,\r\n localiser,\r\n $state,\r\n TimesheetSignEvents,\r\n TimesheetEvents,\r\n TimesheetMessageEvents,\r\n TimesheetDismissEvents,\r\n $window,\r\n TimesheetSonovateActionEvents\r\n );\r\n\r\n this.signedInUserStore.subject.subscribe(user => {\r\n this.isSubscribedToRetainedPay = (user.settings.subscriptions || []).some(x => x === \"RetainedPay\");\r\n });\r\n\r\n this.subscriptions.push(\t\t\t\r\n this.TimesheetSearchStateUpdates\r\n .safeApply(this.$scope, (state: Sonovate.Core.State.ITimesheetSearchState) => {\r\n this.isSigning = this.snTimesheetItem.actionsInProgress.sign;\r\n })\r\n .subscribe()\r\n );\r\n }\r\n\r\n public isSubscribedToRetainedPay: boolean;\r\n\r\n isActionDateVisible(): boolean {\r\n return !this.isSubscribedToRetainedPay && !!this.snTimesheetItem.relevantActionDate;\r\n }\r\n\r\n getAmmountOfWorkTotalsNotBeingDisplayed(): number {\r\n let numberOfTotals = this.snTimesheetItem.workTotals.length;\r\n\r\n if (this.hasExpenses && numberOfTotals> 2) {\r\n return numberOfTotals - 2;\r\n } else if (numberOfTotals > 3) {\r\n return numberOfTotals - 3;\r\n } else {\r\n return 0;\r\n }\r\n }\r\n \r\n }\r\n \r\n angular.module(\"sonovate.core\")\r\n .directive(\r\n \"snTimesheetListItem\",\r\n function snTimesheetListItem(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: snTimesheetListItemController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'Timesheets/viewDirectives/snTimesheetListItemViewDirective/snTimesheetListItemViewDirective.html',\r\n scope: {\r\n snTimesheetItem:\"=\",\r\n snDateFormat: \"@\",\r\n snDismissCallback: \"&\",\r\n snSignCallback: \"&\",\r\n snContext:\"@\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Timesheets {\r\n \r\n class TimesheetModalsController extends Core.BaseController {\r\n\r\n localisedText: IDictionary = {};\r\n activeTimesheet: Models.ITimesheetNew;\r\n actionsInProgress: Models.IActionsInProgress;\r\n showAutofilling: boolean;\r\n isAutofilling: boolean; //TODO: migrate to actionsInProgress\r\n \r\n static $inject = [\r\n \"$scope\",\r\n \"$state\",\r\n \"$timeout\",\r\n \"localiser\",\r\n \"TimesheetStateUpdates\",\r\n \"TimesheetAutofillStateUpdates\",\r\n \"TimesheetSonovateActionEvents\",\r\n \"TimesheetClearEvents\",\r\n \"TimesheetEvents\",\r\n \"TimesheetDeclineEvents\",\r\n \"TimesheetSignEvents\",\r\n \"TimesheetDismissEvents\",\r\n \"TimesheetCandidateReopenEvents\",\r\n \"TimesheetAutofillEvents\",\r\n \"TimesheetAddWorkEvents\",\r\n \"TimesheetManageEvents\"\r\n ];\r\n \r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected $timeout: ng.ITimeoutService,\r\n protected localiser: ILocaliserService,\r\n protected TimesheetStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetAutofillStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetSonovateActionEvents: Core.Events.TimesheetSonovateActionEvents,\r\n protected TimesheetClearEvents: Core.Events.TimesheetClearEvents,\r\n protected TimesheetEvents: Core.Events.ITimesheetEvents,\r\n protected TimesheetDeclineEvents: Core.Events.TimesheetDeclineEvents,\r\n protected TimesheetSignEvents: Core.Events.TimesheetSignEvents,\r\n protected TimesheetDismissEvents: Core.Events.ITimesheetDismissEvents,\r\n protected TimesheetCandidateReopenEvents: Core.Events.TimesheetCandidateReopenEvents,\r\n protected TimesheetAutofillEvents: Core.Events.ITimesheetAutofillEvents,\r\n protected TimesheetAddWorkEvents: Core.Events.TimesheetAddWorkEvents,\r\n protected TimesheetManageEvents: Core.Events.TimesheetManageEvents \r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n this.setupTimesheetState();\r\n this.setupAutofillStateSubscription();\r\n this.setupForceApproveSubscription();\r\n }\r\n \r\n userForceApprovedTimesheet() {\r\n this.$state.go('^');\r\n this.TimesheetSonovateActionEvents.userIntents.userApprovedTimesheet.onNext({\r\n timesheetId: this.activeTimesheet.timesheetId,\r\n force: true,\r\n version: this.activeTimesheet.version\r\n });\r\n }\r\n\r\n clearSelectedDates() {\r\n this.TimesheetAddWorkEvents.userIntents.closeAddWorkModal.onNext(null);\r\n this.TimesheetAddWorkEvents.userIntents.clearAddWorkForm.onNext(null);\r\n }\r\n\r\n clearDeclineTimesheetState() {\r\n this.TimesheetDeclineEvents.userIntents.clearState.onNext(null);\r\n }\r\n \r\n signAndRouteToTimesheets() {\r\n this.sign();\r\n this.$state.go(`sonovate.Timesheets`, {}, {reload: true});\r\n }\r\n \r\n sign () {\r\n this.TimesheetSignEvents.userIntents.signTimesheet.onNext(this.getTimesheetIdAndVersionPayload());\r\n }\r\n\r\n dismiss () { \r\n this.TimesheetDismissEvents.userIntents.dismissTimesheet.onNext(this.getTimesheetIdAndVersionPayload());\r\n }\r\n\r\n candidateTimesheetEdit() {\r\n this.TimesheetCandidateReopenEvents.userIntents.reopenCandidateTimesheet.onNext(this.getTimesheetIdAndVersionPayload());\r\n this.goToParent(); \r\n }\r\n\r\n reopenTimesheet() {\r\n this.TimesheetSonovateActionEvents.userIntents.reopenTimesheet.onNext(this.getTimesheetIdAndVersionPayload());\r\n this.goToParent();\r\n }\r\n \r\n deleteTimesheet () {\r\n this.TimesheetEvents.userIntents.deleteTimesheet.onNext(this.getTimesheetIdAndVersionPayload()); \r\n }\r\n \r\n autofillTimesheet () {\r\n this.TimesheetAutofillEvents.userIntents.autofillTimesheet.onNext({\r\n timesheetId: this.$state.params['timesheetId'],\r\n version: this.activeTimesheet.version\r\n });\r\n }\r\n\r\n goToSubmit () {\r\n this.$state.go(`${this.$state.current.name}`, {\r\n modal: 'submit'\r\n });\r\n }\r\n\r\n openForceApprovalModal() {\r\n this.$state.go(`${this.$state.current.name}.modals`, {\r\n modal: 'force-approval'\r\n });\r\n }\r\n \r\n goToParent () {\r\n this.$state.go('^');\r\n }\r\n\r\n clear() {\r\n this.TimesheetClearEvents.userIntents.clearTimesheet.onNext(this.getTimesheetIdAndVersionPayload());\r\n this.$state.go('^');\r\n }\r\n\r\n manage () {\r\n this.goToParent(); \r\n this.TimesheetManageEvents.userIntents.manageTimesheet.onNext({\r\n timesheetId: this.$state.params['timesheetId'],\r\n version: this.activeTimesheet.version\r\n })\r\n }\r\n\r\n getTimesheetIdAndVersionPayload(){\r\n return {\r\n timesheetId: this.activeTimesheet.timesheetId,\r\n version: this.activeTimesheet.version\r\n }\r\n }\r\n\r\n private setupForceApproveSubscription(): void {\r\n this.subscriptions.push(\r\n this.TimesheetSonovateActionEvents.httpResults.userApprovedTimesheetForcePrompt\r\n .safeApply(this.$scope, () => {\r\n this.openForceApprovalModal();\r\n })\r\n .subscribe()\r\n );\r\n }\r\n\r\n private setupTimesheetState() {\r\n this.subscriptions.push(\r\n this.TimesheetStateUpdates.safeApply(this.$scope, (state: Core.State.TimesheetState) => {\r\n this.activeTimesheet = state.activeTimesheet;\r\n this.actionsInProgress = state.activeTimesheet.actionsInProgress;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private setupAutofillStateSubscription () {\r\n this.subscriptions.push(\r\n this.TimesheetAutofillStateUpdates.safeApply(this.$scope, (state) => {\r\n this.isAutofilling = state.isAutofilling;\r\n \r\n if (state.isAutofilling) {\r\n this.triggerAutofill();\r\n }\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"timesheets\", \"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = R.merge(\r\n data.timesheets,\r\n data.general\r\n );\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n\r\n private triggerAutofill () {\r\n this.$timeout(() => {\r\n if (this.isAutofilling) {\r\n this.showAutofilling = true;\r\n }\r\n }, 500);\r\n }\r\n }\r\n \r\n angular.module(\"sonovate.Timesheets\")\r\n .directive(\r\n \"snTimesheetModals\",\r\n function TimesheetModals(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: TimesheetModalsController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'Timesheets/viewDirectives/snTimesheetModals/snTimesheetModals.html',\r\n scope: {\r\n }\r\n };\r\n }\r\n );\r\n }","/// \r\n\r\nmodule Sonovate.Timesheets {\r\n\r\nclass TimesheetRejectController extends Core.BaseController {\r\n\r\n localisedText: IDictionary = {};\r\n rejectionReason: string;\r\n currentDeliveryPeriod: Models.IDeliveryPeriod;\r\n timesheetVersion: number;\r\n rejecting: boolean;\r\n showValidationMessage: boolean;\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"TimesheetStateUpdates\",\r\n \"TimesheetRejectStateUpdates\",\r\n \"TimesheetRejectEvents\",\r\n \"$state\"\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected TimesheetStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetRejectStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetRejectEvents: Core.Events.ITimesheetRejectEvents,\r\n protected $state: ng.ui.IStateService\r\n ) {\r\n super($scope);\r\n this.initLocalisedText();\r\n this.initTimesheetSubmitStateSubscription();\r\n this.initSubmitSuccessSubscription();\r\n this.initTimesheetStateSubscription();\r\n this.TimesheetRejectEvents.userIntents.clearFields.onNext(null);\r\n }\r\n\r\n reject () {\r\n this.TimesheetRejectEvents.userIntents.rejectTimesheet.onNext({\r\n timesheetId: this.$state.params['timesheetId'],\r\n message: this.rejectionReason,\r\n version: this.timesheetVersion\r\n })\r\n }\r\n\r\n typeRejectionReason () {\r\n this.TimesheetRejectEvents.userIntents.typeRejectionReason.onNext(this.rejectionReason);\r\n }\r\n\r\n goToParent () {\r\n this.$state.go('^');\r\n }\r\n\r\n private initLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"timesheets\", \"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = R.merge(\r\n data.timesheets,\r\n data.general\r\n );\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n\r\n private initTimesheetSubmitStateSubscription () {\r\n this.subscriptions.push(\r\n this.TimesheetRejectStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.rejectionReason = state.rejectionReason;\r\n this.currentDeliveryPeriod = state.currentDeliveryPeriod;\r\n this.rejecting = state.rejecting;\r\n this.showValidationMessage = state.showValidationMessage;\r\n })\r\n .subscribe()\r\n )\r\n }\r\n\r\n private initTimesheetStateSubscription() {\r\n this.subscriptions.push(\r\n this.TimesheetStateUpdates\r\n .safeApply(this.$scope, (state) => this.timesheetVersion = state.activeTimesheet.version)\r\n .subscribe()\r\n );\r\n }\r\n\r\n private initSubmitSuccessSubscription () {\r\n this.subscriptions.push(\r\n this.TimesheetRejectEvents.httpResults.rejectTimesheetSuccess\r\n .subscribe(() => {\r\n this.goToParent();\r\n })\r\n );\r\n }\r\n}\r\n\r\n angular.module(\"sonovate.Timesheets\")\r\n .directive(\r\n \"snTimesheetReject\",\r\n function TimesheetReject(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: TimesheetRejectController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'Timesheets/viewDirectives/snTimesheetRejectViewDirective/snTimesheetRejectViewDirective.html',\r\n scope: {\r\n \tsnFullWidth: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Timesheets {\r\n\r\nclass TimesheetsManagedAreaController extends Core.BaseController {\r\n\r\n localisedText: IDictionary = {};\r\n pageIsLoading: boolean;\r\n notes: string;\r\n activeTimesheet: Models.ITimesheet;\r\n permissions: Core.Permissions.TimesheetPermissions.IPermissionSet = {};\r\n customerServicesNumber: string;\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"TimesheetStateUpdates\",\r\n \"TimesheetSonovateActionEvents\",\r\n \"TimesheetSonovateAddWorkStateUpdates\",\r\n \"LoadingStateUpdates\"\r\n ]; \r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected TimesheetStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetSonovateActionEvents: Sonovate.Core.Events.TimesheetSonovateActionEvents,\r\n protected TimesheetSonovateAddWorkStateUpdates: Rx.BehaviorSubject,\r\n protected LoadingStateUpdates: Rx.BehaviorSubject\r\n ) {\r\n super($scope);\r\n this.initLoadingStateSubscription();\r\n this.initLocalisedText();\r\n this.initTimesheetState();\r\n this.initTimesheetSonovateAddWorkStateUpdatesSubscription();\r\n }\r\n\r\n typeInNotesBox(text) {\r\n this.TimesheetSonovateActionEvents.userIntents.typeInNotesBox.onNext({\r\n text: text\r\n });\r\n }\r\n\r\n \r\n initLoadingStateSubscription() {\r\n this.subscriptions.push(\r\n this.LoadingStateUpdates.subscribe((state) => {\r\n this.pageIsLoading = state.showLoadingScreen;\r\n })\r\n );\r\n }\r\n private initTimesheetSonovateAddWorkStateUpdatesSubscription() {\r\n this.subscriptions.push(\r\n this.TimesheetSonovateAddWorkStateUpdates.subscribe((state) => {\r\n this.notes = state.state.notes;\r\n })\r\n );\r\n }\r\n\r\n private initTimesheetState() {\r\n this.subscriptions.push(\r\n this.TimesheetStateUpdates.subscribe((state) => {\r\n this.activeTimesheet = state.activeTimesheet;\r\n this.customerServicesNumber = state.activeTimesheet.assignment.supplierCustomerServicesNumber;\r\n this.permissions = state.permissions;\r\n })\r\n );\r\n }\r\n\r\n private initLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"timesheets\", \"general\"]).safeApply(this.$scope,\r\n (data: ILocalisationData) => {\r\n this.localisedText = R.merge(\r\n data.timesheets,\r\n data.general\r\n );\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n}\r\n\r\n angular.module(\"sonovate.Timesheets\")\r\n .directive(\r\n \"snTimesheetsManagedArea\",\r\n function TimesheetsManagedArea(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: TimesheetsManagedAreaController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'Timesheets/viewDirectives/snTimesheetsManagedAreaViewDirective/snTimesheetsManagedAreaViewDirective.html',\r\n scope: {\r\n \tsnFullWidth: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Timesheets {\r\n\r\n class TimesheetSonovateAddWorkController extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"$state\",\r\n \"localiser\",\r\n \"TimesheetStateUpdates\",\r\n \"TimesheetSonovateAddWorkStateUpdates\",\r\n \"TimesheetSonovateActionEvents\",\r\n \"$timeout\",\r\n \"TimesheetEvents\"\r\n ];\r\n serviceRatesDropdownItems: Models.IDropdownItem[];\r\n serviceRates: Models.IServiceRate[];\r\n summaries: Models.ISonovateWorkSummary[];\r\n localised: ILocalisationData;\r\n activeTimesheet: Models.ITimesheetNew;\r\n notes: string;\r\n adhocTransactions: Models.IAdhocTransaction[];\r\n assignment: Models.IAssignmentNew;\r\n showMessageBar: boolean;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected localiser: ILocaliserService,\r\n protected TimesheetStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetSonovateAddWorkStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetSonovateActionEvents: Sonovate.Core.Events.TimesheetSonovateActionEvents,\r\n protected $timeout: ng.ITimeoutService,\r\n protected TimesheetEvents: Core.Events.ITimesheetEvents\r\n ) {\r\n super($scope);\r\n this.initLocalisation();\r\n this.initTimesheetSonovateAddWorkStateUpdatesSubscription();\r\n this.initTimesheetStateUpdatesSubscription();\r\n }\r\n\r\n getServiceRateLabelById(id: number): string {\r\n try {\r\n return this.serviceRates.filter((rate) => {\r\n return rate.serviceRateId === id;\r\n })[0].unitOfMeasure.unitOfMeasureLabel;\r\n } catch (e) {\r\n return '';\r\n }\r\n }\r\n\r\n parseFileName(fileName: string) {\r\n try {\r\n return fileName.match(/([^\\.]*)$/)[0];\r\n } catch (e) {\r\n return \"\";\r\n }\r\n }\r\n\r\n removeFile(summaryIndex: number) {\r\n this.TimesheetSonovateActionEvents.userIntents.removeTimesheetFile.onNext({\r\n summaryIndex: summaryIndex\r\n });\r\n }\r\n\r\n addEvidence() {\r\n this.TimesheetSonovateActionEvents.userIntents.addMoreEvidence.onNext(null);\r\n }\r\n\r\n removeEvidence (summaryIndex: number) {\r\n this.TimesheetSonovateActionEvents.userIntents.removeEvidence.onNext({\r\n summaryIndex: summaryIndex\r\n });\r\n }\r\n\r\n addRate(summaryIndex: number) {\r\n this.TimesheetSonovateActionEvents.userIntents.addRate.onNext({\r\n summaryIndex: summaryIndex\r\n });\r\n }\r\n\r\n removeRate(summaryIndex:number, workEntryIndex: number) {\r\n this.TimesheetSonovateActionEvents.userIntents.removeRate.onNext({\r\n summaryIndex: summaryIndex,\r\n workEntryIndex: workEntryIndex\r\n });\r\n }\r\n\r\n openFileDialog(index: number) {\r\n angular.element(`.summaryFileInput-${index}`).triggerHandler('click');\r\n }\r\n\r\n typeHours(summaryIndex: number, workEntryIndex: number) {\r\n let workEntry = this.summaries[summaryIndex].workEntries[workEntryIndex];\r\n this.TimesheetSonovateActionEvents.userIntents.typeInRateHoursInput.onNext({\r\n summaryIndex: summaryIndex,\r\n workEntryIndex: workEntryIndex,\r\n amount: workEntry.amount,\r\n amountHours: workEntry.addWorkHours,\r\n amountMinutes: workEntry.addWorkMinutes\r\n });\r\n }\r\n\r\n blurHours(summaryIndex: number, workEntryIndex: number) {\r\n let workEntry = this.summaries[summaryIndex].workEntries[workEntryIndex];\r\n this.TimesheetSonovateActionEvents.userIntents.blurHours.onNext({\r\n summaryIndex: summaryIndex,\r\n workEntryIndex: workEntryIndex,\r\n amount: workEntry.amount,\r\n amountHours: workEntry.addWorkHours,\r\n amountMinutes: workEntry.addWorkMinutes\r\n });\r\n }\r\n\r\n typeMinutes(summaryIndex: number, workEntryIndex: number) {\r\n let workEntry = this.summaries[summaryIndex].workEntries[workEntryIndex];\r\n this.TimesheetSonovateActionEvents.userIntents.typeInRateMinutesInput.onNext({\r\n summaryIndex: summaryIndex,\r\n workEntryIndex: workEntryIndex,\r\n amount: workEntry.amount,\r\n amountHours: workEntry.addWorkHours,\r\n amountMinutes: workEntry.addWorkMinutes\r\n });\r\n }\r\n\r\n blurMinutes(summaryIndex: number, workEntryIndex: number) {\r\n let workEntry = this.summaries[summaryIndex].workEntries[workEntryIndex];\r\n this.TimesheetSonovateActionEvents.userIntents.blurMinutes.onNext({\r\n summaryIndex: summaryIndex,\r\n workEntryIndex: workEntryIndex,\r\n amount: workEntry.amount,\r\n amountHours: workEntry.addWorkHours,\r\n amountMinutes: workEntry.addWorkMinutes\r\n });\r\n }\r\n\r\n hasHourlyWorkHoursErrors(workEntry: Models.ISonovateWorkEntry): boolean {\r\n return workEntry && !workEntry.errors['addWorkHours'].isValid;\r\n }\r\n\r\n hasHourlyWorkMinutesErrors(workEntry: Models.ISonovateWorkEntry): boolean {\r\n return workEntry && !workEntry.errors['addWorkMinutes'].isValid;\r\n }\r\n\r\n typeInAmountBox(summaryIndex: number, workEntryIndex: number) {\r\n this.TimesheetSonovateActionEvents.userIntents.typeInRateAmountInput.onNext({\r\n summaryIndex: summaryIndex,\r\n workEntryIndex: workEntryIndex,\r\n amount: this.summaries[summaryIndex].workEntries[workEntryIndex].amount,\r\n amountHours: null,\r\n amountMinutes: null\r\n });\r\n }\r\n \r\n selectServiceRate(summaryIndex: number, workEntryIndex:number, serviceRateId: number) {\r\n this.TimesheetSonovateActionEvents.userIntents.selectRate.onNext({\r\n summaryIndex: summaryIndex,\r\n workEntryIndex: workEntryIndex,\r\n serviceRateId: serviceRateId\r\n });\r\n }\r\n\r\n uploadFile(summaryIndex: number, $files: File[], $invalidFiles) {\r\n this.TimesheetSonovateActionEvents.userIntents.uploadSignedTimesheet.onNext({\r\n timesheetId: this.activeTimesheet.timesheetId,\r\n summaryIndex: summaryIndex,\r\n file: $files[0]\r\n });\r\n }\r\n\r\n dismissError() {\r\n this.TimesheetSonovateActionEvents.userIntents.closeErrorMessage.onNext(null);\r\n }\r\n\r\n userTypedTransactionDescription(adhocTransactionIndex: number, description: string) {\r\n this.TimesheetSonovateActionEvents.userIntents.userTypedTransactionDescription.onNext(\r\n {\r\n adhocTransactionIndex: adhocTransactionIndex,\r\n description: description\r\n }\r\n );\r\n }\r\n\r\n userTypedTransactionPayAmount(adhocTransactionIndex: number, payAmount: number) {\r\n this.TimesheetSonovateActionEvents.userIntents.userTypedTransactionPayAmount.onNext(\r\n {\r\n adhocTransactionIndex: adhocTransactionIndex,\r\n payAmount: payAmount\r\n }\r\n );\r\n }\r\n\r\n userTypedTransactionChargeAmount(adhocTransactionIndex: number, chargeAmount: number) {\r\n this.TimesheetSonovateActionEvents.userIntents.userTypedTransactionChargeAmount.onNext(\r\n {\r\n adhocTransactionIndex: adhocTransactionIndex,\r\n chargeAmount: chargeAmount\r\n }\r\n );\r\n }\r\n\r\n userClickedDeleteAdhocTransaction(adhocTransactionIndex: number, chargeAmount: number) {\r\n this.TimesheetSonovateActionEvents.userIntents.userClickedDeleteAdhocTransaction.onNext(adhocTransactionIndex);\r\n }\r\n\r\n userClickedAddAdhocTransaction(adhocTransactionIndex: number, chargeAmount: number) {\r\n this.TimesheetSonovateActionEvents.userIntents.userClickedAddAdhocTransaction.onNext(null);\r\n }\r\n\r\n isServiceRateHourly(workEntry: Models.ISonovateWorkEntry): boolean {\r\n let serviceRateId = Number.parseInt(String(workEntry.serviceRateId));\r\n return !Number.isNaN(serviceRateId) ? this.getServiceRateLabelById(Number(workEntry.serviceRateId)) === 'Hours' : this.assignment.nonWorkLabel === 'Hours';\r\n }\r\n\r\n private initTimesheetSonovateAddWorkStateUpdatesSubscription () {\r\n this.subscriptions.push(\r\n this.TimesheetSonovateAddWorkStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.serviceRates = state.state.serviceRates;\r\n this.serviceRatesDropdownItems = this.IServiceRate_IDropdownItem(state.state.serviceRates);\r\n this.summaries = state.state.summaries;\r\n this.adhocTransactions = state.state.adhocTransactions;\r\n this.notes = state.state.notes;\r\n this.showMessageBar = state.state.showError;\r\n })\r\n .subscribe()\r\n )\r\n }\r\n\r\n private initTimesheetStateUpdatesSubscription() {\r\n this.subscriptions.push(\r\n this.TimesheetStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.activeTimesheet = state.activeTimesheet;\r\n this.assignment = state.activeTimesheet.assignment;\r\n })\r\n .subscribe()\r\n )\r\n }\r\n\r\n private IServiceRate_IDropdownItem(rates: Models.IServiceRate[]): Models.IDropdownItem[] {\r\n return R.map((rate): Models.IDropdownItem => {\r\n return {\r\n text: rate.label,\r\n value: rate.serviceRateId\r\n }\r\n }, rates);\r\n }\r\n\r\n private initLocalisation () {\r\n this.localiser\r\n .get([\"timesheets\", \"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data;\r\n })\r\n .subscribe();\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.Timesheets\")\r\n .directive(\r\n \"snTimesheetSonovateAddWork\",\r\n function TimesheetsSummaryPanel(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: TimesheetSonovateAddWorkController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'Timesheets/viewDirectives/snTimesheetSonovateAddWorkViewDirective/snTimesheetSonovateAddWorkViewDirective.html',\r\n scope: {\r\n \tsnAssignment: \"=\",\r\n \tsnCalendarFullWidth: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Timesheets {\r\n\r\n class TimesheetSonovateViewWorkController extends Core.BaseController {\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"$state\",\r\n \"localiser\",\r\n \"TimesheetStateUpdates\",\r\n \"TimesheetSonovateAddWorkStateUpdates\",\r\n \"TimesheetSonovateActionEvents\",\r\n \"$timeout\",\r\n \"TimesheetEvents\"\r\n ];\r\n serviceRates: Models.IServiceRate[];\r\n localised: ILocalisationData;\r\n activeTimesheet: Models.ITimesheetNew;\r\n assignment: Models.IAssignmentNew;\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected localiser: ILocaliserService,\r\n protected TimesheetStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetSonovateAddWorkStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetSonovateActionEvents: Sonovate.Core.Events.TimesheetSonovateActionEvents,\r\n protected $timeout: ng.ITimeoutService,\r\n protected TimesheetEvents: Core.Events.ITimesheetEvents\r\n ) {\r\n super($scope);\r\n this.initLocalisation();\r\n this.initTimesheetStateUpdatesSubscription();\r\n this.initTimesheetSonovateAddWorkStateUpdatesSubscription();\r\n }\r\n\r\n parseFileName(fileName: string) {\r\n try {\r\n return fileName.match(/([^\\.]*)$/)[0];\r\n } catch (e) {\r\n return \"\";\r\n }\r\n }\r\n\r\n getNonWorkLabel(id: string) {\r\n try {\r\n return this.serviceRates.filter((rate) => rate.serviceRateId === id)[0].label;\r\n } catch (e) {\r\n return '';\r\n }\r\n }\r\n\r\n getServiceRate(workEntry: Models.ISonovateWorkEntry) {\r\n if (typeof workEntry.serviceRateId === 'number') {\r\n return workEntry.serviceRateLabel;\r\n }\r\n return this.getNonWorkLabel(workEntry.serviceRateId);\r\n }\r\n\r\n private initTimesheetSonovateAddWorkStateUpdatesSubscription() {\r\n this.subscriptions.push(\r\n this.TimesheetSonovateAddWorkStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.serviceRates = state.state.serviceRates;\r\n })\r\n .subscribe()\r\n )\r\n }\r\n \r\n private initTimesheetStateUpdatesSubscription() {\r\n this.subscriptions.push(\r\n this.TimesheetStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.activeTimesheet = state.activeTimesheet;\r\n this.assignment = state.activeTimesheet.assignment;\r\n })\r\n .subscribe()\r\n )\r\n }\r\n\r\n private initLocalisation () {\r\n this.localiser\r\n .get([\"timesheets\", \"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localised = data;\r\n })\r\n .subscribe();\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.Timesheets\")\r\n .directive(\r\n \"snTimesheetSonovateViewWork\",\r\n function TimesheetsSummaryPanel(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: TimesheetSonovateViewWorkController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'Timesheets/viewDirectives/snTimesheetSonovateViewWorkViewDirective/snTimesheetSonovateViewWorkViewDirective.html',\r\n scope: {\r\n }\r\n };\r\n }\r\n );\r\n}\r\n","/// \r\n\r\nmodule Sonovate.Timesheets {\r\n\r\nclass TimesheetsSummaryPanelController extends Core.BaseController {\r\n\r\n localisedText: IDictionary = {};\r\n interpolatedText: IDictionary;\r\n assignment: Models.IAssignmentNew;\r\n activeTimesheet: Models.ITimesheetNew;\r\n availableTimesheets: Array;\r\n currentDeliveryPeriod: Models.IDeliveryPeriod;\r\n activeTimesheetStatusColour: string;\r\n isLoading: boolean;\r\n showAutofilling: boolean;\r\n isAutofilling: boolean;\r\n validationMessageCount: number;\r\n showAutofillSuccessMessage: boolean;\r\n autofillSuccessMessage: string;\r\n showAutofillErrorMessage: boolean;\r\n autofillErrorMessage: string;\r\n APIKey: string = this.apiKey.getKey();\r\n authToken: string = this.$cookies.get(\"userToken\");\r\n candidateName: string;\r\n datePreference: string;\r\n clientSignatory: string;\r\n sonovateNotes: string;\r\n occurredOn: string;\r\n showConflictError: boolean;\r\n timesheetAssignmentId: number;\r\n isSigning: boolean = false;\r\n showConflict: boolean;\r\n isSuperUser: boolean;\r\n isSonovateAdmin: boolean;\r\n isDismissing: boolean = false;\r\n isDownloading: boolean = false;\r\n snShowDownloadPdfError: boolean = false;\r\n declineMessage: string;\r\n permissions: Core.Permissions.TimesheetPermissions.IPermissionSet;\r\n customerServicesNumber: string;\r\n isShowingTimesheetStatusHistory: boolean = false;\r\n isApproving: boolean;\r\n pageIsLoading: boolean = true;\r\n actionsInProgress: Models.IActionsInProgress;\r\n currencyCode: string;\r\n rejectionNotice: string;\r\n submissionNotice: string;\r\n constants: {} = {};\r\n isCandidate: boolean = false;\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"$window\",\r\n \"$state\",\r\n \"localiser\",\r\n \"TimesheetStateUpdates\",\r\n \"TimesheetEvents\",\r\n \"WindowResizeService\",\r\n \"TimesheetAutofillEvents\",\r\n \"TimesheetSignEvents\",\r\n \"TimesheetDismissEvents\",\r\n \"TimesheetCreateEvents\",\r\n \"$timeout\",\r\n \"TimesheetAutofillStateUpdates\",\r\n \"TimesheetSonovateActionEvents\",\r\n \"TimesheetClearEvents\",\r\n \"TimesheetManageEvents\",\r\n \"TimesheetDeclineEvents\",\r\n \"TimesheetSonovateAddWorkStateUpdates\",\r\n \"apiKey\",\r\n \"$cookies\",\r\n \"DateService\",\r\n \"signedInUserStore\",\r\n \"$filter\",\r\n \"$rootScope\",\r\n \"LoadingStateUpdates\",\r\n \"TimesheetAddWorkStateUpdates\",\r\n \"NoticeTypes\"\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $window: ng.IWindowService,\r\n protected $state: ng.ui.IStateService,\r\n protected localiser: ILocaliserService,\r\n protected TimesheetStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetEvents: Core.Events.ITimesheetEvents,\r\n protected WindowResizeService: IWindowResizeService,\r\n protected TimesheetAutofillEvents: Core.Events.ITimesheetAutofillEvents,\r\n protected TimesheetSignEvents: Core.Events.TimesheetSignEvents,\r\n protected TimesheetDismissEvents: Core.Events.ITimesheetDismissEvents,\r\n protected TimesheetCreateEvents: Core.Events.ITimesheetCreateEvents,\r\n protected $timeout: ng.ITimeoutService,\r\n protected TimesheetAutofillStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetSonovateActionEvents: Core.Events.TimesheetSonovateActionEvents,\r\n protected TimesheetClearEvents: Core.Events.TimesheetClearEvents,\r\n protected TimesheetManageEvents: Core.Events.TimesheetManageEvents,\r\n protected TimesheetDeclineEvents: Core.Events.TimesheetDeclineEvents,\r\n protected TimesheetSonovateAddWorkStateUpdates: Rx.BehaviorSubject,\r\n protected apiKey: IApiKey,\r\n private $cookies: ng.cookies.ICookiesService,\r\n protected DateService: Sonovate.Core.Utils.DateService,\r\n protected signedInUserStore: ISignedInUserStore,\r\n protected $filter: ng.IFilterService,\r\n protected $rootScope: ng.IRootScopeService,\r\n protected LoadingStateUpdates: Rx.BehaviorSubject ,\r\n protected TimesheetAddWorkStateUpdates: Rx.BehaviorSubject,\r\n protected NoticeTypes\r\n ) {\r\n super($scope);\r\n this.setupTimesheetState();\r\n this.getLocalisedText();\r\n this.initAutofillSuccessSubscription();\r\n this.initDismissSuccessSubscription();\r\n this.setupAutofillStateSubscription();\r\n this.setupSignedInUserStoreSubscription();\r\n this.setupStateChangeListener();\r\n this.initSignSuccessSubscription();\r\n this.initTimesheetSonovateAddWorkStateSubscription();\r\n this.setupLoadingStateSubscription();\r\n this.TimesheetEvents.userIntents.viewNonWorkReasons.onNext(null);\r\n this.constants = NoticeTypes\r\n }\r\n\r\n setupSignedInUserStoreSubscription(): void{\r\n this.subscriptions.push(\r\n this.signedInUserStore.subject.subscribe(user => {\r\n this.isCandidate = user.permissions.isCandidate;\r\n this.datePreference = user.settings.dateFormat;\r\n this.isSonovateAdmin = user.roles.isSonovateAdmin;\r\n this.isSuperUser = user.roles.isSuperUser;\r\n })\r\n );\r\n }\r\n\r\n setupLoadingStateSubscription() {\r\n this.subscriptions.push(\r\n this.LoadingStateUpdates.safeApply(this.$scope,\r\n (state: Core.State.LoadingState) => {\r\n this.pageIsLoading = state.showLoadingScreen;\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n\r\n reloadPage(): void { \r\n this.TimesheetAutofillEvents.userIntents.dismissConflictError.onNext(null);\r\n this.TimesheetSonovateActionEvents.userIntents.dismissError.onNext(null);\r\n this.TimesheetEvents.userIntents.viewTimesheet.onNext(null);\r\n this.TimesheetEvents.userIntents.getTimesheet.onNext({\r\n timesheetId: this.activeTimesheet.timesheetId,\r\n timesheetAssignmentId: this.timesheetAssignmentId.toString()\r\n })\r\n this.goToParent();\r\n }\r\n\r\n goToParent () {\r\n this.$state.go('^');\r\n }\r\n\r\n getTimesheetIdAndVersionPayload(){\r\n return {\r\n timesheetId: this.activeTimesheet.timesheetId,\r\n version: this.activeTimesheet.version\r\n }\r\n }\r\n\r\n dismissMessage () {\r\n this.TimesheetAutofillEvents.userIntents.dismissMessage.onNext(null);\r\n }\r\n\r\n isActiveTimesheet(timesheetId: number): boolean {\r\n return timesheetId === this.activeTimesheet.timesheetId;\r\n }\r\n\r\n dismissDownloadTimesheetError(): void {\r\n this.TimesheetEvents.userIntents.dismissDownloadTimesheetError.onNext(null);\r\n }\r\n\r\n\r\n hasRejections(): boolean {\r\n let result = false;\r\n\r\n if (this.activeTimesheet.rejections.length > 0) {\r\n this.activeTimesheet.rejections.forEach(element => {\r\n if (element.reason && element.reason.length > 0) {\r\n result = true;\r\n return;\r\n }\r\n });\r\n }\r\n\r\n return result;\r\n }\r\n\r\n manage() { \r\n this.TimesheetManageEvents.userIntents.manageTimesheet.onNext(this.getTimesheetIdAndVersionPayload());\r\n }\r\n\r\n submit () {\r\n if (this.activeTimesheet.passesValidation) {\r\n this.$state.go(`${this.$state.current.name}.modals`, {\r\n modal: 'submit'\r\n });\r\n return;\r\n }\r\n \r\n this.$state.go(`${this.$state.current.name}.modals`, {\r\n modal: 'confirm-submit'\r\n });\r\n }\r\n\r\n decline() {\r\n this.TimesheetDeclineEvents.userIntents.declineTimesheet.onNext({\r\n timesheetId: this.activeTimesheet.timesheetId,\r\n version: this.activeTimesheet.version,\r\n message: this.declineMessage\r\n });\r\n }\r\n\r\n clear() {\r\n this.TimesheetClearEvents.userIntents.clearTimesheet.onNext(this.getTimesheetIdAndVersionPayload());\r\n this.$state.go('^');\r\n }\r\n\r\n toggleTimesheetStatusHistory() {\r\n this.TimesheetEvents.userIntents.toggleTimesheetStatusHistory.onNext(null);\r\n }\r\n\r\n routeToviewTimesheetDetails() {\r\n this.$state.go(`${this.$state.current.name}.modals`, {\r\n modal: 'timesheet-details'\r\n });\r\n }\r\n\r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"timesheets\", \"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = R.merge(\r\n data.timesheets,\r\n data.general\r\n );\r\n }\r\n ).subscribe(),\r\n this.localiser.interpolate([\"timesheets\"], () => {\r\n if (this.activeTimesheet) {\r\n return {\r\n messageCount: this.validationMessageCount,\r\n time: this.$filter('date')(this.activeTimesheet.lastStatusChange, this.signedInUserStore.state.settings.timeFormat),\r\n date: this.$filter('date')(this.activeTimesheet.lastStatusChange, this.signedInUserStore.state.settings.dateFormat)\r\n } \r\n }\r\n return {};\r\n \r\n }).safeApply(this.$scope,\r\n (state) => {\r\n this.interpolatedText = state['timesheets'];\r\n })\r\n .subscribe()\r\n );\r\n }\r\n\r\n private onAllWorkSelection(): void {\r\n this.$state.go('sonovate.TimesheetsWorkView', this.getRoutingInformation());\r\n }\r\n\r\n private onExpensesSelection(): void {\r\n if (! this.permissions['CanSeeExpensesLink']) {\r\n return;\r\n }\r\n this.$state.go('sonovate.TimesheetsExpensesView', this.getRoutingInformation());\r\n }\r\n\r\n public getRoutingInformation() {\r\n return {\r\n timesheetAssignmentId: this.assignment.timesheetAssignmentId,\r\n timesheetId: this.activeTimesheet.timesheetId\r\n }\r\n }\r\n\r\n private setupTimesheetState() {\r\n this.subscriptions.push(\r\n this.TimesheetStateUpdates.safeApply(this.$scope, (state: Core.State.TimesheetState) => {\r\n this.activeTimesheet = state.activeTimesheet;\r\n this.availableTimesheets = state.activeTimesheet.timesheetsInPeriod; \r\n this.validationMessageCount = state.activeTimesheet.validationMessages.length;\r\n this.candidateName = state.activeTimesheet.assignment.candidateName;\r\n this.clientSignatory = state.activeTimesheet.signatoryPersonName;\r\n this.occurredOn = this.activeTimesheet.signatures.length ? this.activeTimesheet.signatures[0].occurredOn : '';\r\n this.isShowingTimesheetStatusHistory = state.isShowingTimesheetStatusHistory;\r\n this.timesheetAssignmentId = state.activeTimesheet.assignment.timesheetAssignmentId;\r\n this.assignment = state.activeTimesheet.assignment;\r\n this.isSigning = state.signing;\r\n this.isDismissing = state.dismissing;\r\n this.isLoading = state.loading;\r\n this.isDownloading = state.downloadingTimesheet;\r\n this.snShowDownloadPdfError = state.showDownloadTimesheetErrorMessage;\r\n this.permissions = state.permissions;\r\n this.customerServicesNumber = state.activeTimesheet.assignment.supplierCustomerServicesNumber;\r\n this.showConflict = state.showConflictError;\r\n this.actionsInProgress = state.activeTimesheet.actionsInProgress;\r\n this.currencyCode = state.activeTimesheet.assignment.currencyCode;\r\n this.rejectionNotice = \r\n state.activeTimesheet.rejections && state.activeTimesheet.rejections.length > 0 \r\n ? state.activeTimesheet.rejections.slice(-1)[0].reason \r\n : null;\r\n this.submissionNotice = state.activeTimesheet.message;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private setupAutofillStateSubscription () {\r\n this.subscriptions.push(\r\n this.TimesheetAutofillStateUpdates.safeApply(this.$scope, (state) => {\r\n this.showAutofillSuccessMessage = state.showSuccessMessage;\r\n this.autofillSuccessMessage = state.successMessage;\r\n this.showAutofillErrorMessage = state.showErrorMessage;\r\n this.autofillErrorMessage = state.errorMessage;\r\n this.isAutofilling = state.isAutofilling;\r\n this.showConflict = state.showConflictMessage;\r\n\r\n if (! state.isAutofilling) {\r\n this.showAutofilling = false;\r\n }\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private setupTimesheetAddWorkStateUpdates (){\r\n \r\n this.subscriptions.push(\r\n this.TimesheetAddWorkStateUpdates.safeApply(this.$scope, (state) => {\r\n this.showConflict = state.showConflictError;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private setActiveTimesheetFromTimesheetsInPeriod(timesheet: Models.ITimesheetsInPeriod): void { \r\n this.TimesheetEvents.userIntents.getTimesheet.onNext({\r\n timesheetAssignmentId: this.activeTimesheet.assignment.timesheetAssignmentId.toString(), \r\n timesheetId: timesheet.timesheetId\r\n });\r\n this.$state.go(this.$state.current.name, {timesheetAssignmentId: this.activeTimesheet.assignment.timesheetAssignmentId, timesheetId: timesheet.timesheetId}, {notify: false});\r\n }\r\n\r\n private initAutofillSuccessSubscription () {\r\n this.TimesheetAutofillEvents.httpResults.autofillTimesheetSuccess.subscribe(() => {\r\n this.$state.go('^'); \r\n });\r\n }\r\n\r\n private initDismissSuccessSubscription () {\r\n this.TimesheetDismissEvents.httpResults.dismissTimesheetSuccess.subscribe(() => { \r\n });\r\n }\r\n\r\n private initSignSuccessSubscription () {\r\n this.TimesheetSignEvents.httpResults.signTimesheetSuccess.subscribe(() => {\r\n if (this.activeTimesheet.validationMessages.length) {\r\n this.$state.go('^');\r\n }\r\n });\r\n }\r\n\r\n private getFormattedDate(date: string) {\r\n let upperCaseDatePreference = this.datePreference.toLocaleUpperCase();\r\n return this.DateService.safeFormatString(date, upperCaseDatePreference);\r\n }\r\n\r\n private setupStateChangeListener(): void {\r\n this.events.push(\r\n this.$rootScope.$on('$stateChangeStart', (event, toState, toParams, fromState, fromParams) => {\r\n if (toState.name.indexOf(\"sonovate.TimesheetsWork\") < 0 && toState.name.indexOf(\"sonovate.TimesheetsExpenses\") < 0) {\r\n this.TimesheetEvents.userIntents.clearAvailableTimesheets.onNext(null);\r\n }\r\n })\r\n );\r\n }\r\n\r\n private initTimesheetSonovateAddWorkStateSubscription() {\r\n this.subscriptions.push(\r\n this.TimesheetSonovateAddWorkStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.sonovateNotes = state.state.notes;\r\n })\r\n .subscribe()\r\n )\r\n }\r\n}\r\n\r\n angular.module(\"sonovate.Timesheets\")\r\n .directive(\r\n \"snTimesheetsSummaryPanel\",\r\n function TimesheetsSummaryPanel(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: TimesheetsSummaryPanelController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'Timesheets/viewDirectives/snTimesheetsSummaryPanelViewDirective/snTimesheetsSummaryPanelViewDirective.html',\r\n scope: {\r\n snFullWidth: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Timesheets {\r\n\r\nclass TimesheetSubmitController extends Core.BaseController {\r\n\r\n localisedText: IDictionary = {};\r\n description: string;\r\n timesheetAuthoriserDropdownItems: Models.IDropdownItem[];\r\n selectedAuthoriserId: number;\r\n currentDeliveryPeriod: Models.IDeliveryPeriod;\r\n timesheetVersion: number;\r\n submitting: boolean;\r\n actionsInProgress: Models.IActionsInProgress;\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"localiser\",\r\n \"TimesheetStateUpdates\",\r\n \"TimesheetSubmitStateUpdates\",\r\n \"TimesheetSubmitEvents\",\r\n \"$state\"\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected localiser: ILocaliserService,\r\n protected TimesheetStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetSubmitStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetSubmitEvents: Core.Events.ITimesheetSubmitEvents,\r\n protected $state: ng.ui.IStateService\r\n ) {\r\n super($scope);\r\n this.initLocalisedText();\r\n this.initTimesheetSubmitStateSubscription();\r\n this.initSubmitSuccessSubscription();\r\n this.initTimesheetStateSubscription();\r\n this.TimesheetSubmitEvents.userIntents.clearFields.onNext(null);\r\n }\r\n\r\n submit () {\r\n this.TimesheetSubmitEvents.userIntents.submitTimesheet.onNext({\r\n timesheetAuthoriserId: this.selectedAuthoriserId,\r\n timesheetId: this.$state.params['timesheetId'],\r\n message: this.description,\r\n deliveryPeriodStartDate: this.currentDeliveryPeriod.startDate,\r\n deliveryPeriodEndDate: this.currentDeliveryPeriod.endDate,\r\n version: this.timesheetVersion\r\n })\r\n }\r\n\r\n typeDescription () {\r\n this.TimesheetSubmitEvents.userIntents.typeDescription.onNext(this.description);\r\n }\r\n\r\n changeTimesheetAuthoriser (item: Models.IDropdownItem) {\r\n this.TimesheetSubmitEvents.userIntents.changeTimesheetAuthoriser.onNext(item.value);\r\n }\r\n\r\n goToParent () {\r\n this.$state.go('^');\r\n }\r\n\r\n private initTimesheetStateSubscription() {\r\n this.subscriptions.push(\r\n this.TimesheetStateUpdates\r\n .safeApply(\r\n this.$scope, \r\n (state) => {\r\n this.timesheetVersion = state.activeTimesheet.version\r\n this.actionsInProgress = state.activeTimesheet.actionsInProgress;\r\n }\r\n )\r\n .subscribe()\r\n );\r\n }\r\n\r\n private initTimesheetSubmitStateSubscription () {\r\n this.subscriptions.push(\r\n this.TimesheetSubmitStateUpdates\r\n .safeApply(this.$scope, (state) => {\r\n this.description = state.description;\r\n this.timesheetAuthoriserDropdownItems = state.getTimesheetAuthorisersAsDropdownItems();\r\n this.selectedAuthoriserId = state.selectedAuthoriserId;\r\n this.currentDeliveryPeriod = state.currentDeliveryPeriod;\r\n this.submitting = state.submitting;\r\n })\r\n .subscribe()\r\n )\r\n }\r\n\r\n private initSubmitSuccessSubscription () {\r\n this.subscriptions.push(\r\n this.TimesheetSubmitEvents.httpResults.submitTimesheetSuccess\r\n .subscribe(() => {\r\n this.goToParent();\r\n })\r\n );\r\n }\r\n\r\n private initLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"timesheets\", \"general\"]).safeApply(this.$scope,\r\n (data: ILocalisationData) => {\r\n this.localisedText = R.merge(\r\n data.timesheets,\r\n data.general\r\n );\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n}\r\n\r\n angular.module(\"sonovate.Timesheets\")\r\n .directive(\r\n \"snTimesheetSubmit\",\r\n function TimesheetSubmit(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: TimesheetSubmitController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'Timesheets/viewDirectives/snTimesheetSubmitViewDirective/snTimesheetSubmitViewDirective.html',\r\n scope: {\r\n \tsnFullWidth: \"=\"\r\n }\r\n };\r\n }\r\n );\r\n}","/// \r\n\r\nmodule Sonovate.Timesheets {\r\n\r\n class TimesheetWorkController extends Core.BaseController {\r\n\r\n snAssignment: Models.IAssignmentNew;\r\n state: Sonovate.Core.State.TimesheetState;\r\n canEditOrSubmitManualTimesheet: boolean;\r\n dates: Models.IDeliveryPeriodDate[];\r\n localisedText: IDictionary = {};\r\n isLoading: boolean;\r\n userType: Models.UserType;\r\n viewDescriptionText: string;\r\n isReadOnlyAndManaged: boolean;\r\n canSubmitManagedTimesheet: boolean;\r\n canEditOrSubmit: boolean;\r\n permissions: Core.Permissions.TimesheetPermissions.IPermissionSet = {};\r\n pageIsLoading: boolean = true;\r\n timesheet: Models.ITimesheetNew;\r\n styleOverride: {}\r\n\r\n static $inject = [\r\n \"$scope\",\r\n \"$state\",\r\n \"localiser\",\r\n \"TimesheetStateUpdates\",\r\n \"TimesheetEvents\",\r\n \"LoadingStateUpdates\",\r\n \"TimesheetAddWorkEvents\"\r\n ];\r\n\r\n constructor(\r\n protected $scope: ng.IScope,\r\n protected $state: ng.ui.IStateService,\r\n protected localiser: ILocaliserService,\r\n protected TimesheetStateUpdates: Rx.ReplaySubject,\r\n protected timesheetEvents: Sonovate.Core.Events.ITimesheetEvents,\r\n protected LoadingStateUpdates: Rx.BehaviorSubject,\r\n protected TimesheetAddWorkEvents: Sonovate.Core.Events.TimesheetAddWorkEvents,\r\n ) {\r\n super($scope);\r\n this.getLocalisedText();\r\n this.getTimesheet();\r\n this.setupLoadingStateSubscription();\r\n this.styleOverride = {\r\n addButton: {\r\n 'position': 'fixed',\r\n 'z-index': '100', \r\n 'right': '2rem',\r\n 'bottom': '2rem',\r\n 'width': '4rem',\r\n 'height': '4rem'\r\n }\r\n }\r\n }\r\n\r\n setupLoadingStateSubscription() {\r\n this.subscriptions.push(\r\n this.LoadingStateUpdates.safeApply(this.$scope,\r\n (state: Core.State.LoadingState) => {\r\n this.pageIsLoading = state.showLoadingScreen;\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n\r\n showDescriptionTextModal(rateBasedCharge: Models.ITimesheetEntry): void {\r\n this.viewDescriptionText = rateBasedCharge.description;\r\n this.$state.go(`${this.$state.current.name}.modals`, { modal: \"work-view-description-text\" });\r\n }\r\n\r\n goToParent() {\r\n this.$state.go('^');\r\n }\r\n\r\n private getTimesheet(): void {\r\n this.subscriptions.push(\r\n this.TimesheetStateUpdates.safeApply(this.$scope, (state: Sonovate.Core.State.TimesheetState) => {\r\n this.dates = state.activeTimesheet.timesheetPeriodEntries.dates;\r\n this.timesheet = state.activeTimesheet;\r\n this.isLoading = state.loading;\r\n this.userType = state.signedInUserType;\r\n this.permissions = state.permissions;\r\n }).subscribe()\r\n );\r\n }\r\n\r\n private getLocalisedText(): void {\r\n this.subscriptions.push(\r\n this.localiser.get([\"timesheets\", \"general\"])\r\n .safeApply(this.$scope, (data: ILocalisationData) => {\r\n this.localisedText = R.merge(\r\n data.timesheets,\r\n data.general\r\n );\r\n }\r\n ).subscribe()\r\n );\r\n }\r\n\r\n private userStartsAddWorkFlow(): void {\r\n const addWorkflowIntent: Sonovate.Core.Events.IAddWorkFlowIntent = {\r\n selectedDates: [],\r\n addingBulkTime: true\r\n }\r\n this.TimesheetAddWorkEvents.userIntents.userStartsAddWorkFlow.onNext(addWorkflowIntent);\r\n }\r\n }\r\n\r\n angular.module(\"sonovate.Timesheets\")\r\n .directive(\r\n \"snTimesheetWork\",\r\n function TimesheetsSummaryPanel(): ng.IDirective {\r\n return {\r\n restrict: \"E\",\r\n controller: TimesheetWorkController,\r\n controllerAs: \"vm\",\r\n replace: false,\r\n bindToController: true,\r\n templateUrl: 'Timesheets/viewDirectives/snTimesheetWorkViewDirective/snTimesheetWorkViewDirective.html',\r\n scope: {}\r\n };\r\n }\r\n );\r\n}\r\n"]}