{"version":3,"sources":["app.js","appConfig.js","appConstants.js","appNotifications.js","appPopups.js","templates.js","components/pageBreadcrumb.js","directives/address.js","directives/changeOnKeyup.js","directives/compile.js","directives/displayQuestion.js","directives/fastOptions.js","directives/filterInputType.js","directives/focusMe.js","directives/ngEnter.js","directives/ngTouchend.js","directives/onFocusOut.js","directives/resetAddressErrors.js","directives/selectOnBlur.js","directives/technicalDetails.js","directives/userLoginDetails.js","directives/validationClick.js","filters/customPartials.js","filters/isQuestionVisible.js","filters/isSectionVisible.js","imports/imports.js","models/action.js","models/actionAssignee.js","models/auditHistory.js","models/case.js","models/configModel.js","models/enums.js","models/feedback.js","models/FileUpload.js","models/incident.js","models/modalPopup.js","models/model.js","models/notification.js","models/organisation.js","models/patient.js","models/saveResult.js","models/sentinelEvent.js","models/team.js","models/ui.js","models/user.js","controllers/core/analytics.js","controllers/core/documentController.js","controllers/core/entityRedirectController.js","controllers/core/errorController.js","controllers/core/layoutController.js","controllers/core/modalPopupController.js","controllers/core/navigationController.js","controllers/core/questionController.js","controllers/core/reportContainerController.js","controllers/dashboard/baseManageController.js","controllers/dashboard/manageActionsController.js","controllers/dashboard/manageFeedbackController.js","controllers/dashboard/manageIncidentsController.js","controllers/dashboard/manageNotificationsController.js","controllers/dashboard/manageOrganisationsController.js","controllers/dashboard/manageSentinelEventsController.js","controllers/dashboard/manageTeamsController.js","controllers/dashboard/manageUsersController.js","controllers/form/auditHistoryController.js","controllers/form/baseIncidentFormController.js","controllers/form/baseSectionFormController.js","controllers/form/caseFormController.js","controllers/form/caseSectionFormController.js","controllers/form/feedbackFormController.js","controllers/form/incidentFormController.js","controllers/form/incidentSectionFormController.js","controllers/form/notificationFormController.js","controllers/form/organisationFormController.js","controllers/form/pageFormController.js","controllers/form/sentinelEventFormController.js","controllers/form/summaryFormController.js","controllers/form/teamFormController.js","controllers/form/userFormController.js","services/core/dataService.js","services/core/fullDataExtractService.js","services/core/patientService.js","services/core/popupQuestionService.js","services/core/readUnreadEntityService.js","services/core/reportingService.js","services/core/utilityService.js","services/core/validationService.js"],"names":["formApp","window","__env","Object","assign","defineProperty","value","target","varArgs","TypeError","to","index","arguments","length","nextSource","nextKey","prototype","hasOwnProperty","call","writable","configurable","String","endsWith","search","this_len","undefined","this","substring","angular","module","run","$rootScope","firstLoad","appJustLoaded","noPermissionForPage","path","console","error","isAuthenticated","$q","$location","DataServices","Constants","fnPermissionCheck","UtilityServices","deferred","defer","getUserProfileDataUsingCache","then","userProfile","loadUserProfile","reject","Url","unregisteredUser","$on","log","resolve","promise","isReportAuthenticated","$route","organisationId","current","params","oid","getSelectedUserProfileData","userId","initialise","$broadcast","landingPageUrl","canAccessIncidents","userProfileData","canAccessFeedback","canAccessFeedbacks","canAccessSentinelEvents","canAccessActions","canAccessUsersOrOwnUser","canAccessUsers","canAccessOwnUser","canAccessTeams","canAccessNotifications","canAccessOrganisations","canAccessReports","hasApplicationAccess","hasIncidentAccess","hasFeedbackAccess","hasSentinelEventAccess","hasActionAccess","hasUserAccessOrOwnUserAccess","hasTeamAccess","hasNotificationAccess","hasOrganisationAccess","hasReportAccess","logout","checkOutOfPlaceFormSubmissions","pageUrl","allowFormNavigation","Modules","$$route","managementUrl","checkDirectNavigation","landing","appInUse","config","$routeProvider","$locationProvider","$httpProvider","$compileProvider","adalAuthenticationServiceProvider","$windowProvider","$window","$get","debugInfoEnabled","init","anonymousEndpoints","AzureADSettings","instance","tenant","clientId","redirectUri","requireADLogin","popUp","scope","endpoints","when","name","templateUrl","controller","incident","user","direct","feedback","sentinelEvent","action","team","notification","organisation","AuditHistory","clinicalHistoryPageUrl","summaryPageId","incidentSummary","clinicalSummaryPageId","clinicalSummaryPageUrl","access","ohsStaffHistoryPageUrl","ohsstaffSummaryPageId","ohsstaffSummaryPageUrl","ohsVisitorHistoryPageUrl","ohsvisitorSummaryPageId","ohsvisitorSummaryPageUrl","hazardHistoryPageUrl","hazardSummaryPageId","hazardSummaryPageUrl","feedbackHistoryPageUrl","feedbackSummary","feedbackSummaryPageId","feedbackSummaryPageUrl","sentinelEventHistoryPageUrl","sentinelEventSummary","sentinelEventSummaryPageId","sentinelEventNotificationSummaryPageUrl","sentinelEventSummaryNotificationPageId","sentinelEventRcaSummaryPageUrl","sentinelEventRcaSummaryPageId","sentinelEventPartCSummaryPageUrl","sentinelEventPartCSummaryPageId","sentinelEventPartDSixMonthReviewSummaryPageUrl","sentinelEventPartDSixMonthReviewSummaryPageId","sentinelEventPartDTwelveMonthReviewSummaryPageUrl","sentinelEventPartDTwelveMonthReviewSummaryPageId","sentinelEventNotificationSummaryPageId","template","appStart","otherwise","redirectTo","html5Mode","hashPrefix","$interval","constants","dataServices","utility","event","previous","previousUrl","defaultPrevented","showPageLoader","hidePageLoader","$inject","AppConstants","win","self","ausDateFormat","responseDateFormat","minimumDate","accessSectionCode","summaryNavTabNum","systemNavTabNum","nonFormUrls","pageUrls","autoSaveEnabled","dismissNotificationDelayInMilliSeconds","pageLoaderOnTransition","pageLoaderFallBackTimeoutInMilliSeconds","pageLoaderFallBackTimeoutInMillisecondsExtended","pageLoaderFallBackTimeoutInMillisecondsForFileUpload","auditHistoryPageSize","manageIncidents","manageFeedback","manageSentinelEvents","manageActions","manageUsers","manageTeams","manageNotifications","manageOrganisations","reportContainer","firstIncidentFormPage","firstClinicalIncidentFormPage","firstOhsStaffIncidentFormPage","firstOhsVisitorIncidentFormPage","firstHazardIncidentFormPage","firstFeedbackFormPage","firstUserFormPage","delegationUserFormPage","firstTeamFormPage","firstNotificationFormPage","firstOrganisationFormPage","whereFirstpage","firstSentinelFormPage","getBaseURL","apiUrl","getConfigDataURL","getUserProfileDataURL","getUserProfileByOrgIdURL","id","getUserLookupListURL","getUserLookupListForSentinelEventsURL","getCloUserLookupListURL","getManagerLookupListURL","getLinkUserLookupListURL","getDelegationUserLookupListURL","getAuthorisingOfficerLookupListURL","getAuditUserLookupListURL","getIsrMappingURL","getCsrMappingURL","getUserLineManagerSelectListURL","getMedicationGenericLookupListURL","getMedicationMedicationBrandLookupListURL","getMedicationGenericSelectListURL","getMedicationBrandSelectListURL","getMedicationClassSelectListURL","getSaveCaseURL","getCaseByIdURL","getDraftCaseIdIfExistsURL","getChangeCaseStatusURL","getSubmitCaseURL","getIncidentsURL","getIncidentExtractURL","getIncidentByIdURL","getRemoveRestoreIncidentURL","getCloneIncidentURL","getSaveIncidentURL","getSaveIncidentDocumentURL","getGetIncidentDocumentURL","getDeleteIncidentDocumentURL","getGetIncidentFullDataExtractURL","getSentinelEventsURL","getSentinelEventExtractURL","getSentinelEventByIdURL","getSaveSentinelEventURL","getRemoveSentinelEventURL","getSaveSentinelEventDocumentURL","getGetSentinelEventDocumentURL","getDeleteSentinelEventDocumentURL","getDueDateURL","inputDateString","numberOfWorkingDays","getFeedbacksURL","getFeedbackExtractURL","getFeedbackByIdURL","getRemoveRestoreFeedbackURL","getSaveFeedbackURL","getSaveFeedbackDocumentURL","getGetFeedbackDocumentURL","getDeleteFeedbackDocumentURL","getGetFeedbackFullDataExtractURL","getSaveReadUnreadIncidentsURL","getSaveReadUnreadFeedbacksURL","getSaveReadUnreadActionsURL","getIncidentPdfURL","getFeedbackPdfURL","getSentinelEventExecSummaryPdfURL","role","getSentinelEventPdfURL","pdfChoice","getSentinelEventQAPdfURL","getPatientURL","getReportURL","getUsersURL","getUserDeactivationDetailsURL","getToggleUserActivationURL","getCheckUserFullNameURL","getCreateUserURL","getUpdateUserURL","getUserResponseAndConfigByIdUrl","getUserSubordinatesURL","getTransferSubordinatesURL","getUserRoles","getTeamByIdURL","getTeamsURL","getToggleTeamActivationURL","getSaveTeamURL","getNotificationsURL","getNotificationByIdURL","getToggleNotificationActivationURL","getSaveNotificationURL","getFeedbackNotificationByIdURL","getToggleFeedbackNotificationActivationURL","getSaveFeedbackNotificationURL","getAuditHistoryURL","getActionsURL","getActionExtractURL","getOrganisationByIdURL","getOrganisationsURL","getSaveOrganisationURL","AuditEntityType","NotifyType","css","icon","RepeatingItemState","adding","editing","viewing","DefaultType","Value","Javascript","incidentHistoryPageUrl","sentinelConstants","reportBPageId","reportSectionCode","reportEventCategory","reportEventSubCategory","partBDataCollectionPageUrl","notificationEventCategoryQCode","eventDetailPageId","eventDetailSectionCode","eventDetailPageUrl","eventCategoryQCode","eventSubCategoryQCode","suspectedOrConfirmedPatientQCode","suspectedOrConfirmedHarmQCode","partBFindingsAndLearningsPageId","partBFindingsAndLearningsSectionCode","partBFindingsAndLearningsQCode","reportBFindingQCode","reportBMSQCPageUrl","reportBMSQCPageId","reportBMSQCSectionCode","reportBmethodologyQCode","reportBwasSafetyRiskAlertQCode","reportBMSQCMethodologyQCode","reportBMSQCSafetyRiskIdentifiedQCode","reportBMSQCNumberOfPanelMembersQCode","reportBMSQCConsumerRepOnPanelQCode","reportBMSQCExternalExpertOnPanelQCode","reportBMethodologyOptionSet","reportBYesNoOptionSet","reportAPageUrl","reportAPageId","reportASectionCode","reportAandBDueDateSectionCode","reportAandBDueDateQCode","reportAandBSubmissionDateQCode","reportAconsumerSectionCode","reportAconsumerRepMemberQCode","reportAexternalteammemberSectionCode","reportABExternalTeamMemberQCode","reportBMSQCOutcomeOfReviewQCode","reportBMSQCPatientFamilyContributeQCode","reportBMSQCPatientFamilyContributeNoQCode","reportBMSQCNumberOfFindingsQCode","reportAfollowingTheReviewCode","reportAfollowingTheReviewOptionSet","reportApatientFamilyCarerReviewQCode","reportAreasonsNonContributionQCode","reportANumberOfFindingsQCode","reportBFindingsAndLearningsSectionCode","reportCPageId","reportCSectionCode","reportCCategoryQCode","reportCHiddenOrganisationQCode","reportCRecommendationStrengthQCode","reportCMSQCPageId","reportCMSQCRecommendationsSectionCode","reportCMSQCRecommendationsQCode","reportCMSQCPageUrl","reportCMSQCFindingsQCode","reportCMSQCLearningsQCode","reportCMSQCWeakRecsQCode","reportCMSQCModerateRecsQCode","reportCMSQCStrongRecsQCode","reportCSmartRecQCode","reportCMSQCSmartRecQCode","reportCSharedLearningSectionCode","reportCSharedLearningInternalQCode","reportCSharedLearningExternalQCode","reportCMSQCSmartRecSharedLearningSectionCode","reportCMSQCSmartRecInternalQCode","reportCMSQCSmartRecExternalQCode","reportCMSQCHealthServiceSectionCode","reportCMSQCHealthServiceQCode","notificationHealthServicePageId","notificationHealthServiceSectionCode","notificationHealthServiceQCode","reportCPageUrl","reportCDateSectionCode","reportCRecommendationNumberQCode","reportCDueDateQCode","reportCSubmissionDateQCode","reportCMSQCOutcomePageId","reportCMSQCOutcomeActionSectionCode","reportCMSQCOutcomeActionQCode","reportCMSQCQAOutcomeSectionCode","reportCMSQCQAOutcomeActionRequiredQCode","reportBIsCategoryCorrectQCode","committeeReviewPageId","committeeReviewPageUrl","committeeReviewHSSectionCode","committeeReviewHSQCode","committeeFeedbackSectionCode","committeereviewDateOfSubmissionQCode","committeereviewDateQCode","partD6MPageId","partD6MCommitteeReviewSectionCode","partD6MDateSectionCode","partD6MSubmittedDateQCode","partD12MPageId","partD12MDateSectionCode","partD12MSubmittedDateQCode","extensionRequestPageId","extensionRequestDateSectionCode","extensionRequestDateQCode","extensionRequestDateOfRequestQCode","isActiveFields","code","label","removeActionOldValue","removeActionNewValue","restoreActionOldValue","restoreActionNewValue","statusFields","statusOptionSets","incidentStatusOptionSet","feedbackStatusOptionSet","sentinelEventStatusOptionSet","emptyJsonObject","emptyString","adalLoginRequiredErrorCode","ModuleTypes","case","identifier","alternativeLabel","buttonConstants","Close","Reopen","Submit","Approve","Reject","signoff","actionableEntityType","Feedback","Incident","SentinelEvent","userActions","next","cancel","tabNavigation","pageNavigation","save","casePageIds","who","where","whatPatient","whatStaff","whatVisitor","whatHazard","routeNameSuffix","dashboard","navTab","pageTab","section","history","patientQuestionSets","organisationOptionSetName","campusOptionSetName","organisationQuestionCode","campusQuestionCode","urNumberQuestionCode","notFoundQuestionCode","firstNameQuestionCode","lastNameQuestionCode","genderQuestionCode","dateOfBirthQuestionCode","feedbackProvider","feedbackIdentified","isrCacheKey","csrCacheKey","entityPrefix","sentinel","readUnreadEntitySaveIntervalTimeMs","activeStatus","active","inactive","sentinelRoleMap","HSInterestedParty","SCVInterestedParty","HSAdministrator","HSSEReportAuthor","SEReportApprover","SEReportReviewer","SCVSEPTeamMember","SCVSEReviewer","QualityRiskManager","SCVAdministrator","SCVInternalNotificationAlert","recommendationCategoryMap","Strong","Moderate","Weak","get","enumerable","constant","getConstants","NotificationConstants","commonNotifications","type","message","PopupConstants","technicalDetails","unknownError","severity","title","text","okButtonText","commonPopups","cancelButtonText","thirdButtonText","$templateCache","put","PageBreadcrumbController","degrees","breadcrumbs","getBreadcrumbs","routes","slice","PageBreadcrumb","bindings","component","Address","require","callbackFn","ngModel","link","element","attrs","model","options","types","componentRestrictions","country","gPlace","google","maps","places","Autocomplete","pIndex","sCode","sIndex","qCode","on","addressElementArray","currentTarget","split","$parent","page","number","responseId","responses","removeFromValidationErrors","setAttribute","updatePlace","addressArray","getPlace","address_components","$apply","$setViewValue","val","arg1","addListener","factory","directive","ChangeOnKeyup","triggerHandler","bind","Compile","$compile","$watch","$eval","compile","html","contents","DisplayQuestion","replace","transclude","FastOptions","restrict","cntrller","transcludeFn","expression","fastOptions","parts","map","part","trim","Error","valueParts","subPart","valueExpression","labelParts","defaultValueExpression","labelExpression","defaultValueParts","indexOf","lastIndexOf","collectionKey","$watchCollection","collection","clone","append","selectedValue","allOptions","showDefaultOption","_","forEach","collectionItem","selectedHtml","optionHtml","possibleBlankEntry","children","first","remove","FilterInputType","modelCtrl","filterInputType","$parsers","push","inputValue","isNaN","parseFloat","isFinite","FocusMe","$timeout","$parse","focusMe","focus","NgEnter","which","preventDefault","NgTouchendController","$scope","$element","onTouchEnd","method","attr","$event","NgTouchend","OnFocusOut","focusOutCallback","$","focusout","setTimeout","newFocus","focusOutId","ResetAddressErrors","resetAddressErrors","getAttribute","manualAddress","JSON","parse","suburb","state","streetNumberName","postCode","SelectOnBlur","$select","searchInput","querySelectorAll","onBlurCallback","select","keyCode","data","close","setFocus","TechnicalDetails","UserLoginDetails","details","ValidationClick","validationClick","customPartials","sections","partialNames","filter","hasCustomPartial","some","partialName","customPartialName","isQuestionVisible","questions","question","controlType","condition","p$","setQuestionParams","isSectionVisible","__extends","extendStatics","setPrototypeOf","__proto__","Array","d","b","p","__","constructor","create","ActionBaseResponseDto","totalRecords","maxRecords","hasMoreRecords","GetActionsResponseDto","_super","actions","_this","ManageActionFilters","dueDateRangeList","dateCreatedRangeList","wardLocationList","specialtyUnitList","assignedTo","resetFilterSelections","searchPhrase","selectedWardLocation","ShowAll","selectedSpecialtyUnit","selectedAssignedTo","MyActions","selectedDueDateRange","selectedDateCreatedRange","ActionFullTextSearchDto","ActionTypeInfo","EntityActionConfig","EntityActionMapping","incidentAction","0","navTabNo","entityType","actionTypes","actionTypeId","pageNo","assigneeSectionCode","userLookupQuestionCode","1","2","3","feedbackAction","sentinelEventAction","ActionAssignee","sectionCode","duplicateAssigneePopupCode","sectionCodes","item","userLookupQuestionCodeMap","result","duplicateAssigneePopupCodeMap","isAssigneeSectionCode","toLowerCase","areSameSections","section1","section2","questionCode","getDuplicateAssigneePopupCode","AuditHistoryDto","GetAuditHistoryResponseDto","GetAuditHistoryRequestDto","AuditHistoryDetailsDto","ManageAuditHistoryFilters","auditDateRangeList","auditTypeList","selectedAuditDateRange","dateRangeLastWeek","selectedAuditTypes","allAuditTypes","selectedUser","AuditType","View","Create","Update","Notify","GetCaseByIdResponseDto","DraftCaseDto","FormRequestDto","CaseRequestDto","PageNavigationItem","FlatNavigationItem","CurrentLayoutNavigationState","Page","Section","PageWatch","QuestionParams","Button","Validation","Trigger","NavigationTab","ConfigData","FormConfigurationConfig","FormConfigurationRequestDto","FormConfiguration","NavTabPageIndex","navTabNumber","pageNumber","compare","navTabPageLeft","navTabPageRight","IncidentType","TemplateType","PersonType","CaseStatus","Status","FeedbackStatus","SentinelEventStatus","SentinelEventStage","SaveOperation","SentinelSaveOperation","FormConfigurationTemplateOptions","ResultStatusCode","SaveUserResultCode","OperationStatus","EntityType","AuditEntity","NavigationDirection","RouteType","PatientResultCode","ApiLookupType","ApiSelectType","FeedbackBaseResponseDto","FeedbackRequestDto","ManageFeedbackFilters","feedbackStatusList","feedbackTypeList","dateRangeList","programList","csrLevelList","selectedFeedbackStatus","StatusActive","selectedFeedbackType","selectedDateRange","DateRangeLast6Months","selectedCsrLevel","selectedProgram","selectedReadUnread","ManageIncidentFilters","RemoveRestoreFeedbackRequestDto","FeedbackFullTextSearchDto","GetFeedbacksResponseDto","feedbacks","GetFeedbackByIdResponseDto","Attachment","Document","parentId","documentId","file","isFocus","isDeletedDisabled","isUploaded","size","BasePagedResponseDto","IncidentRequestDto","incidentTypeList","templeteTypeList","isrLevelList","incidentStatusList","selectedIncidentStatus","selectedIncidentType","selectedTemplateType","selectedIsrLevel","RemoveRestoreIncidentRequestDto","CloneIncidentRequestDto","CloneIncidentResponseDto","IncidentFullTextSearchForDashboardDto","IncidentLinkDto","GetIncidentsResponseDto","incidents","GetIncidentByIdResponseDto","IsrMapping","levelOfHarmOrImpactId","levelOfCareOrDisruptionId","actionOrInterventionRequiredId","isrLevelId","IsrBehaviourOverrideInfo","IsrQuestionInfo","IsrMappingList","CsrMapping","seriousnessId","complexityId","priorityId","csrLevelId","CsrQuestionInfo","CsrMappingList","SeverityMapping","Popup","PopupErrorMessage","PopupQuestionEventParams","response","GoogleAddress","ErrorInfo","timeStamp","moment","format","formatUrl","url","urlPrefix","questionMarkIndex","fromHttpResponse","isArrayBuffer","fromJson","fromCharCode","apply","Uint8Array","timestamp","ErrorDate","operation","status","statusText","toString","fromCustomError","UserLoginInfo","username","fullName","givenName","familyName","currentTime","tokenExpiry","loginError","ipAddress","ValidationError","Notification","OptionSet","Question","CaseResponseInfo","isStaffSectionVisible","isVisitorSectionVisible","isPatientSectionVisible","reset","Access","ResponseInfo","setDirty","isDirty","clearDirty","teamId","notificationId","incidentId","incidentRef","feedbackId","feedbackRef","sentinelEventId","sentinelEventRef","isSCVUser","incidentTypeId","templeteTypeId","personTypeId","versionNumber","optionSetHash","lastUpdatedTime","reportedDate","submittedDate","incidentDate","userName","allRoles","caseIdByOrganisation","createdIncidents","notifyUsers","inactiveUserIds","linkSourceUsers","delegationSourceUsers","userTeams","lineManagersLatestInfo","inactiveTeams","apiSelectOptionLists","GetLookupResponseDto","GetUserSubordinatesResponseDto","DocumentRequestDto","entitySpecificVariables","navTabNum","SaveDocumentResult","DeleteDocumentResult","EventTypeSectionInfo","nonRepeatingSectionCode","nonRepeatingQcode","ValueCache","whoArrayData","whatAssociatedData","MappedItem","MapIsrQuestionConfig","whatHappenedSectionCode","levelHarmImpactQCode","levelCareDisruptionQCode","actionInterventionQCode","isrLevelQCode","behaviourSectionCode","behaviourQCode","isrVersionQCode","MapCsrQuestionConfig","seriousnessQCode","complexityQCode","priorityQCode","csrLevelQCode","BaseSearchRequestDto","GetIncidentsRequestDto","GetFeedbacksRequestDto","GetSentinelEventsRequestDto","GetActionsRequestDto","GetUsersRequestDto","GetTeamsRequestDto","GetNotificationsRequestDto","GetLookupRequestDto","GetPdfExportRequestDto","GetOrganisationsRequestDto","GetUserSubordinatesRequestDto","ActivePeriod","left","right","startDate","isBefore","isAfter","endDate","isValid","GetReportRequestDto","GetReportResponseDto","GetFullDataExtractRequestDto","GetPatientRequestDto","GetPatientResponseDto","GetApiSelectRequestDto","ApiSelectOptionList","GetOptionSetRequestDto","PageInformation","ManageNotificationFilters","notificationStatusList","teamList","selectedTeam","selectedNotificationStatus","NotificationSearchDto","GetNotificationsResponseDto","ToggleNotificationActivationRequestDto","GetNotificationByIdResponseDto","NotificationRequestDto","ManageOrganisationFilters","OrganisationSearchDto","GetOrganisationsResponseDto","GetOrganisationByIdResponseDto","OrganisationRequestDto","OrganisationReferenceEntityConfig","PatientQuestionSet","OrganisationQuestionType","CampusQuestionType","UrNumberQuestionType","NotFoundQuestionType","FirstNameQuestionType","LastNameQuestionType","GenderQuestionType","DateOfBirthQuestionType","SaveResult","IncidentSaveResult","IncidentSaveSummary","personName","personType","CaseSaveResult","FeedbackSaveResult","SentinelEventSaveResult","NotificationCommentResult","notificationCommentAddedBy","notificationHSChoice","notificationChoice","notificationHSType","notificationType","GetSentinelEventsResponseDto","sentinelEvents","GetSentinelEventByIdResponseDto","SentinelEventFullTextSearchDto","RemoveSentinelEventRequestDto","SentinelEventRequestDto","ManageSentinelEventFilters","sentinelEventCategoryList","sentinelEventSubCategoryList","sentinelEventOverarchingStatusList","campusList","sentinelEventStatusList","sentinelEventStageList","scvRoleList","selectedSentinelEventStatus","selectedSentinelEventStage","selectedEventCategory","selectedEventSubCategory","selectedSentinelEventOverarchingStatus","selectedCampus","StatusOpen","ManageTeamFilters","teamStatusList","selectedTeamStatus","TeamSearchDto","GetTeamsResponseDto","ToggleTeamActivationRequestDto","GetTeamByIdResponseDto","TeamRequestDto","NavigationItem","alt","modules","isActive","x","LayoutConfig","version","navigation","activeNavigationItem","defaultModule","defaultNavigation","navigationItems","Breadcrumb","isCurrent","UserDto","UserRequestDto","SaveUserResult","UserDeactivationDetailsDto","UserContactDto","AccessibleOrganisationDto","UserProfileDto","firstname","lastname","userFullName","primaryEmail","accessibleOrganisations","selectedOrganisationId","selectedOrganisationGuid","isCentral","lineManagers","accessibleOrganisationMap","canManageIncidents","canBeLineManager","canManageFeedbacks","canManageSentinelEvents","canManageUsers","canAccessIncidentFullDataExtract","canAccessFeedbackFullDataExtract","canAccessNotificationHistory","canRemoveIncidents","canRemoveFeedbacks","canCloneIncidents","canMarkIncidentAsRead","canMarkFeedbackAsRead","canMarkActionAsRead","other","buildAccessibleOrganisationMap","selectedOrganisation","i","accessibleOrganisation","CopyEvents","ManageUserFilters","userStatusList","roleList","selectedUserStatus","selectedRole","GetUsersResponseDto","RoleDto","GetUserAndConfigByIdRequestDto","GetUserByIdResponseDto","SaveUserFormData","ToggleUserActivationRequestDto","CheckUserFullNameRequestDto","CheckUserFullNameResponseDto","SearchedUserDto","SourceUser","TransferSubordinatesRequestDto","TransferSubordinatesResult","WOVGprofileNumber","DEPTprofileNumber","SITEprofileNumber","SITEGoogleTagManagerNumber","dept","site","siteOnSubFolder","subFolder","cookiePath","s","o","g","r","a","m","q","l","Date","createElement","getElementsByTagName","async","src","parentNode","insertBefore","document","ga","script","onload","gtag","dataLayer","appendChild","jQuery","click","href","eventCategory","eventAction","eventLabel","transport","DocumentController","utilityServices","fileUploader","adalAuthenticationService","max_file_limit","max_file_size","max_file_total_size","currentPageIndex","currentUploadingFile","attachment","isViewing","isRemoving","initPageAttachments","createFileUploaderForAttachment","responseInfo","removeFileItem","fileItem","openPopup","notifyIsSavingChanged","deleteDocument","documentOperationStatus","Success","removeDocumentFromResponse","trackEventsWithGA","onErrorSave","viewDocument","getDocument","Blob","saveAs","upload","trigger","acceptedFileTypes","allowedFileTypes","join","checkIfIOS","queue","queueItem","documents","createIfMissing","pageId","withCredentials","headers","formatHttpHeaders","uploader","maxFileSizeMB","isReady","onBeforeUploadItem","currentProgressMessage","filters","fn","totalFileNumber","initialiseFileInputElement","onAfterAddingFile","isValidExtensions","validateAndUpload","onCompleteItem","onProgressItem","progress","onSuccessItem","onCancelItem","onErrorItem","isSaving","fallBackTimeoutInMilliSeconds","getElementById","fileType","fileName","isDocumentUploadValid","totalFileSize","maxFileTotalSize","getParentId","generateGuid","keys","acquireToken","token","getDocumentUrl","formData","popupCode","sourceEvent","popupParams","EntityRedirectController","$routeParams","parseEntityPrefix","None","entityId","process","handleError","updateUserProfileData","display","reason","errorInfo","getIncidentById","originalResponse","templateId","templateVersion","statusId","statusDisplayName","validatedPages","determineValidatedPages","mahFilters","getConfigurationUsingCacheAndOptionSet","optionSet","configData","destUrl","actionId","getIncidentActionUrl","Number","getDefaultIncidentUrl","getFeedbackById","getFeedbackActionUrl","getSentinelEventById","stage","stageId","stageText","stageDisplayName","committeeReviewAction","partcrecommendationsList","sentinelEventDate","reportAandBDueDate","reportCDueDate","reportDDueDate","cumulativeExtensionGranted","getSentinelEventActionUrl","ErrorController","userLoginInfo","getUserLoginDetails","LayoutController","reportingService","fullDataExtractService","layoutCtrl","errorDesc","handleSessionTimeOut","getHeaderTemplateUrl","layoutVersion","layoutConfig","getTemplateUrl","getFooterTemplateUrl","mainContainerCSS","getLayoutCSSversion","currentModule","userActionInformation","userAction","onClickUser","onClickReport","openReportWindow","onClickIncidentFullDataExtract","downloadIncidentFullDataExtract","onClickFeedbackFullDataExtract","downloadFeedbackFullDataExtract","onClickLogo","forceNavigateToRoute","currentRoute","previousRoute","checkIfSentinelRole","setCurrentModule","args","setMenuVisibility","isFullScreen","enabled","getLayoutVersion","userGivenName","salutation","userInitials","environmentName","input","baseTemplateDir","isSentinelRole","roles","each","isDefined","getNavigationItems","argLayoutVersion","ModalPopupController","$uibModalInstance","$filter","popups","popupQuestionService","popupQuestion","popup","errorMessages","ok","validatePopUp","outParams","popupThirdButton","dismiss","validateQuestion","buildDateString","day","month","year","parseInt","removeError","isArray","errorQuestion","find","errorValidation","validations","v","level","inlineMessage","setQuestionErrorState","validateQuestionInline","padValue","totalDigits","padZero","resp","e","typeAheadStartsWithFilter","option","viewValue","substr","onValueChange","onChangeAction","rule","getApiLookUpValues","keyword","lookUpQuestionCode","clearResponses","lookupType","getLookupType","requestData","searchTerm","getLookupList","filterApiLookupResult","lookupList","NavigationController","validationService","fnIsPageVisible","isCasePageVisible","isPageVisible","vs","curPageNumber","nav","populateNavigationUItems","initialNavigationItem","updateActiveNavigationItem","formConfigData","getPage","goToPage","tabNo","curPath","exitCondition","successFunction","failureFunction","exitConditionPopup","nextPageUrl","goToNavigationTab","navigationTabs","nextVisiblePage","pages","navigationShow","onSelectCallback","selectedNavigationItem","flatNavigationList","getNavigationTemplate","toggleSubMenuItems","pageItem","pageList","tmpPageItem","isNavCollapsable","isNavCollapsed","newUrl","isVisible","valueOfQuestion","currentNavTabNum","currentUrl","includeInProgress","currentTab","navPages","hideIfEmpty","baseNavigationItem","flatNavigationItem","parent","class","depth","subFlatNavigationItem","QuestionController","$http","ValidationService","$log","$anchorScroll","routeChangeHandler","locationChangeHandler","validationErrors","getPageUrl","locals","isPageEditable","isFormEditable","isEditable","pageShadowResponse","shadowResponse","pageWatches","isButtonLoading","toggleClass","trackPageVisitWithGA","versionSuffix","strippedSuffixTemplateName","originalTemplate","deviceIsIOS","getParentQuestionAnswer","parentQuestionCode","getApiSelectDefaultOption","questionContains","qValue","notEmpty","setupWatchesForPageItem","cond","stringify","setupWatchForSectionCondition","setupWatchesForSectionItem","setupWatchForQuestionCondition","watch","newValue","oldValue","isRepeating","repeatingItemRequired","addSectionItem","deregisterSectionItemWatches","match","sWatch","sItems","deregisterPageItemWatches","watches","si","obj","splice","setupTriggersAndDynamicValues","setupChangeFromFalseToTrueWatchForThisTrigger","whenThisExpressionChangesFromFalseToTrue","doThis","setupValueChangeWatchForThisTrigger","whenThisExpressionValueChanges","triggers","initialisePageResponse","scrollTo","old","hash","setSummaryErrorFocus","summaryValMsgs","clearDateModel","dateParam","setDateAndParts","newDate","dateParts","clearDateAndParts","clearTimeAndParts","setTimeAndParts","buildTimeString","hour","minute","clearTimeModel","timeParam","newTime","setQuestionValue","setQuestionValueFromCodeAndType","qType","clearQuestionValue","selectRadioAlignment","displayStyle","getQuestionFromCodes","n","getAnswerFromCodes","getAnswer","getQuestionFromCode","chain","flatten","questionHasOptions","questionOptions","getOptionTextFromOptionCode","optionCode","opt","getOptionSetText","flatMap","optionSets","getQuestionOptions","ops","optionDependsOnQuestion","pQuestions","valOfPQuestion","getIncidentDate","hasUnsavedChanges","onRouteChange","nextRoute","buildRoutePath","originalPath","currentPageUrl","isFormUrl","cancelFormChanges","navDirection","getNavDirection","allowNavigationWithoutValidation","ParentChild","Forward","navigateForwardWithoutValidation","navigateBackwardWithoutValidation","checkPageItemsAreSaved","isPageValid","validatePage","onlyMandatoryErrors","hasOnlyMandatoryValidationErrors","isPrerequisitePageValidationMet","isPageSpecificValidationMet","notifyValidationError","alertFirstError","onLocationChange","registerForRouteChange","deregisterRouteChangeHandlers","nextPage","route","destPage","prerequisitePageValidation","pagesToCheck","setAddressParts","address","streetAddress","addressType","long_name","isValidCheckOnly","_isValidCheckOnly","_level","pi","validatePageQuestions","checkAtleastOneValueOnPage","hasValue","addValidationError","popupMessageCode","shortQuestion","summaryMessage","ruleType","validation","pageIndex","sectionIndex","onBeforeChange","setErrorState","getQuestionId","err","moveToFirstError","scrollElementIntoView","validNumeric","maxNumericLength","minNumericLength","validDecimal","validLength","maxLength","validAlphabetic","validEmailAddress","validDate","isDateSameOrAfter","minYear","dateDifferenceInDays","sourceDate","targetDate","validDateRange","validTime","isAdult","goToNextPageConditional","conditionNavNo","conditionPageUrl","callingPage","getCurTemplatePath","goToNextPage","transferToNextPage","goToPreviousPage","transferToPreviousPage","navNo","goToPageSectionForm","initElemId","pageSectionFormUrl","sectionPageAccessedBy","returnToCallingPage","getSectionId","_sIndex","filterButtons","position","include","buttons","goToElement","pageScrollTo","getPageItemCount","getPageItemState","editPageItem","navigateFromSummaryFocusItem","editSectionItem","$state","setPageItemState","isAddingPageItem","matches","addPageItem","newResponse","setSectionItemState","defaultType","defaultValue","copy","focusFirstElement","addPageItemOnOtherPage","referenceId","$referenceId","cancelNewPageItem","saveExistingPageItem","saveNewPageItem","cancelExistingPageItem","deletePageItem","popupConfirmCode","openScrollToPageItem","openScrollToPageItemById","getJsonItemIndexById","openScrollToSectionItem","getSectionItemState","isAddingSectionItem","focusRequired","addPopulatedSectionItem","isSectionAnswered","saveNewSectionItem","cancelNewSectionItem","saveExistingSectionItem","cancelExistingSectionItem","deleteSectionItem","getSectionItemCount","handleDuplicateSectionItems","duplicatePopupCode","sectionItems","sectionItem_1","hasDuplicates","resetTheResponse","isReadOnly","repeatingReadOnly","repeatingCanAddToReadOnly","readOnly","readOnlyCondition","isRequired","isNextPageSummary","curNavNo","curTab","maxPagesInTab","getMaxPageCountForTab","curPageNo","getPageIndex","nextTab","returnToLanding","count","repeatingNavigatePopupCode","checkSectionItemsAreSaved","sectionItem","sectionToFocus","getFirstNonEmptyQuestionItem","getFirstNonEmptyQuestion","getSectionIndex","undefinedObj","getApiSelectValues","apiSelectValues","getQuestionTemplateUrl","availableControls","radio","apiSelect","singleCheckbox","checkbox","photoControl","empty","typeahead","date","textarea","textarealarge","apiLookUp","filterSelect","button","multiSelect","multiFilterSelect","singleSelect","time","getSectionTemplateUrl","templateLocation","getUserOrganisation","deleteMultiSelectEventItem","selectedEvents","isMultiSelectItemLocked","multiSelectItem","sectionContainingRepeatingItemRequired","resetValueOnLoad","warnBeforeWindowUnload","nonEmptyQuestions","maxPageInTab","fromUrl","toUrl","from","getNavTabAndPageNo","compareResult","Backward","getUrlPath","hashIndex","pathStart","parseUrlParts","urlParts","tab","getNavTab","curPageIndex","prevTab","ReportContainerController","reportDiv","reportId","getReportIdFromQueryString","loadReport","BaseManageController","configTemplate","managePageUrl","uiGridConstants","uiGridExporterConstants","currentManagePageUrl","resetResponseInfo","iosOrMobile","checkIfIOSOrMobile","isRunningInExtraSmallScreen","canCreateNonAdminData","refresh","showLoader","getGridData","hideLoader","filterRecords","clearAndGetGridData","onChangeOrganisation","clearAllFilters","parsePdfErrorMessage","errorResponse","isLoading","gridApi","exporter","csvExport","VISIBLE","downloadExtract","getExtract","exportFileName","exportField","grid","row","col","colDef","cellTemplate","cellFilter","appScope","gridOptions","errorMessage","body","errorJson","ManageActionsController","readUnreadEntityService","Case","readUnreadEntity","createReadUnreadEntityInstance","isReadMap","saveReadUnreadActions","maFilters","exporterCsvFilename","enableSorting","enableFiltering","enableHorizontalScrollbar","scrollbars","NEVER","enableVerticalScrollbar","ALWAYS","enableRowSelection","enableFullRowSelection","enableRowHeaderSelection","enableSelectAll","columnDefs","getColumnDefs","exporterFieldCallback","rowTemplate","onRegisterApi","exporterCsvLinkElement","rowHeight","minRowHeight","getRowHeight","entity","assignedToArray","selectRow","selection","onPrintTouchend","downloadPdf","onPrintClick","onViewOrEditTouchend","viewOrEditAction","onViewOrEditClick","getActionExtract","getRequestData","getConfigurationUsingCache","showNotification","updateOnServer","getActions","loadGridData","field","enableHiding","displayName","getReadUnreadCellHeader","getReadUnreadCellTemplate","width","isEnabled","enableColumnMenu","sort","direction","ASC","cellClass","headerCellClass","exporterSuppressExport","visible","columnDef","isUiGridColumnVisible","canEdit","openIncident","openSentinelEvent","openFeedback","isViewOrEditLoaded","updateOnClient","actionUrl","dueDateRangeId","dateCreatedRangeId","wardLocationId","specialtyUnitId","isPrintLoaded","getActionAbleEntityPdf","actionableEntityId","actionableEntityRef","isRead","organisationCode","getAllDependentOptionSetsOfDependentOptionSetFromConfiguration","getDependentOptionSetFromConfiguration","getOptionSetFromConfiguration","readUnreadCellAppearance","getReadUnreadCellAppearance","canPrint","getIncidentPdf","getFeedbackPdf","getSentinelEventPdf","ManageFeedbackController","removedVirtualStatus","activeVirtualStatus","saveReadUnreadFeedbacks","mfFilters","viewOrEditFeedback","onRemoveRestoreClick","removeRestore","onRemoveRestoreTouchend","createNewFeedback","getFeedbackExtract","getFeedbacks","DESC","ref","removeRestoreDisplayString","isRestore","confirmPopupCode","confirmPopupParams","entityName","isRemoveRestoreLoaded","removeRestoreFeedback","errorPopupCode","errorPopupParams","navigator","onLine","Open","isStatusFilterShowAll","isStatusFilterActive","isStatusFilterRemoved","dateRangeId","isActiveStatus","csrId","programId","feedbackTypeId","f","concat","canRemove","removeRestoreIcon","patientLastName","isComplainantPatient","complainantLastName","affectedLastName","ManageIncidentsController","saveReadUnreadIncidents","miFilters","viewOrEditIncident","openRelatedIncidentsPopupTouchend","openRelatedIncidentsPopup","openRelatedIncidentsPopupClick","onCloneClick","cloneIncident","onCloneTouchend","createNewCase","resumeDraft","getIncidentExtract","clearAndGetGridDataAndCheckForDraftIfNeeded","onChangeOrganisationForIncidentDashboard","getIncidents","checkDraft","isOpenRelatedIncidentsPopupLoaded","incidentLinkArray","incidentLink","removeRestoreIncident","clonePopupCode","clonePopupParams","personTypeDisplayName","popupResult","isCloneLoaded","clonedIncidentRef","clonedIncidentPersonTypeId","clonedIncidentPersonType","incidentUrl","deactivateCase","initialiseNewCase","Draft","caseId","getCaseById","populateSectionVisibilityConditions","templateTypeId","isrId","checkForDraft","checkServer","hasDraft","allPromises","all","values","canClone","caseResponseInfo","ManageNotificationsController","mnFilters","teams","onEditClick","editNotification","onEditTouchend","onToggleActivationClick","toggleActivation","onToggleActivationTouchend","createNotification","createFeedbackNotification","FeedbackNotification","getNotifications","isEditLoaded","currentLoadMessage","getNotificationById","isRelatedToFeedback","isToggleActivationLoaded","isActivation","toggleActivationDisplayString","toggleNotificationActivation","","notifications","teamAccesses","toggleActivationIcon","ManageOrganisationsController","Organisation","moFilters","editOrganisation","getOrganisations","getOrganisationById","organisations","ManageSentinelEventsController","mseFilters","viewOrEditSentinelEvent","removeRestoreSentinelEvent","onExportExecSummaryPdfTouchend","PdfTypes","ExecSummary","onExportExecSummaryPdfClick","onExportPdfTouchend","Full","onExportPdfClick","pdfDownloadChoice","confirmSentinelEventPDFToDownloadChoice","isApplicationInProgress","createNewSentinelEvent","canCreateSentinelEvent","canExportSentinelEvent","getSentinelEventExtract","isScvUser","getColumnDefsForSCVUser","getColumnDefsForHealthServiceUser","getSentinelEvents","getTemplateFragmentForExportButtons","isRemoveLoaded","removeSentinelEvent","sentinelEventCategoryId","sentinelEventSubCategoryId","campusId","overarchingStatusId","pdfType","PdfChoice","pdfPromise","isFullPdfDownloadInProgress","isExecSummaryPdfDownloadInProgress","getSentinelEventExecSummaryPdf","filteredProgramListForSelectedOrganisation","filteredCampusListForSelectedOrganisation","ManageTeamsController","Team","mtFilters","editTeam","createTeam","getTeams","getTeamById","teamName","toggleTeamActivation","ManageUsersController","User","getUserResponseAndConfigById","muFilters","onSyncNameClick","syncName","onSyncNameTouchend","editUser","createUser","transferSubordinates","getUsers","priority","isSyncNameLoaded","checkUserFullName","isValidResponse","getUserToggleActivationInfo","getUserDeactivationDetails","hasActiveSubordinates","hasSources","incidentFeedbackCount","actionsCount","isTheOnlyMemberOfTeam","toggleUserActivation","roleId","users","request","fromManagerId","fromManager","toManagerId","toManager","subordinateIds","subordinates","transferResult","toManagerName","TransferInvalid","invalidUsers","errorMsg","AuditHistoryController","$controller","dateTimeFormat","getEntityTypeByRoute","expandableRowTemplate","expandableRowHeight","getPageTitle","at","getAuditDetails","onBlurFilterUser","isLoadingMoreRecords","loadMoreRecords","isIsActiveField","fieldName","getIsActiveFieldLabel","getIsActiveFieldValues","isStatusField","activeEntityType","getStatusOptionSetName","getStatusFieldLabel","onLoadingStarting","appendRecords","onLoadingCompleted","auditEntity","Unknown","auditTypeIds","ids","reduce","ids1","ids2","tags","auditDateRangeId","pageSize","getAuditHistory","cellTooltip","formatGridCellTooltip","auditLogs","auditDetails","subGridOptions","formatSubGridCellTooltip","resolveAuditDetailCodes","disableRowExpandable","auditType","excessRows","transactionDateTime","auditTypeName","auditDetailsWithText","auditDetail","auditDetailWithText","_a","AuditUser","BaseIncidentFormController","patientService","mapPageIdToPageDetails","1-1","mapCodeToEventTypeSection","patient","staff","visitor","hazard","apiSelectCallList","createPatientInstance","itemIndex","dependantOnId","getIsrMappingUsingCache","signoffPageId","returnToDashboard","manageUrl","cancelForm","isEventTypeSelected","eventTypeId","isOneOfEventTypeSelected","eventTypeIds","calculateIsr","confirmRemovingWitnesses","updateBloodProductStirSerious","isInvestigateStir","displaySectionSummary","sectionSummaryId","getSectionStatus","affectedStaffHasLineManagers","affectedStaffHasNoLineManagers","ellipsifyActionComment","comment","ellipsify","routeType","getRouteType","NavTab","getVisitorName","fIsVisitorIdentifiable","fFirstName","fSurname","mapIsrQuestionConfig","isrMappingList","personTypeCode","isrQuestionInfoMap","Patient","Staff","Visitor","isrQuestionInfo","levelHarmImpactQuestionCode","levelCareDisruptionQuestionCode","actionInterventionQuestionCode","isrLevelQuestionCode","behaviourQuestionCode","isrVersionQuestionCode","isCase","isIncident","isRepeatingSectionAnswered","getMappedWhatPageIdForCode","isrConfig","harmImpactId","careDisruptId","actionInterventionId","behaviourResponse","isrVersion","findIsrLevel","isrMappings","isrBehaviourOverrideInfo","updateResponses","questionConfig","questionCondition","eval","isrLevel","hasBehaviourOverrideProblems","overrideQuestionCodes","overrideLevelId","checkEventsUnique","typeCode","sectionInfo_1","eventTypeCode_1","canSaveChanges","ignoreMandatoryErrors","allPageItemsMustBeSaved","canSave","_ignoreMandatory","_checkAllPageItemsSaved","saveFormChanges","success","saveCaseChanges","saveResult","caseRejectReason","saveIncidentChanges","incidentType","Save","isBackgroundTask","saveCase","saveResponse","UpdatedSinceReadTime","updateCaseStatusBarInformation","saveOperation","Closed","deleteSignoffSection","saveIncident","updateIncidentStatusBarInformation","allocatedLastUpdatedTime","incidentStatus","incidentStatusText","updateStatusBarInformation","sStaffNameLookupAnswer","getApiSelectOptionList","UserLineManager","apiSelectOptionList","isSelected","sectionInfo","pageResponse","hasSelectedEventType","findIndex","isWitnessSectionAnswered","witnessSections","wAnyWitness","completedSections","getCountCssClass","totalSections","isWhatPageId","lookupAnswer","BaseSectionFormController","formButtons","colour","iconPosition","showSpinner","showAsLink","defaultOptionSets","questioCodeToApiSelectTypeMap","hMmsfgBrandName","MedicationBrand","hMmsfgMedClass","MedicationClass","hMmsfbGenericName","MedicationGeneric","hMmsfbMedClass","pgBrandName","pgMedClass","pbGenericName","pbMedClass","questioCodeToApiLookupTypeMap","hMmsfgGenericName","hMmsfbBrandName","pgGenericName","pbBrandName","questionColumnCount","pItem","cancelSectionForm","saveSectionForm","getGenericName","genericValfromGLookup","genericValfromBLookup","genericValfromOther","getMedicationDataVersionId","baseGetQuestionOptions","medicationDataVersionId","parentQuestions","pQuestionKeyValue","optionKey_1","questionPath_1","dropdownList","getSelectOptionList","cOptionSets","medicationDataVersionOptionSets","genericName","CaseFormController","mapCopyEvents","mapCodeToPageId","mapSectionCodeToPageUrl","mapCodeToCachedValues","whatpages","autoSaveExceptionUrls","isDoingCheck","deleteAssociatedWhatPageItem","refreshMenu","setupCaseTriggersAndDynamicValues","personNames","key","isSomeoneHurtOrInvolved","isPatientHurtOrInvolved","isStaffHurtOrInvolved","isVisitorHurtOrInvolved","isExistingDanger","isSomeoneHurtInvolvedOrDangerExists","submitCase","validatePeopleAdded","getPatientName","pFirstName","pSurname","getStaffName","sFirstName","sSurname","sStaffNameLookup","validateWhatTabItems","isPatientHurtOrInvolvedAnswered","isStaffHurtOrInvolvedAnswered","isVisitorHurtOrInvolvedAnswered","isSectionEditable","addMeToIncident","addCurrentUserToIncident","confirmTheChange","that","confirmNoHazard","confirmNoOneHurtInvolved","radioQuestionCode","changeCopyEvents","copyEvents","hideShowCopyEvent","radiobtnCode","hasMoreThenOnePerson","getPersons","autoSaveForPage","toggleWhatPageItem","hasActiveLineManager","currentValue","reporterLineManagers","staffLineManagers","wp","getPageById","isWhoTabValid","showNavigationWarning","isPrerequisiteMet","every","isWhatPageRequired","isReportingForPatient","isReportingForStaff","hasReportOnBehalf","isReportingForVisitor","isPatientSectionAnswered","isVisitorSectionAnswered","isStaffSectionAnswered","populateTempData","clearTempData","clearStaffWhereData","removeFromValidatedPages","wWhoHurt","populateAllTypeValuesFromTempData","wWhoInvolved","clearWhoInvolvedData","checked","AddSelectedItemBack","populateTypeValuesFromTempData","hazardAssociatedWhatTab","wIsStillDanger","patiendId","staffId","visitorId","isStaffWhereFieldsValid","staffSectionCode","whatTabNum","whatPageId","whatPageUrl","staffSectionItems","currentUserFullName","sStaffMember","newStaffItem","matchIndex_1","whatPageIndexToDelete","currentLoadSaveMessage","isSavingCase","currentLoadSubmitMessage","getSystemDate","newState","addRepeatingPageOnTheWhatTab","sectionId","checkSectionItemsUnique","isUnique","currentSectionId","updatedWhatItemIndex","deletedItemIndex","checkPatientsUnique","checkStaffUnique","checkVisitorsUnique","checkWitnessesUnique","s1","s2","pClientId","currItem","staffNameLookup_1","email_1","sStaffLookupNotFound","sEmail","itemStaffNameLookup","itemEmail","firstName_1","surname_1","phoneNumber_1","fPhoneNumber","itemFirstName","itemSurname","itemPhoneNumber","dlgResult","firstName_2","wFirstName","surname_2","wSurname","position_1","wPosition","role_1","wRole","pageHasEvents","fullname","equals","eventType","detailSection","person","copyevent","getCopyEvents","refId_1","personCount","currentSection","pageSection","clearSection","id_1","columnName","persontype","self_1","pIndex_1","sCode_1","sIndex_1","copyevent_1","copyEventsFunction","responseSection","canSaveCase","answerCode","answer","CaseSectionFormController","FeedbackFormController","lineManagerOptionSetsName","lineManagerOptionSets","providerPatient","identifiedPatient","selectedOptionSets","populateLineManagerOptionSets","getCsrMappingUsingCache","canSaveFile","canViewFile","canDeleteFile","saveFeedback","btnId","calculateCsr","isComplaint","getDefaultLineManager","mapCsrQuestionConfig","csrMappingList","objMapCsrQuestionConfig","csrQuestionInfo","seriousnessQuestionCode","complexityQuestionCode","priorityQuestionCode","csrLevelQuestionCode","sectionResponse","lm","defaultLineManager","saveFeedbackChanges","feedbackStatus","feedbackStatusText","canSaveFeedback","savedFeedbackRef_1","isInsert_1","csrConfig","seriousnessId_1","complexityId_1","priorityId_1","csrMappings","CloUser","checkActionAssigneesUnique","getSelectedOptionSets","selectedOptionSetsInClassificationPage","diff","difference","isLocked","investigation","investigationRelatedIssueType","IncidentFormController","canSeeWhyAndHow","staffLineManagerAnswer_1","matchIndex","isActionNavTab","actionConfig","IncidentSectionFormController","NotificationFormController","allTeamOptions","saveNotification","saveFeedbackNotification","getTeamActiveStatus","getTeamDisplay","rejectReason","isFeedbackNotification","confirmValidCriteria","typeDescription","DuplicateRow","selectedTeamIds","getSelectedTeamIds","newTeamId","selectedIds","activeTeams","activeTeamMatch","inactiveTeamMatch","getSectionResponse","hasAnyCriteria","questionParams","OrganisationFormController","refEntityConfig","campus","startDateQuestionCode","endDateQuestionCode","equalityCompareFn","campusName","requireActiveItem","ward","wardName","specialty","specialtyName","program","programName","baseEditSectionItemFn","saveOrganisation","ensureItemsValid","getActiveStatus","isStartDateReadOnly","getValidationStartDate","getValidationEndDate","getCampusStartDate","getCampusEndDate","areAllRepeatingItemsSaved","hasActiveItemTillEndOfTime","campusAlwaysHasActiveWard","checkPageItemsUnique","getRefEntityConfigForPageId","pageItems","pageItem_1","validateAdditionalRules","refEntity","hasCampusEndDate","hasWardEndDate","allSaved","repeatingSections","repeatSection","AuthorisingOfficer","isTodayWithinDateRange","today","start","end","isSameOrBefore","isSameOrAfter","getOriginalItem","original","getJsonItemById","validationDate","addDaysToDate","originalItem","campusConfig","campusResponse","campusStartDate","campusEndDate","wardsResponse","itemsCoverDateRange","fromDate","toDate","firstDate","tomorrow","lastDate","allDates","uniqBy","responseItem","activeDates","latestDate","PageFormController","pageFormCtrl","getEnityType","objBroadcastargs","isFeedback","SentinelEventFormController","findingsAndLearningsOptionSet","doesSCVUserHaveAccessToAddSharedComments","populateSentinelEventFindingsAndLearningsOptionSet","setDocumentAccess","updateCategoryInReportsSection","updateSuspectedOrConfirmedPatientHarmInReportsSection","includes","serviceBecameAwareCondition","updateFieldsMSQCpartB","updateNumberOfRecs","updateRecommendationCategoryAndOtherDetails","updateFindingsAndLearnings","populateActionRequired","updateHiddenOrganisationFieldInPartC","updateCommitteeReviewAutoPopulatedFields","populatePartDSixMonthRecommendations","populatePartDTwelveMonthRecommendations","updateField","saveSentinelEvent","exportPage","exportType","getSentinelEventQAPdf","getSECategoryAtTheTimeOfNotification","getSENotificationCategory","notifyCommentsAdded","actionCode","submissionExtensionDateOfRequest","tz","submissionExtensionRequestDueDate","submissionExtensionDetails","updateTheCategoryInReportsSection","updateSuspectedOrConfirmedHarmInReportsSection","updateCategoryAndSubCategoryInRelatedFields","reportPageId","getSENotificationCategoryCode","getSENotificationSubCategoryCode","catSixElevenRule","displayQuestion","category","subCategory","setReportBotherFindingsValue","setReportBotherFindingsValueForSection","getNumberOfFindingsAndLearnings","findingOrLearning","getStatusOfApplication","getEventNumber","getStageOfApplication","isNotificationSubmitted","ResubmissionRequested","computeServiceAwareFieldDisplayCondition","displayField","dateFormat","eventDateString","eventDate","serviceBecameAwareOfIncidentDateString","serviceBecameAwareOfIncidentDate","add","serviceAwareIncidentNotifyDelayReasonFieldDisplayCondition","checkConsumerRepresentative","consumerRepresentative","hasCommitteeReviewBeenConducted","isReportAandBSubmitted","PartC","MinorResubmissionRequested","PartAandB","ExtensionRequest","Pending","Overdue","isFindingLearningsReadOnly","isReportCSubmitted","isReportD6Submitted","isReportDSubmitted","PartD12m","FullReport","PartD6m","isReportD12Submitted","populateDueAndSubmissionDates","focusOnEndorsementSection","setRecommendationStrengthBasedOnCategory","strongRecommendation","weakRecommendation","moderateRecommendation","categoryText","categoryCode","getOptionSetItemByCode","recommendationStrengthMap","Architectural/physical changes in surroundings","New devices with usability testing","Engineering control (forcing functions which force the user to complete the action)","Simplify process and remove unnecessary steps","Tangible involvement by leadership, Redundancy","Redundancy","Increase in staffing/decrease in workload","Software enhancements or modifications","Eliminate/reduce distractions","Education using simulation-based training with periodic refresher sessions/observations","Checklist/cognitive aids","Eliminate look- and sound-alikes","Standardised communication tools","Standardise process","Double checks","Warnings","New procedure/memorandum/policy","Training","Share Outcomes / educational reference","Further review or develop an action plan","calcPercentageHumanError","canSubmitReports","isExtensionRequestSubmitted","AcceptedABPending","NotAcceptedABPending","isReadOnlyHSUser","isReadOnlySCVUser","ReviewPending","updateSharedCommentAccess","notifierDateString","notifierDate","startOf","getDueDate","dueDate","displayServiceAwareIncidentNotifyDelayReason","ex","populatePartD6MonthCommitteeReviewFields","populatePartD12MonthCommitteeReviewFields","userOrganisation","committeeReviewConducted","actionRequired","findingsCount","learningsCount","weakRecsCount","moderateRecsCount","strongRecsCount","smartRecsCount","strongRecFilteredArray","weakRecFilteredArray","moderateRecFilteredArray","smartRecFilteredArray","partCInternalResponse","partCExternalResponse","getNotificationCategoryFromResponse","getNotificationSubCategoryFromResponse","updateMethodologyInReportsSection","partBmsqcPageId","getMethodology","getFieldValue","getSectionLength","consumerSectionLength","consumerReviewer","sectionLength","externalExpert","findings","startsWith","optionSetName","howManyHumanError","partbmsqcFindings","partbmsqcHowManyRChumanError","reportCDueDateSectionCode","childList","attributes","subtree","observer","MutationObserver","mutations","mutation","setSCVSharedCommentAccess","disconnect","observe","hasAddButtonBeenRemoved","notificationSharedCommentAddButton","partAandBSharedCommentAddButton","partCSharedCommentAddButton","partD6mSharedCommentAddButton","partD12mSharedCommentAddButton","orgId","isExternalUserLookupQCode","userLookupOrganisationQCode","userCodeList","getAssignedUserListForCurrentSentinelEvent","SentinelEventUsers","userList","u","actionInfo","actionType","questionResponse","selectedFinding","filteredArray","toUpperCase","arrayWithComputedCode","NotificationCommentResult_1","GetNotificationCommentResult","saveSentinelEventChanges","sentinelEventStatus","sentinelEventStatusText","sentinelEventStage","sentinelEventStageText","canSaveSentinelEvent","saveOperationString","notificationComment","ApproveNotification","RejectNotification","ResubmissionRequestedNotification","SubmitNotification","SubmitReportAandB","ApproveReportAandB","pageInformation","validatePages","ReportAandBReviewPending","ResubmissionRequestedAandB","SubmitReportC","ApproveReportC","ReportCReviewPending","CommitteeReviewComplete","ResubmissionRequestedC","MinorResubmissionRequestedC","CommitteeReview","SubmitPartDSixMonth","ApprovePartDSixMonth","TwelveMonthUpdateRequiredPartDSixMonth","ResubmissionRequestedPartDSixMonth","ApprovePartDTwelveMonth","ResubmissionRequestedPartDTwelveMonth","SubmitPartDTwelveMonth","ExtensionRequestSubmitted","extensionAccepted","ExtensionRequestApproved","ExtensionRequestApprovedPartial","ExtensionRequestRefused","GetPartCSmartRecommendation","getSentinelEventDueDate","clearSignOffSection","dueDatePartC","dueDatePartD6M","dueDatePartD12M","pagesToBeValidated","scopePageId","currentPage","notificationCommentResult","savedSentinelEventRef_1","partcrecommendations","partCRecommendationScvRecAnalysis","GetSharedHSCommentNotificationCommentDetails","notificationCommentShared","notificationCommentSharedUser","GetSharedHSPartABCommentDetails","partAandBCommentShared","partAandBCommentSharedUser","GetSharedHSPartCCommentDetails","partCCommentShared","partCCommentSharedUser","GetSharedHSPartD6MCommentDetails","partDCommentShared","partDCommentSharedUser","GetSharedHSPartD12MCommentDetails","partDTwelveMonthCommentShared","partDTwelveMonthCommentSharedUser","GetInternalHSNotificationCommentDetails","notificationCommentHs","notificationCommentHsUser","GetInternalHSPartABCommentDetails","partAandBCommentHs","partAandBCommentHsUser","GetInternalHSPartCCommentDetails","partCCommentHs","partCCommentHsUser","GetInternalHSPartD6MCommentDetails","partDCommentHs","partDCommentHsUser","GetInternalHSPartD12MCommentDetails","partDTwelveMonthCommentHs","partDTwelveMonthCommentHsUser","GetInternalSCVNotificationCommentDetails","notificationCommentScv","notificationCommentScvUser","GetInternalSCVPartAndBCommentDetails","partAandBCommentScv","partAandBCommentScvUser","GetInternalSCVPartCCommentDetails","partCCommentScv","partCCommentScvUser","GetInternalSCVPartD6MCommentDetails","partDCommentScv","partDCommentScvUser","GetInternalSCVPartD12MCommentDetails","partDTwelveMonthCommentScv","partDTwelveMonthCommentScvUser","SummaryFormController","mapEntitySpecificVariables","hazardsignoff","clinicalsignoff","ohsstaffsignoff","ohsvisitorsignoff","feedbacksignoff","sentineleventsignoff","initiateCounterHash","counters","countSectionInPage","showMoreAnswers","countQuestionsInSection","setQuestionParamsForSummary","setQuestionParamsForSummaryDocuments","documentCount","getSectionItemCountForSummary","getPageItemCountForSummary","isQuestionValid","getQuestionError","validateApplication","getQuestionAnswer","hasQuestions","shouldRenderPage","summaryNav","summaryPage","hasAnswer","showExtraInfo","getPageError","navigateToFirstPageError","entityData","templatePath","errors","navTabs","navTabsToBeValidated","nt","runPageLevelValidations","validationParams","thisResponse","allResponses","addValidationErrors","dependentOnQuestionResponseCode","questionsWithText","anchortag","NaN","TeamFormController","saveTeam","getUserActiveStatus","selectedUserIds","getSelectedUserIds","newUserId","teamMembers","member","UserFormController","isDelegationReadOnly","originalDelegationLookUp","originalDelegationStartDate","newDelegationLookUp","newDelegationStartDate","hasCurrentDelegation","getValidationDelegationStartDate","allRoleMap","createRoleMap","getAccessCount","addAccessItem","saveUser","getActiveStatusDisplay","hasLinkSourceUsers","canLinkToUser","hasDelegationSourceUsers","canDelegateToUser","hasTeamMembership","getTeamActiveStatusDisplay","getLineManagerDisplay","lineMgrOption","isRoleReadOnly","saveSectionItem","editHtmlId","checkDuplicateManager","managerLookUp","saveUserFormData","NoHsNetIdFound","UserUpdatedSinceReadTime","DuplicateExternalId","InvalidRole","lookUpType","Manager","Link","Delegation","lineMgr","saveCaseDeferred","adhocId","formConfigurationConfigCache","userProfileCache","isAdhocSubmissionUser","urlForApiLookUp","4","5","6","7","8","9","10","urlForApiSelect","severityMapping","isr","csr","userFamilyName","getDateTime","getTokenExpiry","login","logOut","userInfo","profile","given_name","family_name","ipaddr","exp","pageName","location","pathname","getConfiguration","vhimsHttp","forceReload","hashCode","removeFromConfigurationCache","getCachedConfigData","pushConfigData","configsByTemplateId","configsByTemplateVersion","formConfig","charCodeAt","getUserProfileData","getUserProfileDataFromCache","pushUserProfileDataToCache","getIsrMapping","isrMapping","getIsrMappingFromCache","pushIsrMappingToCache","getCsrMapping","csrMapping","getCsrMappingFromCache","pushCsrMappingToCache","getDraftCaseIdIfExists","Cancelled","getUserSubordinates","apiSelectType","includeInactive","toJson","expectedLastUpdateTime","removeHistoryFromResponse","getIncidentDocument","deleteIncidentDocument","getIncidentFullDataExtract","getFeedbackDocument","deleteFeedbackDocument","getFeedbackFullDataExtract","getSentinelEventDocument","deleteSentinelEventDocument","pdfchoice","responseJsonObj","feedbackResponse","actionResponse","propCount","prop","commentNotificationChoice","commentHSNotificationType","commentNotificationType","commentHSNotificationChoice","commentAddedBy","getReport","getPatient","getTime","teamAccessId","unixTime","t","months","getFullYear","getMonth","getDate","getHours","min","getMinutes","sec","getSeconds","responseType","Content-Type","FullDataExtractService","downloadFullDataExtract","getFullDataExtract","operationName","questionSet","questionScope","organisationQuestionValue","apiEnabledCampusIds","isAnyCampusApiEnabled","trySearchPatientWithDebounce","debounce","trySearchPatient","onChangePatientCampus","addPageIdToQuestionParams","isSelectedCampusApiEnabled","clearPatientDetails","onChangePatientUrNumber","onChangePatientNotFound","setOrganisationQuestionValue","isPatientSearchSelected","arePatientDetailsReadOnly","isPatientSearchAvailable","displayPatientOrganisation","displayOrganisationAndCampus","getSelectedOrganisationId","displayPatientCampus","displayPatientNotFound","setOrganisationQuestion","selectedCampusId","getSelectedCampusId","selectedUrNumber","getSelectedUrNumber","searchPatientDetails","urNumber","patientRequest","patientUrNumber","patientResponse","processPatientDetailsSearchResult","ServerError","resultCode","Ok","setPatientDetails","hideAllNotifications","CampusNotFound","PatientNotFound","toggleNotification","getNotificationCode","isAnyCampusSelected","getSelectedNotFound","setValueOfQuestion","clearValueOfQuestion","clearValidationErrorsForSearchResults","firstName","lastName","genderString","dateOfBirthString","clearValidationErrors","getValueOfQuestion","questionType","dependentQuestionCode","dependentQuestionValue","PatientService","PopupQuestionService","getSubordinates","toggleAllSelection","ReadUnreadEntity","saveOnServer","getGridOptions","controllerScope","lastSaveTimeMs","nowMs","isSaveInProgress","saveIntervalPromise","markAllAsRead","markAllAsReadUnRead","markAllAsUnread","style","thisInstanceName","onReadUnreadCellClick","toggleOnClient","onReadUnreadCellTouchend","queueUpdate","saveImmediately","itIsTimeToSave","isQueueEmpty","markAsSaved","entities","now","ReadUnreadEntityService","ReportingService","reportingRouteUri","formatAbsoluteUriFromAngularRoute","parameters","queryString","formatQueryString","open","htmlElement","getReportResponseDto","renderReport","closed","getReportRequestDto","configuration","accessToken","embedUrl","tokenType","pbi","models","TokenType","Embed","powerbi","report","embed","setTokenTimeout","off","detail","detailedMessage","errorCode","getReportIdFromEmbedUrl","reportEmbedUrl","embedUrlQueryString","embedUrlQueryStringObject","parseQueryString","tokenExpiration","toLocaleString","updateToken","minutesToRefresh","setAccessToken","$uibModal","$interpolate","getOptionSetItemByIndex","scvRoles","userRoles","arrScvRoles","scvRolesAssignedToUser","intersection","onBeforeUnload","returnValue","addEventListener","removeEventListener","userAgent","ios","test","featureNotImplemented","alert","className","removeClass","addClass","setElementVisibility","pageLoaderTimerHandle","clearTimeout","show","reload","query","pairs","pair","decodeURIComponent","encodeURIComponent","angularRoute","baseUri","maxSize","ellipses","truncatedSize","hideMenu","navItem","draftInfo","notificationCode","returnAsPromise","notifyType","target_1","input2","input3","fieldset","describeByValue","removeAttr","responseCode","getOptionSetData","setAriaDescribedByAttribute","attrValue","dependentOnAnswer","multiFilterOutput","output","getAge","birthYear","birthMonth","birthDay","curDate","curYear","curMonth","curDay","age","days","getCurrentUserFullName","getMinimumDate","minDate","tabIncludedInProgress","docTitle","animation","backdrop","ariaLabelledBy","ariaDescribedBy","windowTemplateUrl","tabIndex","scrollIntoView","matchEmailRegx","email","regx","toRemove","valErr","optionsetName","dependentOptionsetName","dependentOptionSetName","dependentOfDependentOptionSetName","dependentOfDependentQuestionCode","getOptionSet","os","dqc","dqv","item1","item2","getOptionSetDecodeMap","decodeMap","setFormAsEditable","documentPageUrl","getEntityTypeByDocumentUrl","isFeedbackRoute","s4","Math","floor","random","formateDate","eventTypeSectionInfo","defaultUrl","defaultActionTypeId","actionTypeInfo","generateActionUrl","defaultActionTypeInfo","formUrlPart","allRoutes","crumbs","routeNameParts","_loop_1","routeName","routeConfig","rc","getRouteUrlForBreadcrumb","name_1","getRouteNameForBreadcrumb","pageIdParts","getSection","jsonArray","routePathTemplate","routeParams","paramKey","Dashboard","routePartName","urlTemplate","partNameLowerCase","_pageUrl","heading","responseDocumentArray","responseKey","RegExp","pattern","isValidDate","dateMoment","sDate","tDate","daysDifference","isSame","isValidTime"],"mappings":"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","file":"app-cdd0caaf65.js","sourcesContent":["var formApp;\r\n(function (formApp) {\r\n 'use strict';\r\n var __env = {};\r\n var window;\r\n if (window) {\r\n if (typeof Object.assign !== 'function') {\r\n Object.defineProperty(Object, 'assign', {\r\n value: function assign(target, varArgs) {\r\n 'use strict';\r\n if (target === null) {\r\n throw new TypeError('Cannot convert undefined or null to object');\r\n }\r\n var to = Object(target);\r\n for (var index = 1; index < arguments.length; index++) {\r\n var nextSource = arguments[index];\r\n if (nextSource !== null) {\r\n for (var nextKey in nextSource) {\r\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\r\n to[nextKey] = nextSource[nextKey];\r\n }\r\n }\r\n }\r\n }\r\n return to;\r\n },\r\n writable: true,\r\n configurable: true\r\n });\r\n }\r\n Object.assign(__env, window.__env);\r\n }\r\n if (!String.prototype.endsWith) {\r\n String.prototype.endsWith = function (search, this_len) {\r\n if (this_len === undefined || this_len > this.length) {\r\n this_len = this.length;\r\n }\r\n return this.substring(this_len - search.length, this_len) === search;\r\n };\r\n }\r\n angular.module('templates', []);\r\n var app = angular.module('formApp', [\r\n 'ngRoute', 'ngSanitize', 'ngAnimate', 'checklist-model', 'ui.bootstrap', 'ui.select', 'angularFileUpload', 'templates',\r\n 'ui.grid', 'ui.grid.selection', 'ui.grid.expandable', 'ui.grid.exporter', 'ui.grid.autoResize', 'AdalAngular'\r\n ]).run([\r\n '$rootScope',\r\n function ($rootScope) {\r\n $rootScope.firstLoad = true;\r\n $rootScope.appJustLoaded = true;\r\n }\r\n ]);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=app.js.map","var formApp;\r\n(function (formApp) {\r\n 'use strict';\r\n angular.module('formApp').config(config)\r\n .run(['$rootScope', '$interval', 'Constants', 'DataServices', 'UtilityServices', function ($rootScope, $interval, constants, dataServices, utility) {\r\n $rootScope.$on('$locationChangeStart', function (event, current, previous) {\r\n $rootScope.previousUrl = previous;\r\n if (event.defaultPrevented === false) {\r\n utility.showPageLoader();\r\n }\r\n });\r\n $rootScope.$on('$locationChangeSuccess', function (event, current, previous) {\r\n utility.hidePageLoader();\r\n });\r\n }]);\r\n function noPermissionForPage(path) {\r\n console.error(\"User has no permissions to access this page - \" + path);\r\n }\r\n function isAuthenticated($q, $rootScope, $location, DataServices, Constants, fnPermissionCheck, UtilityServices) {\r\n var deferred = $q.defer();\r\n if (DataServices.isAuthenticated()) {\r\n DataServices.getUserProfileDataUsingCache()\r\n .then(function (userProfile) { return loadUserProfile(userProfile, $rootScope, $location, DataServices, fnPermissionCheck, deferred); })\r\n .catch(function () {\r\n $rootScope.appJustLoaded = false;\r\n deferred.reject();\r\n $location.path(Constants.Url.unregisteredUser);\r\n });\r\n }\r\n else {\r\n if (!$rootScope.appJustLoaded) {\r\n $rootScope.$on('adal:acquireTokenSuccess', function () {\r\n console.log('isAuthenticated received adal:acquireTokenSuccess');\r\n deferred.resolve();\r\n });\r\n }\r\n }\r\n return deferred.promise;\r\n }\r\n function isReportAuthenticated($q, $route, $rootScope, $location, DataServices, Constants, fnPermissionCheck) {\r\n var deferred = $q.defer();\r\n var organisationId = $route.current.params.oid;\r\n if (DataServices.isAuthenticated()) {\r\n if (organisationId) {\r\n DataServices.getSelectedUserProfileData(organisationId)\r\n .then(function (userProfile) { return loadUserProfile(userProfile, $rootScope, $location, DataServices, fnPermissionCheck, deferred); })\r\n .catch(function () {\r\n $rootScope.appJustLoaded = false;\r\n deferred.reject();\r\n $location.path(Constants.Url.unregisteredUser);\r\n });\r\n }\r\n else {\r\n DataServices.getUserProfileDataUsingCache()\r\n .then(function (userProfile) { return loadUserProfile(userProfile, $rootScope, $location, DataServices, fnPermissionCheck, deferred); })\r\n .catch(function () {\r\n $rootScope.appJustLoaded = false;\r\n deferred.reject();\r\n $location.path(Constants.Url.unregisteredUser);\r\n });\r\n }\r\n }\r\n else {\r\n if (!$rootScope.appJustLoaded) {\r\n $rootScope.$on('adal:acquireTokenSuccess', function () {\r\n console.log('isAuthenticated received adal:acquireTokenSuccess');\r\n deferred.resolve();\r\n });\r\n }\r\n }\r\n return deferred.promise;\r\n }\r\n function loadUserProfile(userProfile, $rootScope, $location, DataServices, fnPermissionCheck, deferred) {\r\n if (fnPermissionCheck && fnPermissionCheck(userProfile)) {\r\n if (DataServices.userProfile.userId !== userProfile.userId) {\r\n DataServices.userProfile.initialise(userProfile);\r\n }\r\n $rootScope.$broadcast('updateUserProfileData');\r\n $rootScope.appJustLoaded = false;\r\n deferred.resolve();\r\n }\r\n else {\r\n if (fnPermissionCheck) {\r\n noPermissionForPage($location.path());\r\n }\r\n $rootScope.appJustLoaded = false;\r\n deferred.reject();\r\n $location.path(userProfile.landingPageUrl);\r\n }\r\n }\r\n function canAccessIncidents(userProfileData) {\r\n return userProfileData && userProfileData.canAccessIncidents;\r\n }\r\n function canAccessFeedback(userProfileData) {\r\n return userProfileData && userProfileData.canAccessFeedbacks;\r\n }\r\n function canAccessSentinelEvents(userProfileData) {\r\n return userProfileData && userProfileData.canAccessSentinelEvents;\r\n }\r\n function canAccessActions(userProfileData) {\r\n return userProfileData && userProfileData.canAccessActions;\r\n }\r\n function canAccessUsersOrOwnUser(userProfileData) {\r\n return userProfileData && userProfileData.canAccessUsers || userProfileData.canAccessOwnUser;\r\n }\r\n function canAccessTeams(userProfileData) {\r\n return userProfileData && userProfileData.canAccessTeams;\r\n }\r\n function canAccessNotifications(userProfileData) {\r\n return userProfileData && userProfileData.canAccessNotifications;\r\n }\r\n function canAccessOrganisations(userProfileData) {\r\n return userProfileData && userProfileData.canAccessOrganisations;\r\n }\r\n function canAccessReports(userProfileData) {\r\n return userProfileData && userProfileData.canAccessReports;\r\n }\r\n function canAccessIncidentFullDataExtract(userProfileData) {\r\n return userProfileData && userProfileData.canAccessIncidentFullDataExtract;\r\n }\r\n function canAccessFeedbackFullDataExtract(userProfileData) {\r\n return userProfileData && userProfileData.canAccessFeedbackFullDataExtract;\r\n }\r\n hasApplicationAccess.$inject = ['$q', '$rootScope', '$location', 'DataServices', 'Constants', 'UtilityServices'];\r\n function hasApplicationAccess($q, $rootScope, $location, DataServices, Constants, UtilityServices) {\r\n return isAuthenticated($q, $rootScope, $location, DataServices, Constants, null, UtilityServices);\r\n }\r\n hasIncidentAccess.$inject = ['$q', '$rootScope', '$location', 'DataServices', 'Constants', 'UtilityServices'];\r\n function hasIncidentAccess($q, $rootScope, $location, DataServices, Constants, UtilityServices) {\r\n return isAuthenticated($q, $rootScope, $location, DataServices, Constants, canAccessIncidents, UtilityServices);\r\n }\r\n hasFeedbackAccess.$inject = ['$q', '$rootScope', '$location', 'DataServices', 'Constants', 'UtilityServices'];\r\n function hasFeedbackAccess($q, $rootScope, $location, DataServices, Constants, UtilityServices) {\r\n return isAuthenticated($q, $rootScope, $location, DataServices, Constants, canAccessFeedback, UtilityServices);\r\n }\r\n hasSentinelEventAccess.$inject = ['$q', '$rootScope', '$location', 'DataServices', 'Constants', 'UtilityServices'];\r\n function hasSentinelEventAccess($q, $rootScope, $location, DataServices, Constants, UtilityServices) {\r\n return isAuthenticated($q, $rootScope, $location, DataServices, Constants, canAccessSentinelEvents, UtilityServices);\r\n }\r\n hasActionAccess.$inject = ['$q', '$rootScope', '$location', 'DataServices', 'Constants', 'UtilityServices'];\r\n function hasActionAccess($q, $rootScope, $location, DataServices, Constants, UtilityServices) {\r\n return isAuthenticated($q, $rootScope, $location, DataServices, Constants, canAccessActions, UtilityServices);\r\n }\r\n hasUserAccessOrOwnUserAccess.$inject = ['$q', '$rootScope', '$location', 'DataServices', 'Constants', 'UtilityServices'];\r\n function hasUserAccessOrOwnUserAccess($q, $rootScope, $location, DataServices, Constants, UtilityServices) {\r\n return isAuthenticated($q, $rootScope, $location, DataServices, Constants, canAccessUsersOrOwnUser, UtilityServices);\r\n }\r\n hasTeamAccess.$inject = ['$q', '$rootScope', '$location', 'DataServices', 'Constants', 'UtilityServices'];\r\n function hasTeamAccess($q, $rootScope, $location, DataServices, Constants, UtilityServices) {\r\n return isAuthenticated($q, $rootScope, $location, DataServices, Constants, canAccessTeams, UtilityServices);\r\n }\r\n hasNotificationAccess.$inject = ['$q', '$rootScope', '$location', 'DataServices', 'Constants', 'UtilityServices'];\r\n function hasNotificationAccess($q, $rootScope, $location, DataServices, Constants, UtilityServices) {\r\n return isAuthenticated($q, $rootScope, $location, DataServices, Constants, canAccessNotifications, UtilityServices);\r\n }\r\n hasOrganisationAccess.$inject = ['$q', '$rootScope', '$location', 'DataServices', 'Constants', 'UtilityServices'];\r\n function hasOrganisationAccess($q, $rootScope, $location, DataServices, Constants, UtilityServices) {\r\n return isAuthenticated($q, $rootScope, $location, DataServices, Constants, canAccessOrganisations, UtilityServices);\r\n }\r\n hasReportAccess.$inject = ['$q', '$route', '$rootScope', '$location', 'DataServices', 'Constants'];\r\n function hasReportAccess($q, $route, $rootScope, $location, DataServices, Constants) {\r\n return isReportAuthenticated($q, $route, $rootScope, $location, DataServices, Constants, canAccessReports);\r\n }\r\n logout.$inject = ['DataServices'];\r\n function logout(DataServices) {\r\n DataServices.logout();\r\n }\r\n checkOutOfPlaceFormSubmissions.$inject = ['$q', '$route', '$location', 'DataServices', '$rootScope', 'Constants'];\r\n function checkOutOfPlaceFormSubmissions($q, $route, $location, DataServices, $rootScope, Constants) {\r\n var deferred = $q.defer();\r\n if ($route.current.params.pageUrl === 'submitsuccessful') {\r\n $rootScope.allowFormNavigation = false;\r\n deferred.resolve();\r\n }\r\n else if ($rootScope.allowFormNavigation === false) {\r\n deferred.reject();\r\n $location.path(Constants.Modules[$route.current.$$route.module].managementUrl);\r\n }\r\n else {\r\n deferred.resolve();\r\n }\r\n return deferred.promise;\r\n }\r\n checkDirectNavigation.$inject = ['$q', '$rootScope', '$location', 'Constants'];\r\n function checkDirectNavigation($q, $rootScope, $location, Constants) {\r\n var deferred = $q.defer();\r\n if ($rootScope.appJustLoaded) {\r\n deferred.reject();\r\n $location.path(Constants.Url.landing);\r\n }\r\n else {\r\n deferred.resolve();\r\n }\r\n return deferred.promise;\r\n }\r\n appInUse.$inject = ['$rootScope'];\r\n function appInUse($rootScope) {\r\n $rootScope.appJustLoaded = false;\r\n }\r\n config.$inject = ['$routeProvider', '$locationProvider', '$httpProvider', '$compileProvider', 'adalAuthenticationServiceProvider', '$windowProvider', 'Constants'];\r\n function config($routeProvider, $locationProvider, $httpProvider, $compileProvider, adalAuthenticationServiceProvider, $windowProvider, Constants) {\r\n var $window = $windowProvider.$get();\r\n $compileProvider.debugInfoEnabled(false);\r\n adalAuthenticationServiceProvider.init({\r\n anonymousEndpoints: $window.__env.AzureADSettings.anonymousEndpoints,\r\n instance: $window.__env.AzureADSettings.instance,\r\n tenant: $window.__env.AzureADSettings.tenant,\r\n clientId: $window.__env.AzureADSettings.clientId,\r\n redirectUri: $window.__env.AzureADSettings.redirectUri,\r\n requireADLogin: true,\r\n popUp: false,\r\n scope: 'openid',\r\n endpoints: $window.__env.AzureADSettings.endpoints\r\n }, $httpProvider);\r\n $routeProvider\r\n .when('/logout', {\r\n name: 'logout',\r\n requireADLogin: false,\r\n resolve: {\r\n init: logout\r\n }\r\n })\r\n .when('/unregisteredUser', {\r\n name: 'unregisteredUser',\r\n templateUrl: 'app/partials/error/unregisteredUser.html',\r\n controller: 'errorController',\r\n requireADLogin: false\r\n })\r\n .when('/error', {\r\n name: 'error',\r\n templateUrl: 'app/partials/error/error.html',\r\n controller: 'errorController'\r\n })\r\n .when('/', {\r\n name: 'approot',\r\n module: Constants.Modules.incident.name,\r\n resolve: {\r\n init: hasApplicationAccess\r\n }\r\n })\r\n .when('/reportContainer', {\r\n name: 'reportDashboard',\r\n templateUrl: 'app/partials/core/reportContainer.html',\r\n controller: 'reportContainerController',\r\n resolve: {\r\n init: hasReportAccess\r\n }\r\n })\r\n .when('/manageUsers', {\r\n name: 'userDashboard',\r\n templateUrl: 'app/partials/dashboard/manageUsers.html',\r\n controller: 'manageUsersController',\r\n module: Constants.Modules.user.name,\r\n resolve: {\r\n init: hasUserAccessOrOwnUserAccess\r\n }\r\n })\r\n .when('/user/:navTabNum', {\r\n name: 'userDashboard.userNavTab',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'userFormController',\r\n module: Constants.Modules.user.name,\r\n resolve: {\r\n direct: checkDirectNavigation\r\n }\r\n })\r\n .when('/user/:navTabNum/:pageUrl', {\r\n name: 'userDashboard.userPageTab',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'userFormController',\r\n module: Constants.Modules.user.name,\r\n resolve: {\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/report/:navTabNum?:pageVersion', {\r\n name: 'incidentDashboard.caseNavTab',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'caseFormController',\r\n module: Constants.Modules.case.name,\r\n resolve: {\r\n direct: checkDirectNavigation\r\n }\r\n })\r\n .when('/report/:navTabNum/:pageUrl', {\r\n name: 'incidentDashboard.casePageTab',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'caseFormController',\r\n module: Constants.Modules.case.name,\r\n resolve: {\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/report/:navTabNum/:pageUrl/:pageIndex/:sectionCode', {\r\n name: 'incidentDashboard.casePageTab.caseSection',\r\n templateUrl: 'app/partials/core/sectionFormView.html',\r\n controller: 'caseSectionFormController',\r\n module: Constants.Modules.case.name,\r\n resolve: {\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/manageIncidents', {\r\n name: 'incidentDashboard',\r\n templateUrl: 'app/partials/dashboard/manageIncidents.html',\r\n controller: 'manageIncidentsController',\r\n module: Constants.Modules.incident.name,\r\n resolve: {\r\n init: hasIncidentAccess\r\n }\r\n })\r\n .when('/manageFeedback', {\r\n name: 'feedbackDashboard',\r\n templateUrl: 'app/partials/dashboard/manageFeedback.html',\r\n controller: 'manageFeedbackController',\r\n module: Constants.Modules.feedback.name,\r\n resolve: {\r\n init: hasFeedbackAccess\r\n }\r\n })\r\n .when('/manageSentinelEvents', {\r\n name: 'sentinelEventsDashboard',\r\n templateUrl: 'app/partials/dashboard/manageSentinelEvents.html',\r\n controller: 'manageSentinelEventsController',\r\n module: Constants.Modules.sentinelEvent.name,\r\n resolve: {\r\n init: hasSentinelEventAccess\r\n }\r\n })\r\n .when('/manageActions', {\r\n name: 'actionDashboard',\r\n templateUrl: 'app/partials/dashboard/manageActions.html',\r\n controller: 'manageActionsController',\r\n module: Constants.Modules.action.name,\r\n resolve: {\r\n init: hasActionAccess\r\n }\r\n })\r\n .when('/manageTeams', {\r\n name: 'teamDashboard',\r\n templateUrl: 'app/partials/dashboard/manageTeams.html',\r\n controller: 'manageTeamsController',\r\n module: Constants.Modules.team.name,\r\n resolve: {\r\n init: hasTeamAccess\r\n }\r\n })\r\n .when('/team/:navTabNum', {\r\n name: 'teamDashboard.teamNavTab',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'teamFormController',\r\n module: Constants.Modules.team.name,\r\n resolve: {\r\n init: checkDirectNavigation\r\n }\r\n })\r\n .when('/team/:navTabNum/:pageUrl', {\r\n name: 'teamDashboard.teamPageTab',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'teamFormController',\r\n module: Constants.Modules.team.name,\r\n resolve: {\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/manageNotifications', {\r\n name: 'notificationDashboard',\r\n templateUrl: 'app/partials/dashboard/manageNotifications.html',\r\n controller: 'manageNotificationsController',\r\n module: Constants.Modules.notification.name,\r\n resolve: {\r\n init: hasNotificationAccess\r\n }\r\n })\r\n .when('/notification/:navTabNum', {\r\n name: 'notificationDashboard.notificationNavTab',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'notificationFormController',\r\n module: Constants.Modules.notification.name,\r\n resolve: {\r\n direct: checkDirectNavigation\r\n }\r\n })\r\n .when('/notification/:navTabNum/:pageUrl', {\r\n name: 'notificationDashboard.notificationPageTab',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'notificationFormController',\r\n module: Constants.Modules.notification.name,\r\n resolve: {\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/manageOrganisations', {\r\n name: 'organisationDashboard',\r\n templateUrl: 'app/partials/dashboard/manageOrganisations.html',\r\n controller: 'manageOrganisationsController',\r\n module: Constants.Modules.organisation.name,\r\n resolve: {\r\n init: hasOrganisationAccess\r\n }\r\n })\r\n .when('/organisation/:navTabNum', {\r\n name: 'organisationDashboard.organisationNavTab',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'organisationFormController',\r\n module: Constants.Modules.organisation.name,\r\n resolve: {\r\n init: checkDirectNavigation\r\n }\r\n })\r\n .when('/organisation/:navTabNum/:pageUrl', {\r\n name: 'organisationDashboard.organisationPageTab',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'organisationFormController',\r\n module: Constants.Modules.organisation.name,\r\n resolve: {\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/clinical/:navTabNum', {\r\n name: 'incidentDashboard.clinicalNavTab',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'incidentFormController',\r\n module: Constants.Modules.incident.name,\r\n resolve: {\r\n direct: checkDirectNavigation\r\n }\r\n })\r\n .when('/clinical/:navTabNum/history', {\r\n name: 'incidentDashboard.clinicalHistory',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'auditHistoryController',\r\n module: Constants.Modules.incident.name,\r\n resolve: {\r\n pageUrl: function () {\r\n return Constants.AuditHistory.clinicalHistoryPageUrl;\r\n },\r\n summaryPageId: function () {\r\n return Constants.incidentSummary.clinicalSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/clinical/:navTabNum/clinicalsignoff', {\r\n name: 'incidentDashboard.clinicalSignoff',\r\n templateUrl: 'app/partials/core/signoff.html',\r\n controller: 'pageFormController',\r\n module: Constants.Modules.incident.name,\r\n resolve: {\r\n pageUrl: function () {\r\n return Constants.incidentSummary.clinicalSummaryPageUrl;\r\n },\r\n summaryPageId: function () {\r\n return Constants.incidentSummary.clinicalSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/clinical/:navTabNum/:pageUrl/:actionId?', {\r\n name: 'incidentDashboard.clinicalPageTab',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'incidentFormController',\r\n module: Constants.Modules.incident.name,\r\n resolve: {\r\n summaryPageId: function () {\r\n return Constants.incidentSummary.clinicalSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n access: hasIncidentAccess,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/clinical/:navTabNum/:pageUrl/:pageIndex/:sectionCode', {\r\n name: 'incidentDashboard.clinicalPageTab.clinicalSection',\r\n templateUrl: 'app/partials/core/sectionFormView.html',\r\n controller: 'incidentSectionFormController',\r\n module: Constants.Modules.incident.name,\r\n resolve: {\r\n summaryPageId: function () {\r\n return Constants.incidentSummary.clinicalSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/ohsstaff/:navTabNum', {\r\n name: 'incidentDashboard.ohsStaffNavTab',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'incidentFormController',\r\n module: Constants.Modules.incident.name,\r\n resolve: {\r\n direct: checkDirectNavigation\r\n }\r\n })\r\n .when('/ohsstaff/:navTabNum/history', {\r\n name: 'incidentDashboard.ohsStaffHistory',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'auditHistoryController',\r\n module: Constants.Modules.incident.name,\r\n resolve: {\r\n pageUrl: function () {\r\n return Constants.AuditHistory.ohsStaffHistoryPageUrl;\r\n },\r\n summaryPageId: function () {\r\n return Constants.incidentSummary.ohsstaffSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/ohsstaff/:navTabNum/ohsstaffsignoff', {\r\n name: 'incidentDashboard.ohsStaffSignoff',\r\n templateUrl: 'app/partials/core/signoff.html',\r\n controller: 'pageFormController',\r\n module: Constants.Modules.incident.name,\r\n resolve: {\r\n pageUrl: function () {\r\n return Constants.incidentSummary.ohsstaffSummaryPageUrl;\r\n },\r\n summaryPageId: function () {\r\n return Constants.incidentSummary.ohsstaffSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/ohsstaff/:navTabNum/:pageUrl/:actionId?', {\r\n name: 'incidentDashboard.ohsStaffPageTab',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'incidentFormController',\r\n module: Constants.Modules.incident.name,\r\n resolve: {\r\n summaryPageId: function () {\r\n return Constants.incidentSummary.ohsstaffSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n access: hasIncidentAccess,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/ohsstaff/:navTabNum/:pageUrl/:pageIndex/:sectionCode', {\r\n name: 'incidentDashboard.ohsStaffPageTab.ohsStaffSection',\r\n templateUrl: 'app/partials/core/sectionFormView.html',\r\n controller: 'incidentSectionFormController',\r\n module: Constants.Modules.incident.name,\r\n resolve: {\r\n summaryPageId: function () {\r\n return Constants.incidentSummary.ohsstaffSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/ohsvisitor/:navTabNum', {\r\n name: 'incidentDashboard.ohsVisitorNavTab',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'incidentFormController',\r\n module: Constants.Modules.incident.name,\r\n resolve: {\r\n direct: checkDirectNavigation\r\n }\r\n })\r\n .when('/ohsvisitor/:navTabNum/history', {\r\n name: 'incidentDashboard.ohsVisitorHistory',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'auditHistoryController',\r\n module: Constants.Modules.incident.name,\r\n resolve: {\r\n pageUrl: function () {\r\n return Constants.AuditHistory.ohsVisitorHistoryPageUrl;\r\n },\r\n summaryPageId: function () {\r\n return Constants.incidentSummary.ohsvisitorSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/ohsvisitor/:navTabNum/ohsvisitorsignoff', {\r\n name: 'incidentDashboard.ohsVisitorSignoff',\r\n templateUrl: 'app/partials/core/signoff.html',\r\n controller: 'pageFormController',\r\n module: Constants.Modules.incident.name,\r\n resolve: {\r\n pageUrl: function () {\r\n return Constants.incidentSummary.ohsvisitorSummaryPageUrl;\r\n },\r\n summaryPageId: function () {\r\n return Constants.incidentSummary.ohsvisitorSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/ohsvisitor/:navTabNum/:pageUrl/:actionId?', {\r\n name: 'incidentDashboard.ohsVisitorPageTab',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'incidentFormController',\r\n module: Constants.Modules.incident.name,\r\n resolve: {\r\n summaryPageId: function () {\r\n return Constants.incidentSummary.ohsvisitorSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n access: hasIncidentAccess,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/ohsvisitor/:navTabNum/:pageUrl/:pageIndex/:sectionCode', {\r\n name: 'incidentDashboard.ohsVisitorPageTab.ohsVisitorSection',\r\n templateUrl: 'app/partials/core/sectionFormView.html',\r\n controller: 'incidentSectionFormController',\r\n module: Constants.Modules.incident.name,\r\n resolve: {\r\n summaryPageId: function () {\r\n return Constants.incidentSummary.ohsvisitorSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/hazard/:navTabNum', {\r\n name: 'incidentDashboard.hazardNavTab',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'incidentFormController',\r\n module: Constants.Modules.incident.name,\r\n resolve: {\r\n direct: checkDirectNavigation,\r\n init: checkDirectNavigation\r\n }\r\n })\r\n .when('/hazard/:navTabNum/history', {\r\n name: 'incidentDashboard.hazardHistory',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'auditHistoryController',\r\n module: Constants.Modules.incident.name,\r\n resolve: {\r\n pageUrl: function () {\r\n return Constants.AuditHistory.hazardHistoryPageUrl;\r\n },\r\n summaryPageId: function () {\r\n return Constants.incidentSummary.hazardSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/hazard/:navTabNum/hazardsignoff', {\r\n name: 'incidentDashboard.hazardSignoff',\r\n templateUrl: 'app/partials/core/signoff.html',\r\n controller: 'pageFormController',\r\n module: Constants.Modules.incident.name,\r\n resolve: {\r\n pageUrl: function () {\r\n return Constants.incidentSummary.hazardSummaryPageUrl;\r\n },\r\n summaryPageId: function () {\r\n return Constants.incidentSummary.hazardSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/hazard/:navTabNum/:pageUrl/:actionId?', {\r\n name: 'incidentDashboard.hazardPageTab',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'incidentFormController',\r\n module: Constants.Modules.incident.name,\r\n resolve: {\r\n summaryPageId: function () {\r\n return Constants.incidentSummary.hazardSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n access: hasIncidentAccess,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/hazard/:navTabNum/:pageUrl/:pageIndex/:sectionCode', {\r\n name: 'incidentDashboard.hazardPageTab.hazardSection',\r\n templateUrl: 'app/partials/core/sectionFormView.html',\r\n controller: 'incidentSectionFormController',\r\n module: Constants.Modules.incident.name,\r\n resolve: {\r\n summaryPageId: function () {\r\n return Constants.incidentSummary.hazardSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/feedback/:navTabNum', {\r\n name: 'feedbackDashboard.feedbackNavTab',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'feedbackFormController',\r\n module: Constants.Modules.feedback.name,\r\n resolve: {\r\n direct: checkDirectNavigation\r\n }\r\n })\r\n .when('/feedback/:navTabNum/history', {\r\n name: 'feedbackDashboard.feedbackHistory',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'auditHistoryController',\r\n module: Constants.Modules.feedback.name,\r\n resolve: {\r\n pageUrl: function () {\r\n return Constants.AuditHistory.feedbackHistoryPageUrl;\r\n },\r\n summaryPageId: function () {\r\n return Constants.feedbackSummary.feedbackSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/feedback/:navTabNum/feedbacksignoff', {\r\n name: 'feedbackDashboard.feedbackSignoff',\r\n templateUrl: 'app/partials/core/signoff.html',\r\n controller: 'pageFormController',\r\n module: Constants.Modules.feedback.name,\r\n resolve: {\r\n pageUrl: function () {\r\n return Constants.feedbackSummary.feedbackSummaryPageUrl;\r\n },\r\n summaryPageId: function () {\r\n return Constants.feedbackSummary.feedbackSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/feedback/:navTabNum/:pageUrl/:actionId?', {\r\n name: 'feedbackDashboard.feedbackPageTab',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'feedbackFormController',\r\n module: Constants.Modules.feedback.name,\r\n resolve: {\r\n summaryPageId: function () {\r\n return Constants.feedbackSummary.feedbackSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n access: hasFeedbackAccess,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/sentinel/:navTabNum', {\r\n name: 'feedbackDashboard.feedbackNavTab',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'sentinelEventFormController',\r\n module: Constants.Modules.sentinelEvent.name,\r\n resolve: {\r\n direct: checkDirectNavigation\r\n }\r\n })\r\n .when('/sentinel/:navTabNum/history', {\r\n name: 'feedbackDashboard.sentinelEventHistory',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'auditHistoryController',\r\n module: Constants.Modules.sentinelEvent.name,\r\n resolve: {\r\n pageUrl: function () {\r\n return Constants.AuditHistory.sentinelEventHistoryPageUrl;\r\n },\r\n summaryPageId: function () {\r\n return Constants.sentinelEventSummary.sentinelEventSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/sentinel/:navTabNum/sentinelnotificationsignoff', {\r\n name: 'feedbackDashboard.sentinelEventSignoff',\r\n templateUrl: 'app/partials/core/signoff.html',\r\n controller: 'pageFormController',\r\n module: Constants.Modules.sentinelEvent.name,\r\n resolve: {\r\n pageUrl: function () {\r\n return Constants.sentinelEventSummary.sentinelEventNotificationSummaryPageUrl;\r\n },\r\n summaryPageId: function () {\r\n return Constants.sentinelEventSummary.sentinelEventSummaryNotificationPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/sentinel/:navTabNum/sentinelrcasignoff', {\r\n name: 'feedbackDashboard.sentinelEventSignoff',\r\n templateUrl: 'app/partials/core/signoff.html',\r\n controller: 'pageFormController',\r\n module: Constants.Modules.sentinelEvent.name,\r\n resolve: {\r\n pageUrl: function () {\r\n return Constants.sentinelEventSummary.sentinelEventRcaSummaryPageUrl;\r\n },\r\n summaryPageId: function () {\r\n return Constants.sentinelEventSummary.sentinelEventRcaSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/sentinel/:navTabNum/sentinelpartcsignoff', {\r\n name: 'feedbackDashboard.sentinelEventSignoff',\r\n templateUrl: 'app/partials/core/signoff.html',\r\n controller: 'pageFormController',\r\n module: Constants.Modules.sentinelEvent.name,\r\n resolve: {\r\n pageUrl: function () {\r\n return Constants.sentinelEventSummary.sentinelEventPartCSummaryPageUrl;\r\n },\r\n summaryPageId: function () {\r\n return Constants.sentinelEventSummary.sentinelEventPartCSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/sentinel/:navTabNum/sentinelpartdsixmonthreviewsignoff', {\r\n name: 'feedbackDashboard.sentinelEventSignoff',\r\n templateUrl: 'app/partials/core/signoff.html',\r\n controller: 'pageFormController',\r\n module: Constants.Modules.sentinelEvent.name,\r\n resolve: {\r\n pageUrl: function () {\r\n return Constants.sentinelEventSummary.sentinelEventPartDSixMonthReviewSummaryPageUrl;\r\n },\r\n summaryPageId: function () {\r\n return Constants.sentinelEventSummary.sentinelEventPartDSixMonthReviewSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/sentinel/:navTabNum/sentinelpartdtwelvemonthreviewsignoff', {\r\n name: 'feedbackDashboard.sentinelEventSignoff',\r\n templateUrl: 'app/partials/core/signoff.html',\r\n controller: 'pageFormController',\r\n module: Constants.Modules.sentinelEvent.name,\r\n resolve: {\r\n pageUrl: function () {\r\n return Constants.sentinelEventSummary.sentinelEventPartDTwelveMonthReviewSummaryPageUrl;\r\n },\r\n summaryPageId: function () {\r\n return Constants.sentinelEventSummary.sentinelEventPartDTwelveMonthReviewSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/sentinel/:navTabNum/:pageUrl/:actionId?', {\r\n name: 'feedbackDashboard.feedbackPageTab',\r\n templateUrl: 'app/partials/core/page.html',\r\n controller: 'sentinelEventFormController',\r\n module: Constants.Modules.sentinelEvent.name,\r\n resolve: {\r\n summaryPageId: function () {\r\n return Constants.sentinelEventSummary.sentinelEventNotificationSummaryPageId;\r\n },\r\n direct: checkDirectNavigation,\r\n access: hasSentinelEventAccess,\r\n init: checkOutOfPlaceFormSubmissions\r\n }\r\n })\r\n .when('/ref/:entityPrefix/:entityId', {\r\n name: 'entityRedirect',\r\n template: '',\r\n controller: 'entityRedirectController',\r\n resolve: {\r\n appStart: appInUse\r\n }\r\n })\r\n .when('/ref/:entityPrefix/:entityId/:organisationId', {\r\n name: 'entityRedirect',\r\n template: '',\r\n controller: 'entityRedirectController',\r\n resolve: {\r\n appStart: appInUse\r\n }\r\n })\r\n .when('/ref/:entityPrefix/:entityId/:actionTypeId/:actionId', {\r\n name: 'entityRedirect',\r\n template: '',\r\n controller: 'entityRedirectController',\r\n resolve: {\r\n appStart: appInUse\r\n }\r\n })\r\n .when('/ref/:entityPrefix/:entityId/:organisationId/:actionTypeId/:actionId', {\r\n name: 'entityRedirect',\r\n template: '',\r\n controller: 'entityRedirectController',\r\n resolve: {\r\n appStart: appInUse\r\n }\r\n })\r\n .otherwise({\r\n redirectTo: '/'\r\n });\r\n $locationProvider.html5Mode(false).hashPrefix('');\r\n }\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=appConfig.js.map","var formApp;\r\n(function (formApp) {\r\n var AppConstants = (function () {\r\n function AppConstants(win) {\r\n this.win = win;\r\n var self = this;\r\n self.ausDateFormat = 'DD/MM/YYYY';\r\n self.responseDateFormat = 'YYYY-MM-DD';\r\n self.minimumDate = '1900-01-01';\r\n self.accessSectionCode = 'accesstouser';\r\n self.summaryNavTabNum = 90;\r\n self.systemNavTabNum = 100;\r\n self.nonFormUrls = [\r\n '/manageIncidents',\r\n '/manageFeedback',\r\n '/manageSentinelEvents',\r\n '/manageActions',\r\n '/manageUsers',\r\n '/manageTeams',\r\n '/manageNotifications',\r\n '/manageOrganisations',\r\n '/reportContainer',\r\n '/logout'\r\n ];\r\n self.pageUrls = ['/report/', '/clinical/', '/hazard/', '/ohsstaff/', '/ohsvisitor/', '/feedback/', '/user/', '/team/', '/notification/', '/organisation/', '/sentinel/'];\r\n self.autoSaveEnabled = true;\r\n self.dismissNotificationDelayInMilliSeconds = 8000;\r\n self.pageLoaderOnTransition = true;\r\n self.pageLoaderFallBackTimeoutInMilliSeconds = 30000;\r\n self.pageLoaderFallBackTimeoutInMillisecondsExtended = 120000;\r\n self.pageLoaderFallBackTimeoutInMillisecondsForFileUpload = 300000;\r\n self.auditHistoryPageSize = 100;\r\n self.Url = {\r\n landing: '/',\r\n manageIncidents: '/manageIncidents',\r\n manageFeedback: '/manageFeedback',\r\n manageSentinelEvents: '/manageSentinelEvents',\r\n manageActions: '/manageActions',\r\n manageUsers: '/manageUsers',\r\n manageTeams: '/manageTeams',\r\n manageNotifications: '/manageNotifications',\r\n manageOrganisations: '/manageOrganisations',\r\n logout: '/logout',\r\n unregisteredUser: '/unregisteredUser',\r\n error: '/error',\r\n reportContainer: '/reportContainer',\r\n firstIncidentFormPage: '/report/1/who',\r\n firstClinicalIncidentFormPage: '/clinical/1/who',\r\n firstOhsStaffIncidentFormPage: '/ohsstaff/1/who',\r\n firstOhsVisitorIncidentFormPage: '/ohsvisitor/1/who',\r\n firstHazardIncidentFormPage: '/hazard/1/who',\r\n firstFeedbackFormPage: '/feedback/1/what',\r\n firstUserFormPage: '/user/1/maintainusers',\r\n delegationUserFormPage: '/user/2/delegation',\r\n firstTeamFormPage: '/team/1/team',\r\n firstNotificationFormPage: '/notification/1/notification',\r\n firstOrganisationFormPage: '/organisation/1/organisation',\r\n whereFirstpage: '/report/2/where',\r\n firstSentinelFormPage: '/sentinel/1/notifier',\r\n getBaseURL: win.__env.apiUrl,\r\n getConfigDataURL: win.__env.apiUrl + '/Home/GetConfigData',\r\n getUserProfileDataURL: win.__env.apiUrl + '/Home/GetUserProfileData',\r\n getUserProfileByOrgIdURL: function (id) { return win.__env.apiUrl + '/Home/GetUserProfileData/' + id; },\r\n getUserLookupListURL: win.__env.apiUrl + '/Home/GetUserLookupList',\r\n getUserLookupListForSentinelEventsURL: win.__env.apiUrl + '/Home/GetSentinelEventsUserLookupList',\r\n getCloUserLookupListURL: win.__env.apiUrl + '/Home/GetCloUserLookupList',\r\n getManagerLookupListURL: win.__env.apiUrl + '/Home/GetManagerLookupList',\r\n getLinkUserLookupListURL: win.__env.apiUrl + '/Home/GetLinkUserLookupList',\r\n getDelegationUserLookupListURL: win.__env.apiUrl + '/Home/GetDelegationUserLookupList',\r\n getAuthorisingOfficerLookupListURL: win.__env.apiUrl + '/Home/GetAuthorisingOfficerLookupList',\r\n getAuditUserLookupListURL: win.__env.apiUrl + '/Home/GetAuditUserLookupList',\r\n getIsrMappingURL: win.__env.apiUrl + '/Home/GetIsrMapping',\r\n getCsrMappingURL: win.__env.apiUrl + '/Home/GetCsrMapping',\r\n getUserLineManagerSelectListURL: win.__env.apiUrl + '/Home/GetUserLineManagerSelectList',\r\n getMedicationGenericLookupListURL: win.__env.apiUrl + '/Home/GetMedicationGenericLookupList',\r\n getMedicationMedicationBrandLookupListURL: win.__env.apiUrl + '/Home/GetMedicationBrandLookupList',\r\n getMedicationGenericSelectListURL: win.__env.apiUrl + '/Home/GetMedicationGenericSelectList',\r\n getMedicationBrandSelectListURL: win.__env.apiUrl + '/Home/GetMedicationBrandSelectList',\r\n getMedicationClassSelectListURL: win.__env.apiUrl + '/Home/GetMedicationClassSelectList',\r\n getSaveCaseURL: win.__env.apiUrl + '/Case/SaveCase',\r\n getCaseByIdURL: function (id) { return win.__env.apiUrl + '/Case/' + id; },\r\n getDraftCaseIdIfExistsURL: function (organisationId) { return win.__env.apiUrl + \"/Case/GetDraftCaseIdIfExists/\" + organisationId; },\r\n getChangeCaseStatusURL: win.__env.apiUrl + '/Case/ChangeCaseStatus',\r\n getSubmitCaseURL: win.__env.apiUrl + '/Case/SubmitCase',\r\n getIncidentsURL: win.__env.apiUrl + '/Incident/GetIncidents',\r\n getIncidentExtractURL: win.__env.apiUrl + '/Incident/GetIncidentExtract',\r\n getIncidentByIdURL: function (id) { return win.__env.apiUrl + '/Incident/' + id; },\r\n getRemoveRestoreIncidentURL: win.__env.apiUrl + '/Incident/RemoveRestoreIncident',\r\n getCloneIncidentURL: win.__env.apiUrl + '/Incident/CloneIncident',\r\n getSaveIncidentURL: win.__env.apiUrl + '/Incident/SaveIncident',\r\n getSaveIncidentDocumentURL: win.__env.apiUrl + '/Incident/SaveIncidentDocument',\r\n getGetIncidentDocumentURL: win.__env.apiUrl + '/Incident/GetIncidentDocument',\r\n getDeleteIncidentDocumentURL: win.__env.apiUrl + '/Incident/DeleteIncidentDocument',\r\n getGetIncidentFullDataExtractURL: win.__env.apiUrl + '/Incident/GetIncidentFullDataExtract',\r\n getSentinelEventsURL: win.__env.apiUrl + '/SentinelEvent/GetSentinelEvents',\r\n getSentinelEventExtractURL: win.__env.apiUrl + '/SentinelEvent/GetSentinelEventExtract',\r\n getSentinelEventByIdURL: function (id) { return win.__env.apiUrl + '/SentinelEvent/' + id; },\r\n getSaveSentinelEventURL: win.__env.apiUrl + '/SentinelEvent/SaveSentinelEvent',\r\n getRemoveSentinelEventURL: win.__env.apiUrl + '/SentinelEvent/RemoveSentinelEvent',\r\n getSaveSentinelEventDocumentURL: win.__env.apiUrl + '/SentinelEvent/SaveSentinelEventDocument',\r\n getGetSentinelEventDocumentURL: win.__env.apiUrl + '/SentinelEvent/GetSentinelEventDocument',\r\n getDeleteSentinelEventDocumentURL: win.__env.apiUrl + '/SentinelEvent/DeleteSentinelEventDocument',\r\n getDueDateURL: function (inputDateString, numberOfWorkingDays) { return win.__env.apiUrl + '/Date/' + inputDateString + '/' + numberOfWorkingDays; },\r\n getFeedbacksURL: win.__env.apiUrl + '/Feedback/GetFeedbacks',\r\n getFeedbackExtractURL: win.__env.apiUrl + '/Feedback/GetFeedbackExtract',\r\n getFeedbackByIdURL: function (id) { return win.__env.apiUrl + '/Feedback/' + id; },\r\n getRemoveRestoreFeedbackURL: win.__env.apiUrl + '/Feedback/RemoveRestoreFeedback',\r\n getSaveFeedbackURL: win.__env.apiUrl + '/Feedback/SaveFeedback',\r\n getSaveFeedbackDocumentURL: win.__env.apiUrl + '/Feedback/SaveFeedbackDocument',\r\n getGetFeedbackDocumentURL: win.__env.apiUrl + '/Feedback/GetFeedbackDocument',\r\n getDeleteFeedbackDocumentURL: win.__env.apiUrl + '/Feedback/DeleteFeedbackDocument',\r\n getGetFeedbackFullDataExtractURL: win.__env.apiUrl + '/Feedback/GetFeedbackFullDataExtract',\r\n getSaveReadUnreadIncidentsURL: win.__env.apiUrl + '/Incident/SaveReadUnreadIncidents',\r\n getSaveReadUnreadFeedbacksURL: win.__env.apiUrl + '/Feedback/SaveReadUnreadFeedbacks',\r\n getSaveReadUnreadActionsURL: win.__env.apiUrl + '/Action/SaveReadUnreadActions',\r\n getIncidentPdfURL: function (id) { return win.__env.apiUrl + '/Pdf/GetIncidentPdf/' + id; },\r\n getFeedbackPdfURL: function (id) { return win.__env.apiUrl + '/Pdf/GetFeedbackPdf/' + id; },\r\n getSentinelEventExecSummaryPdfURL: function (id, role) { return win.__env.apiUrl + '/Pdf/GetSentinelEventExecSummaryPdf/' + id + '/' + role; },\r\n getSentinelEventPdfURL: function (id, role, pdfChoice) { return win.__env.apiUrl + '/Pdf/GetSentinelEventPdf/' + id + '/' + role + '/' + pdfChoice; },\r\n getSentinelEventQAPdfURL: win.__env.apiUrl + '/Pdf/GetSentinelEventQAPdf',\r\n getPatientURL: win.__env.apiUrl + '/Patient/GetPatient',\r\n getReportURL: win.__env.apiUrl + '/Report/GetReport',\r\n getUsersURL: win.__env.apiUrl + '/Admin/User/GetUsers',\r\n getUserDeactivationDetailsURL: win.__env.apiUrl + '/Admin/User/GetUserDeactivationDetails',\r\n getToggleUserActivationURL: win.__env.apiUrl + '/Admin/User/ToggleUserActivation',\r\n getCheckUserFullNameURL: win.__env.apiUrl + '/Admin/User/CheckUserFullName',\r\n getCreateUserURL: win.__env.apiUrl + '/Admin/User/CreateUser',\r\n getUpdateUserURL: win.__env.apiUrl + '/Admin/User/UpdateUser',\r\n getUserResponseAndConfigByIdUrl: win.__env.apiUrl + '/Admin/User/GetUserResponseAndConfigById',\r\n getUserSubordinatesURL: win.__env.apiUrl + '/Admin/User/GetUserSubordinates',\r\n getTransferSubordinatesURL: win.__env.apiUrl + '/Admin/User/TransferSubordinates',\r\n getUserRoles: win.__env.apiUrl + '/Admin/User/GetUserRoles',\r\n getTeamByIdURL: function (id) { return win.__env.apiUrl + '/Admin/Team/' + id; },\r\n getTeamsURL: win.__env.apiUrl + '/Admin/Team/GetTeams',\r\n getToggleTeamActivationURL: win.__env.apiUrl + '/Admin/Team/ToggleTeamActivation',\r\n getSaveTeamURL: win.__env.apiUrl + '/Admin/Team/SaveTeam',\r\n getNotificationsURL: win.__env.apiUrl + '/Admin/TeamAccess/GetTeamAccesses',\r\n getNotificationByIdURL: function (id) { return win.__env.apiUrl + '/Admin/IncidentTeamAccess/' + id; },\r\n getToggleNotificationActivationURL: win.__env.apiUrl + '/Admin/IncidentTeamAccess/ToggleIncidentTeamAccessActivation',\r\n getSaveNotificationURL: win.__env.apiUrl + '/Admin/IncidentTeamAccess/SaveIncidentTeamAccess',\r\n getFeedbackNotificationByIdURL: function (id) { return win.__env.apiUrl + '/Admin/FeedbackTeamAccess/' + id; },\r\n getToggleFeedbackNotificationActivationURL: win.__env.apiUrl + '/Admin/FeedbackTeamAccess/ToggleFeedbackTeamAccessActivation',\r\n getSaveFeedbackNotificationURL: win.__env.apiUrl + '/Admin/FeedbackTeamAccess/SaveFeedbackTeamAccess',\r\n getAuditHistoryURL: win.__env.apiUrl + '/Audit/History',\r\n getActionsURL: win.__env.apiUrl + '/Action/GetActions',\r\n getActionExtractURL: win.__env.apiUrl + '/Action/GetActionExtract',\r\n getOrganisationByIdURL: function (id) { return win.__env.apiUrl + '/Admin/Organisation/' + id; },\r\n getOrganisationsURL: win.__env.apiUrl + '/Admin/Organisation/GetOrganisations',\r\n getSaveOrganisationURL: win.__env.apiUrl + '/Admin/Organisation/SaveOrganisation',\r\n };\r\n self.AuditEntityType = {\r\n incident: 2,\r\n feedback: 6,\r\n sentinelEvent: 12\r\n };\r\n self.NotifyType = {\r\n notification: { css: 'text-success', icon: '#icon-info' },\r\n error: { css: 'text-danger', icon: '#icon-warning' }\r\n };\r\n self.RepeatingItemState = {\r\n adding: 'Adding',\r\n editing: 'Editing',\r\n viewing: 'Viewing'\r\n };\r\n self.DefaultType = {\r\n Value: 'value',\r\n Javascript: 'javascript'\r\n };\r\n self.AuditHistory = {\r\n feedbackHistoryPageUrl: 'history',\r\n incidentHistoryPageUrl: 'history',\r\n clinicalHistoryPageUrl: 'history',\r\n ohsStaffHistoryPageUrl: 'history',\r\n ohsVisitorHistoryPageUrl: 'history',\r\n hazardHistoryPageUrl: 'history',\r\n sentinelEventHistoryPageUrl: 'history',\r\n };\r\n self.feedbackSummary = {\r\n feedbackSummaryPageUrl: 'feedbacksignoff',\r\n feedbackSummaryPageId: '5-1'\r\n };\r\n self.sentinelEventSummary = {\r\n sentinelEventNotificationSummaryPageUrl: 'sentinelnotificationsignoff',\r\n sentinelEventNotificationSummaryPageId: '2-1',\r\n sentinelEventRcaSummaryPageUrl: 'sentinelrcasignoff',\r\n sentinelEventRcaSummaryPageId: '4-1',\r\n sentinelEventPartCSummaryPageUrl: 'sentinelpartcsignoff',\r\n sentinelEventPartCSummaryPageId: '7-1',\r\n sentinelEventPartDSixMonthReviewSummaryPageUrl: 'sentinelpartdsixmonthreviewsignoff',\r\n sentinelEventPartDSixMonthReviewSummaryPageId: '11-1',\r\n sentinelEventPartDTwelveMonthReviewSummaryPageUrl: 'sentinelpartdtwelvemonthreviewsignoff',\r\n sentinelEventPartDTwelveMonthReviewSummaryPageId: '13-1',\r\n };\r\n self.sentinelConstants = {\r\n reportBPageId: '3-2',\r\n reportSectionCode: 'datacollection',\r\n reportEventCategory: 'reportBeventCategoryTimeOfNotificationCorrectCat',\r\n reportEventSubCategory: 'reportBeventCategoryTimeOfNotificationCorrectSubCat',\r\n partBDataCollectionPageUrl: 'partbdatacollection',\r\n notificationEventCategoryQCode: 'reportBeventCategoryTimeOfNotification',\r\n eventDetailPageId: '1-3',\r\n eventDetailSectionCode: 'event',\r\n eventDetailPageUrl: 'event',\r\n eventCategoryQCode: 'eventCategory',\r\n eventSubCategoryQCode: 'eventSubCategory',\r\n suspectedOrConfirmedPatientQCode: 'reportBsuspectedConfirmedReportedTimeOfNotification',\r\n suspectedOrConfirmedHarmQCode: 'eDegreeOfSuspectedOrConfirmedHarm',\r\n partBFindingsAndLearningsPageId: '3-6',\r\n partBFindingsAndLearningsSectionCode: 'partBOtherFindingsAndLearnings',\r\n partBFindingsAndLearningsQCode: 'reportBOtherFindings',\r\n reportBFindingQCode: 'reportBFindingCode',\r\n reportBMSQCPageUrl: 'partbmsqc',\r\n reportBMSQCPageId: '5-1',\r\n reportBMSQCSectionCode: 'partbmsqc',\r\n reportBmethodologyQCode: 'reportBmethodology',\r\n reportBwasSafetyRiskAlertQCode: 'reportBwasSafetyRiskAlert',\r\n reportBMSQCMethodologyQCode: 'partbmsqcReviewMethUsed',\r\n reportBMSQCSafetyRiskIdentifiedQCode: 'partbmsqcSafetyRiskIdentified',\r\n reportBMSQCNumberOfPanelMembersQCode: 'partbmsqcNumberOfPanelMembers',\r\n reportBMSQCConsumerRepOnPanelQCode: 'partbmsqcConsumerRepOnPanel',\r\n reportBMSQCExternalExpertOnPanelQCode: 'partbmsqcExternalExpertOnPanel',\r\n reportBMethodologyOptionSet: 'reportbmethodology',\r\n reportBYesNoOptionSet: 'yesno',\r\n reportAPageUrl: 'parta',\r\n reportAPageId: '3-1',\r\n reportASectionCode: 'reviewteam',\r\n reportAandBDueDateSectionCode: 'eventdetails',\r\n reportAandBDueDateQCode: 'reportABdueDate',\r\n reportAandBSubmissionDateQCode: 'reportABsubmissionDate',\r\n reportAconsumerSectionCode: 'consumer',\r\n reportAconsumerRepMemberQCode: 'reportABconsumerRepMember',\r\n reportAexternalteammemberSectionCode: 'externalteammember',\r\n reportABExternalTeamMemberQCode: 'reportABExternalTeamMember',\r\n reportBMSQCOutcomeOfReviewQCode: 'partbmsqcOutcomeOfReview',\r\n reportBMSQCPatientFamilyContributeQCode: 'partbmsqcPatientFamilyContribute',\r\n reportBMSQCPatientFamilyContributeNoQCode: 'partbmsqcPatientFamilyContributeNo',\r\n reportBMSQCNumberOfFindingsQCode: 'partbmsqcNumberOfFindings',\r\n reportAfollowingTheReviewCode: 'reportABfollowingTheReview',\r\n reportAfollowingTheReviewOptionSet: 'reportabfollowingthereview',\r\n reportApatientFamilyCarerReviewQCode: 'reportABpatientFamilyCarerReview',\r\n reportAreasonsNonContributionQCode: 'reportABreasonsNonContribution',\r\n reportANumberOfFindingsQCode: 'partbmsqcNumberOfFindings',\r\n reportBFindingsAndLearningsSectionCode: 'partBOtherFindingsAndLearnings',\r\n reportCPageId: '6-1',\r\n reportCSectionCode: 'partcrecommendations',\r\n reportCCategoryQCode: 'partCRecommendationCategory',\r\n reportCHiddenOrganisationQCode: 'partCnotifierOrganisationHidden',\r\n reportCRecommendationStrengthQCode: 'partCRecommendationStrength',\r\n reportCMSQCPageId: '8-1',\r\n reportCMSQCRecommendationsSectionCode: 'partcmsqcrecommendations',\r\n reportCMSQCRecommendationsQCode: 'partcmsqcNumberOfRecs',\r\n reportCMSQCPageUrl: 'partcmsqc',\r\n reportCMSQCFindingsQCode: 'partcmsqcNumberOfFindings',\r\n reportCMSQCLearningsQCode: 'partcmsqcNumberOfLearnings',\r\n reportCMSQCWeakRecsQCode: 'partcmsqcNumberOfWeakRecs',\r\n reportCMSQCModerateRecsQCode: 'partcmsqcNumberOfModerateRecs',\r\n reportCMSQCStrongRecsQCode: 'partcmsqcNumberOfStrongRecs',\r\n reportCSmartRecQCode: 'partCRecommendationScvRecAnalysis',\r\n reportCMSQCSmartRecQCode: 'partcmsqcNumberOfSmartRecs',\r\n reportCSharedLearningSectionCode: 'partcSharedLearning',\r\n reportCSharedLearningInternalQCode: 'partCSharedLearningInternal',\r\n reportCSharedLearningExternalQCode: 'partCSharedLearningExternal',\r\n reportCMSQCSmartRecSharedLearningSectionCode: 'partcmsqcplanforsharedlearning',\r\n reportCMSQCSmartRecInternalQCode: 'partcmsqcplanforsharedlearningInternal',\r\n reportCMSQCSmartRecExternalQCode: 'partcmsqcplanforsharedlearningExternal',\r\n reportCMSQCHealthServiceSectionCode: 'partcmsqc',\r\n reportCMSQCHealthServiceQCode: 'partcmsqcHealthService',\r\n notificationHealthServicePageId: '1-1',\r\n notificationHealthServiceSectionCode: 'notifier',\r\n notificationHealthServiceQCode: 'notifierOrganisation',\r\n reportCPageUrl: 'partc',\r\n reportCDateSectionCode: 'partc',\r\n reportCRecommendationNumberQCode: 'partCRecommendationNumber',\r\n reportCDueDateQCode: 'partCDueDate',\r\n reportCSubmissionDateQCode: 'partCSubmissionDate',\r\n reportCMSQCOutcomePageId: '8-2',\r\n reportCMSQCOutcomeActionSectionCode: 'partcoutcome',\r\n reportCMSQCOutcomeActionQCode: 'partcoutcomeActionRequiredQA',\r\n reportCMSQCQAOutcomeSectionCode: 'partcmsqcoutcomeofqa',\r\n reportCMSQCQAOutcomeActionRequiredQCode: 'partcmsqcoutcomeofqaActionRequired',\r\n reportBIsCategoryCorrectQCode: 'reportBeventCategoryTimeOfNotificationIsCorrect',\r\n committeeReviewPageId: '9-1',\r\n committeeReviewPageUrl: 'committeereview',\r\n committeeReviewHSSectionCode: 'committeereview',\r\n committeeReviewHSQCode: 'committeereviewHealthService',\r\n committeeFeedbackSectionCode: 'committeefeedback',\r\n committeereviewDateOfSubmissionQCode: 'committeereviewDateOfSubmission',\r\n committeereviewDateQCode: 'committeereviewDate',\r\n partD6MPageId: '10-1',\r\n partD6MCommitteeReviewSectionCode: 'partdsixmonthreviewcommitteereview',\r\n partD6MDateSectionCode: 'partdsixmonthreview',\r\n partD6MSubmittedDateQCode: 'partdsixmonthreviewReportSubmitted',\r\n partD12MPageId: '12-1',\r\n partD12MDateSectionCode: 'partdtwelvemonthreview',\r\n partD12MSubmittedDateQCode: 'partdtwelvemonthreviewReportSubmitted',\r\n extensionRequestPageId: '16-1',\r\n extensionRequestDateSectionCode: 'submissionExtensionDetails',\r\n extensionRequestDateQCode: 'submissionExtensionRequestDueDate',\r\n extensionRequestDateOfRequestQCode: 'submissionExtensionDateOfRequest'\r\n };\r\n self.isActiveFields = {\r\n code: 'isActive',\r\n label: 'Remove/Restore Action',\r\n removeActionOldValue: '',\r\n removeActionNewValue: 'Removed',\r\n restoreActionOldValue: '',\r\n restoreActionNewValue: 'Restored'\r\n };\r\n self.statusFields = {\r\n incident: {\r\n code: 'statusId',\r\n label: 'Incident Status'\r\n },\r\n feedback: {\r\n code: 'statusId',\r\n label: 'Feedback Status'\r\n },\r\n sentinelEvent: {\r\n code: 'statusId',\r\n label: 'Sentinel Event Status'\r\n }\r\n };\r\n self.statusOptionSets = {\r\n incidentStatusOptionSet: 'incidentstatus',\r\n feedbackStatusOptionSet: 'feedbackstatus',\r\n sentinelEventStatusOptionSet: 'sentinelEventStatus'\r\n };\r\n self.emptyJsonObject = {};\r\n self.emptyString = '';\r\n self.adalLoginRequiredErrorCode = 'login_required';\r\n self.incidentSummary = {\r\n hazardSummaryPageUrl: 'hazardsignoff',\r\n clinicalSummaryPageUrl: 'clinicalsignoff',\r\n ohsstaffSummaryPageUrl: 'ohsstaffsignoff',\r\n ohsvisitorSummaryPageUrl: 'ohsvisitorsignoff',\r\n hazardSummaryPageId: '7-1',\r\n clinicalSummaryPageId: '7-1',\r\n ohsstaffSummaryPageId: '8-1',\r\n ohsvisitorSummaryPageId: '7-1'\r\n };\r\n self.ModuleTypes = {\r\n case: 'case',\r\n incident: 'incident',\r\n sentinelEvent: 'sentinelEvent',\r\n feedback: 'feedback',\r\n action: 'action',\r\n user: 'user',\r\n team: 'team',\r\n notification: 'notification',\r\n organisation: 'organisation'\r\n };\r\n self.Modules = {\r\n case: {\r\n identifier: 'manageCase',\r\n name: self.ModuleTypes.case,\r\n label: 'Case',\r\n managementUrl: \"#\" + self.Url.manageIncidents\r\n },\r\n incident: {\r\n identifier: 'manageIncidents',\r\n name: self.ModuleTypes.incident,\r\n label: 'Incidents',\r\n managementUrl: \"#\" + self.Url.manageIncidents\r\n },\r\n sentinelEvent: {\r\n identifier: 'manageSentinelEvents',\r\n name: self.ModuleTypes.sentinelEvent,\r\n label: 'Sentinel event',\r\n managementUrl: \"#\" + self.Url.manageSentinelEvents\r\n },\r\n feedback: {\r\n identifier: 'manageFeedback',\r\n name: self.ModuleTypes.feedback,\r\n label: 'Feedback',\r\n managementUrl: \"#\" + self.Url.manageFeedback\r\n },\r\n action: {\r\n identifier: 'manageActions',\r\n name: self.ModuleTypes.action,\r\n label: 'Actions',\r\n managementUrl: \"#\" + self.Url.manageActions\r\n },\r\n user: {\r\n identifier: 'manageUsers',\r\n name: self.ModuleTypes.user,\r\n label: 'Users',\r\n managementUrl: \"#\" + self.Url.manageUsers,\r\n alternativeLabel: 'My Profile'\r\n },\r\n team: {\r\n identifier: 'manageTeams',\r\n name: self.ModuleTypes.team,\r\n label: 'Teams',\r\n managementUrl: \"#\" + self.Url.manageTeams\r\n },\r\n notification: {\r\n identifier: 'manageNotifications',\r\n name: self.ModuleTypes.notification,\r\n label: 'Notifications',\r\n managementUrl: \"#\" + self.Url.manageNotifications\r\n },\r\n organisation: {\r\n identifier: 'manageOrganisations',\r\n name: self.ModuleTypes.organisation,\r\n label: 'Organisations',\r\n managementUrl: \"#\" + self.Url.manageOrganisations\r\n },\r\n };\r\n self.buttonConstants = {\r\n Close: 'btnClose',\r\n Reopen: 'btnReOpen',\r\n Submit: 'btnSubmit',\r\n Approve: 'btnApprove',\r\n Reject: 'btnReject'\r\n };\r\n self.signoff = 'signoff';\r\n self.actionableEntityType = {\r\n Feedback: 'Feedback',\r\n Incident: 'Incident',\r\n SentinelEvent: 'SentinelEvent'\r\n };\r\n self.userActions = {\r\n next: 'next',\r\n cancel: 'cancel',\r\n logout: 'logout',\r\n tabNavigation: 'tabNavigation',\r\n pageNavigation: 'pageNavigation',\r\n save: 'save'\r\n };\r\n self.casePageIds = {\r\n who: '1-1',\r\n when: '2-1',\r\n where: '3-1',\r\n whatPatient: '4-1',\r\n whatStaff: '4-2',\r\n whatVisitor: '4-3',\r\n whatHazard: '4-4'\r\n };\r\n self.routeNameSuffix = {\r\n dashboard: 'dashboard',\r\n navTab: 'navtab',\r\n pageTab: 'pagetab',\r\n section: 'section',\r\n history: 'history',\r\n signoff: 'signoff'\r\n };\r\n self.patientQuestionSets = {\r\n incident: {\r\n organisationOptionSetName: 'organisation',\r\n campusOptionSetName: 'campus',\r\n organisationQuestionCode: 'pClientOrganisation',\r\n campusQuestionCode: 'pClientCampus',\r\n urNumberQuestionCode: 'pClientId',\r\n notFoundQuestionCode: 'pClientNotFound',\r\n firstNameQuestionCode: 'pFirstName',\r\n lastNameQuestionCode: 'pSurname',\r\n genderQuestionCode: 'pGender',\r\n dateOfBirthQuestionCode: 'pDOB'\r\n },\r\n feedbackProvider: {\r\n organisationOptionSetName: 'organisation',\r\n campusOptionSetName: 'campus',\r\n organisationQuestionCode: 'rwhoOrganisation',\r\n campusQuestionCode: 'rwhoCampus',\r\n urNumberQuestionCode: 'rwhoMedicalRecordNumber',\r\n notFoundQuestionCode: 'rwhoNotFound',\r\n firstNameQuestionCode: 'rwhoFirstName',\r\n lastNameQuestionCode: 'rwhoLastName',\r\n genderQuestionCode: 'rwhoGender',\r\n dateOfBirthQuestionCode: 'rwhoDateofBirth'\r\n },\r\n feedbackIdentified: {\r\n organisationOptionSetName: 'organisation',\r\n campusOptionSetName: 'campus',\r\n organisationQuestionCode: 'rwhocdOrganisation',\r\n campusQuestionCode: 'rwhocdCampus',\r\n urNumberQuestionCode: 'rwhocdMedicalRecordNumber',\r\n notFoundQuestionCode: 'rwhocdNotFound',\r\n firstNameQuestionCode: 'rwhocdFirstName',\r\n lastNameQuestionCode: 'rwhocdLastName',\r\n genderQuestionCode: 'rwhocdGender',\r\n dateOfBirthQuestionCode: 'rwhocdDateofBirth'\r\n }\r\n };\r\n self.isrCacheKey = 'isr';\r\n self.csrCacheKey = 'csr';\r\n self.entityPrefix = {\r\n incident: 'i',\r\n feedback: 'f',\r\n sentinel: 's'\r\n };\r\n self.readUnreadEntitySaveIntervalTimeMs = 2000;\r\n self.activeStatus = {\r\n active: 'Active',\r\n inactive: 'Inactive'\r\n };\r\n self.sentinelRoleMap = {\r\n HSInterestedParty: 'HSInterestedParty',\r\n SCVInterestedParty: 'SCVInterestedParty',\r\n HSAdministrator: 'HSAdministrator',\r\n HSSEReportAuthor: 'HSSEReportAuthor',\r\n SEReportApprover: 'SEReportApprover',\r\n SEReportReviewer: 'SEReportReviewer',\r\n SCVSEPTeamMember: 'SCVSEPTeamMember',\r\n SCVSEReviewer: 'SCVSEReviewer',\r\n QualityRiskManager: 'QualityRiskManager',\r\n SCVAdministrator: 'SCVAdministrator',\r\n SCVInternalNotificationAlert: 'SCVInternalNotificationAlert'\r\n };\r\n self.recommendationCategoryMap = {\r\n Strong: 'Strong actions',\r\n Moderate: 'Moderate actions',\r\n Weak: 'Weak actions'\r\n };\r\n }\r\n Object.defineProperty(AppConstants, \"getConstants\", {\r\n get: function () {\r\n return new AppConstants(window);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n AppConstants.$inject = ['$window'];\r\n return AppConstants;\r\n }());\r\n formApp.AppConstants = AppConstants;\r\n angular.module('formApp').constant('Constants', AppConstants.getConstants);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=appConstants.js.map","var formApp;\r\n(function (formApp) {\r\n var NotificationConstants = (function () {\r\n function NotificationConstants() {\r\n var self = this;\r\n self.commonNotifications =\r\n [\r\n {\r\n code: 'internalError',\r\n type: 'error',\r\n message: '

An error occurred. Check your network connection and try again. If the problem persists, please contact VHIMS IT Support.

'\r\n },\r\n {\r\n code: 'sectionValidationError',\r\n type: 'error',\r\n message: '

Please complete all the sections.

'\r\n },\r\n {\r\n code: 'recordCreatedSuccessfully',\r\n type: 'notification',\r\n message: '

{{entityType}} {{entityName}} has been created.

'\r\n },\r\n {\r\n code: 'patientApiCampusNotFound',\r\n type: 'error',\r\n message: '

Campus not found.

'\r\n },\r\n {\r\n code: 'patientApiPatientNotFound',\r\n type: 'error',\r\n message: '

Client ID/UR Number not found.

'\r\n },\r\n {\r\n code: 'patientApiServerError',\r\n type: 'error',\r\n message: '

An error occurred. Check your network connection and try again. If the problem persists, please contact VHIMS IT Support.

'\r\n }\r\n ];\r\n }\r\n Object.defineProperty(NotificationConstants, \"getConstants\", {\r\n get: function () {\r\n return new NotificationConstants();\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n return NotificationConstants;\r\n }());\r\n formApp.NotificationConstants = NotificationConstants;\r\n angular.module('formApp').constant('Notifications', NotificationConstants.getConstants);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=appNotifications.js.map","var formApp;\r\n(function (formApp) {\r\n var PopupConstants = (function () {\r\n function PopupConstants() {\r\n var self = this;\r\n var technicalDetails = '';\r\n self.unknownError = {\r\n code: 'unknownError',\r\n severity: 'error',\r\n title: 'Unknown Error',\r\n text: 'An unknown error has occurred. Please reload the VHIMS application.',\r\n type: 'info',\r\n okButtonText: 'Close'\r\n };\r\n self.commonPopups =\r\n [\r\n self.unknownError,\r\n {\r\n code: 'sessionTimeout',\r\n title: 'Unable to continue',\r\n text: \"

Your session has timed out.

Please reload the VHIMS application.

\" + technicalDetails,\r\n type: 'info',\r\n okButtonText: 'Reload'\r\n },\r\n {\r\n code: 'prereqPageValidationFailed',\r\n title: 'Missing Information',\r\n text: '

Please enter the mandatory details on all the previous pages to move to this page.

',\r\n type: 'info',\r\n okButtonText: 'Close',\r\n },\r\n {\r\n code: 'offlineError',\r\n title: 'Unable to continue',\r\n text: \"

You're offline. Check your network connection and try again.

\",\r\n type: 'info',\r\n okButtonText: 'Close',\r\n },\r\n {\r\n code: 'unableToLoadRecord',\r\n title: 'Unable to load record',\r\n text: \"

Couldn't load the record. Check your network connection and try again.

\" + technicalDetails,\r\n type: 'info',\r\n okButtonText: 'Close',\r\n },\r\n {\r\n code: 'userInfo',\r\n title: 'User login details',\r\n text: '',\r\n type: 'info',\r\n okButtonText: 'Close'\r\n },\r\n {\r\n code: 'errorLoadReport',\r\n title: 'Reporting Error',\r\n text: \"

Couldn't load the report. Check your network connection and try again.

\" + technicalDetails,\r\n type: 'info',\r\n okButtonText: 'Close'\r\n },\r\n {\r\n code: 'reportSessionExpired',\r\n title: 'Session Expired',\r\n text: 'Your session has expired. Please close all the report windows and re-open the Reports link from the dashboard.',\r\n type: 'info',\r\n okButtonText: 'Close'\r\n },\r\n {\r\n code: 'errorSave',\r\n title: 'Save unsuccessful',\r\n text: \"

Couldn't save. Check your network connection and try again.

\" + technicalDetails,\r\n type: 'info',\r\n okButtonText: 'Close'\r\n },\r\n {\r\n code: 'errorSubmit',\r\n title: 'Submit unsuccessful',\r\n text: \"

Couldn't submit. Check your network connection and try again.

\" + technicalDetails,\r\n type: 'info',\r\n okButtonText: 'Close'\r\n },\r\n {\r\n code: 'savedElsewhere',\r\n title: 'Unable to save',\r\n text: '

You are unable to save this {{params.typeDescription}} as another user has updated this {{params.typeDescription}} while you were making changes.


You will need to close this {{params.typeDescription}} and re-open it in order to make your changes. Any changes made will not be saved.

',\r\n type: 'info',\r\n okButtonText: 'Close'\r\n },\r\n {\r\n code: 'warnUserBeforeCancel',\r\n title: 'Cancel Form Changes',\r\n text: '

You are currently moving away from the form and you have un-saved changes.


What do you intend to do?

',\r\n type: 'confirmWith3buttons',\r\n okButtonText: 'Discard changes',\r\n cancelButtonText: 'Stay on this page',\r\n thirdButtonText: 'Save & Continue'\r\n },\r\n {\r\n code: 'confirmMarkAllAsRead',\r\n title: 'Mark all items as Read',\r\n text: '

Are you sure you want to mark all the listed items as read?

',\r\n type: 'confirm',\r\n okButtonText: 'Yes',\r\n cancelButtonText: 'No'\r\n },\r\n {\r\n code: 'confirmMarkAllAsUnread',\r\n title: 'Mark all items as Unread',\r\n text: '

Are you sure you want to mark all the listed items as unread?

',\r\n type: 'confirm',\r\n okButtonText: 'Yes',\r\n cancelButtonText: 'No'\r\n },\r\n {\r\n code: 'errorCloneRecord',\r\n title: 'Clone record unsuccessful',\r\n text: \"

Couldn't clone {{params.entityType}} {{params.entityName}}. Check your network connection and try again.

\" + technicalDetails,\r\n type: 'info',\r\n okButtonText: 'Close'\r\n },\r\n {\r\n code: 'confirmRestoreRecord',\r\n title: 'Restore Record',\r\n text: '

Are you sure you want to restore {{params.entityType}} {{params.entityName}}? The record will be available again to users for editing.

',\r\n type: 'confirm',\r\n okButtonText: 'Yes',\r\n cancelButtonText: 'No'\r\n },\r\n {\r\n code: 'confirmRemoveRecord',\r\n title: 'Remove Record',\r\n text: '

Are you sure you want to remove {{params.entityType}} {{params.entityName}}? The record will be no longer available to users for editing.

',\r\n type: 'confirm',\r\n okButtonText: 'Yes',\r\n cancelButtonText: 'No'\r\n },\r\n {\r\n code: 'errorRestoreRecord',\r\n title: 'Restore record unsuccessful',\r\n text: \"

Couldn't restore {{params.entityType}} {{params.entityName}}. Check your network connection and try again.

\" + technicalDetails,\r\n type: 'info',\r\n okButtonText: 'Close'\r\n },\r\n {\r\n code: 'errorRemoveRecord',\r\n title: 'Remove record unsuccessful',\r\n text: \"

Couldn't remove {{params.entityType}} {{params.entityName}}. Check your network connection and try again.

\" + technicalDetails,\r\n type: 'info',\r\n okButtonText: 'Close'\r\n },\r\n {\r\n code: 'errorActivation',\r\n title: 'Activation unsuccessful',\r\n text: \"

Couldn't activate. Check your network connection and try again.

\" + technicalDetails,\r\n type: 'info',\r\n okButtonText: 'Close'\r\n },\r\n {\r\n code: 'errorDeactivation',\r\n title: 'Deactivation unsuccessful',\r\n text: \"

Couldn't deactivate. Check your network connection and try again.

\" + technicalDetails,\r\n type: 'info',\r\n okButtonText: 'Close'\r\n },\r\n {\r\n code: 'errorSync',\r\n title: 'Sync Name unsuccessful',\r\n text: \"

Couldn't sync name. Check your network connection and try again.

\" + technicalDetails,\r\n type: 'info',\r\n okButtonText: 'Close'\r\n },\r\n {\r\n code: 'errorUploadDocOnNewForm',\r\n title: 'Unable to upload',\r\n text: '

Please save the form before uploading documents.

',\r\n type: 'info',\r\n okButtonText: 'Close',\r\n cancelButtonText: 'Cancel'\r\n },\r\n {\r\n code: 'confirmDeleteFile',\r\n title: 'Delete File',\r\n text: 'Are you sure you want to delete the attachment?',\r\n type: 'confirm',\r\n okButtonText: 'Delete',\r\n cancelButtonText: 'Cancel'\r\n },\r\n {\r\n code: 'errorUploadDoc',\r\n title: 'Upload Error',\r\n text: \"

Document could not be uploaded. Please try again later.

\" + technicalDetails,\r\n type: 'info',\r\n okButtonText: 'Close',\r\n cancelButtonText: 'Cancel'\r\n },\r\n {\r\n code: 'errorDownloadDoc',\r\n title: 'Download Error',\r\n text: \"

Document could not be downloaded please try again later.

\" + technicalDetails,\r\n type: 'info',\r\n okButtonText: 'Close',\r\n cancelButtonText: 'Cancel'\r\n },\r\n {\r\n code: 'errorDeleteDoc',\r\n title: 'Delete Error',\r\n text: \"

Document could not be deleted please try again later.

\" + technicalDetails,\r\n type: 'info',\r\n okButtonText: 'Close',\r\n cancelButtonText: 'Cancel'\r\n },\r\n {\r\n code: 'totalFileSize',\r\n title: 'Unable to upload',\r\n text: '

Unable to upload - Total file size exceeded the max limit of {{params.maxFileTotalSize}} MB.

',\r\n type: 'info',\r\n okButtonText: 'Close',\r\n cancelButtonText: 'Cancel'\r\n },\r\n {\r\n code: 'fileItemSizeLimit',\r\n title: 'Unable to upload',\r\n text: '

Unable to upload - Document exceeds maximum allowable size. Please ensure document does not exceed {{params.maxFileSizeMB}} MB

',\r\n type: 'info',\r\n okButtonText: 'Close',\r\n cancelButtonText: 'Cancel'\r\n },\r\n {\r\n code: 'totalFileNumber',\r\n title: 'Unable to upload',\r\n text: '

Unable to upload - Maximum number of attachments exceeded. {{params.totalFileNumber}} is the maximum number of attachments allowed.

',\r\n type: 'info',\r\n okButtonText: 'Close',\r\n cancelButtonText: 'Cancel'\r\n },\r\n {\r\n code: 'invalidDocumentType',\r\n title: 'Unable to upload',\r\n text: '

Unable to upload - Document must be in one of the following formats: .pdf, .doc, .docx., .xls, .xlsx, .txt, .tiff, .png, .jpg, .jpeg, .zip.

',\r\n type: 'info',\r\n okButtonText: 'Close',\r\n cancelButtonText: 'Cancel'\r\n },\r\n {\r\n code: 'confirmDuplicateWitness',\r\n title: 'Duplicate Witness',\r\n text: '

Witness with the same details is already added. Would you like to still add this witness?

',\r\n type: 'confirm',\r\n okButtonText: 'Yes',\r\n cancelButtonText: 'No'\r\n },\r\n {\r\n code: 'confirmDeleteWitness',\r\n title: 'Remove Witness',\r\n text: '

This will permanently delete {{params[\\'wFirstName\\']}} {{params[\\'wSurname\\']}}.

Are you sure you want to proceed?

',\r\n type: 'confirm',\r\n okButtonText: 'Yes',\r\n cancelButtonText: 'No'\r\n },\r\n {\r\n code: 'saveWitnessFirst',\r\n title: 'Save witness details',\r\n text: '

Please ensure the witness details have been added by clicking the \\'Save\\' button.

',\r\n type: 'info',\r\n okButtonText: 'Close'\r\n },\r\n {\r\n code: 'unselectWitnessConfirmation',\r\n title: 'Remove Witnesses',\r\n text: '

This change will permanently delete witness details you have entered. Are you sure you want to proceed?

',\r\n type: 'confirm',\r\n okButtonText: 'Yes',\r\n cancelButtonText: 'No'\r\n },\r\n {\r\n code: 'eventDeleteConfirmation',\r\n title: 'Remove Event',\r\n text: '

This action will remove the event and any details you have entered for this event. Are you sure you want to proceed?

',\r\n type: 'confirm',\r\n okButtonText: 'Yes',\r\n cancelButtonText: 'No'\r\n },\r\n {\r\n code: 'validationErrors',\r\n title: 'Information missing',\r\n text: '

The incident cannot be closed. Please review the errors and enter valid information.

',\r\n type: 'info',\r\n okButtonText: 'Close'\r\n },\r\n {\r\n code: 'sentinelValidationErrors',\r\n title: 'Information missing',\r\n text: '

The record cannot be submitted. Please review the errors and enter valid information.

',\r\n type: 'info',\r\n okButtonText: 'Close'\r\n },\r\n {\r\n code: 'eServiceAwareIncidentNotifyDelayReasonValidationError',\r\n title: 'Information missing',\r\n text: '

The record cannot be submitted. Reason for delay to notification information on Event Details section is missing. Please review the errors and enter valid information.

',\r\n type: 'info',\r\n okButtonText: 'Close'\r\n },\r\n {\r\n code: 'sentinelPartBMSQCValidationErrors',\r\n title: 'Information missing',\r\n text: '

The record cannot be submitted.

Please confirm mandatory fields in MSQC+QA for Part B, and Part B Outcome have been completed.

',\r\n type: 'info',\r\n okButtonText: 'Close'\r\n },\r\n {\r\n code: 'sentinelPartCMSQCValidationErrors',\r\n title: 'Information missing',\r\n text: '

The record cannot be submitted.

Please confirm mandatory fields in Part C (S.M.A.R.T recommendation), MSQC+QA for Part C, and Part C Outcome have been completed.

',\r\n type: 'info',\r\n okButtonText: 'Close'\r\n },\r\n {\r\n code: 'confirmDeleteAction',\r\n title: 'Remove Action',\r\n text: '

This will permanently delete the action.

Are you sure you want to proceed?

',\r\n type: 'confirm',\r\n okButtonText: 'Yes',\r\n cancelButtonText: 'No'\r\n },\r\n {\r\n code: 'errorDownloadPdf',\r\n title: 'Download PDF',\r\n text: '

There was a problem downloading the {{params.entityType}} PDF.

Error: {{params.errorMessage}}

',\r\n type: 'info',\r\n okButtonText: 'Close'\r\n },\r\n {\r\n code: 'errorDownloadIncidentFullDataExtract',\r\n title: 'Download Incident Extract',\r\n text: \"

There was a problem downloading the incident extract.

\" + technicalDetails,\r\n type: 'info',\r\n okButtonText: 'Close'\r\n },\r\n {\r\n code: 'errorDownloadFeedbackFullDataExtract',\r\n title: 'Download Feedback Extract',\r\n text: \"

There was a problem downloading the feedback extract.

\" + technicalDetails,\r\n type: 'info',\r\n okButtonText: 'Close'\r\n },\r\n {\r\n code: 'confirmSentinelEventApproval',\r\n text: '

Alert! You are ACCEPTING this Sentinel Event notification.

Prior to accepting a Sentinel Event notification the following must be completed

Have you completed the above steps?

',\r\n type: 'confirm',\r\n okButtonText: 'Yes',\r\n cancelButtonText: 'No'\r\n },\r\n {\r\n code: 'confirmSentinelEventResubmission',\r\n text: '

Alert! You are requesting a Re-submission of this Sentinel Event notification.

Prior to requesting a re-submission you must place a comment in the Notification Comments section to advise the heath service of the rational for the request and what is required in their re-submission.

Has the above been completed?

',\r\n type: 'confirm',\r\n okButtonText: 'Yes',\r\n cancelButtonText: 'No'\r\n },\r\n {\r\n code: 'confirmSentinelEventRejection',\r\n text: '

Alert! You are NOT ACCEPTING this Sentinel Event notification, this will mark this event as \"closed\".

Prior to proceeding please confirm that you have completed the following

Have all of the above been completed?

',\r\n type: 'confirm',\r\n okButtonText: 'Yes',\r\n cancelButtonText: 'No'\r\n },\r\n {\r\n code: 'confirmSentinelEventReviewAction',\r\n title: 'Please verify all the changes',\r\n text: '

Please verify all the changes

',\r\n type: 'confirm',\r\n okButtonText: 'Yes',\r\n cancelButtonText: 'No'\r\n },\r\n {\r\n code: 'confirmSentinelEventHSSharedCommentEmail',\r\n title: 'Do you want to send an email alert to your Health Service about the comment ?',\r\n text: '

If you select “Yes” an email alert will be sent to all the users has Quality Manager role and to the creator of this SE event. \\n(Note: SCV will receive an alert automatically)

',\r\n type: 'confirm',\r\n okButtonText: 'Yes',\r\n cancelButtonText: 'No'\r\n },\r\n {\r\n code: 'confirmSentinelEventHSOnlyCommentEmail',\r\n title: 'Do you want to send an email alert about the comment to your Health Service?',\r\n text: '

If you select \\'Yes\\', an email alert will be sent to all users who are designated as Quality Managers role, as well as to the creator of this Sentinel Event.

',\r\n type: 'confirm',\r\n okButtonText: 'Yes',\r\n cancelButtonText: 'No'\r\n },\r\n {\r\n code: 'confirmSentinelEventScvSharedCommentEmail',\r\n title: 'Do you want to send an email alert about the comment to your SCV SEP team member?',\r\n text: '

If you select \\'Yes\\', an email alert will be sent to SCV SEP team member users.

',\r\n type: 'confirm',\r\n okButtonText: 'Yes',\r\n cancelButtonText: 'No'\r\n }\r\n ];\r\n }\r\n Object.defineProperty(PopupConstants, \"getConstants\", {\r\n get: function () {\r\n return new PopupConstants();\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n return PopupConstants;\r\n }());\r\n formApp.PopupConstants = PopupConstants;\r\n angular.module('formApp').constant('Popups', PopupConstants.getConstants);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=appPopups.js.map","angular.module(\"templates\").run([\"$templateCache\", function($templateCache) {$templateCache.put(\"app/partials/core/adhocMenu.html\",\"\");\n$templateCache.put(\"app/partials/core/adhocMenuItems.html\",\"
  • curPageNumber && $index != 0,\\'past\\':($index+1)curPageNumber&&$index==0,\\'x-item-first past\\':($index+1)
  • \");\n$templateCache.put(\"app/partials/core/auditHistory-v2.html\",\"

    {{page.heading}}

    Audit type filters the rows in the below table by the specified audit type.
    Click a column header to sort by that column. Click a row to reveal additional options at the end of the row.
    {{currentLoadSaveMessage}}
    Start typing, then use the up and down arrows to select an item from the list
    \");\n$templateCache.put(\"app/partials/core/auditHistory.html\",\"

    Deprecated for V2 layout

    \");\n$templateCache.put(\"app/partials/core/caseWizard.html\",\"
    curPageNumber && $index != 0,\\'past\\':($index+1)curPageNumber&&$index==0,\\'x-item-first past\\':($index+1)
    \");\n$templateCache.put(\"app/partials/core/caseWizardItems.html\",\"
  • curPageNumber && $index != 0,\\'past\\':($index+1)curPageNumber&&$index==0,\\'x-item-first past\\':($index+1){{$index + 1}} {{n.title}}
  • \");\n$templateCache.put(\"app/partials/core/copyevents.html\",\"
    0\\\">
    \");\n$templateCache.put(\"app/partials/core/delegationSources.html\",\"
    {{user.fullName}} ({{getActiveStatusDisplay(user)}})
    \");\n$templateCache.put(\"app/partials/core/document.html\",\"

    Upload documents

    Please attach any supporting documents. Each file should be no larger than 10mb. The following formats are acceptable: .pdf, .doc, .docx, .xls, .xslx, .txt, .tif, .tiff, .png, .jpg, .jpeg, .zip.

    {{item.file.name}} Download Remove
    Please wait Uploading {{item.file.name}} Cancel
    Clicking the button will download the document
    \");\n$templateCache.put(\"app/partials/core/expandableRowTemplate.html\",\"
    \");\n$templateCache.put(\"app/partials/core/footer-v2.html\",\"\");\n$templateCache.put(\"app/partials/core/footer.html\",\"

    Deprecated for V2 layout

    \");\n$templateCache.put(\"app/partials/core/formPageComponent.html\",\"
    \");\n$templateCache.put(\"app/partials/core/formPageSectionComponent.html\",\"
    0\\\">
    \");\n$templateCache.put(\"app/partials/core/header-v2.html\",\"
    Skip to main content
    \\\"Safer
    \\\"Victorian
    \\\"Safer
    \\\"Victorian
    Need help with this application? Call 1300 543 916 1800 848 900 Email sentinel.events@safercare.vic.gov.au vhims@support.vic.gov.au
    {{layoutConfig.activeNavigationItem.title}}

    Please wait Loading please wait ...

    \");\n$templateCache.put(\"app/partials/core/header.html\",\"

    Deprecated for V2 layout

    \");\n$templateCache.put(\"app/partials/core/linkSources.html\",\"
    {{user.fullName}} ({{getActiveStatusDisplay(user)}})
    \");\n$templateCache.put(\"app/partials/core/manageevents.html\",\"
    0\\\">

    {{section.heading}}

    {{section.heading}}

    \");\n$templateCache.put(\"app/partials/core/modalPopup.html\",\"Dialog startsDialog ends\");\n$templateCache.put(\"app/partials/core/modalPopupWindow.html\",\"\");\n$templateCache.put(\"app/partials/core/navigationButtons.html\",\"
    \");\n$templateCache.put(\"app/partials/core/page.html\",\"
    \");\n$templateCache.put(\"app/partials/core/progressMeter.html\",\"- Current page: {{ pageList[curPageNumber-1].title}}
    \");\n$templateCache.put(\"app/partials/core/question-v2.html\",\"

    Please wait Loading ...

    {{page.heading}}

    0\\\">

    Please correct the following issues.

    0\\\" ng-include=\\\"\\'app/partials/core/formPageComponent.html\\'\\\">
    {{currentLoadSaveMessage}}
    Start typing, then use the up and down arrows to select an address from the list Start typing, then use the up and down arrows to select an item from the list Clicking will expand this section Clicking will expand this section
    \");\n$templateCache.put(\"app/partials/core/question.html\",\"

    Deprecated for V2 layout

    \");\n$templateCache.put(\"app/partials/core/reportContainer.html\",\"
    \");\n$templateCache.put(\"app/partials/core/reportWhat-v2.html\",\"

    {{page.heading}}

    0\\\">

    Please correct the following issues.

    0\\\">

    Details

    {{displaySectionSummary(pIndex + \\'-event-summary\\')}}

    {{section.heading}} Complete Incomplete
    {{currentLoadSaveMessage}}
    Start typing, then use the up and down arrows to select an address from the list Start typing, then use the up and down arrows to select an item from the list Clicking will expand this section Clicking will expand this section
    \");\n$templateCache.put(\"app/partials/core/reportWhat.html\",\"

    Deprecated for V2 layout

    \");\n$templateCache.put(\"app/partials/core/sectionFormView.html\",\"
    {{currentLoadSaveMessage}}
    \");\n$templateCache.put(\"app/partials/core/sectionView.html\",\"
    {{currentLoadSaveMessage}}
    \");\n$templateCache.put(\"app/partials/core/signoff.html\",\"
    \");\n$templateCache.put(\"app/partials/core/statusBar.html\",\"

    Status

    ID: {{incidentRef}} Status: {{statusText}}
    ID: {{feedbackRef}} Status: {{statusText}}
    ID:
    {{sentinelEventRef}}
    Status:
    {{stageText}} - {{statusText}}
    \");\n$templateCache.put(\"app/partials/core/summary-v2.html\",\"

    {{page.heading}}

    0\\\">
    0\\\">

    {{section.heading}}

    {{currentLoadSubmitMessage}}
    \");\n$templateCache.put(\"app/partials/core/summary.html\",\"

    Deprecated for V2 layout

    \");\n$templateCache.put(\"app/partials/core/summaryPartial.html\",\"

    {{navTab.number}}.{{navTab.title}}

    {{page.title}} Completed

    This section is complete.

    {{page.title}} Incomplete

    This section is incomplete.

    0\\\" class=\\\"summary__item summary__item-hidden\\\" data-key=\\\"{{navTab.number + \\'-\\' + page.number}}\\\">
    1}\\\" ng-attr-data-key=\\\"{{sectionNumber > 1 && (navTab.number + \\'-\\' + page.number) || \\'\\' }}\\\" ng-repeat=\\\"(sIndex, s) in getSectionItemCountForSummary(navTab.number, page.number, pIndex, section) track by sIndex = $index\\\">
    {{section.heading}}
    {{$eval(section.summaryHeading, {$pIndex: pIndex, $sIndex: sIndex})}}
    • 6, \\'col-sm-4\\': !question.controlType.includes(\\'textarea\\'), \\'col-sm-12\\': question.controlType.includes(\\'textarea\\')}\\\" ng-attr-data-key=\\\"{{questionNumber > 6 && (navTab.number + \\'-\\' + page.number) || \\'\\' }}\\\" ng-repeat=\\\"question in section.questions | filter: {controlType: \\'!empty\\', hideOnSummary: \\'!\\'+true}\\\" ng-if=\\\"$eval(question.condition, { p$: setQuestionParamsForSummary(pIndex, sIndex, section.code, navTab.number + \\'-\\' + page.number) }) != false\\\" class=summary__item>
      {{question.shortQuestion ? question.shortQuestion: question.question}}
      (No response)
      {{theAnsweredPhoto.photoFileName}} View
      • {{answer}}
      {{getQuestionAnswer(question, navTab.number, page.number, pIndex, section.code, sIndex)}}
      {{question.shortQuestion ? question.shortQuestion: question.question}} {{getQuestionError(question, navTab.number, page.number, pIndex, section.code, sIndex)}}
    {{currentLoadSubmitMessage}}
    {{currentLoadSaveMessage}}
    \");\n$templateCache.put(\"app/partials/core/tabsBar.html\",\"- Current page: {{ pageList[curPageNumber-1].title}}
    \");\n$templateCache.put(\"app/partials/core/teamMembership.html\",\"
    {{team.teamName}} ({{getTeamActiveStatusDisplay(team)}})
    \");\n$templateCache.put(\"app/partials/core/technicalDetails.html\",\"

    If the problem persists, please contact VHIMS IT Support and provide the details below:

    Timestamp: {{error.timestamp}}
    Operation: {{error.operation}}
    Code: {{error.code}}
    Message: {{error.message}}

    \");\n$templateCache.put(\"app/partials/core/typeaheadTemplate.html\",\"
    \");\n$templateCache.put(\"app/partials/core/userLoginDetails.html\",\"

    {{title}}

    Username: {{details.username}}
    Display name: {{details.fullName}}
    Given name: {{details.givenName}}
    Family name: {{details.familyName}}

    Current time: {{details.currentTime}}
    Token expiry: {{details.tokenExpiry}}
    Is authenticated: {{details.isAuthenticated}}
    Login error: {{details.loginError}}
    IP address: {{details.ipAddress}}
    \");\n$templateCache.put(\"app/partials/error/error.html\",\"

    Error

    Please check your network connection and try again.


    \");\n$templateCache.put(\"app/partials/error/unregisteredUser.html\",\"

    We are unable to log you into the application at this time.


    Please contact your system administrator.


    \");\n$templateCache.put(\"app/partials/dashboard/manageActions.html\",\"

    Manage actions

    The search results have exceeded the {{maxRecords}} item limit. Please refine your search criteria.
    {{currentLoadMessage}}
    \");\n$templateCache.put(\"app/partials/dashboard/manageFeedback.html\",\"

    Manage feedback

    The search results have exceeded the {{maxRecords}} item limit. Please refine your search criteria.
    {{currentLoadMessage}}
    \");\n$templateCache.put(\"app/partials/dashboard/manageIncidents.html\",\"
    The search results have exceeded the {{maxRecords}} item limit. Please refine your search criteria.
    {{currentLoadMessage}}
    \");\n$templateCache.put(\"app/partials/dashboard/manageNotifications.html\",\"
    The search results have exceeded the {{maxRecords}} item limit. Please refine your search criteria.
    {{totalRecords}} item{{totalRecords == 1 ? \\'\\' : \\'s\\'}}  {{maxRecords}}+ items 
    Click a column header to sort by that column. Click a row to reveal additional options at the end of the row.
    {{currentLoadMessage}}
    \");\n$templateCache.put(\"app/partials/dashboard/manageOrganisations.html\",\"

    Manage organisations

    The search results have exceeded the {{maxRecords}} item limit. Please refine your search criteria.
    {{totalRecords}} item{{totalRecords == 1 ? \\'\\' : \\'s\\'}}  {{maxRecords}}+ items 
    Click a column header to sort by that column. Click a row to reveal additional options at the end of the row.
    {{currentLoadMessage}}
    \");\n$templateCache.put(\"app/partials/dashboard/manageSentinelEvents.html\",\"

    Manage sentinel events

    The search results have exceeded the {{maxRecords}} item limit. Please refine your search criteria.
    {{totalRecords}} item{{totalRecords == 1 ? \\'\\' : \\'s\\'}}  {{maxRecords}}+ items 
    Click a column header to sort by that column. Click a row to reveal additional options at the end of the row.
    {{currentLoadMessage}}
    \");\n$templateCache.put(\"app/partials/dashboard/manageTeams.html\",\"

    Manage teams

    The search results have exceeded the {{maxRecords}} item limit. Please refine your search criteria.
    {{totalRecords}} item{{totalRecords == 1 ? \\'\\' : \\'s\\'}}  {{maxRecords}}+ items 
    Click a column header to sort by that column. Click a row to reveal additional options at the end of the row.
    {{currentLoadMessage}}
    \");\n$templateCache.put(\"app/partials/dashboard/manageUsers.html\",\"
    The search results have exceeded the {{maxRecords}} item limit. Please refine your search criteria.
    {{totalRecords}} item{{totalRecords == 1 ? \\'\\' : \\'s\\'}}  {{maxRecords}}+ items 
    Click a column header to sort by that column. Click a row to reveal additional options at the end of the row.
    {{currentLoadMessage}}
    \");\n$templateCache.put(\"app/partials/form/base.html\",\"

    \");\n$templateCache.put(\"app/partials/form/questionInput1.html\",\"
    {{ questionIndex }} | {{ question}} | {{pIndex}} | {{sIndex}} | {{section}}
    \");\n$templateCache.put(\"app/partials/form/questionInputAddress.html\",\"
    \");\n$templateCache.put(\"app/partials/form/questionInputApiLookup.html\",\"
    \");\n$templateCache.put(\"app/partials/form/questionInputApiSelect.html\",\"\");\n$templateCache.put(\"app/partials/form/questionInputButton.html\",\"
    {{question.question}} Please wait
    \");\n$templateCache.put(\"app/partials/form/questionInputCheckbox.html\",\"
    {{question.question}}*
    \");\n$templateCache.put(\"app/partials/form/questionInputDate.html\",\"
    \");\n$templateCache.put(\"app/partials/form/questionInputEmpty.html\",\"
    *
    \");\n$templateCache.put(\"app/partials/form/questionInputFilterSelect.html\",\"
    \");\n$templateCache.put(\"app/partials/form/questionInputLabel.html\",\"
    {{$eval(question.sourceValue, { p$: null })}}
    \");\n$templateCache.put(\"app/partials/form/questionInputMissing.html\",\"

    Missing Input {{ question.controlType}}

    {{ questionIndex }} | {{ question}} | {{pIndex}} | {{sIndex}} | {{section}}
    \");\n$templateCache.put(\"app/partials/form/questionInputMultiFilterSelect.html\",\"
    \");\n$templateCache.put(\"app/partials/form/questionInputMultiSelect.html\",\"{{$item.text}}\");\n$templateCache.put(\"app/partials/form/questionInputPhotoControl.html\",\"

    No file selected

    Please capture or upload an image

    Attach Capture

    {{sItem[question.code].photoFileName}}

    {{sItem[question.code].photoDateTimeStamp}}

    \");\n$templateCache.put(\"app/partials/form/questionInputRadio.html\",\"
    {{question.question}}*
    \");\n$templateCache.put(\"app/partials/form/questionInputSelect.html\",\"\");\n$templateCache.put(\"app/partials/form/questionInputSingleCheckbox.html\",\"
    \");\n$templateCache.put(\"app/partials/form/questionInputSingleSelect.html\",\"{{$select.selected.text}}\");\n$templateCache.put(\"app/partials/form/questionInputText.html\",\"
    \");\n$templateCache.put(\"app/partials/form/questionInputTextArea.html\",\"
    \");\n$templateCache.put(\"app/partials/form/questionInputTextAreaLarge.html\",\"
    \");\n$templateCache.put(\"app/partials/form/questionInputTime.html\",\"
    :
    \");\n$templateCache.put(\"app/partials/form/questionInputTypeAhead.html\",\"
    \");\n$templateCache.put(\"app/partials/section/sectionHeading.html\",\"

    {{section.heading}}

    \");\n$templateCache.put(\"app/partials/section/sectionHeadingRepeating.html\",\"

    {{section.repeatingHeading}}

    \");\n$templateCache.put(\"app/partials/section/sectionHeadingRepeatingStandAlone.html\",\"

    {{section.repeatingHeading}}

    \");\n$templateCache.put(\"app/partials/section/sectionHeadingStandAlone.html\",\"

    {{section.heading}}

    \");\n$templateCache.put(\"app/partials/index.html\",\"Victorian Health Management System
    \");}]);","var formApp;\r\n(function (formApp) {\r\n var PageBreadcrumbController = (function () {\r\n function PageBreadcrumbController($route, utility) {\r\n this.$route = $route;\r\n this.utility = utility;\r\n this.degrees = -1;\r\n this.breadcrumbs = utility.getBreadcrumbs($route.current, $route.routes);\r\n }\r\n PageBreadcrumbController.prototype.getBreadcrumbs = function () {\r\n if (this.degrees > -1 && this.breadcrumbs.length > this.degrees) {\r\n return this.breadcrumbs.slice(this.breadcrumbs.length - this.degrees - 1);\r\n }\r\n else {\r\n return this.breadcrumbs;\r\n }\r\n };\r\n PageBreadcrumbController.$inject = [\r\n '$route',\r\n 'UtilityServices',\r\n ];\r\n return PageBreadcrumbController;\r\n }());\r\n var PageBreadcrumb = (function () {\r\n function PageBreadcrumb() {\r\n var self = this;\r\n self.bindings = {\r\n degrees: '<'\r\n };\r\n self.controller = PageBreadcrumbController;\r\n self.template = \"
    \\n
    \\n
    \\n
    \\n \\n /\\n \\n {{crumb.name}}\\n \\n {{crumb.name}}\\n
    \\n
    \\n
    \\n
    \";\r\n }\r\n return PageBreadcrumb;\r\n }());\r\n angular.module('formApp').component('pageBreadcrumb', new PageBreadcrumb());\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=pageBreadcrumb.js.map","var formApp;\r\n(function (formApp) {\r\n var Address = (function () {\r\n function Address() {\r\n this.require = 'ngModel';\r\n this.scope = {\r\n callbackFn: '&',\r\n ngModel: '='\r\n };\r\n }\r\n Address.prototype.link = function (scope, element, attrs, model) {\r\n var options = {\r\n types: ['address'],\r\n componentRestrictions: { country: 'au' },\r\n };\r\n scope.gPlace = new google.maps.places.Autocomplete(element[0], options);\r\n var addressElementArray = '';\r\n var pIndex, sCode, sIndex, qCode, pageId, navNum;\r\n element.on('change', function (element, attrs) {\r\n var addressElementArray = element.currentTarget.id.split('-');\r\n if (scope.$parent.navTab &&\r\n scope.$parent.page &&\r\n scope.$parent.navTab.number &&\r\n scope.$parent.page.number) {\r\n var responseId = scope.$parent.navTab.number + '-' + scope.$parent.page.number;\r\n if (addressElementArray.length === 4) {\r\n pIndex = addressElementArray[0];\r\n sCode = addressElementArray[1];\r\n sIndex = addressElementArray[2];\r\n qCode = addressElementArray[3];\r\n var question = { code: qCode };\r\n scope.$parent.responses[responseId][pIndex][sCode][sIndex][qCode + '-valid'] = false;\r\n scope.$parent.utility.removeFromValidationErrors(null, responseId, pIndex, sCode, sIndex, qCode);\r\n element.currentTarget.setAttribute('aria-invalid', 'true');\r\n }\r\n }\r\n });\r\n var updatePlace = function () {\r\n var addressArray = null;\r\n var pIndex, sCode, sIndex, qCode, navNum;\r\n if (scope.gPlace &&\r\n scope.gPlace.getPlace() &&\r\n scope.gPlace.getPlace().address_components) {\r\n if (scope.$parent.navTab && scope.$parent.page) {\r\n var responseId = scope.$parent.navTab.number + '-' + scope.$parent.page.number;\r\n }\r\n var addressElementArray = element[0].id.split('-');\r\n if (addressElementArray.length === 4) {\r\n pIndex = addressElementArray[0];\r\n sCode = addressElementArray[1];\r\n sIndex = addressElementArray[2];\r\n qCode = addressElementArray[3];\r\n scope.$parent.responses[responseId][pIndex][sCode][sIndex][qCode + '-valid'] =\r\n true;\r\n var question = { code: qCode };\r\n scope.$parent.utility.removeFromValidationErrors(null, responseId, pIndex, sCode, sIndex, qCode);\r\n element[0].setAttribute('aria-invalid', 'false');\r\n }\r\n addressArray = scope.gPlace.getPlace().address_components;\r\n }\r\n scope.$apply(function () {\r\n model.$setViewValue(element.val());\r\n scope.callbackFn({\r\n arg1: addressArray\r\n });\r\n });\r\n };\r\n google.maps.event.addListener(scope.gPlace, 'place_changed', updatePlace);\r\n };\r\n Address.factory = function () {\r\n var directive = function () {\r\n return new Address();\r\n };\r\n return directive;\r\n };\r\n return Address;\r\n }());\r\n formApp.Address = Address;\r\n angular.module('formApp').directive('address', Address.factory());\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=address.js.map","var formApp;\r\n(function (formApp) {\r\n var ChangeOnKeyup = (function () {\r\n function ChangeOnKeyup() {\r\n }\r\n ChangeOnKeyup.prototype.link = function (scope, element, attrs) {\r\n element.on('keyup', element.triggerHandler.bind(element, 'change'));\r\n };\r\n ChangeOnKeyup.factory = function () {\r\n var directive = function () {\r\n return new ChangeOnKeyup();\r\n };\r\n return directive;\r\n };\r\n return ChangeOnKeyup;\r\n }());\r\n formApp.ChangeOnKeyup = ChangeOnKeyup;\r\n angular.module('formApp')\r\n .directive('changeOnKeyup', ChangeOnKeyup.factory());\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=changeOnKeyup.js.map","var formApp;\r\n(function (formApp) {\r\n var Compile = (function () {\r\n function Compile($compile) {\r\n this.$compile = $compile;\r\n }\r\n Compile.prototype.link = function (scope, element, attrs) {\r\n var self = this;\r\n scope.$watch(function (scope) {\r\n return scope.$eval(attrs.compile);\r\n }, function (value) {\r\n element.html(value);\r\n self.$compile(element.contents())(scope);\r\n });\r\n };\r\n Compile.factory = function () {\r\n var directive = function ($compile) {\r\n return new Compile($compile);\r\n };\r\n directive.$inject = ['$compile'];\r\n return directive;\r\n };\r\n return Compile;\r\n }());\r\n formApp.Compile = Compile;\r\n angular.module('formApp')\r\n .directive('compile', Compile.factory());\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=compile.js.map","var formApp;\r\n(function (formApp) {\r\n var DisplayQuestion = (function () {\r\n function DisplayQuestion() {\r\n this.replace = true;\r\n this.transclude = true;\r\n this.templateUrl = 'app/partials/form/base.html';\r\n }\r\n DisplayQuestion.factory = function () {\r\n var directive = function () {\r\n return new DisplayQuestion();\r\n };\r\n return directive;\r\n };\r\n return DisplayQuestion;\r\n }());\r\n formApp.DisplayQuestion = DisplayQuestion;\r\n angular.module('formApp')\r\n .directive('displayQuestion', DisplayQuestion.factory());\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=displayQuestion.js.map","var formApp;\r\n(function (formApp) {\r\n var FastOptions = (function () {\r\n function FastOptions() {\r\n this.restrict = 'A';\r\n this.require = 'ngModel';\r\n this.transclude = true;\r\n }\r\n FastOptions.prototype.link = function (scope, element, attrs, cntrller, transcludeFn) {\r\n var expression = attrs.fastOptions;\r\n var parts = expression.split(';').map(function (part) { return part.trim(); });\r\n if (parts.length < 3) {\r\n throw new Error('Expected expression of type: data; value = Id; label = Name; = \\'text\\'. But got: ' +\r\n expression);\r\n }\r\n var valueParts = parts[1].split('=').map(function (subPart) { return subPart.trim(); });\r\n if (valueParts.length !== 2) {\r\n throw new Error('Incorrect value. Expected expression of type: value = Id. But got: ' +\r\n parts[1]);\r\n }\r\n var valueExpression = valueParts[1];\r\n var labelParts = parts[2].split('=').map(function (subPart) { return subPart.trim(); });\r\n if (labelParts.length !== 2) {\r\n throw new Error('Incorrect label. Expected expression of type: label = Name. But got: ' +\r\n parts[2]);\r\n }\r\n var labelExpression = labelParts[1];\r\n var defaultValueExpression;\r\n if (parts.length > 3) {\r\n var defaultValueParts = parts[3].split('=')\r\n .map(function (subPart) { return subPart.trim(); });\r\n if (defaultValueParts.length !== 2 &&\r\n defaultValueParts[1].indexOf('\\'') === 0 &&\r\n defaultValueParts[1].lastIndexOf('\\'') === defaultValueParts[1].length - 1) {\r\n throw new Error('Incorrect defaultValue. Expected expression of type: defaultValue = \\'text\\'. But got: ' +\r\n parts[3]);\r\n }\r\n defaultValueExpression = defaultValueParts[1].substring(1, defaultValueParts[1].length - 1);\r\n }\r\n var collectionKey = parts[0];\r\n scope.$watchCollection(collectionKey, function (collection) {\r\n transcludeFn(function (clone) {\r\n element.append(clone);\r\n });\r\n var selectedValue = scope.$eval(attrs.ngModel) || '';\r\n var allOptions = '';\r\n var showDefaultOption = defaultValueExpression !== undefined;\r\n _.forEach(collection, function (collectionItem) {\r\n var value = collectionItem[valueExpression];\r\n var label = collectionItem[labelExpression];\r\n var selectedHtml = '';\r\n if (value === selectedValue) {\r\n selectedHtml = 'selected=\"selected\"';\r\n showDefaultOption = false;\r\n }\r\n var optionHtml = '';\r\n allOptions += optionHtml;\r\n });\r\n if (showDefaultOption) {\r\n allOptions = '' +\r\n allOptions;\r\n }\r\n var possibleBlankEntry = element.children().first();\r\n var value = possibleBlankEntry.val();\r\n if (value.indexOf('?') === 0 && value.lastIndexOf('?') === value.length - 1) {\r\n possibleBlankEntry.remove();\r\n }\r\n element.append(allOptions);\r\n });\r\n };\r\n FastOptions.factory = function () {\r\n var directive = function () {\r\n return new FastOptions();\r\n };\r\n return directive;\r\n };\r\n return FastOptions;\r\n }());\r\n formApp.FastOptions = FastOptions;\r\n angular.module('formApp')\r\n .directive('fastOptions', FastOptions.factory());\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=fastOptions.js.map","var formApp;\r\n(function (formApp) {\r\n var FilterInputType = (function () {\r\n function FilterInputType() {\r\n this.scope = {\r\n callbackFn: '&'\r\n };\r\n this.require = 'ngModel';\r\n }\r\n FilterInputType.prototype.link = function (scope, element, attrs, modelCtrl) {\r\n if (attrs.filterInputType == 'number') {\r\n modelCtrl.$parsers.push(function (inputValue) {\r\n if (!isNaN(parseFloat(inputValue)) && (isFinite(inputValue))) {\r\n return parseFloat(inputValue);\r\n }\r\n else {\r\n return inputValue;\r\n }\r\n });\r\n }\r\n };\r\n FilterInputType.factory = function () {\r\n var directive = function () {\r\n return new FilterInputType();\r\n };\r\n return directive;\r\n };\r\n return FilterInputType;\r\n }());\r\n formApp.FilterInputType = FilterInputType;\r\n angular.module('formApp')\r\n .directive('filterInputType', FilterInputType.factory());\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=filterInputType.js.map","var formApp;\r\n(function (formApp) {\r\n var FocusMe = (function () {\r\n function FocusMe($timeout, $parse) {\r\n this.$timeout = $timeout;\r\n this.$parse = $parse;\r\n }\r\n FocusMe.prototype.link = function (scope, element, attrs) {\r\n var self = this;\r\n var model = self.$parse(attrs.focusMe);\r\n scope.$watch(model, function (value) {\r\n if (value === true) {\r\n self.$timeout(function () {\r\n element[0].focus();\r\n });\r\n }\r\n });\r\n };\r\n FocusMe.factory = function () {\r\n var directive = function ($timeout, $parse) {\r\n return new FocusMe($timeout, $parse);\r\n };\r\n directive.$inject = ['$timeout', '$parse'];\r\n return directive;\r\n };\r\n return FocusMe;\r\n }());\r\n formApp.FocusMe = FocusMe;\r\n angular.module('formApp')\r\n .directive('focusMe', FocusMe.factory());\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=focusMe.js.map","var formApp;\r\n(function (formApp) {\r\n var NgEnter = (function () {\r\n function NgEnter() {\r\n this.scope = {\r\n callbackFn: '&'\r\n };\r\n }\r\n NgEnter.prototype.link = function (scope, element, attrs) {\r\n element.bind('keypress', function (event) {\r\n if (event.which === 13) {\r\n scope.$apply(function () {\r\n scope.callbackFn();\r\n });\r\n event.preventDefault();\r\n }\r\n });\r\n };\r\n NgEnter.factory = function () {\r\n var directive = function () {\r\n return new NgEnter();\r\n };\r\n return directive;\r\n };\r\n return NgEnter;\r\n }());\r\n formApp.NgEnter = NgEnter;\r\n angular.module('formApp')\r\n .directive('ngEnter', NgEnter.factory());\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=ngEnter.js.map","var formApp;\r\n(function (formApp) {\r\n var NgTouchendController = (function () {\r\n function NgTouchendController($scope, $element) {\r\n this.$scope = $scope;\r\n this.$element = $element;\r\n $element.bind('touchend', onTouchEnd);\r\n function onTouchEnd(event) {\r\n var method = $element.attr('ng-touchend');\r\n $scope.$event = event;\r\n $scope.$apply(method);\r\n }\r\n }\r\n NgTouchendController.$inject = ['$scope', '$element'];\r\n return NgTouchendController;\r\n }());\r\n formApp.NgTouchendController = NgTouchendController;\r\n var NgTouchend = (function () {\r\n function NgTouchend() {\r\n this.controller = NgTouchendController;\r\n }\r\n NgTouchend.factory = function () {\r\n var directive = function () {\r\n return new NgTouchend();\r\n };\r\n return directive;\r\n };\r\n return NgTouchend;\r\n }());\r\n formApp.NgTouchend = NgTouchend;\r\n angular.module('formApp')\r\n .directive('ngTouchend', NgTouchend.factory());\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=ngTouchend.js.map","var formApp;\r\n(function (formApp) {\r\n var OnFocusOut = (function () {\r\n function OnFocusOut() {\r\n this.scope = {\r\n focusOutCallback: '&'\r\n };\r\n }\r\n OnFocusOut.prototype.link = function (scope, element, attrs) {\r\n $(element).focusout(function () {\r\n setTimeout(function () {\r\n var newFocus = $('*:focus').attr('id');\r\n if (!newFocus || newFocus.indexOf(attrs.focusOutId) < 0) {\r\n scope.$apply(function () {\r\n scope.focusOutCallback();\r\n });\r\n }\r\n }, 50);\r\n });\r\n };\r\n OnFocusOut.factory = function () {\r\n var directive = function () {\r\n return new OnFocusOut();\r\n };\r\n return directive;\r\n };\r\n return OnFocusOut;\r\n }());\r\n formApp.OnFocusOut = OnFocusOut;\r\n angular.module('formApp')\r\n .directive('onFocusOut', OnFocusOut.factory());\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=onFocusOut.js.map","var formApp;\r\n(function (formApp) {\r\n var ResetAddressErrors = (function () {\r\n function ResetAddressErrors() {\r\n this.require = 'ngModel';\r\n }\r\n ResetAddressErrors.prototype.link = function (scope, element, attrs, modelCtrl) {\r\n if (attrs.resetAddressErrors) {\r\n element.on('change', function (element, attrs) {\r\n if (element.currentTarget &&\r\n element.currentTarget.getAttribute('reset-address-errors')) {\r\n var manualAddress = JSON.parse(element.currentTarget.getAttribute('reset-address-errors')\r\n .replace(/'/g, '\"'));\r\n var addressElementArray = element.currentTarget.id.split('-');\r\n if (scope.$parent.navTab &&\r\n scope.$parent.page &&\r\n scope.$parent.navTab.number &&\r\n scope.$parent.page.number) {\r\n var pIndex, sCode, sIndex, qCode, pageId, navNum;\r\n if (addressElementArray.length === 4) {\r\n pIndex = addressElementArray[0];\r\n sCode = addressElementArray[1];\r\n sIndex = addressElementArray[2];\r\n var responseId = scope.$parent.navTab.number + '-' + scope.$parent.page.number;\r\n if (addressElementArray.length === 4) {\r\n if (manualAddress.suburb) {\r\n scope.$parent.utility.removeFromValidationErrors(null, responseId, pIndex, sCode, sIndex, manualAddress.suburb);\r\n }\r\n if (manualAddress.state) {\r\n scope.$parent.utility.removeFromValidationErrors(null, responseId, pIndex, sCode, sIndex, manualAddress.state);\r\n }\r\n if (manualAddress.streetNumberName) {\r\n scope.$parent.utility.removeFromValidationErrors(null, responseId, pIndex, sCode, sIndex, manualAddress.streetNumberName);\r\n }\r\n if (manualAddress.postCode) {\r\n scope.$parent.utility.removeFromValidationErrors(null, responseId, pIndex, sCode, sIndex, manualAddress.postCode);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n };\r\n ResetAddressErrors.factory = function () {\r\n var directive = function () {\r\n return new ResetAddressErrors();\r\n };\r\n return directive;\r\n };\r\n return ResetAddressErrors;\r\n }());\r\n formApp.ResetAddressErrors = ResetAddressErrors;\r\n angular.module('formApp')\r\n .directive('resetAddressErrors', ResetAddressErrors.factory());\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=resetAddressErrors.js.map","var formApp;\r\n(function (formApp) {\r\n var SelectOnBlur = (function () {\r\n function SelectOnBlur() {\r\n this.require = 'uiSelect';\r\n }\r\n SelectOnBlur.prototype.link = function (scope, element, attrs, $select) {\r\n var self = this;\r\n var searchInput = element.querySelectorAll('input.ui-select-search');\r\n if (searchInput.length === 1) {\r\n if (attrs.onBlurCallback) {\r\n searchInput.on('blur', function () {\r\n scope.$apply(attrs.onBlurCallback);\r\n });\r\n }\r\n searchInput.on('keydown', { select: $select }, function (event) {\r\n if (event.keyCode == 9) {\r\n event.data.select.close();\r\n event.data.select.setFocus();\r\n }\r\n });\r\n }\r\n };\r\n SelectOnBlur.factory = function () {\r\n var directive = function () {\r\n return new SelectOnBlur();\r\n };\r\n return directive;\r\n };\r\n return SelectOnBlur;\r\n }());\r\n formApp.SelectOnBlur = SelectOnBlur;\r\n angular.module('formApp')\r\n .directive('selectOnBlur', SelectOnBlur.factory());\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=selectOnBlur.js.map","var formApp;\r\n(function (formApp) {\r\n var TechnicalDetails = (function () {\r\n function TechnicalDetails() {\r\n this.restrict = 'E';\r\n this.templateUrl = 'app/partials/core/technicalDetails.html';\r\n this.scope = {\r\n error: '='\r\n };\r\n }\r\n TechnicalDetails.factory = function () {\r\n var directive = function () {\r\n return new TechnicalDetails();\r\n };\r\n return directive;\r\n };\r\n return TechnicalDetails;\r\n }());\r\n formApp.TechnicalDetails = TechnicalDetails;\r\n angular.module('formApp')\r\n .directive('technicalDetails', TechnicalDetails.factory());\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=technicalDetails.js.map","var formApp;\r\n(function (formApp) {\r\n var UserLoginDetails = (function () {\r\n function UserLoginDetails() {\r\n this.restrict = 'E';\r\n this.templateUrl = 'app/partials/core/userLoginDetails.html';\r\n this.scope = {\r\n title: '@',\r\n details: '='\r\n };\r\n }\r\n UserLoginDetails.factory = function () {\r\n var directive = function () {\r\n return new UserLoginDetails();\r\n };\r\n return directive;\r\n };\r\n return UserLoginDetails;\r\n }());\r\n formApp.UserLoginDetails = UserLoginDetails;\r\n angular.module('formApp')\r\n .directive('userLoginDetails', UserLoginDetails.factory());\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=userLoginDetails.js.map","var formApp;\r\n(function (formApp) {\r\n var ValidationClick = (function () {\r\n function ValidationClick($timeout) {\r\n this.$timeout = $timeout;\r\n }\r\n ValidationClick.prototype.link = function (scope, element, attrs) {\r\n var self = this;\r\n element.bind('keydown keypress mouseup', function (event) {\r\n if ((event.which === 13 && event.type === 'keydown') ||\r\n (event.type === 'mouseup' && event.which !== 3) ||\r\n event.type === 'click') {\r\n setTimeout(function () {\r\n scope.$apply(function () { scope.$eval(attrs.validationClick); });\r\n }, 60);\r\n }\r\n });\r\n };\r\n ValidationClick.factory = function () {\r\n var directive = function ($timeout) {\r\n return new ValidationClick($timeout);\r\n };\r\n directive.$inject = ['$timeout'];\r\n return directive;\r\n };\r\n return ValidationClick;\r\n }());\r\n formApp.ValidationClick = ValidationClick;\r\n angular.module('formApp')\r\n .directive('validationClick', ValidationClick.factory());\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=validationClick.js.map","var formApp;\r\n(function (formApp) {\r\n function customPartials() {\r\n return function (sections, partialNames) {\r\n return _.filter(sections, function (section) {\r\n return section.hasCustomPartial &&\r\n _.some(partialNames, function (partialName) {\r\n return section.customPartialName == partialName;\r\n });\r\n });\r\n };\r\n }\r\n formApp.customPartials = customPartials;\r\n angular.module('formApp').filter('customPartials', customPartials);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=customPartials.js.map","var formApp;\r\n(function (formApp) {\r\n function isQuestionVisible($rootScope) {\r\n return function (questions, pIndex, section, sIndex, scope) {\r\n return questions.filter(function (question) {\r\n return question.question && question.controlType && scope.$eval(question.condition, { p$: scope.setQuestionParams(pIndex, sIndex, section.code) }) !== false;\r\n });\r\n };\r\n }\r\n formApp.isQuestionVisible = isQuestionVisible;\r\n isQuestionVisible.$inject = ['$rootScope'];\r\n angular.module('formApp').filter('isQuestionVisible', isQuestionVisible);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=isQuestionVisible.js.map","var formApp;\r\n(function (formApp) {\r\n function isSectionVisible($rootScope) {\r\n return function (sections, pIndex, scope) {\r\n return sections.filter(function (section) {\r\n return scope.$eval(section.condition, { p$: scope.setQuestionParams(pIndex, 0, section.code) }) !== false;\r\n });\r\n };\r\n }\r\n formApp.isSectionVisible = isSectionVisible;\r\n isSectionVisible.$inject = ['$rootScope'];\r\n angular.module('formApp').filter('isSectionVisible', isSectionVisible);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=isSectionVisible.js.map","window['pbi'] = window['powerbi-client'];\r\n//# sourceMappingURL=imports.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n var ActionBaseResponseDto = (function () {\r\n function ActionBaseResponseDto(totalRecords, maxRecords, hasMoreRecords) {\r\n this.totalRecords = totalRecords;\r\n this.maxRecords = maxRecords;\r\n this.hasMoreRecords = hasMoreRecords;\r\n }\r\n return ActionBaseResponseDto;\r\n }());\r\n formApp.ActionBaseResponseDto = ActionBaseResponseDto;\r\n var GetActionsResponseDto = (function (_super) {\r\n __extends(GetActionsResponseDto, _super);\r\n function GetActionsResponseDto(totalRecords, maxRecords, hasMoreRecords, actions) {\r\n var _this = _super.call(this, totalRecords, maxRecords, hasMoreRecords) || this;\r\n _this.actions = actions;\r\n return _this;\r\n }\r\n return GetActionsResponseDto;\r\n }(ActionBaseResponseDto));\r\n formApp.GetActionsResponseDto = GetActionsResponseDto;\r\n var ManageActionFilters = (function () {\r\n function ManageActionFilters() {\r\n this.dueDateRangeList = [];\r\n this.dateCreatedRangeList = [];\r\n this.wardLocationList = [];\r\n this.specialtyUnitList = [];\r\n this.assignedTo = [];\r\n this.resetFilterSelections();\r\n }\r\n ManageActionFilters.prototype.resetFilterSelections = function () {\r\n this.searchPhrase = '';\r\n this.selectedWardLocation = ManageActionFilters.ShowAll;\r\n this.selectedSpecialtyUnit = ManageActionFilters.ShowAll;\r\n this.selectedAssignedTo = ManageActionFilters.MyActions;\r\n this.selectedDueDateRange = ManageActionFilters.ShowAll;\r\n this.selectedDateCreatedRange = ManageActionFilters.ShowAll;\r\n };\r\n ManageActionFilters.ShowAll = '';\r\n ManageActionFilters.MyActions = '1';\r\n return ManageActionFilters;\r\n }());\r\n formApp.ManageActionFilters = ManageActionFilters;\r\n var ActionFullTextSearchDto = (function () {\r\n function ActionFullTextSearchDto() {\r\n }\r\n return ActionFullTextSearchDto;\r\n }());\r\n formApp.ActionFullTextSearchDto = ActionFullTextSearchDto;\r\n var ActionTypeInfo = (function () {\r\n function ActionTypeInfo() {\r\n }\r\n return ActionTypeInfo;\r\n }());\r\n formApp.ActionTypeInfo = ActionTypeInfo;\r\n var EntityActionConfig = (function () {\r\n function EntityActionConfig() {\r\n }\r\n return EntityActionConfig;\r\n }());\r\n formApp.EntityActionConfig = EntityActionConfig;\r\n var EntityActionMapping = (function () {\r\n function EntityActionMapping() {\r\n }\r\n EntityActionMapping.incidentAction = {\r\n 0: {\r\n navTabNo: 6,\r\n entityType: 'hazard',\r\n actionTypes: [\r\n { actionTypeId: 1, pageNo: 1, pageUrl: 'notify', assigneeSectionCode: 'notifyAssignee', userLookupQuestionCode: 'notifyAssigneeUserLookup' },\r\n { actionTypeId: 2, pageNo: 2, pageUrl: 'task', assigneeSectionCode: 'taskAssignee', userLookupQuestionCode: 'taskAssigneeUserLookup' },\r\n { actionTypeId: 4, pageNo: 3, pageUrl: 'review', assigneeSectionCode: 'reviewAssignee', userLookupQuestionCode: 'reviewAssigneeUserLookup' },\r\n { actionTypeId: 3, pageNo: 4, pageUrl: 'recommend', assigneeSectionCode: 'recommendAssignee', userLookupQuestionCode: 'recommendAssigneeUserLookup' }\r\n ]\r\n },\r\n 1: {\r\n navTabNo: 6,\r\n entityType: 'clinical',\r\n actionTypes: [\r\n { actionTypeId: 1, pageNo: 1, pageUrl: 'notify', assigneeSectionCode: 'notifyAssignee', userLookupQuestionCode: 'notifyAssigneeUserLookup' },\r\n { actionTypeId: 2, pageNo: 2, pageUrl: 'task', assigneeSectionCode: 'taskAssignee', userLookupQuestionCode: 'taskAssigneeUserLookup' },\r\n { actionTypeId: 4, pageNo: 3, pageUrl: 'review', assigneeSectionCode: 'reviewAssignee', userLookupQuestionCode: 'reviewAssigneeUserLookup' },\r\n { actionTypeId: 3, pageNo: 4, pageUrl: 'recommend', assigneeSectionCode: 'recommendAssignee', userLookupQuestionCode: 'recommendAssigneeUserLookup' }\r\n ]\r\n },\r\n 2: {\r\n navTabNo: 7,\r\n entityType: 'ohsstaff',\r\n actionTypes: [\r\n { actionTypeId: 1, pageNo: 1, pageUrl: 'notify', assigneeSectionCode: 'notifyAssignee', userLookupQuestionCode: 'notifyAssigneeUserLookup' },\r\n { actionTypeId: 2, pageNo: 2, pageUrl: 'task', assigneeSectionCode: 'taskAssignee', userLookupQuestionCode: 'taskAssigneeUserLookup' },\r\n { actionTypeId: 4, pageNo: 3, pageUrl: 'review', assigneeSectionCode: 'reviewAssignee', userLookupQuestionCode: 'reviewAssigneeUserLookup' },\r\n { actionTypeId: 3, pageNo: 4, pageUrl: 'recommend', assigneeSectionCode: 'recommendAssignee', userLookupQuestionCode: 'recommendAssigneeUserLookup' },\r\n { actionTypeId: 5, pageNo: 5, pageUrl: 'prevent', assigneeSectionCode: 'preventAssignee', userLookupQuestionCode: 'preventAssigneeUserLookup' }\r\n ]\r\n },\r\n 3: {\r\n navTabNo: 6,\r\n entityType: 'ohsvisitor',\r\n actionTypes: [\r\n { actionTypeId: 1, pageNo: 1, pageUrl: 'notify', assigneeSectionCode: 'notifyAssignee', userLookupQuestionCode: 'notifyAssigneeUserLookup' },\r\n { actionTypeId: 2, pageNo: 2, pageUrl: 'task', assigneeSectionCode: 'taskAssignee', userLookupQuestionCode: 'taskAssigneeUserLookup' },\r\n { actionTypeId: 4, pageNo: 3, pageUrl: 'review', assigneeSectionCode: 'reviewAssignee', userLookupQuestionCode: 'reviewAssigneeUserLookup' },\r\n { actionTypeId: 3, pageNo: 4, pageUrl: 'recommend', assigneeSectionCode: 'recommendAssignee', userLookupQuestionCode: 'recommendAssigneeUserLookup' },\r\n { actionTypeId: 5, pageNo: 5, pageUrl: 'prevent', assigneeSectionCode: 'preventAssignee', userLookupQuestionCode: 'preventAssigneeUserLookup' }\r\n ]\r\n }\r\n };\r\n EntityActionMapping.feedbackAction = {\r\n navTabNo: 3,\r\n entityType: 'feedback',\r\n actionTypes: [\r\n { actionTypeId: 1, pageNo: 1, pageUrl: 'investigation', assigneeSectionCode: 'investigationAssignee', userLookupQuestionCode: 'investigationAssigneeUserLookup' },\r\n { actionTypeId: 2, pageNo: 2, pageUrl: 'task', assigneeSectionCode: 'taskAssignee', userLookupQuestionCode: 'taskAssigneeUserLookup' },\r\n { actionTypeId: 3, pageNo: 3, pageUrl: 'recommend', assigneeSectionCode: 'recommendAssignee', userLookupQuestionCode: 'recommendAssigneeUserLookup' }\r\n ]\r\n };\r\n EntityActionMapping.sentinelEventAction = {\r\n navTabNo: 15,\r\n entityType: 'sentinel',\r\n actionTypes: [\r\n { actionTypeId: 1, pageNo: 1, pageUrl: 'notify', assigneeSectionCode: 'notifyAssignee', userLookupQuestionCode: 'notifyAssigneeUserLookup' },\r\n { actionTypeId: 2, pageNo: 2, pageUrl: 'task', assigneeSectionCode: 'taskAssignee', userLookupQuestionCode: 'taskAssigneeUserLookup' },\r\n { actionTypeId: 3, pageNo: 3, pageUrl: 'assignreviewer', assigneeSectionCode: 'assignReviewerAssignee', userLookupQuestionCode: 'assignReviewerAssigneeUserLookup' },\r\n { actionTypeId: 4, pageNo: 4, pageUrl: 'scvassignreviewer', assigneeSectionCode: 'scvAssignReviewerAssignee', userLookupQuestionCode: 'scvAssignReviewerAssigneeUserLookup' },\r\n { actionTypeId: 5, pageNo: 5, pageUrl: 'scvtask', assigneeSectionCode: 'scvTaskAssignee', userLookupQuestionCode: 'scvTaskAssigneeUserLookup' }\r\n ]\r\n };\r\n return EntityActionMapping;\r\n }());\r\n formApp.EntityActionMapping = EntityActionMapping;\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=action.js.map","var formApp;\r\n(function (formApp) {\r\n var ActionAssignee = (function () {\r\n function ActionAssignee() {\r\n }\r\n ActionAssignee.sections = [\r\n { sectionCode: 'notifyAssignee', userLookupQuestionCode: 'notifyAssigneeUserLookup', duplicateAssigneePopupCode: 'duplicateActionRecipients' },\r\n { sectionCode: 'taskAssignee', userLookupQuestionCode: 'taskAssigneeUserLookup', duplicateAssigneePopupCode: 'duplicateActionAssignees' },\r\n { sectionCode: 'reviewAssignee', userLookupQuestionCode: 'reviewAssigneeUserLookup', duplicateAssigneePopupCode: 'duplicateActionAssignees' },\r\n { sectionCode: 'recommendAssignee', userLookupQuestionCode: 'recommendAssigneeUserLookup', duplicateAssigneePopupCode: 'duplicateActionAssignees' },\r\n { sectionCode: 'preventAssignee', userLookupQuestionCode: 'preventAssigneeUserLookup', duplicateAssigneePopupCode: 'duplicateActionAssignees' },\r\n { sectionCode: 'investigationAssignee', userLookupQuestionCode: 'investigationAssigneeUserLookup', duplicateAssigneePopupCode: 'duplicateActionAssignees' },\r\n { sectionCode: 'assignReviewerAssignee', userLookupQuestionCode: 'assignReviewerAssigneeUserLookup', duplicateAssigneePopupCode: 'duplicateActionAssignees' },\r\n { sectionCode: 'scvAssignReviewerAssignee', userLookupQuestionCode: 'scvAssignReviewerAssigneeUserLookup', duplicateAssigneePopupCode: 'duplicateActionAssignees' },\r\n { sectionCode: 'scvTaskAssignee', userLookupQuestionCode: 'scvTaskAssigneeUserLookup', duplicateAssigneePopupCode: 'duplicateActionAssignees' }\r\n ];\r\n ActionAssignee.sectionCodes = ActionAssignee.sections.map(function (item) { return item.sectionCode; });\r\n ActionAssignee.userLookupQuestionCodeMap = (function () {\r\n var result = {};\r\n angular.forEach(ActionAssignee.sections, function (item) {\r\n result[item.sectionCode] = item.userLookupQuestionCode;\r\n });\r\n return result;\r\n })();\r\n ActionAssignee.duplicateAssigneePopupCodeMap = (function () {\r\n var result = {};\r\n angular.forEach(ActionAssignee.sections, function (item) {\r\n result[item.sectionCode] = item.duplicateAssigneePopupCode;\r\n });\r\n return result;\r\n })();\r\n ActionAssignee.isAssigneeSectionCode = function (sectionCode) {\r\n return ActionAssignee.sectionCodes.some(function (item) { return item.toLowerCase() === sectionCode.toLowerCase(); });\r\n };\r\n ActionAssignee.areSameSections = function (sectionCode, section1, section2) {\r\n var questionCode = ActionAssignee.userLookupQuestionCodeMap[sectionCode];\r\n return section1 && section1[questionCode] && section1[questionCode].code &&\r\n section2 && section2[questionCode] && section2[questionCode].code &&\r\n section1[questionCode].code.toLowerCase() === section2[questionCode].code.toLowerCase();\r\n };\r\n ActionAssignee.getDuplicateAssigneePopupCode = function (sCode) { return ActionAssignee.duplicateAssigneePopupCodeMap[sCode]; };\r\n return ActionAssignee;\r\n }());\r\n formApp.ActionAssignee = ActionAssignee;\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=actionAssignee.js.map","var formApp;\r\n(function (formApp) {\r\n var AuditHistoryDto = (function () {\r\n function AuditHistoryDto() {\r\n }\r\n return AuditHistoryDto;\r\n }());\r\n formApp.AuditHistoryDto = AuditHistoryDto;\r\n var GetAuditHistoryResponseDto = (function () {\r\n function GetAuditHistoryResponseDto() {\r\n }\r\n return GetAuditHistoryResponseDto;\r\n }());\r\n formApp.GetAuditHistoryResponseDto = GetAuditHistoryResponseDto;\r\n var GetAuditHistoryRequestDto = (function () {\r\n function GetAuditHistoryRequestDto() {\r\n }\r\n return GetAuditHistoryRequestDto;\r\n }());\r\n formApp.GetAuditHistoryRequestDto = GetAuditHistoryRequestDto;\r\n var AuditHistoryDetailsDto = (function () {\r\n function AuditHistoryDetailsDto() {\r\n }\r\n return AuditHistoryDetailsDto;\r\n }());\r\n formApp.AuditHistoryDetailsDto = AuditHistoryDetailsDto;\r\n var ManageAuditHistoryFilters = (function () {\r\n function ManageAuditHistoryFilters() {\r\n var self = this;\r\n self.auditDateRangeList = [];\r\n self.auditTypeList = [];\r\n self.resetFilterSelections();\r\n }\r\n ManageAuditHistoryFilters.prototype.resetFilterSelections = function () {\r\n var self = this;\r\n self.selectedAuditDateRange = ManageAuditHistoryFilters.dateRangeLastWeek;\r\n self.selectedAuditTypes = [self.allAuditTypes()[1].code];\r\n self.selectedUser = null;\r\n };\r\n ManageAuditHistoryFilters.prototype.allAuditTypes = function () {\r\n return [\r\n { code: \"\" + formApp.AuditType.View, text: 'View' },\r\n { code: formApp.AuditType.Create + \"|\" + formApp.AuditType.Update, text: 'Edit' },\r\n { code: \"\" + formApp.AuditType.Notify, text: 'Notify' }\r\n ];\r\n };\r\n ManageAuditHistoryFilters.dateRangeLastWeek = '2';\r\n return ManageAuditHistoryFilters;\r\n }());\r\n formApp.ManageAuditHistoryFilters = ManageAuditHistoryFilters;\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=auditHistory.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n var GetCaseByIdResponseDto = (function () {\r\n function GetCaseByIdResponseDto() {\r\n }\r\n return GetCaseByIdResponseDto;\r\n }());\r\n formApp.GetCaseByIdResponseDto = GetCaseByIdResponseDto;\r\n var DraftCaseDto = (function () {\r\n function DraftCaseDto() {\r\n }\r\n return DraftCaseDto;\r\n }());\r\n formApp.DraftCaseDto = DraftCaseDto;\r\n var FormRequestDto = (function () {\r\n function FormRequestDto() {\r\n }\r\n return FormRequestDto;\r\n }());\r\n formApp.FormRequestDto = FormRequestDto;\r\n var CaseRequestDto = (function (_super) {\r\n __extends(CaseRequestDto, _super);\r\n function CaseRequestDto() {\r\n return _super.call(this) || this;\r\n }\r\n return CaseRequestDto;\r\n }(FormRequestDto));\r\n formApp.CaseRequestDto = CaseRequestDto;\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=case.js.map","var formApp;\r\n(function (formApp) {\r\n var PageNavigationItem = (function () {\r\n function PageNavigationItem() {\r\n }\r\n return PageNavigationItem;\r\n }());\r\n formApp.PageNavigationItem = PageNavigationItem;\r\n var FlatNavigationItem = (function () {\r\n function FlatNavigationItem() {\r\n }\r\n return FlatNavigationItem;\r\n }());\r\n formApp.FlatNavigationItem = FlatNavigationItem;\r\n var CurrentLayoutNavigationState = (function () {\r\n function CurrentLayoutNavigationState() {\r\n }\r\n return CurrentLayoutNavigationState;\r\n }());\r\n formApp.CurrentLayoutNavigationState = CurrentLayoutNavigationState;\r\n var Page = (function () {\r\n function Page() {\r\n }\r\n return Page;\r\n }());\r\n formApp.Page = Page;\r\n var Section = (function () {\r\n function Section() {\r\n }\r\n return Section;\r\n }());\r\n formApp.Section = Section;\r\n var PageWatch = (function () {\r\n function PageWatch() {\r\n }\r\n return PageWatch;\r\n }());\r\n formApp.PageWatch = PageWatch;\r\n var QuestionParams = (function () {\r\n function QuestionParams() {\r\n }\r\n return QuestionParams;\r\n }());\r\n formApp.QuestionParams = QuestionParams;\r\n var Button = (function () {\r\n function Button() {\r\n }\r\n return Button;\r\n }());\r\n formApp.Button = Button;\r\n var Validation = (function () {\r\n function Validation() {\r\n }\r\n return Validation;\r\n }());\r\n formApp.Validation = Validation;\r\n var Trigger = (function () {\r\n function Trigger() {\r\n }\r\n return Trigger;\r\n }());\r\n formApp.Trigger = Trigger;\r\n var NavigationTab = (function () {\r\n function NavigationTab() {\r\n }\r\n return NavigationTab;\r\n }());\r\n formApp.NavigationTab = NavigationTab;\r\n var ConfigData = (function () {\r\n function ConfigData() {\r\n }\r\n return ConfigData;\r\n }());\r\n formApp.ConfigData = ConfigData;\r\n var FormConfigurationConfig = (function () {\r\n function FormConfigurationConfig() {\r\n }\r\n return FormConfigurationConfig;\r\n }());\r\n formApp.FormConfigurationConfig = FormConfigurationConfig;\r\n var FormConfigurationRequestDto = (function () {\r\n function FormConfigurationRequestDto() {\r\n }\r\n return FormConfigurationRequestDto;\r\n }());\r\n formApp.FormConfigurationRequestDto = FormConfigurationRequestDto;\r\n var FormConfiguration = (function () {\r\n function FormConfiguration() {\r\n }\r\n return FormConfiguration;\r\n }());\r\n formApp.FormConfiguration = FormConfiguration;\r\n var NavTabPageIndex = (function () {\r\n function NavTabPageIndex(navTabNumber, pageNumber) {\r\n this.navTabNumber = navTabNumber;\r\n this.pageNumber = pageNumber;\r\n }\r\n NavTabPageIndex.compare = function (navTabPageLeft, navTabPageRight) {\r\n var result = navTabPageRight.navTabNumber - navTabPageLeft.navTabNumber;\r\n if (result === 0) {\r\n result = navTabPageRight.pageNumber - navTabPageLeft.pageNumber;\r\n }\r\n return result;\r\n };\r\n return NavTabPageIndex;\r\n }());\r\n formApp.NavTabPageIndex = NavTabPageIndex;\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=configModel.js.map","var formApp;\r\n(function (formApp) {\r\n var IncidentType;\r\n (function (IncidentType) {\r\n IncidentType[IncidentType[\"Clinical\"] = 2] = \"Clinical\";\r\n IncidentType[IncidentType[\"OHS\"] = 3] = \"OHS\";\r\n IncidentType[IncidentType[\"Hazard\"] = 4] = \"Hazard\";\r\n })(IncidentType = formApp.IncidentType || (formApp.IncidentType = {}));\r\n var TemplateType;\r\n (function (TemplateType) {\r\n TemplateType[TemplateType[\"Clinical\"] = 3] = \"Clinical\";\r\n TemplateType[TemplateType[\"OhsStaff\"] = 4] = \"OhsStaff\";\r\n TemplateType[TemplateType[\"Hazard\"] = 5] = \"Hazard\";\r\n TemplateType[TemplateType[\"OhsVisitor\"] = 7] = \"OhsVisitor\";\r\n })(TemplateType = formApp.TemplateType || (formApp.TemplateType = {}));\r\n var PersonType;\r\n (function (PersonType) {\r\n PersonType[PersonType[\"None\"] = 0] = \"None\";\r\n PersonType[PersonType[\"Patient\"] = 1] = \"Patient\";\r\n PersonType[PersonType[\"Staff\"] = 2] = \"Staff\";\r\n PersonType[PersonType[\"Visitor\"] = 3] = \"Visitor\";\r\n })(PersonType = formApp.PersonType || (formApp.PersonType = {}));\r\n var CaseStatus;\r\n (function (CaseStatus) {\r\n CaseStatus[CaseStatus[\"Draft\"] = 1] = \"Draft\";\r\n CaseStatus[CaseStatus[\"Completed\"] = 2] = \"Completed\";\r\n CaseStatus[CaseStatus[\"Cancelled\"] = 3] = \"Cancelled\";\r\n })(CaseStatus = formApp.CaseStatus || (formApp.CaseStatus = {}));\r\n var Status;\r\n (function (Status) {\r\n Status[Status[\"Submitted\"] = 0] = \"Submitted\";\r\n Status[Status[\"UnderInvestigation\"] = 1] = \"UnderInvestigation\";\r\n Status[Status[\"OutstandingActions\"] = 2] = \"OutstandingActions\";\r\n Status[Status[\"Closed\"] = 3] = \"Closed\";\r\n })(Status = formApp.Status || (formApp.Status = {}));\r\n var FeedbackStatus;\r\n (function (FeedbackStatus) {\r\n FeedbackStatus[FeedbackStatus[\"Open\"] = 0] = \"Open\";\r\n FeedbackStatus[FeedbackStatus[\"OutstandingActions\"] = 1] = \"OutstandingActions\";\r\n FeedbackStatus[FeedbackStatus[\"Closed\"] = 2] = \"Closed\";\r\n })(FeedbackStatus = formApp.FeedbackStatus || (formApp.FeedbackStatus = {}));\r\n var SentinelEventStatus;\r\n (function (SentinelEventStatus) {\r\n SentinelEventStatus[SentinelEventStatus[\"Draft\"] = 0] = \"Draft\";\r\n SentinelEventStatus[SentinelEventStatus[\"Submitted\"] = 1] = \"Submitted\";\r\n SentinelEventStatus[SentinelEventStatus[\"Pending\"] = 2] = \"Pending\";\r\n SentinelEventStatus[SentinelEventStatus[\"ResubmissionRequested\"] = 3] = \"ResubmissionRequested\";\r\n SentinelEventStatus[SentinelEventStatus[\"EventNotAccepted\"] = 4] = \"EventNotAccepted\";\r\n SentinelEventStatus[SentinelEventStatus[\"MinorResubmissionRequested\"] = 5] = \"MinorResubmissionRequested\";\r\n SentinelEventStatus[SentinelEventStatus[\"ReviewPending\"] = 6] = \"ReviewPending\";\r\n SentinelEventStatus[SentinelEventStatus[\"Overdue\"] = 7] = \"Overdue\";\r\n SentinelEventStatus[SentinelEventStatus[\"Closed\"] = 8] = \"Closed\";\r\n SentinelEventStatus[SentinelEventStatus[\"AcceptedABPending\"] = 9] = \"AcceptedABPending\";\r\n SentinelEventStatus[SentinelEventStatus[\"NotAcceptedABPending\"] = 10] = \"NotAcceptedABPending\";\r\n })(SentinelEventStatus = formApp.SentinelEventStatus || (formApp.SentinelEventStatus = {}));\r\n var SentinelEventStage;\r\n (function (SentinelEventStage) {\r\n SentinelEventStage[SentinelEventStage[\"Notification\"] = 0] = \"Notification\";\r\n SentinelEventStage[SentinelEventStage[\"PartAandB\"] = 1] = \"PartAandB\";\r\n SentinelEventStage[SentinelEventStage[\"ExtensionRequest\"] = 2] = \"ExtensionRequest\";\r\n SentinelEventStage[SentinelEventStage[\"PartC\"] = 3] = \"PartC\";\r\n SentinelEventStage[SentinelEventStage[\"PartD6m\"] = 4] = \"PartD6m\";\r\n SentinelEventStage[SentinelEventStage[\"CommitteeReview\"] = 5] = \"CommitteeReview\";\r\n SentinelEventStage[SentinelEventStage[\"FullReport\"] = 6] = \"FullReport\";\r\n SentinelEventStage[SentinelEventStage[\"PartD12m\"] = 7] = \"PartD12m\";\r\n })(SentinelEventStage = formApp.SentinelEventStage || (formApp.SentinelEventStage = {}));\r\n var SaveOperation;\r\n (function (SaveOperation) {\r\n SaveOperation[SaveOperation[\"Save\"] = 0] = \"Save\";\r\n SaveOperation[SaveOperation[\"Close\"] = 1] = \"Close\";\r\n SaveOperation[SaveOperation[\"Reopen\"] = 2] = \"Reopen\";\r\n SaveOperation[SaveOperation[\"Submit\"] = 3] = \"Submit\";\r\n SaveOperation[SaveOperation[\"ApproveNotification\"] = 4] = \"ApproveNotification\";\r\n SaveOperation[SaveOperation[\"RejectNotification\"] = 5] = \"RejectNotification\";\r\n })(SaveOperation = formApp.SaveOperation || (formApp.SaveOperation = {}));\r\n var SentinelSaveOperation;\r\n (function (SentinelSaveOperation) {\r\n SentinelSaveOperation[SentinelSaveOperation[\"Save\"] = 0] = \"Save\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"SubmitNotification\"] = 1] = \"SubmitNotification\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"ApproveNotification\"] = 2] = \"ApproveNotification\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"RejectNotification\"] = 3] = \"RejectNotification\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"ResubmissionRequestedNotification\"] = 4] = \"ResubmissionRequestedNotification\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"ExtensionRequestSubmitted\"] = 5] = \"ExtensionRequestSubmitted\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"ExtensionRequestApproved\"] = 6] = \"ExtensionRequestApproved\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"ExtensionRequestRefused\"] = 7] = \"ExtensionRequestRefused\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"SubmitReportAandB\"] = 8] = \"SubmitReportAandB\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"ReportCReviewPending\"] = 9] = \"ReportCReviewPending\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"ReportAandBReviewPending\"] = 10] = \"ReportAandBReviewPending\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"ResubmissionRequestedAandB\"] = 11] = \"ResubmissionRequestedAandB\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"ApproveReportAandB\"] = 12] = \"ApproveReportAandB\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"SubmitReportC\"] = 13] = \"SubmitReportC\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"ApproveReportC\"] = 14] = \"ApproveReportC\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"RejectReportC\"] = 15] = \"RejectReportC\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"CommitteeReviewComplete\"] = 16] = \"CommitteeReviewComplete\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"SubmitReportD\"] = 17] = \"SubmitReportD\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"ResubmissionRequestedC\"] = 18] = \"ResubmissionRequestedC\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"MinorResubmissionRequestedC\"] = 19] = \"MinorResubmissionRequestedC\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"CommitteeReview\"] = 20] = \"CommitteeReview\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"ApprovePartDSixMonth\"] = 21] = \"ApprovePartDSixMonth\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"TwelveMonthUpdateRequiredPartDSixMonth\"] = 22] = \"TwelveMonthUpdateRequiredPartDSixMonth\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"ResubmissionRequestedPartDSixMonth\"] = 23] = \"ResubmissionRequestedPartDSixMonth\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"ApprovePartDTwelveMonth\"] = 24] = \"ApprovePartDTwelveMonth\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"ResubmissionRequestedPartDTwelveMonth\"] = 25] = \"ResubmissionRequestedPartDTwelveMonth\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"SubmitPartDSixMonth\"] = 26] = \"SubmitPartDSixMonth\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"SubmitPartDTwelveMonth\"] = 27] = \"SubmitPartDTwelveMonth\";\r\n SentinelSaveOperation[SentinelSaveOperation[\"ExtensionRequestApprovedPartial\"] = 28] = \"ExtensionRequestApprovedPartial\";\r\n })(SentinelSaveOperation = formApp.SentinelSaveOperation || (formApp.SentinelSaveOperation = {}));\r\n var FormConfigurationTemplateOptions;\r\n (function (FormConfigurationTemplateOptions) {\r\n FormConfigurationTemplateOptions[FormConfigurationTemplateOptions[\"None\"] = 0] = \"None\";\r\n FormConfigurationTemplateOptions[FormConfigurationTemplateOptions[\"Case\"] = 1] = \"Case\";\r\n FormConfigurationTemplateOptions[FormConfigurationTemplateOptions[\"User\"] = 2] = \"User\";\r\n FormConfigurationTemplateOptions[FormConfigurationTemplateOptions[\"Clinical\"] = 3] = \"Clinical\";\r\n FormConfigurationTemplateOptions[FormConfigurationTemplateOptions[\"OhsStaff\"] = 4] = \"OhsStaff\";\r\n FormConfigurationTemplateOptions[FormConfigurationTemplateOptions[\"Hazard\"] = 5] = \"Hazard\";\r\n FormConfigurationTemplateOptions[FormConfigurationTemplateOptions[\"Feedback\"] = 6] = \"Feedback\";\r\n FormConfigurationTemplateOptions[FormConfigurationTemplateOptions[\"OhsVisitor\"] = 7] = \"OhsVisitor\";\r\n FormConfigurationTemplateOptions[FormConfigurationTemplateOptions[\"Team\"] = 8] = \"Team\";\r\n FormConfigurationTemplateOptions[FormConfigurationTemplateOptions[\"Notification\"] = 9] = \"Notification\";\r\n FormConfigurationTemplateOptions[FormConfigurationTemplateOptions[\"Organisation\"] = 10] = \"Organisation\";\r\n FormConfigurationTemplateOptions[FormConfigurationTemplateOptions[\"FeedbackNotification\"] = 11] = \"FeedbackNotification\";\r\n FormConfigurationTemplateOptions[FormConfigurationTemplateOptions[\"SentinelEvent\"] = 12] = \"SentinelEvent\";\r\n })(FormConfigurationTemplateOptions = formApp.FormConfigurationTemplateOptions || (formApp.FormConfigurationTemplateOptions = {}));\r\n var ResultStatusCode;\r\n (function (ResultStatusCode) {\r\n ResultStatusCode[ResultStatusCode[\"NoMatchingRow\"] = 1] = \"NoMatchingRow\";\r\n ResultStatusCode[ResultStatusCode[\"UpdatedSinceReadTime\"] = 2] = \"UpdatedSinceReadTime\";\r\n ResultStatusCode[ResultStatusCode[\"Success\"] = 3] = \"Success\";\r\n ResultStatusCode[ResultStatusCode[\"InsertFailed\"] = 4] = \"InsertFailed\";\r\n ResultStatusCode[ResultStatusCode[\"UpdateFailed\"] = 5] = \"UpdateFailed\";\r\n ResultStatusCode[ResultStatusCode[\"DuplicateRow\"] = 6] = \"DuplicateRow\";\r\n })(ResultStatusCode = formApp.ResultStatusCode || (formApp.ResultStatusCode = {}));\r\n var SaveUserResultCode;\r\n (function (SaveUserResultCode) {\r\n SaveUserResultCode[SaveUserResultCode[\"NoMatchingRow\"] = 1] = \"NoMatchingRow\";\r\n SaveUserResultCode[SaveUserResultCode[\"UserUpdatedSinceReadTime\"] = 2] = \"UserUpdatedSinceReadTime\";\r\n SaveUserResultCode[SaveUserResultCode[\"Success\"] = 3] = \"Success\";\r\n SaveUserResultCode[SaveUserResultCode[\"DuplicateExternalId\"] = 4] = \"DuplicateExternalId\";\r\n SaveUserResultCode[SaveUserResultCode[\"Failed\"] = 5] = \"Failed\";\r\n SaveUserResultCode[SaveUserResultCode[\"NoHsNetIdFound\"] = 6] = \"NoHsNetIdFound\";\r\n SaveUserResultCode[SaveUserResultCode[\"TransferInvalid\"] = 7] = \"TransferInvalid\";\r\n SaveUserResultCode[SaveUserResultCode[\"InvalidRole\"] = 8] = \"InvalidRole\";\r\n })(SaveUserResultCode = formApp.SaveUserResultCode || (formApp.SaveUserResultCode = {}));\r\n var OperationStatus;\r\n (function (OperationStatus) {\r\n OperationStatus[OperationStatus[\"DataNotFound\"] = 1] = \"DataNotFound\";\r\n OperationStatus[OperationStatus[\"ConcurrencyError\"] = 2] = \"ConcurrencyError\";\r\n OperationStatus[OperationStatus[\"Success\"] = 3] = \"Success\";\r\n })(OperationStatus = formApp.OperationStatus || (formApp.OperationStatus = {}));\r\n var EntityType;\r\n (function (EntityType) {\r\n EntityType[EntityType[\"None\"] = 0] = \"None\";\r\n EntityType[EntityType[\"Incident\"] = 1] = \"Incident\";\r\n EntityType[EntityType[\"Feedback\"] = 6] = \"Feedback\";\r\n EntityType[EntityType[\"SentinelEvent\"] = 12] = \"SentinelEvent\";\r\n })(EntityType = formApp.EntityType || (formApp.EntityType = {}));\r\n var AuditEntity;\r\n (function (AuditEntity) {\r\n AuditEntity[AuditEntity[\"Unknown\"] = 0] = \"Unknown\";\r\n AuditEntity[AuditEntity[\"Case\"] = 1] = \"Case\";\r\n AuditEntity[AuditEntity[\"Incident\"] = 2] = \"Incident\";\r\n AuditEntity[AuditEntity[\"Organisation\"] = 3] = \"Organisation\";\r\n AuditEntity[AuditEntity[\"User\"] = 4] = \"User\";\r\n AuditEntity[AuditEntity[\"Team\"] = 5] = \"Team\";\r\n AuditEntity[AuditEntity[\"Feedback\"] = 6] = \"Feedback\";\r\n AuditEntity[AuditEntity[\"SentinelEvent\"] = 12] = \"SentinelEvent\";\r\n })(AuditEntity = formApp.AuditEntity || (formApp.AuditEntity = {}));\r\n var AuditType;\r\n (function (AuditType) {\r\n AuditType[AuditType[\"Search\"] = 0] = \"Search\";\r\n AuditType[AuditType[\"View\"] = 1] = \"View\";\r\n AuditType[AuditType[\"Create\"] = 2] = \"Create\";\r\n AuditType[AuditType[\"Update\"] = 3] = \"Update\";\r\n AuditType[AuditType[\"Delete\"] = 4] = \"Delete\";\r\n AuditType[AuditType[\"Share\"] = 5] = \"Share\";\r\n AuditType[AuditType[\"Notify\"] = 6] = \"Notify\";\r\n })(AuditType = formApp.AuditType || (formApp.AuditType = {}));\r\n var NavigationDirection;\r\n (function (NavigationDirection) {\r\n NavigationDirection[NavigationDirection[\"Forward\"] = 1] = \"Forward\";\r\n NavigationDirection[NavigationDirection[\"Backward\"] = 2] = \"Backward\";\r\n NavigationDirection[NavigationDirection[\"ParentChild\"] = 3] = \"ParentChild\";\r\n })(NavigationDirection = formApp.NavigationDirection || (formApp.NavigationDirection = {}));\r\n var RouteType;\r\n (function (RouteType) {\r\n RouteType[RouteType[\"Unknown\"] = 0] = \"Unknown\";\r\n RouteType[RouteType[\"Dashboard\"] = 1] = \"Dashboard\";\r\n RouteType[RouteType[\"NavTab\"] = 2] = \"NavTab\";\r\n RouteType[RouteType[\"Page\"] = 3] = \"Page\";\r\n RouteType[RouteType[\"Section\"] = 4] = \"Section\";\r\n })(RouteType = formApp.RouteType || (formApp.RouteType = {}));\r\n var PatientResultCode;\r\n (function (PatientResultCode) {\r\n PatientResultCode[PatientResultCode[\"Ok\"] = 0] = \"Ok\";\r\n PatientResultCode[PatientResultCode[\"CampusNotFound\"] = 1] = \"CampusNotFound\";\r\n PatientResultCode[PatientResultCode[\"PatientNotFound\"] = 2] = \"PatientNotFound\";\r\n PatientResultCode[PatientResultCode[\"ServerError\"] = 3] = \"ServerError\";\r\n })(PatientResultCode = formApp.PatientResultCode || (formApp.PatientResultCode = {}));\r\n var ApiLookupType;\r\n (function (ApiLookupType) {\r\n ApiLookupType[ApiLookupType[\"User\"] = 1] = \"User\";\r\n ApiLookupType[ApiLookupType[\"CloUser\"] = 2] = \"CloUser\";\r\n ApiLookupType[ApiLookupType[\"Manager\"] = 3] = \"Manager\";\r\n ApiLookupType[ApiLookupType[\"Link\"] = 4] = \"Link\";\r\n ApiLookupType[ApiLookupType[\"Delegation\"] = 5] = \"Delegation\";\r\n ApiLookupType[ApiLookupType[\"AuthorisingOfficer\"] = 6] = \"AuthorisingOfficer\";\r\n ApiLookupType[ApiLookupType[\"AuditUser\"] = 7] = \"AuditUser\";\r\n ApiLookupType[ApiLookupType[\"MedicationGeneric\"] = 8] = \"MedicationGeneric\";\r\n ApiLookupType[ApiLookupType[\"MedicationBrand\"] = 9] = \"MedicationBrand\";\r\n ApiLookupType[ApiLookupType[\"SentinelEventUsers\"] = 10] = \"SentinelEventUsers\";\r\n })(ApiLookupType = formApp.ApiLookupType || (formApp.ApiLookupType = {}));\r\n var ApiSelectType;\r\n (function (ApiSelectType) {\r\n ApiSelectType[ApiSelectType[\"UserLineManager\"] = 1] = \"UserLineManager\";\r\n ApiSelectType[ApiSelectType[\"MedicationGeneric\"] = 2] = \"MedicationGeneric\";\r\n ApiSelectType[ApiSelectType[\"MedicationBrand\"] = 3] = \"MedicationBrand\";\r\n ApiSelectType[ApiSelectType[\"MedicationClass\"] = 4] = \"MedicationClass\";\r\n })(ApiSelectType = formApp.ApiSelectType || (formApp.ApiSelectType = {}));\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=enums.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n var FeedbackBaseResponseDto = (function () {\r\n function FeedbackBaseResponseDto(totalRecords, maxRecords, hasMoreRecords) {\r\n this.totalRecords = totalRecords;\r\n this.maxRecords = maxRecords;\r\n this.hasMoreRecords = hasMoreRecords;\r\n }\r\n return FeedbackBaseResponseDto;\r\n }());\r\n formApp.FeedbackBaseResponseDto = FeedbackBaseResponseDto;\r\n var FeedbackRequestDto = (function () {\r\n function FeedbackRequestDto() {\r\n }\r\n return FeedbackRequestDto;\r\n }());\r\n formApp.FeedbackRequestDto = FeedbackRequestDto;\r\n var ManageFeedbackFilters = (function () {\r\n function ManageFeedbackFilters() {\r\n this.feedbackStatusList = [];\r\n this.feedbackTypeList = [];\r\n this.dateRangeList = [];\r\n this.wardLocationList = [];\r\n this.programList = [];\r\n this.csrLevelList = [];\r\n this.resetFilterSelections();\r\n }\r\n ManageFeedbackFilters.prototype.resetFilterSelections = function () {\r\n this.searchPhrase = '';\r\n this.selectedFeedbackStatus = ManageFeedbackFilters.StatusActive;\r\n this.selectedFeedbackType = ManageFeedbackFilters.ShowAll;\r\n this.selectedDateRange = ManageFeedbackFilters.DateRangeLast6Months;\r\n this.selectedCsrLevel = ManageFeedbackFilters.ShowAll;\r\n this.selectedProgram = ManageFeedbackFilters.ShowAll;\r\n this.selectedWardLocation = ManageFeedbackFilters.ShowAll;\r\n this.selectedReadUnread = formApp.ManageIncidentFilters.ShowAll;\r\n };\r\n ManageFeedbackFilters.ShowAll = '';\r\n ManageFeedbackFilters.StatusActive = 'active';\r\n ManageFeedbackFilters.DateRangeLast6Months = '5';\r\n return ManageFeedbackFilters;\r\n }());\r\n formApp.ManageFeedbackFilters = ManageFeedbackFilters;\r\n var RemoveRestoreFeedbackRequestDto = (function () {\r\n function RemoveRestoreFeedbackRequestDto() {\r\n }\r\n return RemoveRestoreFeedbackRequestDto;\r\n }());\r\n formApp.RemoveRestoreFeedbackRequestDto = RemoveRestoreFeedbackRequestDto;\r\n var FeedbackFullTextSearchDto = (function () {\r\n function FeedbackFullTextSearchDto() {\r\n }\r\n return FeedbackFullTextSearchDto;\r\n }());\r\n formApp.FeedbackFullTextSearchDto = FeedbackFullTextSearchDto;\r\n var GetFeedbacksResponseDto = (function (_super) {\r\n __extends(GetFeedbacksResponseDto, _super);\r\n function GetFeedbacksResponseDto(totalRecords, maxRecords, hasMoreRecords, feedbacks) {\r\n var _this = _super.call(this, totalRecords, maxRecords, hasMoreRecords) || this;\r\n _this.feedbacks = feedbacks;\r\n return _this;\r\n }\r\n return GetFeedbacksResponseDto;\r\n }(FeedbackBaseResponseDto));\r\n formApp.GetFeedbacksResponseDto = GetFeedbacksResponseDto;\r\n var GetFeedbackByIdResponseDto = (function () {\r\n function GetFeedbackByIdResponseDto() {\r\n }\r\n return GetFeedbackByIdResponseDto;\r\n }());\r\n formApp.GetFeedbackByIdResponseDto = GetFeedbackByIdResponseDto;\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=feedback.js.map","var formApp;\r\n(function (formApp) {\r\n var Attachment = (function () {\r\n function Attachment() {\r\n }\r\n return Attachment;\r\n }());\r\n formApp.Attachment = Attachment;\r\n var Document = (function () {\r\n function Document(parentId, documentId, file) {\r\n this.parentId = parentId;\r\n this.documentId = documentId;\r\n this.isFocus = false;\r\n this.isDeletedDisabled = false;\r\n this.isUploaded = false;\r\n this.name = file.name;\r\n this.size = file.size;\r\n this.type = file.type;\r\n }\r\n return Document;\r\n }());\r\n formApp.Document = Document;\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=FileUpload.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n var BasePagedResponseDto = (function () {\r\n function BasePagedResponseDto(totalRecords, maxRecords, hasMoreRecords) {\r\n this.totalRecords = totalRecords;\r\n this.maxRecords = maxRecords;\r\n this.hasMoreRecords = hasMoreRecords;\r\n }\r\n return BasePagedResponseDto;\r\n }());\r\n formApp.BasePagedResponseDto = BasePagedResponseDto;\r\n var IncidentRequestDto = (function (_super) {\r\n __extends(IncidentRequestDto, _super);\r\n function IncidentRequestDto() {\r\n return _super.call(this) || this;\r\n }\r\n return IncidentRequestDto;\r\n }(formApp.FormRequestDto));\r\n formApp.IncidentRequestDto = IncidentRequestDto;\r\n var ManageIncidentFilters = (function () {\r\n function ManageIncidentFilters() {\r\n this.dateRangeList = [];\r\n this.incidentTypeList = [];\r\n this.templeteTypeList = [];\r\n this.wardLocationList = [];\r\n this.programList = [];\r\n this.isrLevelList = [];\r\n this.incidentStatusList = [];\r\n this.resetFilterSelections();\r\n }\r\n ManageIncidentFilters.prototype.resetFilterSelections = function () {\r\n this.searchPhrase = '';\r\n this.selectedIncidentStatus = ManageIncidentFilters.StatusActive;\r\n this.selectedDateRange = ManageIncidentFilters.DateRangeLast6Months;\r\n this.selectedIncidentType = ManageIncidentFilters.ShowAll;\r\n this.selectedTemplateType = ManageIncidentFilters.ShowAll;\r\n this.selectedIsrLevel = ManageIncidentFilters.ShowAll;\r\n this.selectedProgram = ManageIncidentFilters.ShowAll;\r\n this.selectedWardLocation = ManageIncidentFilters.ShowAll;\r\n this.selectedReadUnread = ManageIncidentFilters.ShowAll;\r\n };\r\n ManageIncidentFilters.ShowAll = '';\r\n ManageIncidentFilters.StatusActive = 'active';\r\n ManageIncidentFilters.DateRangeLast6Months = '5';\r\n return ManageIncidentFilters;\r\n }());\r\n formApp.ManageIncidentFilters = ManageIncidentFilters;\r\n var RemoveRestoreIncidentRequestDto = (function () {\r\n function RemoveRestoreIncidentRequestDto() {\r\n }\r\n return RemoveRestoreIncidentRequestDto;\r\n }());\r\n formApp.RemoveRestoreIncidentRequestDto = RemoveRestoreIncidentRequestDto;\r\n var CloneIncidentRequestDto = (function () {\r\n function CloneIncidentRequestDto() {\r\n }\r\n return CloneIncidentRequestDto;\r\n }());\r\n formApp.CloneIncidentRequestDto = CloneIncidentRequestDto;\r\n var CloneIncidentResponseDto = (function () {\r\n function CloneIncidentResponseDto() {\r\n }\r\n return CloneIncidentResponseDto;\r\n }());\r\n formApp.CloneIncidentResponseDto = CloneIncidentResponseDto;\r\n var IncidentFullTextSearchForDashboardDto = (function () {\r\n function IncidentFullTextSearchForDashboardDto() {\r\n }\r\n return IncidentFullTextSearchForDashboardDto;\r\n }());\r\n formApp.IncidentFullTextSearchForDashboardDto = IncidentFullTextSearchForDashboardDto;\r\n var IncidentLinkDto = (function () {\r\n function IncidentLinkDto() {\r\n }\r\n return IncidentLinkDto;\r\n }());\r\n formApp.IncidentLinkDto = IncidentLinkDto;\r\n var GetIncidentsResponseDto = (function (_super) {\r\n __extends(GetIncidentsResponseDto, _super);\r\n function GetIncidentsResponseDto(totalRecords, maxRecords, hasMoreRecords, incidents) {\r\n var _this = _super.call(this, totalRecords, maxRecords, hasMoreRecords) || this;\r\n _this.incidents = incidents;\r\n return _this;\r\n }\r\n return GetIncidentsResponseDto;\r\n }(BasePagedResponseDto));\r\n formApp.GetIncidentsResponseDto = GetIncidentsResponseDto;\r\n var GetIncidentByIdResponseDto = (function () {\r\n function GetIncidentByIdResponseDto() {\r\n }\r\n return GetIncidentByIdResponseDto;\r\n }());\r\n formApp.GetIncidentByIdResponseDto = GetIncidentByIdResponseDto;\r\n var IsrMapping = (function () {\r\n function IsrMapping(levelOfHarmOrImpactId, levelOfCareOrDisruptionId, actionOrInterventionRequiredId, isrLevelId) {\r\n this.levelOfHarmOrImpactId = levelOfHarmOrImpactId;\r\n this.levelOfCareOrDisruptionId = levelOfCareOrDisruptionId;\r\n this.actionOrInterventionRequiredId = actionOrInterventionRequiredId;\r\n this.isrLevelId = isrLevelId;\r\n }\r\n return IsrMapping;\r\n }());\r\n formApp.IsrMapping = IsrMapping;\r\n var IsrBehaviourOverrideInfo = (function () {\r\n function IsrBehaviourOverrideInfo() {\r\n }\r\n return IsrBehaviourOverrideInfo;\r\n }());\r\n formApp.IsrBehaviourOverrideInfo = IsrBehaviourOverrideInfo;\r\n var IsrQuestionInfo = (function () {\r\n function IsrQuestionInfo() {\r\n }\r\n return IsrQuestionInfo;\r\n }());\r\n formApp.IsrQuestionInfo = IsrQuestionInfo;\r\n var IsrMappingList = (function () {\r\n function IsrMappingList() {\r\n }\r\n return IsrMappingList;\r\n }());\r\n formApp.IsrMappingList = IsrMappingList;\r\n var CsrMapping = (function () {\r\n function CsrMapping(seriousnessId, complexityId, priorityId, csrLevelId) {\r\n this.seriousnessId = seriousnessId;\r\n this.complexityId = complexityId;\r\n this.priorityId = priorityId;\r\n this.csrLevelId = csrLevelId;\r\n }\r\n return CsrMapping;\r\n }());\r\n formApp.CsrMapping = CsrMapping;\r\n var CsrQuestionInfo = (function () {\r\n function CsrQuestionInfo() {\r\n }\r\n return CsrQuestionInfo;\r\n }());\r\n formApp.CsrQuestionInfo = CsrQuestionInfo;\r\n var CsrMappingList = (function () {\r\n function CsrMappingList() {\r\n }\r\n return CsrMappingList;\r\n }());\r\n formApp.CsrMappingList = CsrMappingList;\r\n var SeverityMapping = (function () {\r\n function SeverityMapping() {\r\n }\r\n return SeverityMapping;\r\n }());\r\n formApp.SeverityMapping = SeverityMapping;\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=incident.js.map","var formApp;\r\n(function (formApp) {\r\n var Popup = (function () {\r\n function Popup() {\r\n }\r\n return Popup;\r\n }());\r\n formApp.Popup = Popup;\r\n var PopupErrorMessage = (function () {\r\n function PopupErrorMessage() {\r\n }\r\n return PopupErrorMessage;\r\n }());\r\n formApp.PopupErrorMessage = PopupErrorMessage;\r\n var PopupQuestionEventParams = (function () {\r\n function PopupQuestionEventParams(questionCode, response) {\r\n this.questionCode = questionCode;\r\n this.response = response;\r\n }\r\n return PopupQuestionEventParams;\r\n }());\r\n formApp.PopupQuestionEventParams = PopupQuestionEventParams;\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=modalPopup.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n formApp.win = window;\r\n var GoogleAddress = (function () {\r\n function GoogleAddress() {\r\n }\r\n return GoogleAddress;\r\n }());\r\n formApp.GoogleAddress = GoogleAddress;\r\n var ErrorInfo = (function () {\r\n function ErrorInfo() {\r\n }\r\n ErrorInfo.timeStamp = function () {\r\n return moment().format('YYYY-MM-DDTHH:mm:ss.SSSSSSSZ');\r\n };\r\n ErrorInfo.formatUrl = function (url) {\r\n if (url) {\r\n var urlPrefix = formApp.win.__env.apiUrl;\r\n if (url.indexOf(urlPrefix) === 0) {\r\n url = url.substring(urlPrefix.length);\r\n }\r\n var questionMarkIndex = url.indexOf('?');\r\n if (questionMarkIndex >= 0) {\r\n url = url.substring(0, questionMarkIndex);\r\n }\r\n }\r\n return url;\r\n };\r\n ErrorInfo.fromHttpResponse = function (response, isArrayBuffer) {\r\n if (isArrayBuffer === void 0) { isArrayBuffer = false; }\r\n if (isArrayBuffer && response && response.data) {\r\n response.data = angular.fromJson(String.fromCharCode.apply(null, new Uint8Array(response.data)));\r\n }\r\n return {\r\n timestamp: (response && response.data && response.data.ErrorDate) || ErrorInfo.timeStamp(),\r\n operation: response && response.config && response.config.method + \" \" + ErrorInfo.formatUrl(response.config.url),\r\n code: response && response.status + \" - \" + response.statusText,\r\n message: response && response.data && (response.data.Error || response.data.toString())\r\n };\r\n };\r\n ErrorInfo.fromCustomError = function (operation, message, code) {\r\n return {\r\n timestamp: ErrorInfo.timeStamp(),\r\n operation: operation,\r\n code: code && code.toString(),\r\n message: message\r\n };\r\n };\r\n return ErrorInfo;\r\n }());\r\n formApp.ErrorInfo = ErrorInfo;\r\n var UserLoginInfo = (function () {\r\n function UserLoginInfo(username, fullName, givenName, familyName, currentTime, tokenExpiry, isAuthenticated, loginError, ipAddress) {\r\n this.username = username;\r\n this.fullName = fullName;\r\n this.givenName = givenName;\r\n this.familyName = familyName;\r\n this.currentTime = currentTime;\r\n this.tokenExpiry = tokenExpiry;\r\n this.isAuthenticated = isAuthenticated;\r\n this.loginError = loginError;\r\n this.ipAddress = ipAddress;\r\n }\r\n return UserLoginInfo;\r\n }());\r\n formApp.UserLoginInfo = UserLoginInfo;\r\n var ValidationError = (function () {\r\n function ValidationError() {\r\n }\r\n return ValidationError;\r\n }());\r\n formApp.ValidationError = ValidationError;\r\n var Notification = (function () {\r\n function Notification() {\r\n }\r\n return Notification;\r\n }());\r\n formApp.Notification = Notification;\r\n var OptionSet = (function () {\r\n function OptionSet() {\r\n }\r\n return OptionSet;\r\n }());\r\n formApp.OptionSet = OptionSet;\r\n var Question = (function () {\r\n function Question() {\r\n }\r\n return Question;\r\n }());\r\n formApp.Question = Question;\r\n var CaseResponseInfo = (function () {\r\n function CaseResponseInfo() {\r\n this.isStaffSectionVisible = false;\r\n this.isVisitorSectionVisible = false;\r\n this.isPatientSectionVisible = false;\r\n this.reset();\r\n }\r\n CaseResponseInfo.prototype.reset = function () {\r\n this.isStaffSectionVisible = false;\r\n this.isVisitorSectionVisible = false;\r\n this.isPatientSectionVisible = false;\r\n };\r\n return CaseResponseInfo;\r\n }());\r\n formApp.CaseResponseInfo = CaseResponseInfo;\r\n var Access = (function () {\r\n function Access() {\r\n }\r\n return Access;\r\n }());\r\n formApp.Access = Access;\r\n var ResponseInfo = (function () {\r\n function ResponseInfo() {\r\n this.reset();\r\n }\r\n ResponseInfo.prototype.setDirty = function () {\r\n this.isDirty = true;\r\n };\r\n ResponseInfo.prototype.clearDirty = function () {\r\n this.isDirty = false;\r\n };\r\n ResponseInfo.prototype.reset = function () {\r\n this.teamId = null;\r\n this.userId = null;\r\n this.notificationId = null;\r\n this.access = null;\r\n this.incidentId = null;\r\n this.incidentRef = null;\r\n this.feedbackId = null;\r\n this.feedbackRef = null;\r\n this.sentinelEventId = null;\r\n this.sentinelEventRef = null;\r\n this.isSCVUser = null;\r\n this.incidentTypeId = null;\r\n this.templeteTypeId = null;\r\n this.personTypeId = null;\r\n this.responses = {};\r\n this.template = null;\r\n this.versionNumber = null;\r\n this.optionSetHash = null;\r\n this.lastUpdatedTime = null;\r\n this.status = null;\r\n this.statusText = null;\r\n this.reportedDate = null;\r\n this.submittedDate = null;\r\n this.role = null;\r\n this.incidentDate = null;\r\n this.userName = null;\r\n this.allRoles = null;\r\n this.caseIdByOrganisation = {};\r\n this.createdIncidents = null;\r\n this.notifyUsers = null;\r\n this.inactiveUserIds = null;\r\n this.linkSourceUsers = null;\r\n this.delegationSourceUsers = null;\r\n this.userTeams = null;\r\n this.lineManagersLatestInfo = null;\r\n this.inactiveTeams = null;\r\n this.apiSelectOptionLists = null;\r\n this.isDirty = false;\r\n };\r\n return ResponseInfo;\r\n }());\r\n formApp.ResponseInfo = ResponseInfo;\r\n var GetLookupResponseDto = (function () {\r\n function GetLookupResponseDto() {\r\n }\r\n return GetLookupResponseDto;\r\n }());\r\n formApp.GetLookupResponseDto = GetLookupResponseDto;\r\n var GetUserSubordinatesResponseDto = (function () {\r\n function GetUserSubordinatesResponseDto() {\r\n }\r\n return GetUserSubordinatesResponseDto;\r\n }());\r\n formApp.GetUserSubordinatesResponseDto = GetUserSubordinatesResponseDto;\r\n var DocumentRequestDto = (function () {\r\n function DocumentRequestDto() {\r\n }\r\n return DocumentRequestDto;\r\n }());\r\n formApp.DocumentRequestDto = DocumentRequestDto;\r\n var entitySpecificVariables = (function () {\r\n function entitySpecificVariables(navTabNum, pageUrl) {\r\n this.navTabNum = navTabNum;\r\n this.pageUrl = pageUrl;\r\n }\r\n return entitySpecificVariables;\r\n }());\r\n formApp.entitySpecificVariables = entitySpecificVariables;\r\n var SaveDocumentResult = (function () {\r\n function SaveDocumentResult() {\r\n }\r\n return SaveDocumentResult;\r\n }());\r\n formApp.SaveDocumentResult = SaveDocumentResult;\r\n var DeleteDocumentResult = (function () {\r\n function DeleteDocumentResult() {\r\n }\r\n return DeleteDocumentResult;\r\n }());\r\n formApp.DeleteDocumentResult = DeleteDocumentResult;\r\n var EventTypeSectionInfo = (function () {\r\n function EventTypeSectionInfo(sectionCode, qCode, nonRepeatingSectionCode, nonRepeatingQcode) {\r\n this.sectionCode = sectionCode;\r\n this.qCode = qCode;\r\n this.nonRepeatingSectionCode = nonRepeatingSectionCode;\r\n this.nonRepeatingQcode = nonRepeatingQcode;\r\n }\r\n return EventTypeSectionInfo;\r\n }());\r\n formApp.EventTypeSectionInfo = EventTypeSectionInfo;\r\n var ValueCache = (function () {\r\n function ValueCache(whoArrayData, whatAssociatedData) {\r\n this.whoArrayData = whoArrayData;\r\n this.whatAssociatedData = whatAssociatedData;\r\n }\r\n return ValueCache;\r\n }());\r\n formApp.ValueCache = ValueCache;\r\n var MappedItem = (function () {\r\n function MappedItem(navTabNum, pageUrl) {\r\n this.navTabNum = navTabNum;\r\n this.pageUrl = pageUrl;\r\n }\r\n return MappedItem;\r\n }());\r\n formApp.MappedItem = MappedItem;\r\n var MapIsrQuestionConfig = (function () {\r\n function MapIsrQuestionConfig(whatHappenedSectionCode, levelHarmImpactQCode, levelCareDisruptionQCode, actionInterventionQCode, isrLevelQCode, behaviourSectionCode, behaviourQCode, isrVersionQCode) {\r\n this.whatHappenedSectionCode = whatHappenedSectionCode;\r\n this.levelHarmImpactQCode = levelHarmImpactQCode;\r\n this.levelCareDisruptionQCode = levelCareDisruptionQCode;\r\n this.actionInterventionQCode = actionInterventionQCode;\r\n this.isrLevelQCode = isrLevelQCode;\r\n this.behaviourSectionCode = behaviourSectionCode;\r\n this.behaviourQCode = behaviourQCode;\r\n this.isrVersionQCode = isrVersionQCode;\r\n }\r\n return MapIsrQuestionConfig;\r\n }());\r\n formApp.MapIsrQuestionConfig = MapIsrQuestionConfig;\r\n var MapCsrQuestionConfig = (function () {\r\n function MapCsrQuestionConfig(seriousnessQCode, complexityQCode, priorityQCode, csrLevelQCode) {\r\n this.seriousnessQCode = seriousnessQCode;\r\n this.complexityQCode = complexityQCode;\r\n this.priorityQCode = priorityQCode;\r\n this.csrLevelQCode = csrLevelQCode;\r\n }\r\n return MapCsrQuestionConfig;\r\n }());\r\n formApp.MapCsrQuestionConfig = MapCsrQuestionConfig;\r\n var BaseSearchRequestDto = (function () {\r\n function BaseSearchRequestDto() {\r\n }\r\n return BaseSearchRequestDto;\r\n }());\r\n formApp.BaseSearchRequestDto = BaseSearchRequestDto;\r\n var GetIncidentsRequestDto = (function (_super) {\r\n __extends(GetIncidentsRequestDto, _super);\r\n function GetIncidentsRequestDto() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return GetIncidentsRequestDto;\r\n }(BaseSearchRequestDto));\r\n formApp.GetIncidentsRequestDto = GetIncidentsRequestDto;\r\n var GetFeedbacksRequestDto = (function (_super) {\r\n __extends(GetFeedbacksRequestDto, _super);\r\n function GetFeedbacksRequestDto() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return GetFeedbacksRequestDto;\r\n }(BaseSearchRequestDto));\r\n formApp.GetFeedbacksRequestDto = GetFeedbacksRequestDto;\r\n var GetSentinelEventsRequestDto = (function (_super) {\r\n __extends(GetSentinelEventsRequestDto, _super);\r\n function GetSentinelEventsRequestDto() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return GetSentinelEventsRequestDto;\r\n }(BaseSearchRequestDto));\r\n formApp.GetSentinelEventsRequestDto = GetSentinelEventsRequestDto;\r\n var GetActionsRequestDto = (function (_super) {\r\n __extends(GetActionsRequestDto, _super);\r\n function GetActionsRequestDto() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return GetActionsRequestDto;\r\n }(BaseSearchRequestDto));\r\n formApp.GetActionsRequestDto = GetActionsRequestDto;\r\n var GetUsersRequestDto = (function (_super) {\r\n __extends(GetUsersRequestDto, _super);\r\n function GetUsersRequestDto() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return GetUsersRequestDto;\r\n }(BaseSearchRequestDto));\r\n formApp.GetUsersRequestDto = GetUsersRequestDto;\r\n var GetTeamsRequestDto = (function (_super) {\r\n __extends(GetTeamsRequestDto, _super);\r\n function GetTeamsRequestDto() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return GetTeamsRequestDto;\r\n }(BaseSearchRequestDto));\r\n formApp.GetTeamsRequestDto = GetTeamsRequestDto;\r\n var GetNotificationsRequestDto = (function (_super) {\r\n __extends(GetNotificationsRequestDto, _super);\r\n function GetNotificationsRequestDto() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return GetNotificationsRequestDto;\r\n }(BaseSearchRequestDto));\r\n formApp.GetNotificationsRequestDto = GetNotificationsRequestDto;\r\n var GetLookupRequestDto = (function (_super) {\r\n __extends(GetLookupRequestDto, _super);\r\n function GetLookupRequestDto() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return GetLookupRequestDto;\r\n }(BaseSearchRequestDto));\r\n formApp.GetLookupRequestDto = GetLookupRequestDto;\r\n var GetPdfExportRequestDto = (function () {\r\n function GetPdfExportRequestDto() {\r\n }\r\n return GetPdfExportRequestDto;\r\n }());\r\n formApp.GetPdfExportRequestDto = GetPdfExportRequestDto;\r\n var GetOrganisationsRequestDto = (function (_super) {\r\n __extends(GetOrganisationsRequestDto, _super);\r\n function GetOrganisationsRequestDto() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return GetOrganisationsRequestDto;\r\n }(BaseSearchRequestDto));\r\n formApp.GetOrganisationsRequestDto = GetOrganisationsRequestDto;\r\n var GetUserSubordinatesRequestDto = (function () {\r\n function GetUserSubordinatesRequestDto() {\r\n }\r\n return GetUserSubordinatesRequestDto;\r\n }());\r\n formApp.GetUserSubordinatesRequestDto = GetUserSubordinatesRequestDto;\r\n var ActivePeriod = (function () {\r\n function ActivePeriod() {\r\n }\r\n ActivePeriod.compare = function (left, right) {\r\n if (left.startDate.isBefore(right.startDate)) {\r\n return -1;\r\n }\r\n else if (left.startDate.isAfter(right.startDate)) {\r\n return 1;\r\n }\r\n else if (left.endDate.isValid() && right.endDate.isValid()) {\r\n if (left.endDate.isBefore(right.endDate)) {\r\n return -1;\r\n }\r\n else if (left.endDate.isAfter(right.endDate)) {\r\n return 1;\r\n }\r\n else {\r\n return 0;\r\n }\r\n }\r\n else if (left.endDate.isValid() && right.endDate.isValid() === false) {\r\n return -1;\r\n }\r\n else if (left.endDate.isValid() === false && right.endDate.isValid()) {\r\n return 1;\r\n }\r\n else {\r\n return 0;\r\n }\r\n };\r\n return ActivePeriod;\r\n }());\r\n formApp.ActivePeriod = ActivePeriod;\r\n var GetReportRequestDto = (function () {\r\n function GetReportRequestDto() {\r\n }\r\n return GetReportRequestDto;\r\n }());\r\n formApp.GetReportRequestDto = GetReportRequestDto;\r\n var GetReportResponseDto = (function () {\r\n function GetReportResponseDto() {\r\n }\r\n return GetReportResponseDto;\r\n }());\r\n formApp.GetReportResponseDto = GetReportResponseDto;\r\n var GetFullDataExtractRequestDto = (function () {\r\n function GetFullDataExtractRequestDto() {\r\n }\r\n return GetFullDataExtractRequestDto;\r\n }());\r\n formApp.GetFullDataExtractRequestDto = GetFullDataExtractRequestDto;\r\n var GetPatientRequestDto = (function () {\r\n function GetPatientRequestDto() {\r\n }\r\n return GetPatientRequestDto;\r\n }());\r\n formApp.GetPatientRequestDto = GetPatientRequestDto;\r\n var GetPatientResponseDto = (function () {\r\n function GetPatientResponseDto() {\r\n }\r\n return GetPatientResponseDto;\r\n }());\r\n formApp.GetPatientResponseDto = GetPatientResponseDto;\r\n var GetApiSelectRequestDto = (function () {\r\n function GetApiSelectRequestDto() {\r\n }\r\n return GetApiSelectRequestDto;\r\n }());\r\n formApp.GetApiSelectRequestDto = GetApiSelectRequestDto;\r\n var ApiSelectOptionList = (function () {\r\n function ApiSelectOptionList() {\r\n }\r\n return ApiSelectOptionList;\r\n }());\r\n formApp.ApiSelectOptionList = ApiSelectOptionList;\r\n var GetOptionSetRequestDto = (function () {\r\n function GetOptionSetRequestDto() {\r\n }\r\n return GetOptionSetRequestDto;\r\n }());\r\n formApp.GetOptionSetRequestDto = GetOptionSetRequestDto;\r\n var PageInformation = (function () {\r\n function PageInformation() {\r\n }\r\n return PageInformation;\r\n }());\r\n formApp.PageInformation = PageInformation;\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=model.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n var ManageNotificationFilters = (function () {\r\n function ManageNotificationFilters() {\r\n this.notificationStatusList = [];\r\n this.teamList = [];\r\n this.resetFilterSelections();\r\n }\r\n ManageNotificationFilters.prototype.resetFilterSelections = function () {\r\n this.searchPhrase = '';\r\n this.selectedTeam = ManageNotificationFilters.ShowAll;\r\n this.selectedNotificationStatus = ManageNotificationFilters.StatusActive;\r\n };\r\n ManageNotificationFilters.ShowAll = '';\r\n ManageNotificationFilters.StatusActive = '0';\r\n return ManageNotificationFilters;\r\n }());\r\n formApp.ManageNotificationFilters = ManageNotificationFilters;\r\n var NotificationSearchDto = (function () {\r\n function NotificationSearchDto() {\r\n }\r\n return NotificationSearchDto;\r\n }());\r\n formApp.NotificationSearchDto = NotificationSearchDto;\r\n var GetNotificationsResponseDto = (function (_super) {\r\n __extends(GetNotificationsResponseDto, _super);\r\n function GetNotificationsResponseDto() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return GetNotificationsResponseDto;\r\n }(formApp.BasePagedResponseDto));\r\n formApp.GetNotificationsResponseDto = GetNotificationsResponseDto;\r\n var ToggleNotificationActivationRequestDto = (function () {\r\n function ToggleNotificationActivationRequestDto() {\r\n }\r\n return ToggleNotificationActivationRequestDto;\r\n }());\r\n formApp.ToggleNotificationActivationRequestDto = ToggleNotificationActivationRequestDto;\r\n var GetNotificationByIdResponseDto = (function () {\r\n function GetNotificationByIdResponseDto() {\r\n }\r\n return GetNotificationByIdResponseDto;\r\n }());\r\n formApp.GetNotificationByIdResponseDto = GetNotificationByIdResponseDto;\r\n var NotificationRequestDto = (function (_super) {\r\n __extends(NotificationRequestDto, _super);\r\n function NotificationRequestDto() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return NotificationRequestDto;\r\n }(formApp.FormRequestDto));\r\n formApp.NotificationRequestDto = NotificationRequestDto;\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=notification.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n var ManageOrganisationFilters = (function () {\r\n function ManageOrganisationFilters() {\r\n }\r\n ManageOrganisationFilters.prototype.resetFilterSelections = function () {\r\n };\r\n return ManageOrganisationFilters;\r\n }());\r\n formApp.ManageOrganisationFilters = ManageOrganisationFilters;\r\n var OrganisationSearchDto = (function () {\r\n function OrganisationSearchDto() {\r\n }\r\n return OrganisationSearchDto;\r\n }());\r\n formApp.OrganisationSearchDto = OrganisationSearchDto;\r\n var GetOrganisationsResponseDto = (function (_super) {\r\n __extends(GetOrganisationsResponseDto, _super);\r\n function GetOrganisationsResponseDto() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return GetOrganisationsResponseDto;\r\n }(formApp.BasePagedResponseDto));\r\n formApp.GetOrganisationsResponseDto = GetOrganisationsResponseDto;\r\n var GetOrganisationByIdResponseDto = (function () {\r\n function GetOrganisationByIdResponseDto() {\r\n }\r\n return GetOrganisationByIdResponseDto;\r\n }());\r\n formApp.GetOrganisationByIdResponseDto = GetOrganisationByIdResponseDto;\r\n var OrganisationRequestDto = (function (_super) {\r\n __extends(OrganisationRequestDto, _super);\r\n function OrganisationRequestDto() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return OrganisationRequestDto;\r\n }(formApp.FormRequestDto));\r\n formApp.OrganisationRequestDto = OrganisationRequestDto;\r\n var OrganisationReferenceEntityConfig = (function () {\r\n function OrganisationReferenceEntityConfig() {\r\n }\r\n return OrganisationReferenceEntityConfig;\r\n }());\r\n formApp.OrganisationReferenceEntityConfig = OrganisationReferenceEntityConfig;\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=organisation.js.map","var formApp;\r\n(function (formApp) {\r\n var PatientQuestionSet = (function () {\r\n function PatientQuestionSet() {\r\n }\r\n PatientQuestionSet.OrganisationQuestionType = 'select';\r\n PatientQuestionSet.CampusQuestionType = 'select';\r\n PatientQuestionSet.UrNumberQuestionType = 'text';\r\n PatientQuestionSet.NotFoundQuestionType = 'singleCheckbox';\r\n PatientQuestionSet.FirstNameQuestionType = 'text';\r\n PatientQuestionSet.LastNameQuestionType = 'text';\r\n PatientQuestionSet.GenderQuestionType = 'select';\r\n PatientQuestionSet.DateOfBirthQuestionType = 'date';\r\n return PatientQuestionSet;\r\n }());\r\n formApp.PatientQuestionSet = PatientQuestionSet;\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=patient.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n var SaveResult = (function () {\r\n function SaveResult() {\r\n }\r\n return SaveResult;\r\n }());\r\n formApp.SaveResult = SaveResult;\r\n var IncidentSaveResult = (function (_super) {\r\n __extends(IncidentSaveResult, _super);\r\n function IncidentSaveResult() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return IncidentSaveResult;\r\n }(SaveResult));\r\n formApp.IncidentSaveResult = IncidentSaveResult;\r\n var IncidentSaveSummary = (function () {\r\n function IncidentSaveSummary(incidentRef, personName, personType) {\r\n this.incidentRef = incidentRef;\r\n this.personName = personName;\r\n this.personType = personType;\r\n }\r\n return IncidentSaveSummary;\r\n }());\r\n formApp.IncidentSaveSummary = IncidentSaveSummary;\r\n var CaseSaveResult = (function (_super) {\r\n __extends(CaseSaveResult, _super);\r\n function CaseSaveResult() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return CaseSaveResult;\r\n }(SaveResult));\r\n formApp.CaseSaveResult = CaseSaveResult;\r\n var FeedbackSaveResult = (function (_super) {\r\n __extends(FeedbackSaveResult, _super);\r\n function FeedbackSaveResult() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return FeedbackSaveResult;\r\n }(SaveResult));\r\n formApp.FeedbackSaveResult = FeedbackSaveResult;\r\n var SentinelEventSaveResult = (function (_super) {\r\n __extends(SentinelEventSaveResult, _super);\r\n function SentinelEventSaveResult() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return SentinelEventSaveResult;\r\n }(SaveResult));\r\n formApp.SentinelEventSaveResult = SentinelEventSaveResult;\r\n var NotificationCommentResult = (function () {\r\n function NotificationCommentResult() {\r\n this.notificationCommentAddedBy = null;\r\n this.notificationHSChoice = null;\r\n this.notificationChoice = null;\r\n this.notificationHSType = null;\r\n this.notificationType = null;\r\n this.notificationCommentAddedBy = null;\r\n this.notificationHSChoice = null;\r\n this.notificationChoice = null;\r\n this.notificationHSType = null;\r\n this.notificationType = null;\r\n }\r\n return NotificationCommentResult;\r\n }());\r\n formApp.NotificationCommentResult = NotificationCommentResult;\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=saveResult.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n var GetSentinelEventsResponseDto = (function (_super) {\r\n __extends(GetSentinelEventsResponseDto, _super);\r\n function GetSentinelEventsResponseDto(totalRecords, maxRecords, hasMoreRecords, sentinelEvents) {\r\n var _this = _super.call(this, totalRecords, maxRecords, hasMoreRecords) || this;\r\n _this.sentinelEvents = sentinelEvents;\r\n return _this;\r\n }\r\n return GetSentinelEventsResponseDto;\r\n }(formApp.BasePagedResponseDto));\r\n formApp.GetSentinelEventsResponseDto = GetSentinelEventsResponseDto;\r\n var GetSentinelEventByIdResponseDto = (function () {\r\n function GetSentinelEventByIdResponseDto() {\r\n }\r\n return GetSentinelEventByIdResponseDto;\r\n }());\r\n formApp.GetSentinelEventByIdResponseDto = GetSentinelEventByIdResponseDto;\r\n var SentinelEventFullTextSearchDto = (function () {\r\n function SentinelEventFullTextSearchDto() {\r\n }\r\n return SentinelEventFullTextSearchDto;\r\n }());\r\n formApp.SentinelEventFullTextSearchDto = SentinelEventFullTextSearchDto;\r\n var RemoveSentinelEventRequestDto = (function () {\r\n function RemoveSentinelEventRequestDto() {\r\n }\r\n return RemoveSentinelEventRequestDto;\r\n }());\r\n formApp.RemoveSentinelEventRequestDto = RemoveSentinelEventRequestDto;\r\n var SentinelEventRequestDto = (function () {\r\n function SentinelEventRequestDto() {\r\n }\r\n return SentinelEventRequestDto;\r\n }());\r\n formApp.SentinelEventRequestDto = SentinelEventRequestDto;\r\n var ManageSentinelEventFilters = (function () {\r\n function ManageSentinelEventFilters() {\r\n this.dateRangeList = [];\r\n this.sentinelEventCategoryList = [];\r\n this.sentinelEventSubCategoryList = [];\r\n this.sentinelEventOverarchingStatusList = [];\r\n this.campusList = [];\r\n this.sentinelEventStatusList = [];\r\n this.sentinelEventStageList = [];\r\n this.scvRoleList = [];\r\n this.programList = [];\r\n this.resetFilterSelections();\r\n }\r\n ManageSentinelEventFilters.prototype.resetFilterSelections = function () {\r\n this.searchPhrase = '';\r\n this.selectedSentinelEventStatus = ManageSentinelEventFilters.StatusActive;\r\n this.selectedSentinelEventStage = ManageSentinelEventFilters.ShowAll;\r\n this.selectedDateRange = ManageSentinelEventFilters.ShowAll;\r\n this.selectedEventCategory = ManageSentinelEventFilters.ShowAll;\r\n this.selectedEventSubCategory = ManageSentinelEventFilters.ShowAll;\r\n this.selectedSentinelEventOverarchingStatus = ManageSentinelEventFilters.ShowAll;\r\n this.selectedReadUnread = ManageSentinelEventFilters.ShowAll;\r\n this.selectedCampus = ManageSentinelEventFilters.ShowAll;\r\n this.selectedProgram = ManageSentinelEventFilters.ShowAll;\r\n };\r\n ManageSentinelEventFilters.ShowAll = '';\r\n ManageSentinelEventFilters.StatusActive = 'active';\r\n ManageSentinelEventFilters.StatusOpen = '0';\r\n return ManageSentinelEventFilters;\r\n }());\r\n formApp.ManageSentinelEventFilters = ManageSentinelEventFilters;\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=sentinelEvent.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n var ManageTeamFilters = (function () {\r\n function ManageTeamFilters() {\r\n this.teamStatusList = [];\r\n this.resetFilterSelections();\r\n }\r\n ManageTeamFilters.prototype.resetFilterSelections = function () {\r\n this.searchPhrase = '';\r\n this.selectedTeamStatus = ManageTeamFilters.StatusActive;\r\n };\r\n ManageTeamFilters.StatusActive = '0';\r\n return ManageTeamFilters;\r\n }());\r\n formApp.ManageTeamFilters = ManageTeamFilters;\r\n var TeamSearchDto = (function () {\r\n function TeamSearchDto() {\r\n }\r\n return TeamSearchDto;\r\n }());\r\n formApp.TeamSearchDto = TeamSearchDto;\r\n var GetTeamsResponseDto = (function (_super) {\r\n __extends(GetTeamsResponseDto, _super);\r\n function GetTeamsResponseDto() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return GetTeamsResponseDto;\r\n }(formApp.BasePagedResponseDto));\r\n formApp.GetTeamsResponseDto = GetTeamsResponseDto;\r\n var ToggleTeamActivationRequestDto = (function () {\r\n function ToggleTeamActivationRequestDto() {\r\n }\r\n return ToggleTeamActivationRequestDto;\r\n }());\r\n formApp.ToggleTeamActivationRequestDto = ToggleTeamActivationRequestDto;\r\n var GetTeamByIdResponseDto = (function () {\r\n function GetTeamByIdResponseDto() {\r\n }\r\n return GetTeamByIdResponseDto;\r\n }());\r\n formApp.GetTeamByIdResponseDto = GetTeamByIdResponseDto;\r\n var TeamRequestDto = (function (_super) {\r\n __extends(TeamRequestDto, _super);\r\n function TeamRequestDto() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return TeamRequestDto;\r\n }(formApp.FormRequestDto));\r\n formApp.TeamRequestDto = TeamRequestDto;\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=team.js.map","var formApp;\r\n(function (formApp) {\r\n var NavigationItem = (function () {\r\n function NavigationItem(id, title, alt, link, module) {\r\n var self = this;\r\n self.id = id;\r\n self.title = title;\r\n self.alt = alt;\r\n self.link = link;\r\n self.modules = module;\r\n }\r\n NavigationItem.prototype.isActive = function (module) {\r\n var self = this;\r\n return self.modules.some(function (x) { return x === module; });\r\n };\r\n return NavigationItem;\r\n }());\r\n formApp.NavigationItem = NavigationItem;\r\n var LayoutConfig = (function () {\r\n function LayoutConfig(constants, version, navigation, module, activeNavigationItem) {\r\n this.version = null;\r\n this.module = null;\r\n var self = this;\r\n self.defaultModule = constants.Modules.incident.name;\r\n self.version = version || null;\r\n self.defaultNavigation = [\r\n new NavigationItem(constants.Modules.incident.identifier, constants.Modules.incident.label, 'Go to Incidents', constants.Modules.incident.managementUrl, [constants.Modules.case.name, constants.Modules.incident.name]),\r\n new NavigationItem(constants.Modules.feedback.identifier, constants.Modules.feedback.label, 'Go to Feedback', constants.Modules.feedback.managementUrl, [constants.Modules.feedback.name]),\r\n new NavigationItem(constants.Modules.action.identifier, constants.Modules.action.label, 'Go to Action', constants.Modules.action.managementUrl, [constants.Modules.action.name]),\r\n new NavigationItem(constants.Modules.user.identifier, constants.Modules.user.label, 'Go to Users', constants.Modules.user.managementUrl, [constants.Modules.user.name]),\r\n new NavigationItem(constants.Modules.team.identifier, constants.Modules.team.label, 'Go to Teams', constants.Modules.team.managementUrl, [constants.Modules.team.name]),\r\n new NavigationItem(constants.Modules.notification.identifier, constants.Modules.notification.label, 'Go to Notifications', constants.Modules.notification.managementUrl, [constants.Modules.notification.name]),\r\n new NavigationItem(constants.Modules.organisation.identifier, constants.Modules.organisation.label, 'Go to Organisations', constants.Modules.organisation.managementUrl, [constants.Modules.organisation.name]),\r\n new NavigationItem(constants.Modules.sentinelEvent.identifier, constants.Modules.sentinelEvent.label, 'Go to Sentinel Events', constants.Modules.sentinelEvent.managementUrl, [constants.Modules.sentinelEvent.name])\r\n ];\r\n self.navigationItems = navigation || self.defaultNavigation;\r\n self.module = module || self.defaultModule;\r\n self.activeNavigationItem = activeNavigationItem || self.navigationItems[0];\r\n }\r\n return LayoutConfig;\r\n }());\r\n formApp.LayoutConfig = LayoutConfig;\r\n var Breadcrumb = (function () {\r\n function Breadcrumb(name, url, isCurrent) {\r\n this.name = name;\r\n this.url = url;\r\n this.isCurrent = isCurrent;\r\n }\r\n return Breadcrumb;\r\n }());\r\n formApp.Breadcrumb = Breadcrumb;\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=ui.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n var UserDto = (function () {\r\n function UserDto() {\r\n }\r\n return UserDto;\r\n }());\r\n formApp.UserDto = UserDto;\r\n var UserRequestDto = (function (_super) {\r\n __extends(UserRequestDto, _super);\r\n function UserRequestDto() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return UserRequestDto;\r\n }(formApp.FormRequestDto));\r\n formApp.UserRequestDto = UserRequestDto;\r\n var SaveUserResult = (function () {\r\n function SaveUserResult() {\r\n }\r\n return SaveUserResult;\r\n }());\r\n formApp.SaveUserResult = SaveUserResult;\r\n var UserDeactivationDetailsDto = (function () {\r\n function UserDeactivationDetailsDto() {\r\n }\r\n return UserDeactivationDetailsDto;\r\n }());\r\n formApp.UserDeactivationDetailsDto = UserDeactivationDetailsDto;\r\n var UserContactDto = (function () {\r\n function UserContactDto() {\r\n }\r\n return UserContactDto;\r\n }());\r\n formApp.UserContactDto = UserContactDto;\r\n var AccessibleOrganisationDto = (function () {\r\n function AccessibleOrganisationDto() {\r\n }\r\n return AccessibleOrganisationDto;\r\n }());\r\n formApp.AccessibleOrganisationDto = AccessibleOrganisationDto;\r\n var UserProfileDto = (function () {\r\n function UserProfileDto() {\r\n var self = this;\r\n self.userId = 0;\r\n self.firstname = '';\r\n self.lastname = '';\r\n self.userFullName = '';\r\n self.primaryEmail = '';\r\n self.accessibleOrganisations = [];\r\n self.selectedOrganisationId = 0;\r\n self.selectedOrganisationGuid = null;\r\n self.isCentral = false;\r\n self.lineManagers = [];\r\n self.accessibleOrganisationMap = {};\r\n self.canAccessIncidents = false;\r\n self.canManageIncidents = false;\r\n self.canBeLineManager = false;\r\n self.canAccessFeedbacks = false;\r\n self.canManageFeedbacks = false;\r\n self.canAccessSentinelEvents = false;\r\n self.canManageSentinelEvents = false;\r\n self.canAccessActions = false;\r\n self.canAccessUsers = false;\r\n self.canManageUsers = false;\r\n self.canAccessOwnUser = false;\r\n self.canAccessTeams = false;\r\n self.canAccessNotifications = false;\r\n self.canAccessOrganisations = false;\r\n self.canAccessReports = false;\r\n self.canAccessIncidentFullDataExtract = false;\r\n self.canAccessFeedbackFullDataExtract = false;\r\n self.canAccessNotificationHistory = false;\r\n self.canRemoveIncidents = false;\r\n self.canRemoveFeedbacks = false;\r\n self.canCloneIncidents = false;\r\n self.canMarkIncidentAsRead = false;\r\n self.canMarkFeedbackAsRead = false;\r\n self.canMarkActionAsRead = false;\r\n self.landingPageUrl = '';\r\n }\r\n UserProfileDto.prototype.initialise = function (other) {\r\n var self = this;\r\n self.userId = other.userId;\r\n self.firstname = other.firstname;\r\n self.lastname = other.lastname;\r\n self.userFullName = other.userFullName;\r\n self.primaryEmail = other.primaryEmail;\r\n self.accessibleOrganisations = other.accessibleOrganisations;\r\n self.selectedOrganisationId = other.selectedOrganisationId;\r\n self.selectedOrganisationGuid = other.selectedOrganisationGuid;\r\n self.isCentral = other.isCentral;\r\n self.lineManagers = other.lineManagers;\r\n self.accessibleOrganisationMap = self.buildAccessibleOrganisationMap(other.accessibleOrganisations);\r\n self.canAccessIncidents = other.canAccessIncidents;\r\n self.canManageIncidents = other.canManageIncidents;\r\n self.canBeLineManager = other.canBeLineManager;\r\n self.canAccessFeedbacks = other.canAccessFeedbacks;\r\n self.canManageFeedbacks = other.canManageFeedbacks;\r\n self.canAccessSentinelEvents = other.canAccessSentinelEvents;\r\n self.canManageSentinelEvents = other.canManageSentinelEvents;\r\n self.canAccessActions = other.canAccessActions;\r\n self.canAccessUsers = other.canAccessUsers;\r\n self.canManageUsers = other.canManageUsers;\r\n self.canAccessOwnUser = other.canAccessOwnUser;\r\n self.canAccessTeams = other.canAccessTeams;\r\n self.canAccessNotifications = other.canAccessNotifications;\r\n self.canAccessOrganisations = other.canAccessOrganisations;\r\n self.canAccessReports = other.canAccessReports;\r\n self.canAccessIncidentFullDataExtract = other.canAccessIncidentFullDataExtract;\r\n self.canAccessFeedbackFullDataExtract = other.canAccessFeedbackFullDataExtract;\r\n self.canAccessNotificationHistory = other.canAccessNotificationHistory;\r\n self.canRemoveIncidents = other.canRemoveIncidents;\r\n self.canRemoveFeedbacks = other.canRemoveFeedbacks;\r\n self.canCloneIncidents = other.canCloneIncidents;\r\n self.canMarkIncidentAsRead = other.canMarkIncidentAsRead;\r\n self.canMarkFeedbackAsRead = other.canMarkFeedbackAsRead;\r\n self.canMarkActionAsRead = other.canMarkActionAsRead;\r\n self.landingPageUrl = other.landingPageUrl;\r\n };\r\n UserProfileDto.prototype.selectedOrganisation = function () {\r\n var self = this;\r\n return self.accessibleOrganisationMap[self.selectedOrganisationId];\r\n };\r\n UserProfileDto.prototype.buildAccessibleOrganisationMap = function (accessibleOrganisations) {\r\n var self = this;\r\n var accessibleOrganisationMap = {};\r\n for (var i = 0; i < accessibleOrganisations.length; i++) {\r\n var accessibleOrganisation = accessibleOrganisations[i];\r\n accessibleOrganisationMap[accessibleOrganisation.id] = accessibleOrganisation;\r\n }\r\n return accessibleOrganisationMap;\r\n };\r\n return UserProfileDto;\r\n }());\r\n formApp.UserProfileDto = UserProfileDto;\r\n var CopyEvents = (function () {\r\n function CopyEvents() {\r\n }\r\n return CopyEvents;\r\n }());\r\n formApp.CopyEvents = CopyEvents;\r\n var ManageUserFilters = (function () {\r\n function ManageUserFilters() {\r\n this.userStatusList = [];\r\n this.roleList = [];\r\n this.resetFilterSelections();\r\n }\r\n ManageUserFilters.prototype.resetFilterSelections = function () {\r\n this.searchPhrase = '';\r\n this.selectedUserStatus = ManageUserFilters.StatusActive;\r\n this.selectedRole = ManageUserFilters.ShowAll;\r\n };\r\n ManageUserFilters.ShowAll = '';\r\n ManageUserFilters.StatusActive = '0';\r\n return ManageUserFilters;\r\n }());\r\n formApp.ManageUserFilters = ManageUserFilters;\r\n var GetUsersResponseDto = (function (_super) {\r\n __extends(GetUsersResponseDto, _super);\r\n function GetUsersResponseDto() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return GetUsersResponseDto;\r\n }(formApp.BasePagedResponseDto));\r\n formApp.GetUsersResponseDto = GetUsersResponseDto;\r\n var RoleDto = (function () {\r\n function RoleDto() {\r\n }\r\n return RoleDto;\r\n }());\r\n formApp.RoleDto = RoleDto;\r\n var GetUserAndConfigByIdRequestDto = (function () {\r\n function GetUserAndConfigByIdRequestDto() {\r\n }\r\n return GetUserAndConfigByIdRequestDto;\r\n }());\r\n formApp.GetUserAndConfigByIdRequestDto = GetUserAndConfigByIdRequestDto;\r\n var GetUserByIdResponseDto = (function () {\r\n function GetUserByIdResponseDto() {\r\n }\r\n return GetUserByIdResponseDto;\r\n }());\r\n formApp.GetUserByIdResponseDto = GetUserByIdResponseDto;\r\n var SaveUserFormData = (function () {\r\n function SaveUserFormData() {\r\n }\r\n return SaveUserFormData;\r\n }());\r\n formApp.SaveUserFormData = SaveUserFormData;\r\n var ToggleUserActivationRequestDto = (function () {\r\n function ToggleUserActivationRequestDto() {\r\n }\r\n return ToggleUserActivationRequestDto;\r\n }());\r\n formApp.ToggleUserActivationRequestDto = ToggleUserActivationRequestDto;\r\n var CheckUserFullNameRequestDto = (function () {\r\n function CheckUserFullNameRequestDto() {\r\n }\r\n return CheckUserFullNameRequestDto;\r\n }());\r\n formApp.CheckUserFullNameRequestDto = CheckUserFullNameRequestDto;\r\n var CheckUserFullNameResponseDto = (function () {\r\n function CheckUserFullNameResponseDto() {\r\n }\r\n return CheckUserFullNameResponseDto;\r\n }());\r\n formApp.CheckUserFullNameResponseDto = CheckUserFullNameResponseDto;\r\n var SearchedUserDto = (function () {\r\n function SearchedUserDto() {\r\n }\r\n return SearchedUserDto;\r\n }());\r\n formApp.SearchedUserDto = SearchedUserDto;\r\n var SourceUser = (function () {\r\n function SourceUser() {\r\n }\r\n return SourceUser;\r\n }());\r\n formApp.SourceUser = SourceUser;\r\n var TransferSubordinatesRequestDto = (function () {\r\n function TransferSubordinatesRequestDto() {\r\n }\r\n return TransferSubordinatesRequestDto;\r\n }());\r\n formApp.TransferSubordinatesRequestDto = TransferSubordinatesRequestDto;\r\n var TransferSubordinatesResult = (function () {\r\n function TransferSubordinatesResult() {\r\n }\r\n return TransferSubordinatesResult;\r\n }());\r\n formApp.TransferSubordinatesResult = TransferSubordinatesResult;\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=user.js.map","var WOVGprofileNumber = \"UA-2063136-9\"; /* DO NOT MODIFY */\r\nvar DEPTprofileNumber = \"UA-27023349-2\"; /* Set Department/Agency roll up profile number - if none exists, replace with \"UA-000000-0\". */\r\nvar SITEprofileNumber = \"UA-119703719-1\";\r\nvar SITEGoogleTagManagerNumber = \"UA-119703719-1\"; /* Vhims google tag manager specific number */ \r\n\r\n/* Set tracking code values */\r\nvar dept = \"dhhs\"; /* Set Department/Agency achronym/name. */\r\nvar site = \"vhimscentral.vic.gov.au\"; /* Set website's domain location - do NOT include \"www.\", unless the site is located ENTIRELY on \"www.\". Likewise, if the website is located ENTIRELY on a subdomain, insert it, e.g. \"subdomain.website.vic.gov.au\". */\r\nvar siteOnSubFolder = \"yes\"; /* Set this to \"yes\" if the website is located ENTIRELY on a dedicated subfolder, e.g \"website.vic.gov.au/subfolder\", otherwise, leave as \"no\". */\r\nvar subFolder = \"/uniquesigf43b46b996f751f8cef47f87dd4646fd/uniquesig0/ClientWeb/\"; /* Set the subfolder value only if the site is located ENTIRELY on a dedicated subfolder (include the leading forwardslash \"/\"). */\r\nvar cookiePath = subFolder;\r\n\r\n\r\n(function (i, s, o, g, r, a, m) {\r\n i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {\r\n (i[r].q = i[r].q || []).push(arguments)\r\n }, i[r].l = 1 * new Date(); a = s.createElement(o),\r\n m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)\r\n})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');\r\nga('create', WOVGprofileNumber, { 'name': 'WOVGprofileNumber' });\r\nga('create', DEPTprofileNumber, { 'name': 'DEPTprofileNumber' });\r\nga('create', SITEprofileNumber, { 'name': 'SITEprofileNumber' });\r\n\r\n\r\n(function (d, script) {\r\n script = d.createElement('script');\r\n script.type = 'text/javascript';\r\n script.async = true;\r\n script.onload = function () {\r\n // remote script has loaded\r\n window.dataLayer = window.dataLayer || [];\r\n function gtag() { dataLayer.push(arguments); }\r\n gtag('js', new Date());\r\n gtag('config', SITEGoogleTagManagerNumber);\r\n };\r\n script.src = 'https://www.googletagmanager.com/gtag/js?id=' + SITEGoogleTagManagerNumber;\r\n d.getElementsByTagName('head')[0].appendChild(script);\r\n}(document));\r\n\r\n//add ga to the footer links\r\njQuery('.footer__list_link').click(function () {\r\n var name = $(this).text();\r\n var href = $(this)[0].href;\r\n ga('SITEprofileNumber.send', 'event', 'click', name,\r\n {\r\n eventCategory: 'Footer: Outbound Link-' + href,\r\n eventAction: 'Click',\r\n eventLabel: href, \r\n transport: 'beacon'\r\n });\r\n});\r\n\r\n","var formApp;\r\n(function (formApp) {\r\n var DocumentController = (function () {\r\n function DocumentController($scope, $window, dataServices, utilityServices, fileUploader, $timeout, constants, adalAuthenticationService) {\r\n this.$scope = $scope;\r\n this.$window = $window;\r\n this.dataServices = dataServices;\r\n this.utilityServices = utilityServices;\r\n this.fileUploader = fileUploader;\r\n this.$timeout = $timeout;\r\n this.constants = constants;\r\n this.adalAuthenticationService = adalAuthenticationService;\r\n this.max_file_limit = 100;\r\n this.max_file_size = 10485760;\r\n this.max_file_total_size = 104857600;\r\n var self = this;\r\n $scope.currentPageIndex = 0;\r\n $scope.currentUploadingFile = null;\r\n $scope.attachment = {};\r\n $scope.isViewing = {};\r\n $scope.isRemoving = {};\r\n $scope.utility = utilityServices;\r\n $scope.initPageAttachments = function () {\r\n $scope.attachment.fileUploader = self.createFileUploaderForAttachment();\r\n };\r\n $scope.setDirty = function () {\r\n self.dataServices.responseInfo.setDirty();\r\n };\r\n $scope.removeFileItem = function (fileItem) {\r\n $scope.utility.openPopup('confirmDeleteFile', fileItem.file).result.then(function (result) {\r\n self.notifyIsSavingChanged(true);\r\n $scope.isRemoving[fileItem.document.documentId] = true;\r\n self.$scope.utility.deleteDocument(fileItem.document.documentId, self.$scope.pageUrl)\r\n .then(function (response) {\r\n var data = response && response.data;\r\n if (data && data.documentOperationStatus == formApp.OperationStatus.Success) {\r\n self.$scope.setDirty();\r\n self.removeDocumentFromResponse(fileItem);\r\n dataServices.trackEventsWithGA('Delete Document ' + $scope.pageUrl, 'Click Remove attachment', 'Successful delete document.');\r\n }\r\n else {\r\n self.onErrorSave('errorDeleteDoc', 'Delete attachment', formApp.ErrorInfo.fromCustomError('Delete attachment', 'Unknown error'));\r\n }\r\n }, function (error) {\r\n self.onErrorSave('errorDeleteDoc', 'Delete attachment', formApp.ErrorInfo.fromHttpResponse(error));\r\n })\r\n .finally(function () {\r\n self.notifyIsSavingChanged(false);\r\n $scope.isRemoving[fileItem.document.documentId] = false;\r\n });\r\n }, function () { });\r\n };\r\n $scope.viewDocument = function (fileItem) {\r\n $scope.isViewing[fileItem.document.documentId] = true;\r\n self.$scope.utility.getDocument(fileItem.document.documentId, self.$scope.pageUrl)\r\n .then(function (response) {\r\n var data = response && response.data;\r\n try {\r\n var file = new formApp.win.Blob([data], { type: fileItem.file.type }, { name: fileItem.file.name });\r\n formApp.win.saveAs(file, fileItem.file.name);\r\n }\r\n catch (error) {\r\n $scope.utility.openPopup('errorDownloadDoc', formApp.ErrorInfo.fromCustomError('Dowload attachment', error));\r\n }\r\n }, function (error) {\r\n $scope.utility.openPopup('errorDownloadDoc', formApp.ErrorInfo.fromHttpResponse(error, true));\r\n })\r\n .finally(function () {\r\n $scope.isViewing[fileItem.document.documentId] = false;\r\n });\r\n };\r\n $scope.upload = function (id) {\r\n $timeout(function () {\r\n angular.element(\"#\" + id).trigger('click');\r\n }, 100);\r\n };\r\n $scope.acceptedFileTypes = (function () {\r\n var allowedFileTypes = [\r\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n 'image/jpg',\r\n 'image/jpeg',\r\n 'image/png',\r\n 'image/tiff',\r\n 'image/tif',\r\n 'application/pdf',\r\n 'text/plain',\r\n 'application/msword',\r\n 'application/vnd.ms-excel',\r\n 'application/octet-stream',\r\n 'application/x-zip-compressed'\r\n ].join();\r\n if ($scope.utility.checkIfIOS()) {\r\n allowedFileTypes = '';\r\n }\r\n return allowedFileTypes;\r\n })();\r\n $scope.initPageAttachments();\r\n }\r\n DocumentController.prototype.removeDocumentFromResponse = function (fileItem) {\r\n var self = this;\r\n if (fileItem.document) {\r\n _.remove(self.$scope.attachment.fileUploader.queue, function (queueItem) { return queueItem.document.documentId === fileItem.document.documentId; });\r\n _.remove(self.documents(), function (item) { return item.documentId === fileItem.document.documentId; });\r\n }\r\n };\r\n DocumentController.prototype.documents = function (createIfMissing) {\r\n if (createIfMissing === void 0) { createIfMissing = false; }\r\n var self = this;\r\n var responses = self.$scope.responses;\r\n var pageId = self.$scope.pageId;\r\n if (createIfMissing) {\r\n responses[pageId] = responses[pageId] || [];\r\n responses[pageId][0] = responses[pageId][0] || {};\r\n responses[pageId][0].documents = responses[pageId][0].documents || [];\r\n }\r\n return (responses[pageId] && responses[pageId][0] && responses[pageId][0].documents) || [];\r\n };\r\n DocumentController.prototype.createFileUploaderForAttachment = function () {\r\n var self = this;\r\n var options = self.dataServices.isAuthenticated() ? {\r\n withCredentials: false,\r\n headers: self.dataServices.formatHttpHeaders({})\r\n } : {};\r\n var fileUploader = self.$scope.uploader = new self.fileUploader(options);\r\n var maxFileSizeMB = self.max_file_size / (1024 * 1024);\r\n _.remove(self.documents(), function (item) { return !item.isUploaded; });\r\n _(self.documents()).forEach(function (document) {\r\n var fileItem = {\r\n file: {\r\n name: document.name,\r\n size: document.size,\r\n type: document.type\r\n },\r\n document: document,\r\n isUploaded: true,\r\n isReady: false\r\n };\r\n fileUploader.queue.push(fileItem);\r\n });\r\n fileUploader.onBeforeUploadItem = function (fileItem) {\r\n self.$scope.currentProgressMessage = \"Uploading \" + fileItem.file.name + \" file\";\r\n };\r\n fileUploader.filters.push({\r\n name: 'customFilter',\r\n fn: function (item, options) {\r\n if (this.queue.length >= self.max_file_limit) {\r\n self.$scope.utility.openPopup('totalFileNumber', { totalFileNumber: self.max_file_limit });\r\n self.initialiseFileInputElement();\r\n }\r\n return this.queue.length < self.max_file_limit;\r\n }\r\n });\r\n fileUploader.onAfterAddingFile = function (fileItem) {\r\n self.notifyIsSavingChanged(true, self.constants.pageLoaderFallBackTimeoutInMillisecondsForFileUpload);\r\n self.initialiseFileInputElement();\r\n if (fileItem.file) {\r\n if (self.isValidExtensions(fileItem.file.type, fileItem.file.name)) {\r\n if (fileItem.file.size > self.max_file_size) {\r\n self.$scope.utility.openPopup('fileItemSizeLimit', { maxFileSizeMB: maxFileSizeMB });\r\n fileItem.cancel();\r\n fileItem.remove();\r\n return;\r\n }\r\n self.validateAndUpload(fileItem);\r\n }\r\n else {\r\n fileItem.cancel();\r\n fileItem.remove();\r\n self.$scope.utility.openPopup('invalidDocumentType');\r\n }\r\n }\r\n };\r\n fileUploader.onCompleteItem = function (fileItem, response, status, headers) {\r\n self.notifyIsSavingChanged(false);\r\n self.$scope.currentProgressMessage = \"Uploaded \" + fileItem.file.name + \" file\";\r\n if (fileItem.document) {\r\n fileItem.document.isFocus = true;\r\n }\r\n };\r\n fileUploader.onProgressItem = function (fileItem, progress) {\r\n if (fileItem) {\r\n self.$scope.currentUploadingFile = fileItem;\r\n }\r\n };\r\n fileUploader.onSuccessItem = function (fileItem, response, status, headers) {\r\n self.initialiseFileInputElement();\r\n if (response.documentOperationStatus === formApp.OperationStatus.Success) {\r\n self.$scope.setDirty();\r\n _(self.documents()).forEach(function (value) {\r\n if (value.documentId === fileItem.document.documentId) {\r\n value.isUploaded = true;\r\n }\r\n });\r\n self.dataServices.trackEventsWithGA('Upload Document ' + self.$scope.pageUrl, 'Click Upload', 'Successful upload document.');\r\n }\r\n else {\r\n fileItem.remove();\r\n self.onErrorSave('errorUploadDoc', 'Upload attachment', formApp.ErrorInfo.fromCustomError('Upload attachment', 'Unknown error'));\r\n }\r\n };\r\n fileUploader.onCancelItem = function (fileItem) {\r\n self.removeDocumentFromResponse(fileItem);\r\n };\r\n fileUploader.onErrorItem = function (fileItem, response, status, headers) {\r\n self.initialiseFileInputElement();\r\n fileItem.remove();\r\n self.onErrorSave('errorUploadDoc', 'Upload attachment', formApp.ErrorInfo.fromCustomError('Upload attachment', response && response['Error'], status));\r\n };\r\n return fileUploader;\r\n };\r\n DocumentController.prototype.notifyIsSavingChanged = function (isSaving, fallBackTimeoutInMilliSeconds) {\r\n var self = this;\r\n isSaving\r\n ? self.utilityServices.showPageLoader(fallBackTimeoutInMilliSeconds)\r\n : self.utilityServices.hidePageLoader();\r\n };\r\n DocumentController.prototype.initialiseFileInputElement = function () {\r\n (document.getElementById('file-input')).value = '';\r\n };\r\n DocumentController.prototype.isValidExtensions = function (fileType, fileName) {\r\n var self = this;\r\n switch (fileType) {\r\n case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':\r\n case 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet':\r\n case 'image/jpg':\r\n case 'image/jpeg':\r\n case 'image/png':\r\n case 'image/tiff':\r\n case 'image/tif':\r\n case 'application/pdf':\r\n case 'text/plain':\r\n case 'application/msword':\r\n case 'application/vnd.ms-excel':\r\n case 'application/zip':\r\n return true;\r\n case 'application/octet-stream':\r\n case 'application/x-zip-compressed':\r\n return fileName.substring(fileName.length - 4) === '.zip';\r\n default:\r\n return false;\r\n }\r\n };\r\n DocumentController.prototype.validateAndUpload = function (fileItem) {\r\n var self = this;\r\n if (!self.$scope.utility.isDocumentUploadValid(self.$scope.pageUrl)) {\r\n fileItem.remove();\r\n self.onErrorSave('errorUploadDocOnNewForm', 'Upload attachment');\r\n return;\r\n }\r\n var totalFileSize = 0;\r\n for (var i = 0; i < fileItem.uploader.queue.length; i++) {\r\n totalFileSize = totalFileSize + fileItem.file.size;\r\n }\r\n var maxFileTotalSize = self.max_file_total_size / (1024 * 1024);\r\n if (totalFileSize > self.max_file_total_size) {\r\n self.$scope.utility.openPopup('totalFileSize', { maxFileTotalSize: maxFileTotalSize });\r\n fileItem.cancel();\r\n fileItem.remove();\r\n return;\r\n }\r\n else {\r\n var parentId = self.$scope.utility.getParentId(self.$scope.pageUrl);\r\n var documentId = self.$scope.utility.generateGuid();\r\n fileItem.document = new formApp.Document(parentId, documentId, fileItem.file);\r\n _.remove(self.documents(), function (item) { return !Object.keys(item).length; });\r\n self.adalAuthenticationService.acquireToken(self.$window.__env.AzureADSettings.endpoints[self.$window.__env.apiUrl]).then(function (token) {\r\n self.documents(true).push(fileItem.document);\r\n fileItem.url = self.dataServices.formatUrl(self.$scope.utility.getDocumentUrl(self.$scope.pageUrl));\r\n fileItem.formData.push({ parentId: fileItem.document.parentId, documentId: fileItem.document.documentId });\r\n fileItem.headers['Authorization'] = 'Bearer ' + token;\r\n fileItem.upload();\r\n }, function (error) {\r\n self.onErrorSave('sessionTimeout', 'Upload attachment');\r\n });\r\n }\r\n };\r\n DocumentController.prototype.onErrorSave = function (popupCode, sourceEvent, popupParams) {\r\n var self = this;\r\n self.notifyIsSavingChanged(false);\r\n self.$scope.utility.openPopup(popupCode, popupParams);\r\n self.dataServices.trackEventsWithGA(\"Error occured during document action: \" + sourceEvent + \" on page: \" + self.$scope.pageUrl, 'Document action', 'Document action failed.');\r\n };\r\n DocumentController.$inject = [\r\n '$scope',\r\n '$window',\r\n 'DataServices',\r\n 'UtilityServices',\r\n 'FileUploader',\r\n '$timeout',\r\n 'Constants',\r\n 'adalAuthenticationService'\r\n ];\r\n return DocumentController;\r\n }());\r\n formApp.DocumentController = DocumentController;\r\n angular.module('formApp').controller('documentController', DocumentController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=documentController.js.map","var formApp;\r\n(function (formApp) {\r\n var EntityRedirectController = (function () {\r\n function EntityRedirectController($scope, $rootScope, $routeParams, $location, dataServices, utility, constants) {\r\n this.$scope = $scope;\r\n this.$rootScope = $rootScope;\r\n this.$routeParams = $routeParams;\r\n this.$location = $location;\r\n this.dataServices = dataServices;\r\n this.utility = utility;\r\n this.constants = constants;\r\n var self = this;\r\n var entityType = self.parseEntityPrefix($routeParams.entityPrefix);\r\n var organisationId = $routeParams.organisationId;\r\n if (entityType !== formApp.EntityType.None && $routeParams.entityId > 0) {\r\n self.utility.showPageLoader();\r\n if (self.dataServices.isAuthenticated()) {\r\n self.process(organisationId, entityType);\r\n }\r\n else {\r\n if (!$rootScope.appJustLoaded) {\r\n $rootScope.$on('adal:acquireTokenSuccess', function () {\r\n console.log('isAuthenticated received adal:acquireTokenSuccess');\r\n self.process(organisationId, entityType);\r\n });\r\n }\r\n }\r\n }\r\n else {\r\n self.utility.handleError(formApp.ErrorInfo.fromCustomError(\"Deep link. Record type: \" + formApp.EntityType[entityType] + \". Record id: \" + $routeParams.entityId, 'Wrong record type or id', 'Bad request'));\r\n }\r\n }\r\n EntityRedirectController.prototype.parseEntityPrefix = function (entityPrefix) {\r\n var type = formApp.EntityType.None;\r\n switch (entityPrefix.toLowerCase()) {\r\n case this.constants.entityPrefix.incident:\r\n type = formApp.EntityType.Incident;\r\n break;\r\n case this.constants.entityPrefix.feedback:\r\n type = formApp.EntityType.Feedback;\r\n break;\r\n case this.constants.entityPrefix.sentinel:\r\n type = formApp.EntityType.SentinelEvent;\r\n break;\r\n default:\r\n break;\r\n }\r\n return type;\r\n };\r\n EntityRedirectController.prototype.process = function (organisationId, entityType) {\r\n var self = this;\r\n if (organisationId) {\r\n self.dataServices.userProfile.selectedOrganisationId = organisationId;\r\n self.dataServices.updateUserProfileData()\r\n .then(function () {\r\n self.display(entityType);\r\n })\r\n .catch(function (reason) {\r\n var errorInfo = formApp.ErrorInfo.fromHttpResponse(reason);\r\n errorInfo.operation = \"Deep link. Record type: \" + formApp.EntityType[entityType] + \". Record id: \" + self.$routeParams.entityId;\r\n self.utility.handleError(errorInfo);\r\n })\r\n .finally(function () {\r\n self.utility.hidePageLoader();\r\n });\r\n }\r\n else {\r\n self.display(entityType);\r\n }\r\n };\r\n EntityRedirectController.prototype.display = function (entityType) {\r\n var self = this;\r\n if (entityType === formApp.EntityType.Incident) {\r\n self.dataServices.getIncidentById(self.$routeParams.entityId)\r\n .then(function (data) {\r\n self.dataServices.originalResponse = JSON.parse(data.response);\r\n self.dataServices.responseInfo.incidentId = data.id;\r\n self.dataServices.responseInfo.incidentRef = data.incidentRef;\r\n self.dataServices.responseInfo.responses = JSON.parse(data.response);\r\n self.dataServices.responseInfo.lastUpdatedTime = data.lastUpdatedTime;\r\n self.dataServices.responseInfo.template = data.templateId;\r\n self.dataServices.responseInfo.versionNumber = data.templateVersion;\r\n self.dataServices.responseInfo.status = data.statusId;\r\n self.dataServices.responseInfo.statusText = data.statusDisplayName;\r\n self.dataServices.validatedPages = self.dataServices.determineValidatedPages(data.response);\r\n self.dataServices.responseInfo.incidentTypeId = data.incidentTypeId;\r\n self.dataServices.responseInfo.personTypeId = data.personTypeId;\r\n self.dataServices.responseInfo.apiSelectOptionLists = data.apiSelectOptionLists;\r\n self.dataServices.mahFilters = null;\r\n return self.dataServices.getConfigurationUsingCacheAndOptionSet(data.templateId, data.templateVersion, data.optionSet);\r\n })\r\n .then(function (configData) {\r\n self.$rootScope.allowFormNavigation = true;\r\n var destUrl;\r\n if (self.$routeParams.actionId) {\r\n destUrl = self.utility.getIncidentActionUrl(self.dataServices.responseInfo.responses, self.dataServices.responseInfo.personTypeId, self.$routeParams.actionId, Number(self.$routeParams.actionTypeId));\r\n }\r\n else {\r\n destUrl = self.utility.getDefaultIncidentUrl(self.dataServices.responseInfo.personTypeId);\r\n }\r\n self.$location.path(destUrl);\r\n })\r\n .catch(function (reason) {\r\n self.utility.handleError(formApp.ErrorInfo.fromHttpResponse(reason));\r\n })\r\n .finally(function () {\r\n self.utility.hidePageLoader();\r\n });\r\n }\r\n else if (entityType === formApp.EntityType.Feedback) {\r\n self.dataServices.getFeedbackById(self.$routeParams.entityId)\r\n .then(function (data) {\r\n self.dataServices.originalResponse = JSON.parse(data.response);\r\n self.dataServices.responseInfo.feedbackId = data.id;\r\n self.dataServices.responseInfo.feedbackRef = data.feedbackRef;\r\n self.dataServices.responseInfo.responses = JSON.parse(data.response);\r\n self.dataServices.responseInfo.lastUpdatedTime = data.lastUpdatedTime;\r\n self.dataServices.responseInfo.template = data.templateId;\r\n self.dataServices.responseInfo.versionNumber = data.templateVersion;\r\n self.dataServices.responseInfo.status = data.statusId;\r\n self.dataServices.responseInfo.statusText = data.statusDisplayName;\r\n self.dataServices.validatedPages = self.dataServices.determineValidatedPages(data.response);\r\n self.dataServices.mahFilters = null;\r\n return self.dataServices.getConfigurationUsingCacheAndOptionSet(data.templateId, data.templateVersion, data.optionSet);\r\n })\r\n .then(function (configData) {\r\n self.$rootScope.allowFormNavigation = true;\r\n var destUrl;\r\n if (self.$routeParams.actionId) {\r\n destUrl = self.utility.getFeedbackActionUrl(self.dataServices.responseInfo.responses, self.$routeParams.actionId, Number(self.$routeParams.actionTypeId));\r\n }\r\n else {\r\n destUrl = self.constants.Url.firstFeedbackFormPage;\r\n }\r\n self.$location.path(destUrl);\r\n })\r\n .catch(function (reason) {\r\n self.utility.handleError(formApp.ErrorInfo.fromHttpResponse(reason));\r\n })\r\n .finally(function () {\r\n self.utility.hidePageLoader();\r\n });\r\n }\r\n else if (entityType === formApp.EntityType.SentinelEvent) {\r\n self.dataServices.getSentinelEventById(self.$routeParams.entityId)\r\n .then(function (data) {\r\n self.dataServices.originalResponse = JSON.parse(data.response);\r\n self.dataServices.responseInfo.sentinelEventId = data.id;\r\n self.dataServices.responseInfo.sentinelEventRef = data.sentinelEventRef;\r\n self.dataServices.responseInfo.responses = JSON.parse(data.response);\r\n self.dataServices.responseInfo.lastUpdatedTime = data.lastUpdatedTime;\r\n self.dataServices.responseInfo.template = data.templateId;\r\n self.dataServices.responseInfo.versionNumber = data.templateVersion;\r\n self.dataServices.responseInfo.stage = data.stageId;\r\n self.dataServices.responseInfo.stageText = data.stageDisplayName;\r\n self.dataServices.responseInfo.status = data.statusId;\r\n self.dataServices.responseInfo.statusText = data.statusDisplayName;\r\n self.dataServices.responseInfo.stage = data.stageId;\r\n self.dataServices.responseInfo.committeeReviewAction = data.committeeReviewAction;\r\n self.dataServices.responseInfo.partcrecommendationsList = data.partcrecommendationsList;\r\n if (data.sentinelEventDate) {\r\n self.dataServices.responseInfo.sentinelEventDate = moment(data.sentinelEventDate).format('YYYY-MM-DD');\r\n }\r\n if (data.reportAandBDueDate) {\r\n self.dataServices.responseInfo.reportAandBDueDate = moment(data.reportAandBDueDate).format('YYYY-MM-DD');\r\n }\r\n if (data.reportCDueDate) {\r\n self.dataServices.responseInfo.reportCDueDate = moment(data.reportCDueDate).format('YYYY-MM-DD');\r\n }\r\n if (data.reportDDueDate) {\r\n self.dataServices.responseInfo.reportDDueDate = moment(data.reportDDueDate).format('YYYY-MM-DD');\r\n }\r\n self.dataServices.responseInfo.cumulativeExtensionGranted = data.cumulativeExtensionGranted;\r\n self.dataServices.responseInfo.stageText = data.stageDisplayName;\r\n self.dataServices.validatedPages = self.dataServices.determineValidatedPages(data.response);\r\n self.dataServices.mahFilters = null;\r\n return self.dataServices.getConfigurationUsingCacheAndOptionSet(data.templateId, data.templateVersion, data.optionSet, true, self.dataServices.responseInfo.sentinelEventId, self.dataServices.responseInfo.stage, self.dataServices.responseInfo.status);\r\n })\r\n .then(function (configData) {\r\n self.$rootScope.allowFormNavigation = true;\r\n var destUrl;\r\n if (self.$routeParams.actionId) {\r\n destUrl = self.utility.getSentinelEventActionUrl(self.dataServices.responseInfo.responses, self.$routeParams.actionId, Number(self.$routeParams.actionTypeId));\r\n }\r\n else {\r\n destUrl = self.constants.Url.firstSentinelFormPage;\r\n }\r\n self.$location.path(destUrl);\r\n })\r\n .catch(function (reason) {\r\n self.utility.handleError(formApp.ErrorInfo.fromHttpResponse(reason));\r\n })\r\n .finally(function () {\r\n self.utility.hidePageLoader();\r\n });\r\n }\r\n else {\r\n self.utility.handleError(formApp.ErrorInfo.fromCustomError(\"Deep link. Record type: \" + formApp.EntityType[entityType] + \". Record id: \" + self.$routeParams.entityId, 'Wrong record type', 'Bad request'));\r\n }\r\n };\r\n EntityRedirectController.$inject = [\r\n '$scope',\r\n '$rootScope',\r\n '$routeParams',\r\n '$location',\r\n 'DataServices',\r\n 'UtilityServices',\r\n 'Constants'\r\n ];\r\n return EntityRedirectController;\r\n }());\r\n formApp.EntityRedirectController = EntityRedirectController;\r\n angular.module('formApp').controller('entityRedirectController', EntityRedirectController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=entityRedirectController.js.map","var formApp;\r\n(function (formApp) {\r\n var ErrorController = (function () {\r\n function ErrorController($scope, dataServices) {\r\n this.$scope = $scope;\r\n this.dataServices = dataServices;\r\n $scope.errorInfo = dataServices.errorInfo;\r\n $scope.userLoginInfo = dataServices.getUserLoginDetails();\r\n }\r\n ErrorController.$inject = [\r\n '$scope',\r\n 'DataServices'\r\n ];\r\n return ErrorController;\r\n }());\r\n formApp.ErrorController = ErrorController;\r\n angular.module('formApp').controller('errorController', ErrorController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=errorController.js.map","var formApp;\r\n(function (formApp) {\r\n var LayoutController = (function () {\r\n function LayoutController($scope, $rootScope, $timeout, dataServices, utilityServices, reportingService, fullDataExtractService, $routeParams, $route, $window, $location, constants) {\r\n var _this = this;\r\n this.$scope = $scope;\r\n this.$rootScope = $rootScope;\r\n this.$timeout = $timeout;\r\n this.dataServices = dataServices;\r\n this.utilityServices = utilityServices;\r\n this.reportingService = reportingService;\r\n this.fullDataExtractService = fullDataExtractService;\r\n this.$routeParams = $routeParams;\r\n this.$route = $route;\r\n this.$window = $window;\r\n this.$location = $location;\r\n this.constants = constants;\r\n var self = this;\r\n $scope.constants = constants;\r\n self.layoutCtrl = self;\r\n $scope.layoutCtrl = self.layoutCtrl;\r\n $rootScope.$on('adal:acquireTokenFailure', function (event, errorDesc, error) {\r\n console.log('layoutCtrl received adal:acquireTokenFailure');\r\n console.log(\"Error: \" + error + \" - \" + errorDesc);\r\n utilityServices.handleSessionTimeOut(formApp.ErrorInfo.fromCustomError('adal:acquireTokenFailure', errorDesc, error));\r\n });\r\n $scope.getHeaderTemplateUrl = function (layoutVersion) {\r\n if (layoutVersion === undefined) {\r\n layoutVersion = dataServices.layoutConfig.version;\r\n }\r\n return self.getTemplateUrl(layoutVersion, 'header');\r\n };\r\n $scope.getFooterTemplateUrl = function (layoutVersion) {\r\n if (layoutVersion === undefined) {\r\n layoutVersion = dataServices.layoutConfig.version;\r\n }\r\n return self.getTemplateUrl(layoutVersion, 'footer');\r\n };\r\n $scope.mainContainerCSS = function () {\r\n var layoutVersion = self.getLayoutCSSversion($routeParams.layoutVersion || dataServices.layoutConfig.version);\r\n var currentModule = self.dataServices.layoutConfig.module;\r\n return \"module--\" + currentModule + \" \" + layoutVersion;\r\n };\r\n $scope.userActionInformation = function (action) {\r\n if (action == self.constants.userActions.logout) {\r\n self.dataServices.userAction = self.constants.userActions.logout;\r\n }\r\n };\r\n $scope.onClickUser = function () {\r\n self.utilityServices.openPopup('userInfo', self.dataServices.getUserLoginDetails());\r\n };\r\n $scope.onClickReport = function () {\r\n self.reportingService.openReportWindow(self.constants.Url.reportContainer);\r\n };\r\n $scope.onClickIncidentFullDataExtract = function () {\r\n self.fullDataExtractService.downloadIncidentFullDataExtract();\r\n };\r\n $scope.onClickFeedbackFullDataExtract = function () {\r\n self.fullDataExtractService.downloadFeedbackFullDataExtract();\r\n };\r\n $scope.onClickLogo = function () {\r\n utilityServices.forceNavigateToRoute(dataServices.userProfile.landingPageUrl || constants.Url.unregisteredUser);\r\n };\r\n $rootScope.$on('$routeChangeSuccess', function (event, currentRoute, previousRoute) {\r\n _this.checkIfSentinelRole();\r\n dataServices.setCurrentModule(currentRoute.$$route.module || dataServices.layoutConfig.defaultModule);\r\n });\r\n $scope.$on('updateUserProfileData', function (event, args) {\r\n utilityServices.setMenuVisibility();\r\n });\r\n $scope.isFullScreen = false;\r\n $scope.$on('fullScreenMode', function (event, enabled) {\r\n $scope.isFullScreen = enabled;\r\n });\r\n $timeout(function () {\r\n dataServices.layoutConfig.version = self.getLayoutVersion($routeParams.layoutVersion || dataServices.layoutConfig.version);\r\n var userGivenName = dataServices.userGivenName();\r\n $scope.salutation = userGivenName ? \"Hello, \" + userGivenName : \"\";\r\n $scope.userInitials = dataServices.userInitials();\r\n $scope.environmentName = self.$window.__env.environmentName;\r\n $scope.layoutVersion = dataServices.layoutConfig.version;\r\n $scope.layoutConfig = dataServices.layoutConfig;\r\n _this.checkIfSentinelRole();\r\n }, 0);\r\n }\r\n LayoutController.prototype.getLayoutVersion = function (input) {\r\n if (input && input == 'v1') {\r\n return null;\r\n }\r\n return (input || null);\r\n };\r\n LayoutController.prototype.getTemplateUrl = function (layoutVersion, fileName) {\r\n var baseTemplateDir = 'app/partials/core/';\r\n var templateUrl = \"\" + baseTemplateDir + fileName + \".html\";\r\n if (layoutVersion) {\r\n templateUrl = \"\" + baseTemplateDir + fileName + \"-\" + layoutVersion + \".html\";\r\n }\r\n return templateUrl;\r\n };\r\n LayoutController.prototype.checkIfSentinelRole = function () {\r\n var self = this;\r\n self.$scope.isSentinelRole = false;\r\n self.dataServices.getUserRoles()\r\n .then(function (response) {\r\n var roles = response.data;\r\n _.each(roles, function (role) {\r\n if (angular.isDefined(self.constants.sentinelRoleMap[role])) {\r\n self.$scope.isSentinelRole = true;\r\n return;\r\n }\r\n });\r\n });\r\n };\r\n LayoutController.prototype.getNavigationItems = function () {\r\n var self = this;\r\n return self.dataServices.layoutConfig.navigationItems;\r\n };\r\n LayoutController.prototype.getLayoutCSSversion = function (argLayoutVersion) {\r\n var self = this;\r\n var layoutVersion;\r\n if (self.getLayoutVersion(argLayoutVersion)) {\r\n layoutVersion = 'v2';\r\n }\r\n else {\r\n layoutVersion = 'v1';\r\n }\r\n return layoutVersion;\r\n };\r\n LayoutController.$inject = [\r\n '$scope',\r\n '$rootScope',\r\n '$timeout',\r\n 'DataServices',\r\n 'UtilityServices',\r\n 'ReportingService',\r\n 'FullDataExtractService',\r\n '$routeParams',\r\n '$route',\r\n '$window',\r\n '$location',\r\n 'Constants'\r\n ];\r\n return LayoutController;\r\n }());\r\n formApp.LayoutController = LayoutController;\r\n angular.module('formApp').controller('layoutController', LayoutController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=layoutController.js.map","var formApp;\r\n(function (formApp) {\r\n var ModalPopupController = (function () {\r\n function ModalPopupController($scope, $uibModalInstance, $filter, dataServices, utilityServices, popups, popupCode, popupParams, popupQuestionService) {\r\n this.$scope = $scope;\r\n this.$uibModalInstance = $uibModalInstance;\r\n this.$filter = $filter;\r\n this.dataServices = dataServices;\r\n this.utilityServices = utilityServices;\r\n this.popups = popups;\r\n this.popupCode = popupCode;\r\n this.popupParams = popupParams;\r\n this.popupQuestionService = popupQuestionService;\r\n var self = this;\r\n $scope.utility = utilityServices;\r\n $scope.popupQuestion = popupQuestionService;\r\n $scope.configData = dataServices.configData;\r\n $scope.popup = {};\r\n $scope.params = {};\r\n $scope.errorMessages = [];\r\n $scope.response = {};\r\n var popup = $filter('filter')($scope.configData && $scope.configData.popups, { code: popupCode }, true);\r\n if (!popup || popup.length === 0) {\r\n popup = $filter('filter')(popups.commonPopups, { code: popupCode }, true);\r\n }\r\n $scope.popup = popup && popup[0];\r\n if (!$scope.popup) {\r\n $scope.popup = popups.unknownError;\r\n }\r\n if ($scope.popup.questions) {\r\n $scope.questions = $scope.popup.questions;\r\n }\r\n if (popupParams) {\r\n $scope.params = popupParams;\r\n }\r\n $scope.ok = function () {\r\n if ($scope.validatePopUp().length == 0) {\r\n var result = { result: 'ok', outParams: $scope.response };\r\n $uibModalInstance.close(result);\r\n }\r\n };\r\n $scope.popupThirdButton = function () {\r\n if ($scope.validatePopUp().length == 0) {\r\n var result = { result: 'thirdButtonClick', outParams: $scope.response };\r\n $uibModalInstance.close(result);\r\n }\r\n };\r\n $scope.cancel = function () {\r\n $uibModalInstance.dismiss('cancel');\r\n };\r\n $scope.validatePopUp = function () {\r\n $scope.errorMessages = [];\r\n angular.forEach($scope.questions, function (value) {\r\n $scope.validateQuestion(value.code);\r\n });\r\n return $scope.errorMessages;\r\n };\r\n $scope.buildDateString = function (qCode) {\r\n var day = $scope.response[qCode + '-day'];\r\n var month = $scope.response[qCode + '-month'];\r\n var year = $scope.response[qCode + '-year'];\r\n if (parseInt(day) && parseInt(month) && parseInt(year)) {\r\n var d = moment(year + '-' + month + '-' + day, 'YYYY-MM-DD');\r\n if (d.isValid()) {\r\n $scope.response[qCode] = year + '-' + month + '-' + day;\r\n }\r\n else {\r\n $scope.response[qCode] = undefined;\r\n }\r\n }\r\n else {\r\n $scope.response[qCode] = undefined;\r\n }\r\n };\r\n $scope.validateQuestion = function (code) {\r\n $scope.removeError(code);\r\n var val = $scope.response[code];\r\n if (!val || ($.isArray(val) && val.length === 0)) {\r\n var errorQuestion = _.find($scope.questions, function (q) { return q.code == code; });\r\n var errorValidation = _.find(errorQuestion.validations, function (v) { return v.level == 'inline'; });\r\n if (errorValidation) {\r\n $scope.errorMessages.push({ 'code': code, 'controlType': errorQuestion.controlType, 'inlineMessage': errorValidation.inlineMessage });\r\n $scope.utility.setQuestionErrorState(code, true);\r\n }\r\n }\r\n else {\r\n $scope.utility.setQuestionErrorState(code, false);\r\n }\r\n };\r\n $scope.validateQuestionInline = function (question) {\r\n $scope.removeError(question.code);\r\n $scope.validateQuestion(question.code);\r\n };\r\n $scope.padValue = function (qCode, totalDigits, padZero) {\r\n var resp = $scope.response[qCode];\r\n if (resp && resp.length > 0 && (resp > 0 || (padZero && resp == 0))) {\r\n $scope.response[qCode] = Array((totalDigits + 1) - resp.length).join('0') + resp;\r\n }\r\n };\r\n $scope.removeError = function (code) {\r\n _.remove($scope.errorMessages, function (e) { return e.code === code; });\r\n };\r\n $scope.typeAheadStartsWithFilter = function (option, viewValue) {\r\n return option && option.text && option.text.substr(0, viewValue.length).toLowerCase() == viewValue.toLowerCase();\r\n };\r\n $scope.onValueChange = function (question) {\r\n $scope.removeError(question.code);\r\n if (question.onChangeAction) {\r\n $scope.$eval(question.onChangeAction, { params: new formApp.PopupQuestionEventParams(question.code, $scope.response) });\r\n }\r\n _.forEach(question.validations, function (item) {\r\n if (item.rule != '') {\r\n $scope.$eval(item.rule, { params: new formApp.PopupQuestionEventParams(question.code, $scope.response) });\r\n }\r\n });\r\n $scope.validateQuestion(question.code);\r\n };\r\n $scope.getApiLookUpValues = function (keyword, lookUpQuestionCode) {\r\n return self.getApiLookUpValues(keyword, lookUpQuestionCode);\r\n };\r\n self.clearResponses();\r\n }\r\n ModalPopupController.prototype.clearResponses = function () {\r\n var self = this;\r\n angular.forEach(self.$scope.questions, function (value) {\r\n self.$scope.response[value.code] = null;\r\n });\r\n };\r\n ModalPopupController.prototype.getApiLookUpValues = function (keyword, lookUpQuestionCode) {\r\n var self = this;\r\n var lookupType = self.popupQuestionService.getLookupType(lookUpQuestionCode);\r\n var requestData = {\r\n organisationId: self.dataServices.userProfile.selectedOrganisationId,\r\n searchTerm: keyword\r\n };\r\n return self.dataServices.getLookupList(requestData, lookupType)\r\n .then(function (response) {\r\n return self.popupQuestionService.filterApiLookupResult(lookUpQuestionCode, response.lookupList);\r\n });\r\n };\r\n ModalPopupController.$inject = [\r\n '$scope',\r\n '$uibModalInstance',\r\n '$filter',\r\n 'DataServices',\r\n 'UtilityServices',\r\n 'Popups',\r\n 'popupCode',\r\n 'popupParams',\r\n 'PopupQuestionService'\r\n ];\r\n return ModalPopupController;\r\n }());\r\n formApp.ModalPopupController = ModalPopupController;\r\n angular.module('formApp').controller('modalPopupController', ModalPopupController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=modalPopupController.js.map","var formApp;\r\n(function (formApp) {\r\n var NavigationController = (function () {\r\n function NavigationController($scope, $filter, $location, $route, utilityServices, validationService, dataServices, constants) {\r\n this.$scope = $scope;\r\n this.$filter = $filter;\r\n this.$location = $location;\r\n this.$route = $route;\r\n this.utilityServices = utilityServices;\r\n this.validationService = validationService;\r\n this.dataServices = dataServices;\r\n this.constants = constants;\r\n var self = this;\r\n switch ($route.current.module) {\r\n case constants.ModuleTypes.case:\r\n self.fnIsPageVisible = self.isCasePageVisible;\r\n break;\r\n default:\r\n self.fnIsPageVisible = self.isPageVisible;\r\n break;\r\n }\r\n $scope.utility = utilityServices;\r\n $scope.vs = validationService;\r\n $scope.curPageNumber = 0;\r\n $scope.nav = new formApp.CurrentLayoutNavigationState();\r\n $scope.init = function (configData, curPageNumber, pageUrl) {\r\n $scope.configData = configData;\r\n $scope.curPageNumber = curPageNumber;\r\n self.populateNavigationUItems(curPageNumber, pageUrl);\r\n $scope.nav.initialNavigationItem = $scope.updateActiveNavigationItem(curPageNumber, pageUrl);\r\n };\r\n $scope.$on('updateConfigData', function (event, args) {\r\n $scope.configData = args.formConfigData;\r\n $scope.curPageNumber = args.navTabNum;\r\n $scope.page = utilityServices.getPage($scope.configData, args.navTabNum, args.pageUrl);\r\n self.populateNavigationUItems(args.navTabNum, args.pageUrl);\r\n $scope.nav.initialNavigationItem = $scope.updateActiveNavigationItem(args.navTabNum, args.pageUrl);\r\n });\r\n $scope.goToPage = function (tabNo, pageUrl) {\r\n var curPath = $location['$$path'].substring(1, $location['$$path'].indexOf('/', 1));\r\n dataServices.userAction = self.constants.userActions.pageNavigation;\r\n if (!$scope.page.exitCondition) {\r\n $location.path(curPath + '/' + tabNo + '/' + pageUrl);\r\n }\r\n else {\r\n var successFunction = function () { $location.path(curPath + '/' + tabNo + '/' + pageUrl); };\r\n var failureFunction = function () { $scope.utility.openPopup($scope.page.exitConditionPopup); };\r\n $scope.$eval($scope.page.exitCondition, { successFunction: successFunction, failureFunction: failureFunction, nextPageUrl: pageUrl });\r\n }\r\n };\r\n $scope.goToNavigationTab = function (tabNo) {\r\n dataServices.userAction = self.constants.userActions.pageNavigation;\r\n var navTab = _.find($scope.configData.navigationTabs, function (o) { return o.number == tabNo; });\r\n var nextVisiblePage = _.find(navTab.pages, function (p) { return p.navigationShow; });\r\n $scope.goToPage(tabNo, nextVisiblePage.url);\r\n };\r\n $scope.onSelectCallback = function (item, model) {\r\n if (item.number !== undefined && item.url !== null) {\r\n $scope.goToPage(item.number, item.url);\r\n }\r\n };\r\n $scope.updateActiveNavigationItem = function (curPageNumber, url) {\r\n var navTab = _.find($scope.configData.navigationTabs, function (o) { return o.number === curPageNumber; });\r\n $scope.nav.selectedNavigationItem = _.find($scope.flatNavigationList, function (o) {\r\n return o.number == curPageNumber && o.url == url;\r\n });\r\n return $scope.nav.selectedNavigationItem;\r\n };\r\n $scope.getNavigationTemplate = function () {\r\n var self = this;\r\n var baseTemplateDir = 'app/partials/core/';\r\n var templateUrl = baseTemplateDir + \"adhocMenu.html\";\r\n if (dataServices.layoutConfig.module === constants.Modules.case.name) {\r\n templateUrl = baseTemplateDir + \"caseWizard.html\";\r\n }\r\n return templateUrl;\r\n };\r\n $scope.toggleSubMenuItems = function (pageItem) {\r\n for (var i = 0; i < $scope.pageList.length; i++) {\r\n var tmpPageItem = $scope.pageList[i];\r\n if (pageItem.number === tmpPageItem.number && pageItem.isNavCollapsable === true) {\r\n tmpPageItem.isNavCollapsed = !tmpPageItem.isNavCollapsed;\r\n }\r\n $scope.pageList[i] = tmpPageItem;\r\n }\r\n };\r\n $scope.$on('$locationChangeStart', function (event, newUrl, previousUrl) {\r\n if (event.defaultPrevented) {\r\n self.$scope.nav.selectedNavigationItem = self.$scope.nav.initialNavigationItem;\r\n }\r\n });\r\n }\r\n NavigationController.prototype.isPageVisible = function (page) {\r\n var self = this;\r\n return angular.isDefined(self.dataServices.responseInfo.responses[page.pageId]);\r\n };\r\n NavigationController.prototype.isCasePageVisible = function (page) {\r\n var self = this;\r\n var isVisible;\r\n switch (page.pageId) {\r\n case self.constants.casePageIds.whatStaff:\r\n isVisible = angular.isDefined(self.dataServices.responseInfo.responses[page.pageId]) &&\r\n self.dataServices.responseInfo.responses[page.pageId].length > 0;\r\n break;\r\n case self.constants.casePageIds.whatHazard:\r\n isVisible = self.validationService.valueOfQuestion(null, self.dataServices.responseInfo.responses, 'wIsStillDanger', 'who', 0, 0, this.constants.casePageIds.who) === 'yes';\r\n break;\r\n default:\r\n isVisible = angular.isDefined(self.dataServices.responseInfo.responses[page.pageId]);\r\n break;\r\n }\r\n return isVisible;\r\n };\r\n NavigationController.prototype.populateNavigationUItems = function (currentNavTabNum, currentUrl) {\r\n var self = this;\r\n var index = 0;\r\n self.$scope.pageList = new Array();\r\n self.$scope.flatNavigationList = new Array();\r\n $.each(self.$filter('filter')(self.$scope.configData.navigationTabs, { includeInProgress: true }, false), function () {\r\n index++;\r\n var currentTab = this;\r\n var isNavCollapsed = !currentTab.pages.some(function (page) { return currentTab.number === currentNavTabNum && page.url === currentUrl; });\r\n var navPages = new Array();\r\n $.each(currentTab.pages, function () {\r\n var page = this;\r\n page.pageId = currentTab.number + '-' + page.number;\r\n page.navigationShow = (!page.hideIfEmpty) || self.fnIsPageVisible(page);\r\n navPages.push(page);\r\n });\r\n var baseNavigationItem = {\r\n index: index,\r\n number: currentTab.number,\r\n title: currentTab.title,\r\n pages: navPages,\r\n includeInProgress: currentTab.includeInProgress,\r\n isNavCollapsable: currentTab.pages.length > 1 ? true : false,\r\n isNavCollapsed: isNavCollapsed\r\n };\r\n self.$scope.pageList.push(baseNavigationItem);\r\n var flatNavigationItem = {\r\n index: index,\r\n number: currentTab.number,\r\n title: currentTab.title,\r\n parent: null,\r\n url: currentTab.pages[0].url,\r\n class: 'step',\r\n status: 'active',\r\n depth: 1,\r\n isNavCollapsable: false,\r\n isNavCollapsed: true,\r\n navigationShow: currentTab.pages.some(function (page) { return !page.hideIfEmpty || self.fnIsPageVisible(page); })\r\n };\r\n if (baseNavigationItem.pages.length > 1) {\r\n flatNavigationItem.parent = null;\r\n flatNavigationItem.status = 'inactive';\r\n flatNavigationItem.url = null;\r\n flatNavigationItem.isNavCollapsable = true;\r\n if (currentNavTabNum === flatNavigationItem.number) {\r\n flatNavigationItem.isNavCollapsed = false;\r\n }\r\n }\r\n self.$scope.flatNavigationList.push(flatNavigationItem);\r\n if (baseNavigationItem.pages.length > 1) {\r\n $.each(self.$filter('filter')(baseNavigationItem.pages, { includeInProgress: true }, false), function () {\r\n var item = this;\r\n var subFlatNavigationItem = {\r\n index: index,\r\n number: currentTab.number,\r\n title: item.title,\r\n parent: currentTab.title,\r\n url: item.url,\r\n class: 'substep',\r\n status: 'active',\r\n depth: 2,\r\n isNavCollapsable: false,\r\n isNavCollapsed: true,\r\n navigationShow: (!item.hideIfEmpty) || self.fnIsPageVisible(item)\r\n };\r\n self.$scope.flatNavigationList.push(subFlatNavigationItem);\r\n });\r\n }\r\n });\r\n };\r\n NavigationController.$inject = [\r\n '$scope',\r\n '$filter',\r\n '$location',\r\n '$route',\r\n 'UtilityServices',\r\n 'ValidationService',\r\n 'DataServices',\r\n 'Constants'\r\n ];\r\n return NavigationController;\r\n }());\r\n formApp.NavigationController = NavigationController;\r\n angular.module('formApp').controller('navigationController', NavigationController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=navigationController.js.map","var formApp;\r\n(function (formApp) {\r\n var QuestionController = (function () {\r\n function QuestionController($scope, $q, $http, DataServices, UtilityServices, ValidationService, $log, $location, $routeParams, $filter, $anchorScroll, $timeout, $rootScope, Constants, $route) {\r\n var _this = this;\r\n this.$scope = $scope;\r\n this.$q = $q;\r\n this.$http = $http;\r\n this.DataServices = DataServices;\r\n this.UtilityServices = UtilityServices;\r\n this.ValidationService = ValidationService;\r\n this.$log = $log;\r\n this.$location = $location;\r\n this.$routeParams = $routeParams;\r\n this.$filter = $filter;\r\n this.$anchorScroll = $anchorScroll;\r\n this.$timeout = $timeout;\r\n this.$rootScope = $rootScope;\r\n this.Constants = Constants;\r\n this.$route = $route;\r\n this.routeChangeHandler = null;\r\n this.locationChangeHandler = null;\r\n var self = this;\r\n $scope.Constants = Constants;\r\n $scope.configData = DataServices.configData;\r\n $scope.template = DataServices.responseInfo.template;\r\n $scope.versionNumber = DataServices.responseInfo.versionNumber;\r\n $scope.optionSetHash = DataServices.responseInfo.optionSetHash;\r\n $scope.role = DataServices.responseInfo.role;\r\n $scope.responses = DataServices.responseInfo.responses;\r\n $scope.validatedPages = DataServices.validatedPages;\r\n $scope.validationErrors = DataServices.validationErrors;\r\n $scope.isAuthenticated = DataServices.isAuthenticated();\r\n $scope.utility = UtilityServices;\r\n $scope.vs = ValidationService;\r\n $scope.getPageUrl = function () {\r\n var pageUrl = '';\r\n if (!$routeParams.pageUrl) {\r\n pageUrl = $route.current.locals.pageUrl ? $route.current.locals.pageUrl : '';\r\n }\r\n else {\r\n pageUrl = $routeParams.pageUrl;\r\n }\r\n return pageUrl;\r\n };\r\n $scope.navTabNum = parseInt($routeParams.navTabNum);\r\n $scope.pageUrl = $scope.getPageUrl();\r\n $scope.page = _.find(_.find($scope.configData.navigationTabs, function (o) { return o.number == $scope.navTabNum; }).pages, function (p) { return p.url == $scope.pageUrl; });\r\n $scope.pageId = $scope.navTabNum + '-' + $scope.page.number;\r\n $scope.isPageEditable = $scope.utility.isFormEditable() === true && $scope.page.isEditable === true;\r\n $scope.pageShadowResponse = DataServices.pageShadowResponse;\r\n $scope.shadowResponse = DataServices.shadowResponse;\r\n $scope.pageWatches = [];\r\n $scope.isButtonLoading = [];\r\n $scope.utility.toggleClass($('header'), false, 'header_with-nav');\r\n DataServices.trackPageVisitWithGA('PageVisit: ' + $scope.pageUrl);\r\n if (DataServices.layoutConfig.version) {\r\n var versionSuffix = '-' + DataServices.layoutConfig.version;\r\n var strippedSuffixTemplateName = $scope.page.template;\r\n if ($scope.page.template.lastIndexOf('-') >= 1) {\r\n strippedSuffixTemplateName = $scope.page.template.substr(0, $scope.page.template.lastIndexOf('-'));\r\n }\r\n if ($scope.page.originalTemplate === undefined || $scope.page.originalTemplate != strippedSuffixTemplateName) {\r\n $scope.page.originalTemplate = strippedSuffixTemplateName;\r\n }\r\n $scope.page.template = $scope.page.originalTemplate + versionSuffix;\r\n }\r\n $scope.deviceIsIOS = function () {\r\n return $scope.utility.checkIfIOS();\r\n };\r\n $scope.notifyIsSavingChanged = function (isSaving, fallBackTimeoutInMilliSeconds) {\r\n var self = _this;\r\n isSaving\r\n ? self.UtilityServices.showPageLoader(fallBackTimeoutInMilliSeconds)\r\n : self.UtilityServices.hidePageLoader();\r\n };\r\n $scope.getParentQuestionAnswer = function (pIndex, sIndex, sCode, parentQuestionCode) {\r\n throw new Error('$scope.getParentQuestionAnswer is not implemented!');\r\n };\r\n $scope.getApiSelectDefaultOption = function (pIndex, sIndex, sCode, qCode, parentQuestionCode) {\r\n throw new Error('$scope.getApiSelectDefaultOption is not implemented!');\r\n };\r\n $scope.setQuestionParams = function (pIndex, sIndex, sCode) {\r\n return { 'pIndex': pIndex, 'sIndex': sIndex, 'sCode': sCode };\r\n };\r\n $scope.valueOfQuestion = function (params, qCode, sCode, sIndex, pIndex, pageId) {\r\n return ValidationService.val(params, $scope.responses, qCode, sCode, sIndex, pIndex, pageId || (params && params['pageId']) || $scope.pageId);\r\n };\r\n $scope.questionContains = function (params, qCode, qValue, sCode, sIndex, pIndex, pageId) {\r\n return ValidationService.questionContains(params, $scope.responses, qCode, qValue, sCode, sIndex, pIndex, pageId || (params && params['pageId']) || $scope.pageId);\r\n };\r\n $scope.notEmpty = function (params, qCode, sCode, sIndex, pIndex, pageId) {\r\n return ValidationService.notEmpty(params, $scope.responses, qCode, sCode, sIndex, pIndex, pageId || (params && params['pageId']) || $scope.pageId);\r\n };\r\n $scope.setupWatchesForPageItem = function (page, pIndex) {\r\n if (page.sections) {\r\n for (var s = 0; s < page.sections.length; s++) {\r\n var section = page.sections[s];\r\n if (section.condition) {\r\n var cond = section.condition.replace(/p\\$/g, JSON.stringify($scope.setQuestionParams(pIndex, 0, section.code)));\r\n $scope.setupWatchForSectionCondition(pIndex, section, cond);\r\n }\r\n if ($scope.responses[$scope.pageId][pIndex][section.code]) {\r\n for (var sIndex = 0; sIndex < $scope.responses[$scope.pageId][pIndex][section.code].length; sIndex++) {\r\n $scope.setupWatchesForSectionItem(section, pIndex, sIndex);\r\n }\r\n }\r\n }\r\n }\r\n };\r\n $scope.setupWatchesForSectionItem = function (section, pIndex, sIndex) {\r\n for (var q = 0; q < section.questions.length; q++) {\r\n var question = section.questions[q];\r\n if (question.condition) {\r\n var cond = question.condition.replace(/p\\$/g, JSON.stringify($scope.setQuestionParams(pIndex, sIndex, section.code)));\r\n $scope.setupWatchForQuestionCondition(pIndex, section.code, sIndex, question.code, cond);\r\n }\r\n }\r\n };\r\n $scope.setupWatchForSectionCondition = function (pIndex, section, condition) {\r\n var watch = $scope.$watch(condition, function (newValue, oldValue) {\r\n if (newValue) {\r\n if (!$scope.responses[$scope.pageId][pIndex][section.code]) {\r\n $scope.responses[$scope.pageId][pIndex][section.code] = [];\r\n if (section.isRepeating) {\r\n if (section.repeatingItemRequired) {\r\n $scope.addSectionItem(pIndex, section.code, false);\r\n }\r\n }\r\n else {\r\n $scope.responses[$scope.pageId][pIndex][section.code].push({});\r\n $scope.setupWatchesForSectionItem(section, pIndex, 0);\r\n }\r\n }\r\n }\r\n else {\r\n if ($scope.responses[$scope.pageId] &&\r\n $scope.responses[$scope.pageId][pIndex] &&\r\n $scope.responses[$scope.pageId][pIndex][section.code]) {\r\n for (var sIndex = 0; sIndex < $scope.responses[$scope.pageId][pIndex][section.code].length; sIndex++) {\r\n $scope.deregisterSectionItemWatches(pIndex, section.code, sIndex);\r\n }\r\n $scope.responses[$scope.pageId][pIndex][section.code] = undefined;\r\n $scope.utility.removeFromValidationErrors(null, $scope.pageId, pIndex, section.code, null, null);\r\n }\r\n }\r\n });\r\n var match = $filter('filter')($scope.pageWatches, { pIndex: pIndex, sCode: section.code }, true)[0];\r\n if (match) {\r\n match.sWatch = watch;\r\n }\r\n else {\r\n $scope.pageWatches.push({\r\n pIndex: pIndex,\r\n sCode: section.code,\r\n sWatch: watch,\r\n sItems: []\r\n });\r\n }\r\n };\r\n $scope.setupWatchForQuestionCondition = function (pIndex, sCode, sIndex, qCode, condition) {\r\n var watch = $scope.$watch(condition, function (newValue, oldValue) {\r\n if (!newValue) {\r\n if ($scope.responses[$scope.pageId] &&\r\n $scope.responses[$scope.pageId][pIndex] &&\r\n $scope.responses[$scope.pageId][pIndex][sCode] &&\r\n $scope.responses[$scope.pageId][pIndex][sCode][sIndex]) {\r\n $scope.responses[$scope.pageId][pIndex][sCode][sIndex][qCode] = undefined;\r\n $scope.utility.removeFromValidationErrors(null, $scope.pageId, pIndex, sCode, sIndex, qCode);\r\n }\r\n }\r\n });\r\n var match = $filter('filter')($scope.pageWatches, { pIndex: pIndex, sCode: sCode }, true)[0];\r\n if (match) {\r\n if (!match.sItems[sIndex]) {\r\n match.sItems[sIndex] = [];\r\n }\r\n match.sItems[sIndex].push(watch);\r\n }\r\n else {\r\n $scope.pageWatches.push({\r\n pIndex: pIndex,\r\n sCode: sCode,\r\n sWatch: null,\r\n sItems: [[watch]]\r\n });\r\n }\r\n };\r\n $scope.deregisterPageItemWatches = function (pIndex) {\r\n var watches = $filter('filter')($scope.pageWatches, { pIndex: pIndex }, true);\r\n if (watches) {\r\n for (var s = 0; s < watches.length; s++) {\r\n if (watches[s].sWatch) {\r\n watches[s].sWatch();\r\n }\r\n for (var si = 0; si < watches[s].sItems.length; si++) {\r\n $scope.deregisterSectionItemWatches(pIndex, watches[s].sCode, si);\r\n }\r\n }\r\n $scope.pageWatches = $scope.pageWatches.filter(function (obj) {\r\n return !obj.pIndex == pIndex;\r\n });\r\n }\r\n };\r\n $scope.deregisterSectionItemWatches = function (pIndex, sCode, sIndex) {\r\n var section = $filter('filter')($scope.pageWatches, { pIndex: pIndex, sCode: sCode }, true)[0];\r\n if (section && section.sItems[sIndex]) {\r\n for (var q = 0; q < section.sItems[sIndex].length; q++) {\r\n if (section.sItems[sIndex][q]) {\r\n section.sItems[sIndex][q]();\r\n }\r\n }\r\n section.sItems.splice(sIndex, 1);\r\n }\r\n };\r\n $scope.setupTriggersAndDynamicValues = function () {\r\n var triggers = $scope.configData.triggers;\r\n for (var i = 0; i < triggers.length; i++) {\r\n var trigger = triggers[i];\r\n if (trigger.whenThisExpressionChangesFromFalseToTrue != undefined) {\r\n setupChangeFromFalseToTrueWatchForThisTrigger(trigger);\r\n }\r\n else if (trigger.whenThisExpressionValueChanges != undefined) {\r\n setupValueChangeWatchForThisTrigger(trigger);\r\n }\r\n }\r\n function setupChangeFromFalseToTrueWatchForThisTrigger(trigger) {\r\n $scope.$watch(trigger.whenThisExpressionChangesFromFalseToTrue, function (newValue, oldValue) {\r\n if (newValue && !oldValue) {\r\n $scope.$eval(trigger.doThis);\r\n }\r\n });\r\n }\r\n function setupValueChangeWatchForThisTrigger(trigger) {\r\n $scope.$watch(trigger.whenThisExpressionValueChanges, function (newValue, oldValue) {\r\n if (newValue != oldValue) {\r\n $scope.$eval(trigger.doThis);\r\n }\r\n }, true);\r\n }\r\n $scope.initialisePageResponse();\r\n if ($scope.responses[$scope.pageId]) {\r\n for (var pIndex = 0; pIndex < $scope.responses[$scope.pageId].length; pIndex++) {\r\n $scope.setupWatchesForPageItem($scope.page, pIndex);\r\n }\r\n }\r\n };\r\n $scope.scrollTo = function (id) {\r\n var old = $location.hash();\r\n $location.hash(id);\r\n $anchorScroll();\r\n $location.hash(old);\r\n $scope.utility.focus(id);\r\n };\r\n $scope.setSummaryErrorFocus = function () {\r\n var summaryValMsgs = $filter('filter')($scope.validationErrors, {\r\n level: 'summary', pageNo: $scope.pageId\r\n }, true);\r\n if (summaryValMsgs && summaryValMsgs.length > 0) {\r\n $scope.scrollTo('validationInfo');\r\n }\r\n };\r\n $scope.buildDateString = function (qCode, pIndex, sIndex, sCode) {\r\n var day = $scope.valueOfQuestion(null, qCode + '-day', sCode, sIndex, pIndex);\r\n var month = $scope.valueOfQuestion(null, qCode + '-month', sCode, sIndex, pIndex);\r\n var year = $scope.valueOfQuestion(null, qCode + '-year', sCode, sIndex, pIndex);\r\n if (day && month && year) {\r\n $scope.responses[$scope.pageId][pIndex][sCode][sIndex][qCode] = year + '-' + month + '-' + day;\r\n }\r\n else {\r\n $scope.responses[$scope.pageId][pIndex][sCode][sIndex][qCode] = undefined;\r\n }\r\n };\r\n $scope.clearDateModel = function (qCode, pIndex, sIndex, sCode, dateParam) {\r\n if (!$scope.responses[$scope.pageId][pIndex][sCode][sIndex][qCode]) {\r\n $scope.responses[$scope.pageId][pIndex][sCode][sIndex][qCode + dateParam] = undefined;\r\n }\r\n };\r\n $scope.setDateAndParts = function (qCode, newDate, response) {\r\n if (response) {\r\n if (newDate) {\r\n response[qCode] = newDate;\r\n var dateParts = newDate.split('-');\r\n response[qCode + '-day'] = dateParts[2];\r\n response[qCode + '-month'] = dateParts[1];\r\n response[qCode + '-year'] = dateParts[0];\r\n }\r\n else {\r\n response[qCode] = null;\r\n response[qCode + '-day'] = undefined;\r\n response[qCode + '-month'] = undefined;\r\n response[qCode + '-year'] = undefined;\r\n }\r\n }\r\n };\r\n $scope.clearDateAndParts = function (questionCode, response) {\r\n $scope.setDateAndParts(questionCode, null, response);\r\n };\r\n $scope.clearTimeAndParts = function (questionCode, response) {\r\n $scope.setTimeAndParts(questionCode, null, response);\r\n };\r\n $scope.buildTimeString = function (qCode, pIndex, sIndex, sCode) {\r\n var hour = $scope.valueOfQuestion(null, qCode + '-hour', sCode, sIndex, pIndex);\r\n var minute = $scope.valueOfQuestion(null, qCode + '-minute', sCode, sIndex, pIndex);\r\n if (hour && minute) {\r\n $scope.responses[$scope.pageId][pIndex][sCode][sIndex][qCode] = hour + \":\" + minute;\r\n }\r\n else {\r\n $scope.responses[$scope.pageId][pIndex][sCode][sIndex][qCode] = undefined;\r\n }\r\n };\r\n $scope.clearTimeModel = function (qCode, pIndex, sIndex, sCode, timeParam) {\r\n if (!$scope.responses[$scope.pageId][pIndex][sCode][sIndex][qCode]) {\r\n $scope.responses[$scope.pageId][pIndex][sCode][sIndex][qCode + timeParam] = undefined;\r\n }\r\n };\r\n $scope.setTimeAndParts = function (qCode, newTime, response) {\r\n if (response) {\r\n if (newTime) {\r\n response[qCode] = newTime;\r\n var dateParts = newTime.split(':');\r\n response[qCode + '-hour'] = dateParts[0];\r\n response[qCode + '-minute'] = dateParts[1];\r\n }\r\n else {\r\n response[qCode] = null;\r\n response[qCode + '-hour'] = undefined;\r\n response[qCode + '-minute'] = undefined;\r\n }\r\n }\r\n };\r\n $scope.setQuestionValue = function (question, newValue, response) {\r\n return $scope.setQuestionValueFromCodeAndType(question.code, question.controlType, newValue, response);\r\n };\r\n $scope.setQuestionValueFromCodeAndType = function (qCode, qType, newValue, response) {\r\n switch (qType) {\r\n case 'date':\r\n $scope.setDateAndParts(qCode, newValue, response);\r\n break;\r\n case 'time':\r\n $scope.setTimeAndParts(qCode, newValue, response);\r\n break;\r\n default:\r\n response[qCode] = newValue;\r\n break;\r\n }\r\n };\r\n $scope.clearQuestionValue = function (params, qCode, qType) {\r\n if (params && qCode) {\r\n if ($scope.responses && $scope.pageId &&\r\n $scope.responses[$scope.pageId] &&\r\n $scope.responses[$scope.pageId][params.pIndex] &&\r\n $scope.responses[$scope.pageId][params.pIndex][params.sCode] &&\r\n $scope.responses[$scope.pageId][params.pIndex][params.sCode][params.sIndex] &&\r\n $scope.responses[$scope.pageId][params.pIndex][params.sCode][params.sIndex][qCode]) {\r\n var response = $scope.responses[$scope.pageId][params.pIndex][params.sCode][params.sIndex];\r\n switch (qType) {\r\n case 'date':\r\n $scope.clearDateAndParts(qCode, response);\r\n break;\r\n case 'time':\r\n $scope.clearTimeAndParts(qCode, response);\r\n break;\r\n default:\r\n response[qCode] = null;\r\n break;\r\n }\r\n }\r\n }\r\n };\r\n $scope.selectRadioAlignment = function (question) {\r\n if (question.displayStyle) {\r\n return question.displayStyle.toLowerCase();\r\n }\r\n return 'vertical';\r\n };\r\n $scope.typeAheadStartsWithFilter = function (option, viewValue) {\r\n return option && option.text && option.text.substr(0, viewValue.length).toLowerCase() == viewValue.toLowerCase();\r\n };\r\n $scope.getQuestionFromCodes = function (params, tabNo, pageNo, sCode, qCode, pIndex, sIndex) {\r\n if (params) {\r\n if (!pIndex && params['pIndex'] != undefined)\r\n pIndex = params['pIndex'];\r\n if (!sIndex && params['sIndex'] != undefined)\r\n sIndex = params['sIndex'];\r\n }\r\n if (!pIndex)\r\n pIndex = 0;\r\n if (!sIndex)\r\n sIndex = 0;\r\n var navTab = _.find($scope.configData.navigationTabs, function (n) { return n.number == tabNo; });\r\n var page = _.find(navTab.pages, function (p) { return p.number == pageNo; });\r\n var section = _.find(page.sections, function (s) { return s.code == sCode; });\r\n return _.find(section.questions, function (q) { return q.code == qCode; });\r\n };\r\n $scope.getAnswerFromCodes = function (params, tabNo, pageNo, sCode, qCode, pIndex, sIndex) {\r\n var question = $scope.getQuestionFromCodes(params, tabNo, pageNo, sCode, qCode, pIndex, sIndex);\r\n var response = $scope.valueOfQuestion(null, qCode, sCode, sIndex, pIndex, tabNo + '-' + pageNo);\r\n return $scope.utility.getAnswer(question, response);\r\n };\r\n $scope.getQuestionFromCode = function (qCode) {\r\n var question = _.chain($scope.configData.navigationTabs)\r\n .map('pages')\r\n .flatten()\r\n .map('sections')\r\n .flatten()\r\n .map('questions')\r\n .flatten()\r\n .filter({ code: qCode })\r\n .value();\r\n if (question != undefined && question != null && question.length >= 1) {\r\n return question[0];\r\n }\r\n return $scope.Constants.emptyJsonObject;\r\n };\r\n $scope.questionHasOptions = function (qCode) {\r\n var question = $scope.getQuestionFromCode(qCode);\r\n if (question != undefined && question != null && question != $scope.Constants.emptyJsonObject) {\r\n var questionOptions = question.options;\r\n if (questionOptions != null && questionOptions != undefined) {\r\n return (questionOptions != $scope.Constants.emptyString);\r\n }\r\n }\r\n return false;\r\n };\r\n $scope.getOptionTextFromOptionCode = function (optionCode, optionSet) {\r\n var opt = null;\r\n if (optionSet != null && optionSet != undefined) {\r\n return $scope.utility.getOptionSetText(optionSet, optionCode);\r\n }\r\n else {\r\n opt = _.find(_.flatMap($scope.configData.optionSets), function (o) { return o.code == optionCode; });\r\n if (opt != null && opt != undefined) {\r\n return opt.text;\r\n }\r\n }\r\n return optionCode;\r\n };\r\n $scope.getQuestionOptions = function (question, pIndex, sIndex, sCode) {\r\n if ((typeof question.options) === 'string') {\r\n var ops = null;\r\n if (sCode == null || sCode == undefined) {\r\n sCode = $scope.pageUrl;\r\n }\r\n if (question.optionDependsOnQuestion) {\r\n var pQuestions = question.optionDependsOnQuestion.split('|');\r\n for (var i = 0; i < pQuestions.length; i++) {\r\n var valOfPQuestion = $scope.valueOfQuestion(null, pQuestions[i], sCode, sIndex, pIndex, $scope.pageId);\r\n ops = $scope.configData.optionSets[question.options + '-' + pQuestions[i] + '-' + valOfPQuestion];\r\n if (ops) {\r\n break;\r\n }\r\n }\r\n }\r\n if (ops) {\r\n return ops;\r\n }\r\n else {\r\n return $scope.configData.optionSets[question.options];\r\n }\r\n }\r\n return question.options;\r\n };\r\n $scope.getIncidentDate = function () {\r\n return moment(DataServices.responseInfo.incidentDate).format($scope.Constants.responseDateFormat);\r\n };\r\n $scope.setDirty = function () {\r\n self.DataServices.responseInfo.setDirty();\r\n };\r\n $scope.clearDirty = function () {\r\n self.DataServices.responseInfo.clearDirty();\r\n };\r\n $scope.hasUnsavedChanges = function () {\r\n return self.DataServices.responseInfo.isDirty;\r\n };\r\n $scope.onRouteChange = function (event, nextRoute, currentRoute) {\r\n var nextPageUrl = UtilityServices.buildRoutePath(nextRoute.originalPath, nextRoute.params);\r\n var currentPageUrl = UtilityServices.buildRoutePath(currentRoute.originalPath, currentRoute.params);\r\n if (UtilityServices.isFormUrl(nextPageUrl) === false && $scope.pageUrl !== 'submitsuccessful') {\r\n if ($scope.hasUnsavedChanges()) {\r\n event.preventDefault();\r\n $scope.cancelFormChanges(nextPageUrl);\r\n return;\r\n }\r\n }\r\n if (currentPageUrl.indexOf(Constants.signoff) > -1) {\r\n return;\r\n }\r\n if ($scope.isPageEditable === false) {\r\n return;\r\n }\r\n if (UtilityServices.isFormUrl(nextPageUrl) === false) {\r\n return;\r\n }\r\n var navDirection = self.getNavDirection(currentPageUrl, nextPageUrl);\r\n var allowNavigationWithoutValidation = (navDirection === formApp.NavigationDirection.ParentChild) ||\r\n (navDirection === formApp.NavigationDirection.Forward ?\r\n (event.currentScope).page.navigateForwardWithoutValidation :\r\n (event.currentScope).page.navigateBackwardWithoutValidation);\r\n if (!$scope.checkPageItemsAreSaved()) {\r\n event.preventDefault();\r\n return;\r\n }\r\n var isPageValid = $scope.validatePage($scope.navTabNum, $scope.pageUrl, null, null, null, 'inline');\r\n var onlyMandatoryErrors = self.UtilityServices.hasOnlyMandatoryValidationErrors($scope.validationErrors);\r\n if (isPageValid || (allowNavigationWithoutValidation && onlyMandatoryErrors)) {\r\n if ($scope.isPrerequisitePageValidationMet(nextPageUrl)) {\r\n $scope.isPageSpecificValidationMet(event, nextPageUrl, currentPageUrl);\r\n }\r\n else {\r\n event.preventDefault();\r\n $scope.utility.openPopup('prereqPageValidationFailed');\r\n }\r\n }\r\n else {\r\n event.preventDefault();\r\n $scope.notifyValidationError();\r\n $scope.alertFirstError();\r\n }\r\n };\r\n $scope.onLocationChange = function (event, next, current) {\r\n };\r\n if ($scope.registerForRouteChange === undefined || $scope.registerForRouteChange === null || $scope.registerForRouteChange) {\r\n self.routeChangeHandler = $scope.$on('$routeChangeStart', $scope.onRouteChange);\r\n self.locationChangeHandler = $scope.$on('$locationChangeStart', $scope.onLocationChange);\r\n }\r\n $scope.deregisterRouteChangeHandlers = function () {\r\n if (self.routeChangeHandler) {\r\n self.routeChangeHandler();\r\n self.routeChangeHandler = null;\r\n }\r\n if (self.locationChangeHandler) {\r\n self.locationChangeHandler();\r\n self.locationChangeHandler = null;\r\n }\r\n };\r\n $scope.cancelFormChanges = function (nextPageUrl) {\r\n console.log('$scope.cancelFormChanges() is not implemented!');\r\n };\r\n $scope.isPageSpecificValidationMet = function (event, nextPage, previous) {\r\n };\r\n $scope.isPrerequisitePageValidationMet = function (nextPage) {\r\n try {\r\n var route = nextPage.split('/');\r\n if (route.length >= 4) {\r\n var navTab = _.find($scope.configData.navigationTabs, function (o) { return o.number == parseInt(route[2]); });\r\n if (navTab) {\r\n var destPage = _.find(navTab.pages, function (o) { return o.url == route[3]; });\r\n if (destPage) {\r\n if (destPage.prerequisitePageValidation) {\r\n var pagesToCheck = destPage.prerequisitePageValidation.split('|');\r\n for (var i = 0; i < pagesToCheck.length; i++) {\r\n if ($scope.validatedPages.indexOf(pagesToCheck[i]) < 0) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n };\r\n $scope.setAddressParts = function (address, response, qCode) {\r\n if (address) {\r\n var streetAddress = '';\r\n for (var i = 0; i < address.length; i++) {\r\n var addressType = address[i].types[0];\r\n if (addressType == 'street_number') {\r\n streetAddress += address[i].long_name + ' ';\r\n }\r\n if (address[i].types[0] == 'route') {\r\n streetAddress += address[i].long_name;\r\n }\r\n if (addressType == 'locality') {\r\n response[qCode + '-autoSuburb'] = address[i].long_name;\r\n }\r\n if (addressType == 'administrative_area_level_1') {\r\n response[qCode + '-autoState'] = address[i].long_name;\r\n }\r\n if (addressType == 'postal_code') {\r\n response[qCode + '-autoPostCode'] = address[i].long_name;\r\n }\r\n }\r\n response[qCode + '-autoStreetNumberName'] = streetAddress;\r\n }\r\n };\r\n $scope.validatePage = function (navTabNum, pageUrl, pIndex, sCode, sIndex, level, isValidCheckOnly) {\r\n var isValid = true;\r\n var _isValidCheckOnly = false;\r\n if (isValidCheckOnly !== null && isValidCheckOnly !== undefined) {\r\n _isValidCheckOnly = isValidCheckOnly;\r\n }\r\n var sections = _.find(_.find($scope.configData.navigationTabs, function (o) { return o.number == navTabNum; }).pages, function (p) { return p.url == pageUrl; }).sections;\r\n if (sections) {\r\n if (!_isValidCheckOnly) {\r\n $scope.validationErrors.length = 0;\r\n }\r\n var _level = null;\r\n if (level == null || level == undefined) {\r\n _level = 'inline';\r\n }\r\n else {\r\n _level = level;\r\n }\r\n if ($scope.responses[$scope.pageId]) {\r\n for (var pi = 0; pi < $scope.responses[$scope.pageId].length; pi++) {\r\n if (pIndex == null || pIndex == pi) {\r\n for (var s = 0; s < sections.length; s++) {\r\n var section = sections[s];\r\n if (sCode == null || section.code == sCode) {\r\n if ($scope.responses[$scope.pageId][pi][section.code]) {\r\n for (var si = 0; si < $scope.responses[$scope.pageId][pi][section.code].length; si++) {\r\n if (sIndex == null || sIndex == si) {\r\n if (!section.condition || $scope.$eval(section.condition, { p$: $scope.setQuestionParams(pi, 0, section.code) }) === true) {\r\n $.each(section.questions, function () {\r\n isValid = $scope.validatePageQuestions(_level, this, pi, si, section.code, _isValidCheckOnly) && isValid;\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (!_isValidCheckOnly) {\r\n if (isValid) {\r\n if ($scope.validatedPages.indexOf($scope.pageId) === -1) {\r\n $scope.validatedPages.push($scope.pageId);\r\n }\r\n }\r\n else {\r\n var index = $scope.validatedPages.indexOf($scope.pageId);\r\n if (index > -1) {\r\n $scope.validatedPages.splice(index, 1);\r\n }\r\n }\r\n }\r\n return isValid;\r\n };\r\n $scope.checkAtleastOneValueOnPage = function (navTabNum, pageUrl) {\r\n var hasValue = false;\r\n var sections = _.find(_.find($scope.configData.navigationTabs, function (o) { return o.number == navTabNum; }).pages, function (p) { return p.url == pageUrl; }).sections;\r\n if (sections) {\r\n if ($scope.responses[$scope.pageId]) {\r\n for (var pi = 0; pi < $scope.responses[$scope.pageId].length; pi++) {\r\n for (var s = 0; s < sections.length; s++) {\r\n var section = sections[s];\r\n if ($scope.responses[$scope.pageId][pi][section.code]) {\r\n for (var si = 0; si < $scope.responses[$scope.pageId][pi][section.code].length; si++) {\r\n $.each(section.questions, function () {\r\n var question = this;\r\n if ($scope.notEmpty($scope.setQuestionParams(pi, si, section.code), question.code) === true) {\r\n hasValue = true;\r\n return false;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return hasValue;\r\n };\r\n $scope.validatePageQuestions = function (level, question, pIndex, sIndex, sCode, isValidCheckOnly) {\r\n var isValid = true;\r\n var _isValidCheckOnly = false;\r\n if (isValidCheckOnly !== null && isValidCheckOnly !== undefined) {\r\n _isValidCheckOnly = isValidCheckOnly;\r\n }\r\n if (!question.condition || $scope.$eval(question.condition, { p$: $scope.setQuestionParams(pIndex, sIndex, sCode) }) === true) {\r\n if (question.validations && question.access !== 'R') {\r\n $.each(question.validations, function () {\r\n if (this.level == level.toLowerCase()) {\r\n if ($scope.$eval(this.rule, { p$: $scope.setQuestionParams(pIndex, sIndex, sCode) }) != true) {\r\n isValid = false;\r\n if (!isValidCheckOnly) {\r\n $scope.addValidationError(this.level, $scope.pageId, pIndex, sIndex, sCode, question.code, this.popupMessageCode, question.shortQuestion ? question.shortQuestion : question.question, this.summaryMessage, this.inlineMessage, this.ruleType);\r\n }\r\n return false;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n return isValid;\r\n };\r\n $scope.validateQuestion = function (level, question, pIndex, sIndex, sCode) {\r\n var isValid = true;\r\n if (!question.condition || $scope.$eval(question.condition, { p$: $scope.setQuestionParams(pIndex, sIndex, sCode) }) === true) {\r\n if (question.validations && question.access !== 'R') {\r\n $.each(question.validations, function () {\r\n if (this.level == level.toLowerCase() || level.toLowerCase() == 'summary') {\r\n if ($scope.$eval(this.rule, { p$: $scope.setQuestionParams(pIndex, sIndex, sCode) }) != true) {\r\n isValid = false;\r\n $scope.addValidationError(this.level, $scope.pageId, pIndex, sIndex, sCode, question.code, this.popupMessageCode, question.shortQuestion ? question.shortQuestion : question.question, this.summaryMessage, this.inlineMessage, this.ruleType);\r\n return false;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n return isValid;\r\n };\r\n $scope.validateQuestionInline = function (level, question, pIndex, sIndex, sCode) {\r\n $scope.utility.removeFromValidationErrors(null, $scope.pageId, pIndex, sCode, sIndex, question.code);\r\n $scope.validateQuestion(level, question, pIndex, sIndex, sCode);\r\n };\r\n $scope.addValidationError = function (level, pageNo, pIndex, sIndex, sCode, qCode, popupMessageCode, shortQuestion, summaryMessage, inlineMessage, ruleType) {\r\n var validation = !((qCode === 'partdsixmonthreviewrecommendationEstimatedCompletionDate'\r\n || qCode === 'partdsixmonthreviewrecommendationDateCompleted'\r\n || qCode === 'partdsixmonthreviewopendisclosureHasOpenDisclosureCompletionDate'\r\n || qCode === 'partdsixmonthreviewopendisclosureHasOpenDisclosureOccuredDate'\r\n || qCode === 'partdtwelvemonthreviewrecommendationEstimatedCompletionDate')\r\n && (this.stageText === 'Part D - 12m'));\r\n if (validation) {\r\n $scope.validationErrors.push({\r\n level: level,\r\n pageNo: pageNo,\r\n pageIndex: pIndex,\r\n sectionCode: sCode,\r\n sectionIndex: sIndex,\r\n questionCode: qCode,\r\n popupMessageCode: popupMessageCode,\r\n shortQuestion: shortQuestion,\r\n summaryMessage: summaryMessage,\r\n inlineMessage: inlineMessage,\r\n ruleType: ruleType\r\n });\r\n }\r\n };\r\n $scope.onBeforeChange = function (level, question, pIndex, sIndex, sCode) {\r\n if (question.onBeforeChange) {\r\n $scope.$eval(question.onBeforeChange);\r\n }\r\n };\r\n $scope.onValueChange = function (level, question, pIndex, sIndex, sCode) {\r\n $scope.utility.removeFromValidationErrors(level, $scope.pageId, pIndex, sCode, sIndex, question.code);\r\n if (question.onChangeAction) {\r\n $scope.$eval(question.onChangeAction, { p$: $scope.setQuestionParams(pIndex, sIndex, sCode) });\r\n }\r\n };\r\n $scope.setErrorState = function (qCode, pIndex, sIndex, sCode) {\r\n var error = $filter('filter')($scope.validationErrors, {\r\n questionCode: qCode, pageIndex: pIndex, sectionIndex: sIndex, sectionCode: sCode\r\n }, true);\r\n $scope.utility.setQuestionErrorState($scope.getQuestionId(qCode, pIndex, sIndex, sCode), error.length > 0);\r\n };\r\n $scope.alertFirstError = function () {\r\n if ($scope.validationErrors.length > 0) {\r\n var err = $scope.validationErrors[0];\r\n if (err.popupMessageCode) {\r\n $scope.utility.openPopup($scope.validationErrors[0].popupMessageCode).result.then(function (result) {\r\n $scope.moveToFirstError();\r\n });\r\n }\r\n else {\r\n $scope.moveToFirstError();\r\n }\r\n }\r\n };\r\n $scope.notifyValidationError = function () {\r\n };\r\n $scope.moveToFirstError = function () {\r\n if ($scope.validationErrors.length > 0) {\r\n var err = $scope.validationErrors[0];\r\n $scope.utility.scrollElementIntoView('pageBody-' + err.pageIndex);\r\n $scope.scrollTo($scope.getQuestionId(err.questionCode, err.pageIndex, err.sectionIndex, err.sectionCode));\r\n }\r\n };\r\n $scope.validNumeric = function (params, qCode, maxNumericLength, minNumericLength, sCode, sIndex, pIndex) {\r\n return ValidationService.validNumeric(params, $scope.responses, qCode, maxNumericLength, minNumericLength, sCode, sIndex, pIndex, $scope.pageId);\r\n };\r\n $scope.validDecimal = function (params, qCode, maxNumericLength, minNumericLength, sCode, sIndex, pIndex) {\r\n return ValidationService.validDecimal(params, $scope.responses, qCode, maxNumericLength, minNumericLength, sCode, sIndex, pIndex, $scope.pageId);\r\n };\r\n $scope.validLength = function (params, qCode, maxLength, sCode, sIndex, pIndex) {\r\n return ValidationService.validLength(params, $scope.responses, qCode, maxLength, sCode, sIndex, pIndex, $scope.pageId);\r\n };\r\n $scope.validAlphabetic = function (params, qCode, sCode, sIndex, pIndex) {\r\n return ValidationService.validAlphabetic(params, $scope.responses, qCode, sCode, sIndex, pIndex, $scope.pageId);\r\n };\r\n $scope.validEmailAddress = function (params, qCode, sCode, sIndex, pIndex) {\r\n return ValidationService.validEmailAddress(params, $scope.responses, qCode, sCode, sIndex, pIndex, $scope.pageId);\r\n };\r\n $scope.validDate = function (params, qCode, sCode, sIndex, pIndex, pageId) {\r\n return ValidationService.validDate(params, $scope.responses, qCode, sCode, sIndex, pIndex, pageId || $scope.pageId);\r\n };\r\n $scope.isDateSameOrAfter = function (params, qCode, minYear, sCode, sIndex, pIndex, pageId) {\r\n return ValidationService.isDateSameOrAfter(params, $scope.responses, qCode, minYear, sCode, sIndex, pIndex, pageId || $scope.pageId);\r\n };\r\n $scope.dateDifferenceInDays = function (sourceDate, targetDate) {\r\n if (this.pageUrl === 'partdsixmonthreview' && this.stageText === 'Part D - 12m') {\r\n return 1;\r\n }\r\n return ValidationService.dateDifferenceInDays(sourceDate, targetDate);\r\n };\r\n $scope.validDateRange = function (params, qCode, sCode, sIndex, pIndex) {\r\n return ValidationService.validDateRange(params, $scope.responses, qCode, sCode, sIndex, pIndex, $scope.pageId);\r\n };\r\n $scope.validTime = function (params, qCode, sCode, sIndex, pIndex, pageId) {\r\n return ValidationService.validTime(params, $scope.responses, qCode, sCode, sIndex, pIndex, pageId || $scope.pageId);\r\n };\r\n $scope.isAdult = function (params, qCode, sCode, sIndex, pIndex) {\r\n return ValidationService.isAdult(params, $scope.responses, qCode, sCode, sIndex, pIndex, $scope.pageId);\r\n };\r\n $scope.goToNextPageConditional = function (conditionNavNo, conditionPageUrl, condition) {\r\n if (condition === true) {\r\n DataServices.callingPage = $location['$$path'];\r\n if (!$scope.page.exitCondition) {\r\n $location.path(self.getCurTemplatePath() + '/' + conditionNavNo + '/' + conditionPageUrl);\r\n }\r\n else {\r\n var successFunction = function () { $location.path(self.getCurTemplatePath() + '/' + conditionNavNo + '/' + conditionPageUrl); };\r\n var failureFunction = function () { $scope.utility.openPopup($scope.page.exitConditionPopup); };\r\n $scope.$eval($scope.page.exitCondition, { successFunction: successFunction, failureFunction: failureFunction, nextPageUrl: conditionPageUrl });\r\n }\r\n }\r\n else {\r\n $scope.goToNextPage();\r\n }\r\n };\r\n $scope.goToNextPage = function () {\r\n DataServices.userAction = self.Constants.userActions.next;\r\n if (!$scope.page.exitCondition) {\r\n self.transferToNextPage();\r\n }\r\n else {\r\n var successFunction = function () { self.transferToNextPage(); };\r\n var failureFunction = function () { $scope.utility.openPopup($scope.page.exitConditionPopup); };\r\n $scope.$eval($scope.page.exitCondition, { successFunction: successFunction, failureFunction: failureFunction });\r\n }\r\n };\r\n $scope.goToPreviousPage = function () {\r\n if (!$scope.page.exitCondition) {\r\n self.transferToPreviousPage();\r\n }\r\n else {\r\n var successFunction = function () { self.transferToPreviousPage(); };\r\n var failureFunction = function () { $scope.utility.openPopup($scope.page.exitConditionPopup); };\r\n $scope.$eval($scope.page.exitCondition, { successFunction: successFunction, failureFunction: failureFunction });\r\n }\r\n };\r\n $scope.goToPage = function (navNo, url) {\r\n $location.path(self.getCurTemplatePath() + '/' + navNo + '/' + url);\r\n return;\r\n };\r\n $scope.goToPageSectionForm = function (pageIndex, sectionCode, initElemId) {\r\n var pageSectionFormUrl = self.getCurTemplatePath() + \"/\" + self.$scope.navTabNum + \"/\" + self.$scope.pageUrl + \"/\" + pageIndex + \"/\" + sectionCode;\r\n DataServices.userAction = Constants.userActions.pageNavigation;\r\n DataServices.sectionPageAccessedBy = initElemId;\r\n $location.path(pageSectionFormUrl);\r\n };\r\n $scope.returnToCallingPage = function () {\r\n $location.path(DataServices.callingPage);\r\n DataServices.callingPage = undefined;\r\n };\r\n $scope.getSectionId = function (pIndex, sIndex, sCode) {\r\n var _sIndex = 0;\r\n if (sIndex !== undefined) {\r\n _sIndex = sIndex;\r\n }\r\n return pIndex + '-' + sCode + '-' + _sIndex;\r\n };\r\n $scope.getQuestionId = function (qCode, pIndex, sIndex, sCode) {\r\n if (!qCode) {\r\n return '';\r\n }\r\n return $scope.getSectionId(pIndex, sIndex, sCode) + '-' + qCode;\r\n };\r\n $scope.filterButtons = function (position, include) {\r\n if ($scope.page.buttons) {\r\n return $scope.page.buttons.filter(function (o) { return include ? o.position == position : o.position != position; });\r\n }\r\n else {\r\n return null;\r\n }\r\n };\r\n $scope.goToElement = function (id) {\r\n document.getElementById(id).focus();\r\n };\r\n $scope.pageScrollTo = function (page, error) {\r\n if (page.isRepeating) {\r\n if ($scope.getPageItemCount($scope.pageId) > 0 && $scope.getPageItemState(error.pageIndex) == Constants.RepeatingItemState.viewing) {\r\n $scope.editPageItem(error.pageIndex);\r\n }\r\n if (page.validation && page.navigateFromSummaryFocusItem) {\r\n $scope.scrollTo(page.navigateFromSummaryFocusItem);\r\n }\r\n }\r\n var section = $filter('filter')(page.sections, { 'code': error.sectionCode }, true)[0];\r\n if (section && section.isRepeating) {\r\n $scope.editSectionItem(error.pageIndex, error.sectionIndex, error.sectionCode);\r\n }\r\n if (error.sectionCode) {\r\n $scope.scrollTo($scope.getQuestionId(error.questionCode, error.pageIndex, error.sectionIndex, error.sectionCode));\r\n }\r\n };\r\n $scope.getPageItemState = function (pIndex) {\r\n if ($scope.responses[$scope.pageId]) {\r\n var item = $scope.responses[$scope.pageId][pIndex];\r\n if (item) {\r\n return item.$state;\r\n }\r\n }\r\n return undefined;\r\n };\r\n $scope.setPageItemState = function (pIndex, state, pageId) {\r\n if (pageId == undefined) {\r\n pageId = $scope.pageId;\r\n }\r\n if ($scope.responses[pageId]) {\r\n if ($scope.responses[pageId][pIndex]) {\r\n $scope.responses[pageId][pIndex].$state = state;\r\n }\r\n }\r\n };\r\n $scope.isAddingPageItem = function () {\r\n if ($scope.responses[$scope.pageId]) {\r\n var matches = $filter('filter')($scope.responses[$scope.pageId], { $state: Constants.RepeatingItemState.adding }, true);\r\n if (matches && matches.length > 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n $scope.addPageItem = function () {\r\n var newResponse = {\r\n id: $scope.utility.generateGuid()\r\n };\r\n if (!$scope.responses[$scope.pageId]) {\r\n $scope.responses[$scope.pageId] = [];\r\n }\r\n $scope.responses[$scope.pageId].push(newResponse);\r\n var page = self.getPage($scope.navTabNum, $scope.pageUrl);\r\n var pIndex = $scope.responses[$scope.pageId].length - 1;\r\n if (page.sections != undefined) {\r\n for (var s = 0; s < page.sections.length; s++) {\r\n var section = page.sections[s];\r\n if (!$scope.responses[$scope.pageId][pIndex][section.code]) {\r\n $scope.responses[$scope.pageId][pIndex][section.code] = [];\r\n if (section.isRepeating) {\r\n if (section.repeatingItemRequired) {\r\n $scope.responses[$scope.pageId][pIndex][section.code].push({ id: $scope.utility.generateGuid() });\r\n $scope.setSectionItemState(pIndex, 0, section.code, Constants.RepeatingItemState.adding);\r\n }\r\n }\r\n else {\r\n $scope.responses[$scope.pageId][pIndex][section.code].push({});\r\n }\r\n }\r\n for (var q = 0; q < section.questions.length; q++) {\r\n var question = section.questions[q];\r\n if (question.defaultType &&\r\n question.defaultValue &&\r\n $scope.responses[$scope.pageId][pIndex][section.code] &&\r\n $scope.responses[$scope.pageId][pIndex][section.code][0]) {\r\n var newValue = (question.defaultType === Constants.DefaultType.Javascript) ? $scope.$eval(question.defaultValue) : question.defaultValue;\r\n $scope.setQuestionValue(question, newValue, $scope.responses[$scope.pageId][pIndex][section.code][0]);\r\n }\r\n }\r\n }\r\n }\r\n $scope.setupWatchesForPageItem(page, pIndex);\r\n $scope.setPageItemState(pIndex, Constants.RepeatingItemState.adding);\r\n $scope.pageShadowResponse[pIndex] = angular.copy($scope.responses[$scope.pageId][pIndex]);\r\n $scope.focusFirstElement(page, pIndex, null, 0);\r\n };\r\n $scope.addPageItemOnOtherPage = function (pageId, pageUrl, navTabNum, referenceId) {\r\n var newResponse = {\r\n id: $scope.utility.generateGuid(),\r\n '$referenceId': referenceId\r\n };\r\n if (!$scope.responses[pageId]) {\r\n $scope.responses[pageId] = [];\r\n }\r\n $scope.responses[pageId].push(newResponse);\r\n var page = self.getPage(navTabNum, pageUrl);\r\n var pIndex = $scope.responses[pageId].length - 1;\r\n if (page.sections != undefined) {\r\n for (var s = 0; s < page.sections.length; s++) {\r\n var section = page.sections[s];\r\n if ($scope.responses[pageId][pIndex][section.code] == undefined) {\r\n var newResponse = {\r\n id: $scope.utility.generateGuid(),\r\n '$referenceId': undefined\r\n };\r\n $scope.responses[pageId][pIndex][section.code] = [newResponse];\r\n if (section.isRepeating) {\r\n $scope.setSectionItemState(pIndex, ($scope.responses[pageId][pIndex][section.code].length - 1), section.code, Constants.RepeatingItemState.adding, pageId);\r\n }\r\n }\r\n for (var q = 0; q < section.questions.length; q++) {\r\n var question = section.questions[q];\r\n if (question.defaultType && question.defaultValue && $scope.responses[pageId][pIndex][section.code] != undefined) {\r\n var newValue = (question.defaultType === Constants.DefaultType.Javascript) ? $scope.$eval(question.defaultValue) : question.defaultValue;\r\n $scope.setQuestionValue(question, newValue, $scope.responses[pageId][pIndex][section.code][0]);\r\n }\r\n }\r\n }\r\n }\r\n $scope.setPageItemState(pIndex, Constants.RepeatingItemState.editing, pageId);\r\n };\r\n $scope.cancelNewPageItem = function (pIndex) {\r\n $scope.utility.removeFromValidationErrors(null, $scope.pageId, pIndex, null, null, null);\r\n $scope.responses[$scope.pageId].splice(pIndex, 1);\r\n if ($scope.responses[$scope.pageId].length == 0) {\r\n delete $scope.responses[$scope.pageId];\r\n }\r\n $scope.pageShadowResponse.splice(pIndex, 1);\r\n $scope.deregisterPageItemWatches(pIndex);\r\n $scope.utility.focus('pageAddNewButton');\r\n };\r\n $scope.saveExistingPageItem = function (pIndex) {\r\n if ($scope.validatePage($scope.navTabNum, $scope.pageUrl, pIndex)) {\r\n $scope.setPageItemState(pIndex, Constants.RepeatingItemState.viewing);\r\n $scope.pageShadowResponse[pIndex] = angular.copy($scope.responses[$scope.pageId][pIndex]);\r\n $scope.utility.focus('pageEdit-' + pIndex);\r\n }\r\n else {\r\n $scope.alertFirstError();\r\n }\r\n };\r\n $scope.saveNewPageItem = function (pIndex) {\r\n if ($scope.validatePage($scope.navTabNum, $scope.pageUrl, pIndex)) {\r\n $scope.setPageItemState(pIndex, Constants.RepeatingItemState.viewing);\r\n $scope.pageShadowResponse[pIndex] = angular.copy($scope.responses[$scope.pageId][pIndex]);\r\n $scope.utility.focus('pageAddNewButton');\r\n }\r\n else {\r\n $scope.alertFirstError();\r\n }\r\n };\r\n $scope.cancelExistingPageItem = function (pIndex) {\r\n $scope.utility.removeFromValidationErrors(null, $scope.pageId, pIndex, null, null, null);\r\n $scope.responses[$scope.pageId][pIndex] = angular.copy($scope.pageShadowResponse[pIndex]);\r\n $scope.setPageItemState(pIndex, Constants.RepeatingItemState.viewing);\r\n $scope.utility.focus('pageEdit-' + pIndex);\r\n };\r\n $scope.editPageItem = function (pIndex) {\r\n $scope.setPageItemState(pIndex, Constants.RepeatingItemState.editing);\r\n $scope.pageShadowResponse[pIndex] = angular.copy($scope.responses[$scope.pageId][pIndex]);\r\n var page = self.getPage($scope.navTabNum, $scope.pageUrl);\r\n $scope.focusFirstElement(page, pIndex, null, 0);\r\n };\r\n $scope.deletePageItem = function (pIndex, popupConfirmCode) {\r\n var params = $scope.responses[$scope.pageId][pIndex];\r\n $scope.utility.openPopup(popupConfirmCode, params).result.then(function (result) {\r\n $scope.setDirty();\r\n $scope.responses[$scope.pageId].splice(pIndex, 1);\r\n if ($scope.responses[$scope.pageId].length == 0) {\r\n delete $scope.responses[$scope.pageId];\r\n }\r\n if ($scope.pageShadowResponse[pIndex]) {\r\n $scope.pageShadowResponse.splice(pIndex, 1);\r\n }\r\n $scope.deregisterPageItemWatches(pIndex);\r\n $scope.validatePage($scope.navTabNum, $scope.pageUrl);\r\n var page = self.getPage($scope.navTabNum, $scope.pageUrl);\r\n if (page.repeatingItemRequired && pIndex == 0 && $scope.getPageItemCount($scope.pageId) === 0) {\r\n $scope.addPageItem();\r\n }\r\n else {\r\n $scope.utility.focus('pageAddNewButton');\r\n }\r\n });\r\n };\r\n $scope.openScrollToPageItem = function (pIndex) {\r\n if ($scope.responses[$scope.pageId] &&\r\n $scope.responses[$scope.pageId][pIndex]) {\r\n $scope.editPageItem(pIndex);\r\n $scope.utility.scrollElementIntoView(\"pageBody-\" + pIndex);\r\n }\r\n };\r\n $scope.openScrollToPageItemById = function (id) {\r\n var pageIndex = $scope.utility.getJsonItemIndexById($scope.responses[$scope.pageId], id);\r\n if (pageIndex >= 0) {\r\n $scope.openScrollToPageItem(pageIndex);\r\n }\r\n };\r\n $scope.openScrollToSectionItem = function (pIndex, sCode, sIndex) {\r\n if ($scope.responses[$scope.pageId] &&\r\n $scope.responses[$scope.pageId][pIndex] &&\r\n $scope.responses[$scope.pageId][pIndex][sCode] &&\r\n $scope.responses[$scope.pageId][pIndex][sCode][sIndex]) {\r\n $scope.editSectionItem(pIndex, sIndex, sCode);\r\n $scope.utility.scrollElementIntoView(\"sectionEdit-\" + pIndex + \"-\" + sCode + \"-\" + sIndex);\r\n }\r\n };\r\n $scope.getSectionItemState = function (pIndex, sIndex, sCode) {\r\n if ($scope.responses[$scope.pageId][pIndex][sCode]) {\r\n var item = $scope.responses[$scope.pageId][pIndex][sCode][sIndex];\r\n if (item) {\r\n return item.$state;\r\n }\r\n }\r\n return undefined;\r\n };\r\n $scope.setSectionItemState = function (pIndex, sIndex, sCode, state, pageId) {\r\n if (pageId == undefined) {\r\n pageId = $scope.pageId;\r\n }\r\n if ($scope.responses[pageId][pIndex][sCode]) {\r\n if ($scope.responses[pageId][pIndex][sCode][sIndex]) {\r\n $scope.responses[pageId][pIndex][sCode][sIndex].$state = state;\r\n }\r\n }\r\n };\r\n $scope.isAddingSectionItem = function (pIndex, sCode) {\r\n if ($scope.responses[$scope.pageId] && $scope.responses[$scope.pageId][pIndex][sCode]) {\r\n var matches = $filter('filter')($scope.responses[$scope.pageId][pIndex][sCode], { $state: Constants.RepeatingItemState.adding }, true);\r\n if (matches && matches.length > 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n $scope.addSectionItem = function (pIndex, sCode, focusRequired) {\r\n var newResponse = {\r\n id: $scope.utility.generateGuid()\r\n };\r\n if (!$scope.responses[$scope.pageId][pIndex]) {\r\n $scope.responses[$scope.pageId][pIndex] = [];\r\n }\r\n if (!$scope.responses[$scope.pageId][pIndex][sCode]) {\r\n $scope.responses[$scope.pageId][pIndex][sCode] = [];\r\n }\r\n $scope.responses[$scope.pageId][pIndex][sCode].push(newResponse);\r\n var page = self.getPage($scope.navTabNum, $scope.pageUrl);\r\n var section = $filter('filter')(page.sections, {\r\n code: sCode\r\n }, true)[0];\r\n var sIndex = $scope.responses[$scope.pageId][pIndex][sCode].length - 1;\r\n for (var q = 0; q < section.questions.length; q++) {\r\n var question = section.questions[q];\r\n if (question.defaultType &&\r\n question.defaultValue &&\r\n $scope.responses[$scope.pageId][pIndex][sCode] &&\r\n $scope.responses[$scope.pageId][pIndex][sCode][sIndex]) {\r\n var newValue = (question.defaultType === Constants.DefaultType.Javascript) ? $scope.$eval(question.defaultValue) : question.defaultValue;\r\n $scope.setQuestionValue(question, newValue, $scope.responses[$scope.pageId][pIndex][sCode][sIndex]);\r\n }\r\n }\r\n $scope.setupWatchesForSectionItem(section, pIndex, sIndex);\r\n $scope.setSectionItemState(pIndex, ($scope.responses[$scope.pageId][pIndex][sCode].length - 1), sCode, Constants.RepeatingItemState.adding);\r\n if (!$scope.shadowResponse[pIndex]) {\r\n $scope.shadowResponse[pIndex] = [];\r\n }\r\n if (!$scope.shadowResponse[pIndex][sCode]) {\r\n $scope.shadowResponse[pIndex][sCode] = [];\r\n }\r\n if (!$scope.shadowResponse[pIndex][sCode][sIndex]) {\r\n $scope.shadowResponse[pIndex][sCode][sIndex] = angular.copy($scope.responses[$scope.pageId][pIndex][sCode][sIndex]);\r\n }\r\n if (focusRequired) {\r\n $scope.focusFirstElement($scope.page, pIndex, sCode, sIndex);\r\n }\r\n };\r\n $scope.addPopulatedSectionItem = function (pIndex, sCode, focusRequired, state, isSectionAnswered) {\r\n var newResponse = {\r\n id: $scope.utility.generateGuid()\r\n };\r\n var page = self.getPage($scope.navTabNum, $scope.pageUrl);\r\n var section = $filter('filter')(page.sections, {\r\n code: sCode\r\n }, true)[0];\r\n var sIndex = 0;\r\n if (!$scope.responses[$scope.pageId][pIndex]) {\r\n $scope.responses[$scope.pageId][pIndex] = [];\r\n }\r\n if (!$scope.responses[$scope.pageId][pIndex][sCode]) {\r\n $scope.responses[$scope.pageId][pIndex][sCode] = [newResponse];\r\n }\r\n else if (isSectionAnswered) {\r\n $scope.responses[$scope.pageId][pIndex][sCode].push(newResponse);\r\n sIndex = $scope.responses[$scope.pageId][pIndex][sCode].length - 1;\r\n }\r\n $scope.setupWatchesForSectionItem(section, pIndex, sIndex);\r\n $scope.setSectionItemState(pIndex, ($scope.responses[$scope.pageId][pIndex][sCode].length - 1), sCode, state);\r\n if (!$scope.shadowResponse[pIndex]) {\r\n $scope.shadowResponse[pIndex] = [];\r\n }\r\n if (!$scope.shadowResponse[pIndex][sCode]) {\r\n $scope.shadowResponse[pIndex][sCode] = [];\r\n }\r\n if (!$scope.shadowResponse[pIndex][sCode][sIndex]) {\r\n $scope.shadowResponse[pIndex][sCode][sIndex] = angular.copy($scope.responses[$scope.pageId][pIndex][sCode][sIndex]);\r\n }\r\n if (focusRequired) {\r\n $scope.focusFirstElement($scope.page, pIndex, sCode, sIndex);\r\n }\r\n return sIndex;\r\n };\r\n $scope.saveNewSectionItem = function (pIndex, sIndex, sCode) {\r\n if ($scope.validatePage($scope.navTabNum, $scope.pageUrl, pIndex, sCode, sIndex)) {\r\n $scope.setSectionItemState(pIndex, sIndex, sCode, Constants.RepeatingItemState.viewing);\r\n $scope.shadowResponse[pIndex][sCode][sIndex] = angular.copy($scope.responses[$scope.pageId][pIndex][sCode][sIndex]);\r\n $scope.utility.focus('sectionAddNewButton-' + pIndex + '-' + sCode);\r\n }\r\n else {\r\n $scope.alertFirstError();\r\n }\r\n };\r\n $scope.cancelNewSectionItem = function (pIndex, sIndex, sCode) {\r\n $scope.utility.removeFromValidationErrors(null, $scope.pageId, pIndex, sCode, sIndex, null);\r\n $scope.responses[$scope.pageId][pIndex][sCode].splice(sIndex, 1);\r\n if ($scope.responses[$scope.pageId][pIndex][sCode].length == 0) {\r\n delete $scope.responses[$scope.pageId][pIndex][sCode];\r\n }\r\n $scope.shadowResponse[pIndex][sCode].splice(sIndex, 1);\r\n $scope.deregisterSectionItemWatches(pIndex, sCode, sIndex);\r\n $scope.utility.focus('sectionAddNewButton-' + pIndex + '-' + sCode);\r\n };\r\n $scope.saveExistingSectionItem = function (pIndex, sIndex, sCode) {\r\n if ($scope.validatePage($scope.navTabNum, $scope.pageUrl, pIndex, sCode, sIndex)) {\r\n $scope.setSectionItemState(pIndex, sIndex, sCode, Constants.RepeatingItemState.viewing);\r\n $scope.shadowResponse[pIndex][sCode][sIndex] = angular.copy($scope.responses[$scope.pageId][pIndex][sCode][sIndex]);\r\n $scope.utility.focus('sectionEdit-' + pIndex + '-' + sCode + '-' + sIndex);\r\n }\r\n else {\r\n $scope.alertFirstError();\r\n }\r\n };\r\n $scope.cancelExistingSectionItem = function (pIndex, sIndex, sCode) {\r\n $scope.utility.removeFromValidationErrors(null, $scope.pageId, pIndex, sCode, sIndex, null);\r\n $scope.responses[$scope.pageId][pIndex][sCode][sIndex] = angular.copy($scope.shadowResponse[pIndex][sCode][sIndex]);\r\n $scope.setSectionItemState(pIndex, sIndex, sCode, Constants.RepeatingItemState.viewing);\r\n $scope.utility.focus('sectionAddNewButton-' + pIndex + '-' + sCode);\r\n };\r\n $scope.editSectionItem = function (pIndex, sIndex, sCode) {\r\n $scope.setSectionItemState(pIndex, sIndex, sCode, Constants.RepeatingItemState.editing);\r\n if (!$scope.shadowResponse[pIndex]) {\r\n $scope.shadowResponse[pIndex] = [];\r\n }\r\n if (!$scope.shadowResponse[pIndex][sCode]) {\r\n $scope.shadowResponse[pIndex][sCode] = [];\r\n }\r\n $scope.shadowResponse[pIndex][sCode][sIndex] = angular.copy($scope.responses[$scope.pageId][pIndex][sCode][sIndex]);\r\n var page = self.getPage($scope.navTabNum, $scope.pageUrl);\r\n $scope.focusFirstElement(page, pIndex, sCode, sIndex);\r\n };\r\n $scope.deleteSectionItem = function (pIndex, sIndex, sCode, popupConfirmCode) {\r\n var params = $scope.responses[$scope.pageId][pIndex][sCode][sIndex];\r\n $scope.utility.openPopup(popupConfirmCode, params).result.then(function (result) {\r\n $scope.setDirty();\r\n $scope.responses[$scope.pageId][pIndex][sCode].splice(sIndex, 1);\r\n if ($scope.responses[$scope.pageId][pIndex][sCode].length == 0) {\r\n delete $scope.responses[$scope.pageId][pIndex][sCode];\r\n }\r\n if ($scope.shadowResponse[pIndex] && $scope.shadowResponse[pIndex][sCode] && $scope.shadowResponse[pIndex][sCode][sIndex]) {\r\n $scope.shadowResponse[pIndex][sCode].splice(sIndex, 1);\r\n }\r\n $scope.deregisterSectionItemWatches(pIndex, sCode, sIndex);\r\n if ($scope.page.sections) {\r\n var section = $filter('filter')($scope.page.sections, { code: sCode }, true);\r\n if (section.length && section[0].repeatingItemRequired) {\r\n if ($scope.getSectionItemCount($scope.pageId, sCode, pIndex) === 0) {\r\n $scope.addSectionItem(pIndex, sCode, true);\r\n }\r\n }\r\n }\r\n else {\r\n $scope.utility.focus('sectionAddNewButton-' + pIndex + '-' + sCode);\r\n }\r\n })\r\n .catch(function () {\r\n });\r\n };\r\n $scope.handleDuplicateSectionItems = function (pageId, pIndex, sIndex, sCode, match, duplicatePopupCode) {\r\n var deferred = self.$q.defer();\r\n if (self.$scope.getSectionItemCount(pageId, sCode, pIndex) > 1) {\r\n var sectionItems = self.$scope.responses[pageId][pIndex][sCode];\r\n var sectionItem_1 = sectionItems[sIndex];\r\n var hasDuplicates = sectionItems.filter(function (item) { return match(sectionItem_1, item); }).length > 1;\r\n if (hasDuplicates) {\r\n self.$scope.utility.openPopup(duplicatePopupCode);\r\n deferred.resolve(false);\r\n }\r\n else {\r\n deferred.resolve(true);\r\n }\r\n }\r\n else {\r\n deferred.resolve(true);\r\n }\r\n return deferred.promise;\r\n };\r\n $scope.resetTheResponse = function (pIndex, sCode, sIndex, qCode) {\r\n if ($scope.responses && $scope.pageId && pIndex && sCode && sIndex && qCode && $scope.responses[$scope.pageId] && $scope.responses[$scope.pageId][pIndex] && $scope.responses[$scope.pageId][pIndex][sCode] && $scope.responses[$scope.pageId][pIndex][sCode][sIndex]) {\r\n $scope.responses[$scope.pageId][pIndex][sCode][sIndex] = undefined;\r\n $scope.scrollTo($scope.getQuestionId(qCode, pIndex, sIndex, sCode));\r\n }\r\n };\r\n $scope.isReadOnly = function (question, pIndex, page, sIndex, section) {\r\n if ($scope.isPageEditable === false) {\r\n return true;\r\n }\r\n else {\r\n if (page && $scope.responses[$scope.pageId] && $scope.responses[$scope.pageId][pIndex]) {\r\n var p = $scope.responses[$scope.pageId][pIndex];\r\n if (page.isRepeating === true && page.repeatingReadOnly === true) {\r\n return true;\r\n }\r\n if (section && p[section.code] && p[section.code][sIndex]) {\r\n var s = p[section.code][sIndex];\r\n if (section.isRepeating === true && section.repeatingReadOnly === true &&\r\n !(section.repeatingCanAddToReadOnly === true && s.$state === Constants.RepeatingItemState.adding)) {\r\n return true;\r\n }\r\n }\r\n }\r\n var readOnly = question.access == 'R';\r\n if (question.readOnlyCondition) {\r\n readOnly = readOnly || ($scope.$eval(question.readOnlyCondition, { p$: $scope.setQuestionParams(pIndex, sIndex, section.code) }) == true);\r\n }\r\n return readOnly;\r\n }\r\n };\r\n $scope.isRequired = function (question) {\r\n var isRequired = false;\r\n if (question != null && question.validations != null) {\r\n isRequired = _.some(question.validations, function (val) {\r\n return val.ruleType && val.ruleType.toLowerCase() === 'mandatory';\r\n });\r\n }\r\n return isRequired;\r\n };\r\n $scope.isNextPageSummary = function () {\r\n var curNavNo = $scope.navTabNum;\r\n var curTab = _.find($scope.configData.navigationTabs, function (o) { return o.number == curNavNo; });\r\n var maxPagesInTab = self.getMaxPageCountForTab(curNavNo);\r\n var curPageNo = self.getPageIndex(curTab, $scope.pageUrl);\r\n if (curPageNo < (maxPagesInTab - 1)) {\r\n return (curNavNo == Constants.summaryNavTabNum || curNavNo == Constants.systemNavTabNum) != false;\r\n }\r\n else {\r\n var nextTab = $scope.configData.navigationTabs[($scope.configData.navigationTabs.indexOf(curTab) + 1)];\r\n return (nextTab.number == Constants.summaryNavTabNum || nextTab.number == Constants.systemNavTabNum) != false;\r\n }\r\n };\r\n $scope.returnToLanding = function () {\r\n $location.path(Constants.Url.landing);\r\n };\r\n $scope.padValue = function (qCode, pIndex, sIndex, sCode, totalDigits, padZero) {\r\n var resp = $scope.responses[$scope.pageId][pIndex][sCode][sIndex][qCode];\r\n if (resp && resp.length > 0 && (resp > 0 || (padZero && resp == 0))) {\r\n $scope.responses[$scope.pageId][pIndex][sCode][sIndex][qCode] = Array((totalDigits + 1) - resp.length).join('0') + resp;\r\n }\r\n };\r\n $scope.getPageItemCount = function (pageId) {\r\n var count = 0;\r\n if ($scope.responses[pageId]) {\r\n count = $scope.responses[pageId].length;\r\n }\r\n return count;\r\n };\r\n $scope.getSectionItemCount = function (pageId, sCode, pIndex) {\r\n var count = 0;\r\n if ($scope.responses && $scope.responses[pageId] && $scope.responses[pageId][pIndex] && $scope.responses[pageId][pIndex][sCode]) {\r\n count = $scope.responses[pageId][pIndex][sCode].length;\r\n }\r\n return count;\r\n };\r\n $scope.checkPageItemsAreSaved = function () {\r\n if ($scope.page.isRepeating === true) {\r\n var match = _.find($scope.responses[$scope.pageId], function (pageItem) {\r\n return pageItem.$state != Constants.RepeatingItemState.viewing;\r\n });\r\n if (match) {\r\n $scope.utility.openPopup($scope.page.repeatingNavigatePopupCode);\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n $scope.checkSectionItemsAreSaved = function (sCode) {\r\n var match = _.find($scope.responses[$scope.pageId][0][sCode], function (sectionItem) {\r\n return sectionItem.$state != Constants.RepeatingItemState.viewing;\r\n });\r\n if (match) {\r\n var section = _.find($scope.page.sections, function (s) {\r\n return s.code == sCode;\r\n });\r\n $scope.validatePage($scope.navTabNum, $scope.pageUrl, null, null, null, 'inline');\r\n $scope.alertFirstError();\r\n if ($scope.validationErrors.length === 0) {\r\n $scope.utility.openPopup(section.repeatingNavigatePopupCode);\r\n }\r\n return false;\r\n }\r\n return true;\r\n };\r\n $scope.initialisePageResponse = function () {\r\n if (!$scope.responses[$scope.pageId]) {\r\n $scope.responses[$scope.pageId] = [];\r\n if (!$scope.page.isRepeating) {\r\n $scope.responses[$scope.pageId].push({});\r\n if ($scope.page.sections != undefined) {\r\n for (var s = 0; s < $scope.page.sections.length; s++) {\r\n var section = $scope.page.sections[s];\r\n if (!$scope.responses[$scope.pageId][0][section.code]) {\r\n $scope.responses[$scope.pageId][0][section.code] = [];\r\n if (!section.isRepeating) {\r\n $scope.responses[$scope.pageId][0][section.code].push({});\r\n }\r\n }\r\n for (var q = 0; q < section.questions.length; q++) {\r\n var question = section.questions[q];\r\n if (question.defaultType &&\r\n question.defaultValue &&\r\n $scope.responses[$scope.pageId][0][section.code] &&\r\n $scope.responses[$scope.pageId][0][section.code][0]) {\r\n var newValue = (question.defaultType === Constants.DefaultType.Javascript) ? $scope.$eval(question.defaultValue) : question.defaultValue;\r\n $scope.setQuestionValue(question, newValue, $scope.responses[$scope.pageId][0][section.code][0]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n $scope.focusFirstElement = function (page, pIndex, sCode, sIndex) {\r\n var sectionToFocus = page.sections && page.sections.length > 0\r\n ? (sCode ? $filter('filter')(page.sections, { code: sCode }, true)[0] : page.sections[0])\r\n : null;\r\n if (sectionToFocus) {\r\n var getFirstNonEmptyQuestionItem = self.getFirstNonEmptyQuestion(sectionToFocus.questions);\r\n var qCode = sectionToFocus.questions && sectionToFocus.questions.length > 0 && getFirstNonEmptyQuestionItem != null ? getFirstNonEmptyQuestionItem.code : null;\r\n if (qCode) {\r\n var id = $scope.getQuestionId(qCode, pIndex, sIndex, sectionToFocus.code);\r\n if (id) {\r\n $scope.utility.focus(id);\r\n }\r\n }\r\n }\r\n };\r\n $scope.getSectionIndex = function (pageId, sectionCode) {\r\n if ($scope.responses[pageId]\r\n && $scope.responses[pageId][0]\r\n && $scope.responses[pageId][0][sectionCode]) {\r\n return $scope.responses[pageId][0][sectionCode].length.toString();\r\n }\r\n else {\r\n return 0;\r\n }\r\n };\r\n $scope.getApiLookUpValues = function (keyword, lookUpQuestionCode) {\r\n var result = [];\r\n var undefinedObj = { text: 'Undefined', code: 'Undefined' };\r\n result.push(undefinedObj);\r\n return $q.resolve(result);\r\n };\r\n $scope.getApiSelectValues = function (params) {\r\n $scope.apiSelectValues = {};\r\n };\r\n $scope.getQuestionTemplateUrl = function (question) {\r\n var controlType = question.controlType;\r\n var baseTemplateDir = 'app/partials/form/';\r\n var availableControls = {\r\n 'text': baseTemplateDir + 'questionInputText.html',\r\n 'radio': baseTemplateDir + 'questionInputRadio.html',\r\n 'select': baseTemplateDir + 'questionInputSelect.html',\r\n 'apiSelect': baseTemplateDir + 'questionInputApiSelect.html',\r\n 'singleCheckbox': baseTemplateDir + 'questionInputSingleCheckbox.html',\r\n 'checkbox': baseTemplateDir + 'questionInputCheckbox.html',\r\n 'address': baseTemplateDir + 'questionInputAddress.html',\r\n 'photoControl': baseTemplateDir + 'questionInputPhotoControl.html',\r\n 'label': baseTemplateDir + 'questionInputLabel.html',\r\n 'empty': baseTemplateDir + 'questionInputEmpty.html',\r\n 'typeahead': baseTemplateDir + 'questionInputTypeAhead.html',\r\n 'date': baseTemplateDir + 'questionInputDate.html',\r\n 'textarea': baseTemplateDir + 'questionInputTextArea.html',\r\n 'textarealarge': baseTemplateDir + 'questionInputTextAreaLarge.html',\r\n 'apiLookUp': baseTemplateDir + 'questionInputApiLookup.html',\r\n 'filterSelect': baseTemplateDir + 'questionInputFilterSelect.html',\r\n 'button': baseTemplateDir + 'questionInputButton.html',\r\n 'multiSelect': baseTemplateDir + 'questionInputMultiSelect.html',\r\n 'multiFilterSelect': baseTemplateDir + 'questionInputMultiFilterSelect.html',\r\n 'singleSelect': baseTemplateDir + 'questionInputSingleSelect.html',\r\n 'time': baseTemplateDir + 'questionInputTime.html'\r\n };\r\n if (availableControls[controlType]) {\r\n return availableControls[controlType];\r\n }\r\n console.log('missing template: ' + controlType);\r\n return baseTemplateDir + 'questionInputMissing.html';\r\n };\r\n $scope.getSectionTemplateUrl = function (section, templateLocation) {\r\n var self = this;\r\n var baseTemplateDir = 'app/partials/section/';\r\n var templateUrl = \"\" + baseTemplateDir + templateLocation + \".html\";\r\n return templateUrl;\r\n };\r\n $scope.getUserOrganisation = function () {\r\n var self = _this;\r\n return self.DataServices.userProfile.selectedOrganisationId.toString();\r\n };\r\n $scope.deleteMultiSelectEventItem = function (question, pIndex, sIndex, sCode, event) {\r\n $scope.utility.openPopup('eventDeleteConfirmation', null).result.then(function () {\r\n $scope.setDirty();\r\n var selectedEvents = angular.copy($scope.responses[$scope.pageId][pIndex][sCode][sIndex][question.code]);\r\n _.remove(selectedEvents, { code: event.code });\r\n $scope.setQuestionValue(question, selectedEvents, $scope.responses[$scope.pageId][pIndex][sCode][sIndex]);\r\n });\r\n };\r\n $scope.isMultiSelectItemLocked = function (qCode, pIndex, sIndex, sCode, multiSelectItem) {\r\n return false;\r\n };\r\n var page = self.getPage($scope.navTabNum, $scope.pageUrl);\r\n if (page.repeatingItemRequired) {\r\n if ($scope.getPageItemCount($scope.pageId) === 0) {\r\n $scope.addPageItem();\r\n }\r\n }\r\n if (page.sections && page.sections.length > 0) {\r\n var sectionContainingRepeatingItemRequired = _.filter(page.sections, function (o) { return o.repeatingItemRequired; });\r\n if (sectionContainingRepeatingItemRequired.length > 0) {\r\n $scope.initialisePageResponse();\r\n if ($scope.responses[$scope.pageId] && $scope.responses[$scope.pageId].length) {\r\n _.forEach(sectionContainingRepeatingItemRequired, function (item) {\r\n var curNavNo = $scope.navTabNum;\r\n var curTab = _.find($scope.configData.navigationTabs, function (o) { return o.number == curNavNo; });\r\n if ($scope.getSectionItemCount($scope.pageId, item.code, 0) === 0) {\r\n $scope.addSectionItem(0, item.code, true);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n if ($scope.page.resetValueOnLoad == true) {\r\n $scope.responses[$scope.pageId] = undefined;\r\n }\r\n UtilityServices.warnBeforeWindowUnload($scope, function () { return DataServices.responseInfo.isDirty; });\r\n }\r\n QuestionController.prototype.getFirstNonEmptyQuestion = function (questions) {\r\n var nonEmptyQuestions = _.filter(questions, function (item, index) {\r\n return item['controlType'] != 'empty';\r\n });\r\n if (nonEmptyQuestions && nonEmptyQuestions.length > 0) {\r\n return nonEmptyQuestions[0];\r\n }\r\n return null;\r\n };\r\n QuestionController.prototype.getCurTemplatePath = function () {\r\n var self = this;\r\n return self.$location['$$path'].substring(1, self.$location['$$path'].indexOf('/', 1));\r\n };\r\n QuestionController.prototype.getMaxPageCountForTab = function (navNo) {\r\n var self = this;\r\n var maxPageInTab = 0;\r\n _.find(self.$scope.configData.navigationTabs, function (o) { return o.number == navNo; }).pages.forEach(function (value) {\r\n if ((value.includeInProgress) || navNo == self.Constants.summaryNavTabNum || navNo == self.Constants.systemNavTabNum) {\r\n maxPageInTab = maxPageInTab + 1;\r\n }\r\n });\r\n return maxPageInTab;\r\n };\r\n QuestionController.prototype.getNavDirection = function (fromUrl, toUrl) {\r\n var self = this;\r\n var from = self.getNavTabAndPageNo(fromUrl);\r\n var to = self.getNavTabAndPageNo(toUrl);\r\n var compareResult = 1;\r\n if (from !== null && to !== null) {\r\n compareResult = formApp.NavTabPageIndex.compare(from, to);\r\n }\r\n var navDirection;\r\n if (compareResult === 0) {\r\n navDirection = formApp.NavigationDirection.ParentChild;\r\n }\r\n else if (compareResult < 0) {\r\n navDirection = formApp.NavigationDirection.Backward;\r\n }\r\n else {\r\n navDirection = formApp.NavigationDirection.Forward;\r\n }\r\n return navDirection;\r\n };\r\n QuestionController.prototype.getUrlPath = function (pageUrl) {\r\n var hashIndex = pageUrl.indexOf('#');\r\n var pathStart = pageUrl.indexOf('/', hashIndex);\r\n return pageUrl.substring(pathStart);\r\n };\r\n QuestionController.prototype.parseUrlParts = function (pageUrl) {\r\n var self = this;\r\n return self.getUrlPath(pageUrl).split('/');\r\n };\r\n QuestionController.prototype.getNavTabAndPageNo = function (pageUrl) {\r\n var self = this;\r\n var urlParts = self.parseUrlParts(pageUrl);\r\n if (urlParts.length >= 4) {\r\n var tabNo = parseInt(urlParts[2]);\r\n var tab = self.getNavTab(tabNo);\r\n var pageNo = self.getPageIndex(tab, urlParts[3]);\r\n return new formApp.NavTabPageIndex(tabNo, pageNo + 1);\r\n }\r\n else {\r\n return null;\r\n }\r\n };\r\n QuestionController.prototype.getPageIndex = function (curTab, pageUrl) {\r\n var self = this;\r\n var curPageIndex = -1;\r\n for (var i = 0; i < self.getMaxPageCountForTab(curTab.number); i++) {\r\n if (curTab.pages[i].url == pageUrl) {\r\n curPageIndex = i;\r\n break;\r\n }\r\n }\r\n return curPageIndex;\r\n };\r\n QuestionController.prototype.getNavTab = function (navTabNum) {\r\n var self = this;\r\n return _.find(self.$scope.configData.navigationTabs, function (tab) {\r\n return tab.number == navTabNum;\r\n });\r\n };\r\n QuestionController.prototype.getPage = function (navTabNum, pageUrl) {\r\n var self = this;\r\n var navTab = self.getNavTab(navTabNum);\r\n return _.find(navTab.pages, function (p) { return p.url == pageUrl; });\r\n };\r\n QuestionController.prototype.transferToNextPage = function () {\r\n var self = this;\r\n var curNavNo = self.$scope.navTabNum;\r\n var curTab = self.getNavTab(curNavNo);\r\n var maxPagesInTab = self.getMaxPageCountForTab(curNavNo);\r\n var curPageNo = self.getPageIndex(curTab, self.$scope.pageUrl);\r\n if (curNavNo > 0) {\r\n if (curPageNo < (maxPagesInTab - 1)) {\r\n if (!curTab.includeInProgress) {\r\n self.$location.path(self.getCurTemplatePath() + '/' + curNavNo + '/' + curTab.pages[curPageNo + 1].url);\r\n return;\r\n }\r\n for (var i = curPageNo + 1; i <= maxPagesInTab; i++) {\r\n if (curTab.pages[i].navigationShow) {\r\n self.$location.path(self.getCurTemplatePath() + '/' + curNavNo + '/' + curTab.pages[i].url);\r\n return;\r\n }\r\n }\r\n }\r\n if (curPageNo == (maxPagesInTab - 1)) {\r\n var nextTab = self.$scope.configData.navigationTabs[(self.$scope.configData.navigationTabs.indexOf(curTab) + 1)];\r\n if (nextTab == null) {\r\n self.$scope.returnToLanding();\r\n }\r\n else {\r\n if (nextTab.includeInProgress) {\r\n var nextVisiblePage = _.find(nextTab.pages, function (p) { return p.navigationShow; });\r\n self.$location.path(self.getCurTemplatePath() + '/' + nextTab.number + '/' + nextVisiblePage.url);\r\n return;\r\n }\r\n self.$location.path(self.getCurTemplatePath() + '/' + nextTab.number + '/' + nextTab.pages[0].url);\r\n return;\r\n }\r\n }\r\n }\r\n };\r\n QuestionController.prototype.transferToPreviousPage = function () {\r\n var self = this;\r\n if (self.DataServices.callingPage) {\r\n self.$scope.returnToCallingPage();\r\n }\r\n else {\r\n var curNavNo = self.$scope.navTabNum;\r\n var curTab = self.getNavTab(curNavNo);\r\n var maxPagesInTab = self.getMaxPageCountForTab(curNavNo);\r\n var curPageNo = self.getPageIndex(curTab, self.$scope.pageUrl);\r\n if (curPageNo == 0) {\r\n var prevTab = self.$scope.configData.navigationTabs[(self.$scope.configData.navigationTabs.indexOf(curTab) - 1)];\r\n self.$location.path(self.getCurTemplatePath() + '/' + prevTab.number + '/' + prevTab.pages[(self.getMaxPageCountForTab(prevTab.number) - 1)].url);\r\n }\r\n else if (curPageNo > 0) {\r\n var url = curTab.pages[(curPageNo - 1)].url;\r\n self.$location.path(self.getCurTemplatePath() + '/' + curNavNo + '/' + url);\r\n }\r\n }\r\n };\r\n QuestionController.$inject = [\r\n '$scope',\r\n '$q',\r\n '$http',\r\n 'DataServices',\r\n 'UtilityServices',\r\n 'ValidationService',\r\n '$log',\r\n '$location',\r\n '$routeParams',\r\n '$filter',\r\n '$anchorScroll',\r\n '$timeout',\r\n '$rootScope',\r\n 'Constants',\r\n '$route'\r\n ];\r\n return QuestionController;\r\n }());\r\n formApp.QuestionController = QuestionController;\r\n angular.module('formApp').controller('questionController', QuestionController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=questionController.js.map","var formApp;\r\n(function (formApp) {\r\n var ReportContainerController = (function () {\r\n function ReportContainerController($scope, $rootScope, $routeParams, constants, utilityServices, reportingService) {\r\n this.$scope = $scope;\r\n this.$rootScope = $rootScope;\r\n this.$routeParams = $routeParams;\r\n this.constants = constants;\r\n this.utilityServices = utilityServices;\r\n this.reportingService = reportingService;\r\n var self = this;\r\n self.$rootScope.$broadcast('fullScreenMode', true);\r\n var reportDiv = document.getElementById('reportDiv');\r\n var reportId = self.reportingService.getReportIdFromQueryString();\r\n self.utilityServices.showPageLoader();\r\n self.reportingService.loadReport(reportDiv, self.constants.Url.reportContainer, reportId)\r\n .catch(function (errorInfo) {\r\n self.reportingService.handleError(errorInfo);\r\n })\r\n .finally(function () {\r\n self.utilityServices.hidePageLoader();\r\n });\r\n }\r\n ReportContainerController.$inject = [\r\n '$scope',\r\n '$rootScope',\r\n '$routeParams',\r\n 'Constants',\r\n 'UtilityServices',\r\n 'ReportingService'\r\n ];\r\n return ReportContainerController;\r\n }());\r\n formApp.ReportContainerController = ReportContainerController;\r\n angular.module('formApp').controller('reportContainerController', ReportContainerController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=reportContainerController.js.map","var formApp;\r\n(function (formApp) {\r\n var BaseManageController = (function () {\r\n function BaseManageController(configTemplate, managePageUrl, $scope, $location, constants, dataServices, utilityServices, uiGridConstants, uiGridExporterConstants) {\r\n this.configTemplate = configTemplate;\r\n this.managePageUrl = managePageUrl;\r\n this.$scope = $scope;\r\n this.$location = $location;\r\n this.constants = constants;\r\n this.dataServices = dataServices;\r\n this.utilityServices = utilityServices;\r\n this.uiGridConstants = uiGridConstants;\r\n this.uiGridExporterConstants = uiGridExporterConstants;\r\n var self = this;\r\n $scope.utility = utilityServices;\r\n $scope.constants = constants;\r\n dataServices.currentManagePageUrl = managePageUrl;\r\n dataServices.resetResponseInfo();\r\n dataServices.validatedPages = [];\r\n dataServices.validationErrors = [];\r\n delete dataServices.callingPage;\r\n $scope.totalRecords = 0;\r\n $scope.maxRecords = 0;\r\n $scope.hasMoreRecords = false;\r\n self.iosOrMobile = utilityServices.checkIfIOSOrMobile();\r\n $scope.isRunningInExtraSmallScreen = utilityServices.isRunningInExtraSmallScreen();\r\n $scope.userProfile = self.dataServices.userProfile;\r\n $scope.export = function () {\r\n self.export();\r\n };\r\n $scope.canCreateNonAdminData = function () {\r\n return self.canCreateNonAdminData();\r\n };\r\n $scope.refresh = function () {\r\n self.showLoader();\r\n self.getGridData().finally(function () {\r\n self.hideLoader();\r\n });\r\n };\r\n $scope.filterRecords = function () {\r\n self.clearAndGetGridData();\r\n };\r\n $scope.onChangeOrganisation = function () {\r\n self.onChangeOrganisation();\r\n };\r\n $scope.clearAllFilters = function () {\r\n self.clearAllFilters();\r\n };\r\n $scope.parsePdfErrorMessage = function (errorResponse) {\r\n return self.parsePdfErrorMessage(errorResponse);\r\n };\r\n }\r\n BaseManageController.prototype.showLoader = function (fallBackTimeoutInMilliSeconds) {\r\n var self = this;\r\n self.$scope.isLoading = true;\r\n self.utilityServices.showPageLoader(fallBackTimeoutInMilliSeconds);\r\n };\r\n BaseManageController.prototype.hideLoader = function () {\r\n var self = this;\r\n self.$scope.isLoading = false;\r\n self.utilityServices.hidePageLoader();\r\n };\r\n BaseManageController.prototype.export = function () {\r\n var self = this;\r\n self.$scope.gridApi.exporter.csvExport(self.uiGridExporterConstants.VISIBLE, self.uiGridExporterConstants.VISIBLE);\r\n };\r\n BaseManageController.prototype.downloadExtract = function (getExtract) {\r\n var self = this;\r\n self.showLoader();\r\n getExtract()\r\n .then(function (response) {\r\n var data = response && response.data;\r\n try {\r\n var file = new formApp.win.Blob([data], { type: 'text/csv' }, { name: self.$scope.exportFileName });\r\n formApp.win.saveAs(file, self.$scope.exportFileName + \".csv\");\r\n }\r\n catch (error) {\r\n self.$scope.utility.openPopup('errorDownloadDoc', formApp.ErrorInfo.fromCustomError('Download Export', error));\r\n }\r\n })\r\n .catch(function (error) {\r\n self.$scope.utility.openPopup('errorDownloadDoc', formApp.ErrorInfo.fromHttpResponse(error, true));\r\n })\r\n .finally(function () {\r\n self.hideLoader();\r\n });\r\n };\r\n BaseManageController.prototype.canCreateNonAdminData = function () {\r\n var self = this;\r\n var selectedOrganisation = self.$scope.userProfile.selectedOrganisation();\r\n return selectedOrganisation && selectedOrganisation.isCentral === false;\r\n };\r\n BaseManageController.prototype.exportField = function (grid, row, col, value) {\r\n if (col.colDef.cellTemplate === 'ui-grid/date-cell' || col.colDef.cellFilter === 'date:\\'dd/MM/yyyy\\'') {\r\n if (value) {\r\n return moment(value).format(grid.appScope.constants.ausDateFormat);\r\n }\r\n return '';\r\n }\r\n else if (_.isArray(value)) {\r\n return _.join(value, '|');\r\n }\r\n return value;\r\n };\r\n BaseManageController.prototype.clearAndGetGridData = function () {\r\n var self = this;\r\n self.showLoader();\r\n self.$scope.gridOptions.data = [];\r\n self.getGridData().finally(function () {\r\n self.hideLoader();\r\n });\r\n };\r\n BaseManageController.prototype.clearAllFilters = function () {\r\n var self = this;\r\n self.showLoader();\r\n self.$scope.gridOptions.data = [];\r\n self.$scope.filters.resetFilterSelections();\r\n self.getGridData().finally(function () {\r\n self.hideLoader();\r\n });\r\n };\r\n BaseManageController.prototype.parsePdfErrorMessage = function (errorResponse) {\r\n var self = this;\r\n var errorMessage = null;\r\n if (errorResponse && errorResponse.data) {\r\n var body = String.fromCharCode.apply(null, new Uint8Array(errorResponse.data));\r\n var errorJson = angular.fromJson(body);\r\n errorMessage = errorJson.Error;\r\n }\r\n return errorMessage;\r\n };\r\n BaseManageController.prototype.onChangeOrganisation = function () {\r\n var self = this;\r\n if (self.dataServices.userProfile.isCentral) {\r\n self.clearAndGetGridData();\r\n }\r\n else {\r\n self.showLoader();\r\n self.dataServices.updateUserProfileData()\r\n .then(function () {\r\n self.utilityServices.setMenuVisibility();\r\n if (self.$location.url() == self.dataServices.userProfile.landingPageUrl) {\r\n self.clearAndGetGridData();\r\n }\r\n else {\r\n self.$location.path(self.dataServices.userProfile.landingPageUrl);\r\n }\r\n }).finally(function () {\r\n self.hideLoader();\r\n });\r\n }\r\n };\r\n return BaseManageController;\r\n }());\r\n formApp.BaseManageController = BaseManageController;\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=baseManageController.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n var ManageActionsController = (function (_super) {\r\n __extends(ManageActionsController, _super);\r\n function ManageActionsController($scope, $rootScope, $location, $timeout, uiGridConstants, constants, dataServices, utilityServices, readUnreadEntityService, adalAuthenticationService, uiGridExporterConstants, $q) {\r\n var _this = _super.call(this, formApp.FormConfigurationTemplateOptions.Case, constants.Url.manageActions, $scope, $location, constants, dataServices, utilityServices, uiGridConstants, uiGridExporterConstants) || this;\r\n _this.$scope = $scope;\r\n _this.$rootScope = $rootScope;\r\n _this.$location = $location;\r\n _this.$timeout = $timeout;\r\n _this.uiGridConstants = uiGridConstants;\r\n _this.constants = constants;\r\n _this.dataServices = dataServices;\r\n _this.utilityServices = utilityServices;\r\n _this.readUnreadEntityService = readUnreadEntityService;\r\n _this.adalAuthenticationService = adalAuthenticationService;\r\n _this.uiGridExporterConstants = uiGridExporterConstants;\r\n _this.$q = $q;\r\n var self = _this;\r\n $scope.readUnreadEntity = readUnreadEntityService.createReadUnreadEntityInstance(function (isReadMap) { return self.dataServices.saveReadUnreadActions(isReadMap); }, function () { return dataServices.userProfile.canMarkActionAsRead; }, function () { return $scope.gridOptions; }, $scope);\r\n $scope.utility.toggleClass($('header'), true, 'header_with-nav');\r\n if (!dataServices.maFilters) {\r\n dataServices.maFilters = new formApp.ManageActionFilters();\r\n }\r\n $scope.filters = dataServices.maFilters;\r\n document.title = 'Victorian Health Incident Management System - Manage Action page';\r\n $scope.exportFileName = 'VHIMS-Actions';\r\n $scope.gridOptions = {\r\n exporterCsvFilename: $scope.exportFileName + \".csv\",\r\n enableSorting: true,\r\n enableFiltering: false,\r\n enableHorizontalScrollbar: uiGridConstants.scrollbars.NEVER,\r\n enableVerticalScrollbar: uiGridConstants.scrollbars.ALWAYS,\r\n enableRowSelection: true,\r\n enableFullRowSelection: true,\r\n enableRowHeaderSelection: false,\r\n enableSelectAll: false,\r\n multiSelect: false,\r\n columnDefs: self.getColumnDefs(),\r\n exporterFieldCallback: self.exportField,\r\n rowTemplate: '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ',\r\n onRegisterApi: function (gridApi) {\r\n $scope.gridApi = gridApi;\r\n }\r\n };\r\n $scope.gridOptions.exporterCsvLinkElement = $(document.querySelectorAll('.custom-csv-link-location'));\r\n $scope.gridOptions.rowHeight = 'auto';\r\n $scope.minRowHeight = 56;\r\n $scope.getRowHeight = function (row) {\r\n return ((row.entity.assignedToArray && row.entity.assignedToArray.length) || 1) * $scope.minRowHeight;\r\n };\r\n $scope.selectRow = function (row) {\r\n $timeout(function () {\r\n $scope.gridApi.selection.selectRow(row.entity);\r\n }, 50);\r\n };\r\n $scope.onPrintTouchend = function (row) {\r\n $timeout(function () {\r\n self.downloadPdf(row);\r\n }, 100);\r\n };\r\n $scope.onPrintClick = function (row) {\r\n if (!self.iosOrMobile) {\r\n self.downloadPdf(row);\r\n }\r\n };\r\n $scope.onViewOrEditTouchend = function (row) {\r\n $timeout(function () {\r\n self.viewOrEditAction(row);\r\n }, 100);\r\n };\r\n $scope.onViewOrEditClick = function (row) {\r\n if (!self.iosOrMobile) {\r\n self.viewOrEditAction(row);\r\n }\r\n };\r\n $scope.export = function () {\r\n self.downloadExtract(function () { return self.dataServices.getActionExtract(self.getRequestData()); });\r\n };\r\n if (dataServices.isAuthenticated()) {\r\n self.showLoader();\r\n dataServices.getConfigurationUsingCache(self.configTemplate, null, null)\r\n .then(function (data) {\r\n dataServices.responseInfo.role = data.role;\r\n return self.getGridData();\r\n }, function () {\r\n $scope.utility.showNotification(true, 'internalError');\r\n })\r\n .finally(function () {\r\n self.hideLoader();\r\n });\r\n }\r\n dataServices.trackPageVisitWithGA('Landing Page: Manage Actions');\r\n return _this;\r\n }\r\n ManageActionsController.prototype.getGridData = function () {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n self.$scope.readUnreadEntity.updateOnServer(true)\r\n .then(function () { return self.dataServices.getActions(self.getRequestData()); })\r\n .then(function (data) {\r\n self.loadGridData(data);\r\n deferred.resolve();\r\n })\r\n .catch(function () {\r\n self.$scope.utility.showNotification(true, 'internalError');\r\n deferred.reject();\r\n });\r\n return deferred.promise;\r\n };\r\n ManageActionsController.prototype.getColumnDefs = function () {\r\n var self = this;\r\n return [\r\n {\r\n field: 'isRead',\r\n enableHiding: false,\r\n displayName: self.$scope.readUnreadEntity.getReadUnreadCellHeader(),\r\n cellTemplate: self.$scope.readUnreadEntity.getReadUnreadCellTemplate('readUnreadEntity'),\r\n width: self.$scope.readUnreadEntity.isEnabled() ? self.$scope.isRunningInExtraSmallScreen ? '15%' : '3%' : '0%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'actionableEntityRef',\r\n displayName: 'ID',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '8%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'subject',\r\n displayName: 'Subject',\r\n enableHiding: false,\r\n width: self.$scope.readUnreadEntity.isEnabled() ? self.$scope.isRunningInExtraSmallScreen ? '55%' : '17%' : self.$scope.isRunningInExtraSmallScreen ? '70%' : '20%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'assignedToSortableString',\r\n displayName: 'Assigned to',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '30%' : '15%',\r\n enableColumnMenu: false,\r\n cellTemplate: '
    ' +\r\n '
    ' +\r\n '
    {{assignedTo}}
    ' +\r\n '
    ' +\r\n '
    '\r\n },\r\n {\r\n field: 'wardLocation',\r\n displayName: 'Ward/location',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '15%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'specialtyUnit',\r\n displayName: 'Specialty/unit',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '15%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'severityRating',\r\n displayName: 'Severity',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '7%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'dueDate',\r\n displayName: 'Due date',\r\n cellFilter: 'date:\\'dd/MM/yyyy\\'',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '11%',\r\n enableColumnMenu: false,\r\n sort: { direction: self.uiGridConstants.ASC }\r\n },\r\n {\r\n field: 'statusName',\r\n displayName: 'Status',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '9%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'Toolbox',\r\n displayName: 'Toolbox',\r\n cellClass: 'manage__tools',\r\n headerCellClass: 'manage__tools-hidden',\r\n exporterSuppressExport: true,\r\n cellTemplate: '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n 'Edit' +\r\n 'Opens dialog' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n 'Export to PDF ' +\r\n '' +\r\n '',\r\n visible: true,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '300' : '340',\r\n enableColumnMenu: false\r\n }\r\n ].filter(function (columnDef) { return self.utilityServices.isUiGridColumnVisible(columnDef); });\r\n };\r\n ManageActionsController.prototype.viewOrEditAction = function (row) {\r\n var self = this;\r\n if (!row.entity.canEdit) {\r\n return;\r\n }\r\n if (row.entity.actionableEntityType === self.constants.actionableEntityType.Incident) {\r\n self.openIncident(row);\r\n }\r\n else if (row.entity.actionableEntityType === self.constants.actionableEntityType.SentinelEvent) {\r\n self.openSentinelEvent(row);\r\n }\r\n else {\r\n self.openFeedback(row);\r\n }\r\n };\r\n ManageActionsController.prototype.openIncident = function (row) {\r\n var self = this;\r\n self.showLoader();\r\n row.entity.isViewOrEditLoaded = false;\r\n self.dataServices.responseInfo.incidentId = row.entity.incidentId;\r\n self.dataServices.responseInfo.incidentRef = row.entity.incidentRef;\r\n self.dataServices.trackEventsWithGA('PageName: Manage Actions', 'Click Edit Incident Report', 'Edit Incident Report');\r\n self.$scope.readUnreadEntity.updateOnClient(row.entity, true);\r\n self.dataServices.getIncidentById(row.entity.incidentId)\r\n .then(function (data) {\r\n self.dataServices.originalResponse = JSON.parse(data.response);\r\n self.dataServices.responseInfo.responses = JSON.parse(data.response);\r\n self.dataServices.responseInfo.lastUpdatedTime = data.lastUpdatedTime;\r\n self.dataServices.responseInfo.template = data.templateId;\r\n self.dataServices.responseInfo.versionNumber = data.templateVersion;\r\n self.dataServices.responseInfo.status = data.statusId;\r\n self.dataServices.responseInfo.statusText = data.statusDisplayName;\r\n self.dataServices.validatedPages = self.dataServices.determineValidatedPages(data.response);\r\n self.dataServices.responseInfo.incidentTypeId = data.incidentTypeId;\r\n self.dataServices.responseInfo.personTypeId = data.personTypeId;\r\n self.dataServices.responseInfo.apiSelectOptionLists = data.apiSelectOptionLists;\r\n self.dataServices.mahFilters = null;\r\n return self.dataServices.getConfigurationUsingCacheAndOptionSet(data.templateId, data.templateVersion, data.optionSet);\r\n })\r\n .then(function (configData) {\r\n self.$rootScope.allowFormNavigation = true;\r\n var actionUrl = self.utilityServices.getIncidentActionUrl(self.dataServices.responseInfo.responses, self.dataServices.responseInfo.personTypeId, row.entity.actionId);\r\n self.$location.path(actionUrl);\r\n })\r\n .catch(function (reason) {\r\n self.$scope.utility.openPopup('unableToLoadRecord', formApp.ErrorInfo.fromHttpResponse(reason));\r\n })\r\n .finally(function () {\r\n row.entity.isViewOrEditLoaded = true;\r\n self.hideLoader();\r\n });\r\n };\r\n ManageActionsController.prototype.openSentinelEvent = function (row) {\r\n var self = this;\r\n self.showLoader();\r\n row.entity.isViewOrEditLoaded = false;\r\n self.dataServices.responseInfo.sentinelEventId = row.entity.sentinelEventId;\r\n self.dataServices.responseInfo.sentinelEventRef = row.entity.sentinelEventRef;\r\n self.dataServices.trackEventsWithGA('PageName: Manage Actions', 'Click Edit Sentinel Event Report', 'Edit Sentinel Event Report');\r\n self.$scope.readUnreadEntity.updateOnClient(row.entity, true);\r\n self.dataServices.getSentinelEventById(row.entity.sentinelEventId)\r\n .then(function (data) {\r\n self.dataServices.originalResponse = JSON.parse(data.response);\r\n self.dataServices.responseInfo.responses = JSON.parse(data.response);\r\n self.dataServices.responseInfo.lastUpdatedTime = data.lastUpdatedTime;\r\n self.dataServices.responseInfo.template = data.templateId;\r\n self.dataServices.responseInfo.versionNumber = data.templateVersion;\r\n self.dataServices.responseInfo.status = data.statusId;\r\n self.dataServices.responseInfo.statusText = data.statusDisplayName;\r\n self.dataServices.responseInfo.stage = data.stageId;\r\n self.dataServices.responseInfo.committeeReviewAction = data.committeeReviewAction;\r\n self.dataServices.responseInfo.partcrecommendationsList = data.partcrecommendationsList;\r\n if (data.sentinelEventDate) {\r\n self.dataServices.responseInfo.sentinelEventDate = moment(data.sentinelEventDate).format('YYYY-MM-DD');\r\n }\r\n if (data.reportAandBDueDate) {\r\n self.dataServices.responseInfo.reportAandBDueDate = moment(data.reportAandBDueDate).format('YYYY-MM-DD');\r\n }\r\n if (data.reportCDueDate) {\r\n self.dataServices.responseInfo.reportCDueDate = moment(data.reportCDueDate).format('YYYY-MM-DD');\r\n }\r\n if (data.reportDDueDate) {\r\n self.dataServices.responseInfo.reportDDueDate = moment(data.reportDDueDate).format('YYYY-MM-DD');\r\n }\r\n self.dataServices.responseInfo.cumulativeExtensionGranted = data.cumulativeExtensionGranted;\r\n self.dataServices.responseInfo.stageText = data.stageDisplayName;\r\n self.dataServices.validatedPages = self.dataServices.determineValidatedPages(data.response);\r\n self.dataServices.mahFilters = null;\r\n return self.dataServices.getConfigurationUsingCacheAndOptionSet(data.templateId, data.templateVersion, data.optionSet, true, data.id, self.dataServices.responseInfo.stage, self.dataServices.responseInfo.status);\r\n })\r\n .then(function (configData) {\r\n var actionUrl = self.utilityServices.getSentinelEventActionUrl(self.dataServices.responseInfo.responses, row.entity.actionId);\r\n self.$rootScope.allowFormNavigation = true;\r\n self.$location.path(actionUrl);\r\n })\r\n .catch(function (reason) {\r\n self.$scope.utility.openPopup('unableToLoadRecord', formApp.ErrorInfo.fromHttpResponse(reason));\r\n })\r\n .finally(function () {\r\n row.entity.isViewOrEditLoaded = true;\r\n self.hideLoader();\r\n });\r\n };\r\n ManageActionsController.prototype.openFeedback = function (row) {\r\n var self = this;\r\n self.showLoader();\r\n row.entity.isViewOrEditLoaded = false;\r\n self.dataServices.responseInfo.feedbackId = row.entity.feedbackId;\r\n self.dataServices.responseInfo.feedbackRef = row.entity.feedbackRef;\r\n self.dataServices.trackEventsWithGA('PageName: Manage Actions', 'Click Edit Feedback Report', 'Edit Feedback Report');\r\n self.$scope.readUnreadEntity.updateOnClient(row.entity, true);\r\n self.dataServices.getFeedbackById(row.entity.feedbackId)\r\n .then(function (data) {\r\n self.dataServices.originalResponse = JSON.parse(data.response);\r\n self.dataServices.responseInfo.responses = JSON.parse(data.response);\r\n self.dataServices.responseInfo.lastUpdatedTime = data.lastUpdatedTime;\r\n self.dataServices.responseInfo.template = data.templateId;\r\n self.dataServices.responseInfo.versionNumber = data.templateVersion;\r\n self.dataServices.responseInfo.status = data.statusId;\r\n self.dataServices.responseInfo.statusText = data.statusDisplayName;\r\n self.dataServices.validatedPages = self.dataServices.determineValidatedPages(data.response);\r\n self.dataServices.mahFilters = null;\r\n return self.dataServices.getConfigurationUsingCacheAndOptionSet(data.templateId, data.templateVersion, data.optionSet);\r\n })\r\n .then(function (configData) {\r\n var actionUrl = self.utilityServices.getFeedbackActionUrl(self.dataServices.responseInfo.responses, row.entity.actionId);\r\n self.$rootScope.allowFormNavigation = true;\r\n self.$location.path(actionUrl);\r\n })\r\n .catch(function (reason) {\r\n self.$scope.utility.openPopup('unableToLoadRecord', formApp.ErrorInfo.fromHttpResponse(reason));\r\n })\r\n .finally(function () {\r\n row.entity.isViewOrEditLoaded = true;\r\n self.hideLoader();\r\n });\r\n };\r\n ManageActionsController.prototype.getRequestData = function () {\r\n var self = this;\r\n return {\r\n organisationId: self.$scope.userProfile.selectedOrganisationId,\r\n searchTerm: self.$scope.filters.searchPhrase === '' ? null : self.$scope.filters.searchPhrase,\r\n dueDateRangeId: self.$scope.filters.selectedDueDateRange === '' ? null : self.$scope.filters.selectedDueDateRange,\r\n dateCreatedRangeId: self.$scope.filters.selectedDateCreatedRange === '' ? null : self.$scope.filters.selectedDateCreatedRange,\r\n wardLocationId: self.$scope.filters.selectedWardLocation === '' ? null : self.$scope.filters.selectedWardLocation,\r\n specialtyUnitId: self.$scope.filters.selectedSpecialtyUnit === '' ? null : self.$scope.filters.selectedSpecialtyUnit,\r\n assignedTo: self.$scope.filters.selectedAssignedTo === '' ? null : self.$scope.filters.selectedAssignedTo\r\n };\r\n };\r\n ManageActionsController.prototype.downloadPdf = function (row) {\r\n var self = this;\r\n self.showLoader();\r\n row.entity.isPrintLoaded = false;\r\n self.$scope.readUnreadEntity.updateOnClient(row.entity, true);\r\n row.entity.getActionAbleEntityPdf(row.entity.actionableEntityId)\r\n .then(function (response) {\r\n var data = response && response.data;\r\n try {\r\n var file = new formApp.win.Blob([data], { type: 'application/pdf' }, { name: row.entity.actionableEntityRef });\r\n formApp.win.saveAs(file, row.entity.actionableEntityRef + '.pdf');\r\n }\r\n catch (e) {\r\n self.$scope.utility.openPopup('errorDownloadPdf', { entityType: row.entity.actionableEntityType });\r\n }\r\n }, function (errorResponse) {\r\n self.$scope.utility.openPopup('errorDownloadPdf', { entityType: row.entity.actionableEntityType, errorMessage: self.$scope.parsePdfErrorMessage(errorResponse) });\r\n })\r\n .finally(function () {\r\n row.entity.isPrintLoaded = true;\r\n self.hideLoader();\r\n });\r\n };\r\n ManageActionsController.prototype.loadGridData = function (data) {\r\n var self = this;\r\n var actions = (data && data.actions) || [];\r\n if (self.$scope.filters.selectedReadUnread === '1') {\r\n actions = actions.filter(function (a) { return a.isRead; });\r\n }\r\n if (self.$scope.filters.selectedReadUnread === '2') {\r\n actions = actions.filter(function (a) { return !a.isRead; });\r\n }\r\n self.$scope.totalRecords = actions.length;\r\n self.$scope.maxRecords = (data && data.maxRecords) || 0;\r\n self.$scope.hasMoreRecords = data && data.hasMoreRecords;\r\n var organisationCode = self.$scope.userProfile.selectedOrganisationId.toString();\r\n self.$scope.filters.wardLocationList = self.$scope.utility.getAllDependentOptionSetsOfDependentOptionSetFromConfiguration('campus', 'wwOrg', organisationCode, 'ward', 'wwCampus');\r\n self.$scope.filters.specialtyUnitList = self.utilityServices.getDependentOptionSetFromConfiguration('department', 'wwOrg', organisationCode);\r\n self.$scope.filters.assignedTo = [{ code: '', text: 'All' }, { code: '1', text: 'My actions' }];\r\n self.$scope.filters.dueDateRangeList = self.$scope.utility.getOptionSetFromConfiguration('duedaterangefilter');\r\n self.$scope.filters.dateCreatedRangeList = self.$scope.utility.getOptionSetFromConfiguration('pastdaterangefilter');\r\n angular.forEach(actions, function (row) {\r\n row.readUnreadCellAppearance = self.$scope.readUnreadEntity.getReadUnreadCellAppearance(row.isRead);\r\n row.canEdit = true;\r\n row.canPrint = true;\r\n row.isPrintLoaded = true;\r\n row.isViewOrEditLoaded = true;\r\n if (row.incidentRef) {\r\n row.actionableEntityType = self.constants.actionableEntityType.Incident;\r\n row.actionableEntityId = row.incidentId;\r\n row.actionableEntityRef = row.incidentRef;\r\n row.getActionAbleEntityPdf = function (incidentId) { return self.dataServices.getIncidentPdf(incidentId); };\r\n }\r\n else if (row.feedbackRef) {\r\n row.actionableEntityType = self.constants.actionableEntityType.Feedback;\r\n row.actionableEntityId = row.feedbackId;\r\n row.actionableEntityRef = row.feedbackRef;\r\n row.getActionAbleEntityPdf = function (feedbackId) { return self.dataServices.getFeedbackPdf(feedbackId); };\r\n }\r\n else {\r\n row.actionableEntityType = self.constants.actionableEntityType.SentinelEvent;\r\n row.actionableEntityId = row.sentinelEventId;\r\n row.actionableEntityRef = row.sentinelEventRef;\r\n row.getActionAbleEntityPdf = function (sentinelEventId) { return self.dataServices.getSentinelEventPdf(sentinelEventId, self.dataServices.responseInfo.role, '1'); };\r\n }\r\n });\r\n self.$scope.gridOptions.data = actions;\r\n };\r\n ManageActionsController.$inject = [\r\n '$scope',\r\n '$rootScope',\r\n '$location',\r\n '$timeout',\r\n 'uiGridConstants',\r\n 'Constants',\r\n 'DataServices',\r\n 'UtilityServices',\r\n 'ReadUnreadEntityService',\r\n 'adalAuthenticationService',\r\n 'uiGridExporterConstants',\r\n '$q'\r\n ];\r\n return ManageActionsController;\r\n }(formApp.BaseManageController));\r\n formApp.ManageActionsController = ManageActionsController;\r\n angular.module('formApp').controller('manageActionsController', ManageActionsController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=manageActionsController.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n var ManageFeedbackController = (function (_super) {\r\n __extends(ManageFeedbackController, _super);\r\n function ManageFeedbackController($scope, $rootScope, $http, $location, $timeout, uiGridConstants, constants, dataServices, utilityServices, readUnreadEntityService, adalAuthenticationService, uiGridExporterConstants, $q, $window) {\r\n var _this = _super.call(this, formApp.FormConfigurationTemplateOptions.Feedback, constants.Url.manageFeedback, $scope, $location, constants, dataServices, utilityServices, uiGridConstants, uiGridExporterConstants) || this;\r\n _this.$scope = $scope;\r\n _this.$rootScope = $rootScope;\r\n _this.$http = $http;\r\n _this.$location = $location;\r\n _this.$timeout = $timeout;\r\n _this.uiGridConstants = uiGridConstants;\r\n _this.constants = constants;\r\n _this.dataServices = dataServices;\r\n _this.utilityServices = utilityServices;\r\n _this.readUnreadEntityService = readUnreadEntityService;\r\n _this.adalAuthenticationService = adalAuthenticationService;\r\n _this.uiGridExporterConstants = uiGridExporterConstants;\r\n _this.$q = $q;\r\n _this.$window = $window;\r\n _this.removedVirtualStatus = { code: 'removed', text: 'Removed' };\r\n _this.activeVirtualStatus = { code: 'active', text: 'Active' };\r\n var self = _this;\r\n $scope.readUnreadEntity = readUnreadEntityService.createReadUnreadEntityInstance(function (isReadMap) { return self.dataServices.saveReadUnreadFeedbacks(isReadMap); }, function () { return dataServices.userProfile.canMarkFeedbackAsRead; }, function () { return $scope.gridOptions; }, $scope);\r\n $scope.utility.toggleClass($('header'), true, 'header_with-nav');\r\n if (!dataServices.mfFilters) {\r\n dataServices.mfFilters = new formApp.ManageFeedbackFilters();\r\n }\r\n $scope.filters = dataServices.mfFilters;\r\n document.title = 'Victorian Health Incident Management System - Manage Feedback page';\r\n $scope.exportFileName = 'VHIMS-Feedback';\r\n $scope.gridOptions = {\r\n exporterCsvFilename: $scope.exportFileName + \".csv\",\r\n enableSorting: true,\r\n enableFiltering: false,\r\n enableHorizontalScrollbar: uiGridConstants.scrollbars.NEVER,\r\n enableVerticalScrollbar: uiGridConstants.scrollbars.ALWAYS,\r\n enableRowSelection: true,\r\n enableFullRowSelection: true,\r\n enableRowHeaderSelection: false,\r\n enableSelectAll: false,\r\n multiSelect: false,\r\n rowHeight: 56,\r\n columnDefs: self.getColumnDefs(),\r\n exporterFieldCallback: self.exportField,\r\n rowTemplate: '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ',\r\n onRegisterApi: function (gridApi) {\r\n $scope.gridApi = gridApi;\r\n }\r\n };\r\n $scope.gridOptions.exporterCsvLinkElement = $(document.querySelectorAll('.custom-csv-link-location'));\r\n $scope.selectRow = function (row) {\r\n $timeout(function () {\r\n $scope.gridApi.selection.selectRow(row.entity);\r\n }, 50);\r\n };\r\n $scope.onViewOrEditTouchend = function (row) {\r\n $timeout(function () {\r\n self.viewOrEditFeedback(row);\r\n }, 100);\r\n };\r\n $scope.onViewOrEditClick = function (row) {\r\n if (!self.iosOrMobile) {\r\n self.viewOrEditFeedback(row);\r\n }\r\n };\r\n $scope.onPrintTouchend = function (row) {\r\n $timeout(function () {\r\n self.downloadPdf(row);\r\n }, 100);\r\n };\r\n $scope.onPrintClick = function (row) {\r\n if (!self.iosOrMobile) {\r\n self.downloadPdf(row);\r\n }\r\n };\r\n $scope.onRemoveRestoreClick = function (row) {\r\n if (!self.iosOrMobile) {\r\n self.removeRestore(row);\r\n }\r\n };\r\n $scope.onRemoveRestoreTouchend = function (row) {\r\n self.removeRestore(row);\r\n };\r\n $scope.createNewFeedback = function () {\r\n self.createNewFeedback();\r\n };\r\n $scope.export = function () {\r\n self.downloadExtract(function () { return self.dataServices.getFeedbackExtract(self.getRequestData()); });\r\n };\r\n if (dataServices.isAuthenticated()) {\r\n self.showLoader();\r\n dataServices.getConfigurationUsingCache(self.configTemplate, null, null)\r\n .then(function (data) {\r\n dataServices.responseInfo.role = data.role;\r\n return self.getGridData();\r\n }, function () {\r\n $scope.utility.showNotification(true, 'internalError');\r\n })\r\n .finally(function () {\r\n self.hideLoader();\r\n });\r\n }\r\n dataServices.trackPageVisitWithGA('Landing Page: Manage Feedback');\r\n return _this;\r\n }\r\n ManageFeedbackController.prototype.getGridData = function () {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n self.$scope.readUnreadEntity.updateOnServer(true)\r\n .then(function () { return self.dataServices.getFeedbacks(self.getRequestData()); })\r\n .then(function (data) {\r\n self.loadGridData(data);\r\n deferred.resolve();\r\n })\r\n .catch(function () {\r\n self.$scope.utility.showNotification(true, 'internalError');\r\n deferred.reject();\r\n });\r\n return deferred.promise;\r\n };\r\n ManageFeedbackController.prototype.getColumnDefs = function () {\r\n var self = this;\r\n return [\r\n {\r\n field: 'isRead',\r\n enableHiding: false,\r\n displayName: self.$scope.readUnreadEntity.getReadUnreadCellHeader(),\r\n cellTemplate: self.$scope.readUnreadEntity.getReadUnreadCellTemplate('readUnreadEntity'),\r\n width: self.$scope.readUnreadEntity.isEnabled() ? self.$scope.isRunningInExtraSmallScreen ? '15%' : '3%' : '0%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'ref',\r\n displayName: 'Feedback ID',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '9%',\r\n enableColumnMenu: false,\r\n sort: { direction: self.uiGridConstants.DESC }\r\n },\r\n {\r\n field: 'feedbackDate',\r\n displayName: 'Date received',\r\n cellFilter: 'date:\\'dd/MM/yyyy\\'',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '30%' : '11%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'feedbackType',\r\n displayName: 'Type',\r\n enableHiding: false,\r\n cellTemplate: '
    ' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '
    ',\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '9%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'clientId',\r\n displayName: 'UR Number',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '10%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'patientLastName',\r\n displayName: 'Patient Surname',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '10%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'campus',\r\n displayName: 'Campus',\r\n enableHiding: false,\r\n width: self.$scope.readUnreadEntity.isEnabled() ? self.$scope.isRunningInExtraSmallScreen ? '55%' : '14%' : self.$scope.isRunningInExtraSmallScreen ? '70%' : '17%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'program',\r\n displayName: 'Program',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '12%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'wardLocation',\r\n displayName: 'Ward/location',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '13%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'statusDisplayName',\r\n displayName: 'Status',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '9%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'Toolbox',\r\n displayName: 'Toolbox',\r\n cellClass: 'manage__tools',\r\n headerCellClass: 'manage__tools-hidden',\r\n exporterSuppressExport: true,\r\n cellTemplate: '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '{{row.entity.removeRestoreDisplayString}}' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n 'Edit' +\r\n 'Opens dialog' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n 'Export to PDF ' +\r\n '' +\r\n '',\r\n visible: true,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '300' : '340',\r\n enableColumnMenu: false\r\n },\r\n ].filter(function (columnDef) { return self.utilityServices.isUiGridColumnVisible(columnDef); });\r\n };\r\n ManageFeedbackController.prototype.viewOrEditFeedback = function (row) {\r\n var self = this;\r\n if (!row.entity.canEdit) {\r\n return;\r\n }\r\n self.showLoader();\r\n row.entity.isViewOrEditLoaded = false;\r\n self.dataServices.responseInfo.feedbackId = row.entity.id;\r\n self.dataServices.responseInfo.feedbackRef = row.entity.ref;\r\n self.dataServices.trackEventsWithGA('PageName: Manage Feedbacks', 'Click Edit Feedback Report', 'Edit Feedback Report');\r\n self.$scope.readUnreadEntity.updateOnClient(row.entity, true);\r\n self.dataServices.getFeedbackById(row.entity.id)\r\n .then(function (data) {\r\n self.dataServices.originalResponse = JSON.parse(data.response);\r\n self.dataServices.responseInfo.responses = JSON.parse(data.response);\r\n self.dataServices.responseInfo.lastUpdatedTime = data.lastUpdatedTime;\r\n self.dataServices.responseInfo.template = data.templateId;\r\n self.dataServices.responseInfo.versionNumber = data.templateVersion;\r\n self.dataServices.responseInfo.status = data.statusId;\r\n self.dataServices.responseInfo.statusText = data.statusDisplayName;\r\n self.dataServices.validatedPages = self.dataServices.determineValidatedPages(data.response);\r\n self.dataServices.mahFilters = null;\r\n return self.dataServices.getConfigurationUsingCacheAndOptionSet(data.templateId, data.templateVersion, data.optionSet);\r\n })\r\n .then(function (configData) {\r\n self.$rootScope.allowFormNavigation = true;\r\n self.$location.path(self.constants.Url.firstFeedbackFormPage);\r\n })\r\n .catch(function (reason) {\r\n self.$scope.utility.openPopup('unableToLoadRecord', formApp.ErrorInfo.fromHttpResponse(reason));\r\n })\r\n .finally(function () {\r\n row.entity.isViewOrEditLoaded = true;\r\n self.hideLoader();\r\n });\r\n };\r\n ManageFeedbackController.prototype.removeRestore = function (row) {\r\n var self = this;\r\n var action = row.entity.removeRestoreDisplayString;\r\n var isRestore = !row.entity.isActive;\r\n var confirmPopupCode = isRestore ? 'confirmRestoreRecord' : 'confirmRemoveRecord';\r\n var confirmPopupParams = {\r\n entityType: 'Feedback',\r\n entityName: row.entity.ref\r\n };\r\n self.$scope.utility.openPopup(confirmPopupCode, confirmPopupParams).result\r\n .then(function () {\r\n self.showLoader();\r\n row.entity.isRemoveRestoreLoaded = false;\r\n self.dataServices.removeRestoreFeedback(row.entity.id, isRestore)\r\n .then(function () {\r\n self.dataServices.trackEventsWithGA(action + \" action in Manage Feedbacks\", \"Click \" + action + \" Feedback\", \"Successful \" + action + \" Feedback.\");\r\n return self.getGridData();\r\n }, function (response) {\r\n var errorPopupCode = isRestore ? 'errorRestoreRecord' : 'errorRemoveRecord';\r\n var errorPopupParams = formApp.ErrorInfo.fromHttpResponse(response);\r\n errorPopupParams.entityType = 'Feedback';\r\n errorPopupParams.entityName = row.entity.ref;\r\n self.utilityServices.openPopup(errorPopupCode, errorPopupParams);\r\n self.dataServices.trackEventsWithGA(action + \" action in Manage Feedbacks\", \"Click \" + action + \" Feedback\", \"Failed to \" + action + \" Feedback.\");\r\n })\r\n .finally(function () {\r\n row.entity.isRemoveRestoreLoaded = true;\r\n self.hideLoader();\r\n });\r\n });\r\n };\r\n ManageFeedbackController.prototype.createNewFeedback = function () {\r\n var self = this;\r\n if (!self.$window.navigator.onLine) {\r\n self.$scope.utility.openPopup('offlineError');\r\n return;\r\n }\r\n self.showLoader();\r\n self.dataServices.originalResponse = {};\r\n self.dataServices.resetResponseInfo();\r\n self.dataServices.responseInfo.status = formApp.FeedbackStatus.Open;\r\n self.dataServices.mahFilters = null;\r\n self.dataServices.trackEventsWithGA('PageName: Manage Feedbacks', 'Click Create New Feedback Report', 'Create New Feedback Report');\r\n self.dataServices.getConfigurationUsingCache(self.configTemplate, null, null)\r\n .then(function (data) {\r\n self.$rootScope.allowFormNavigation = true;\r\n self.$location.path(self.constants.Url.firstFeedbackFormPage);\r\n }, function (data) {\r\n self.$scope.utility.showNotification(true, 'internalError');\r\n })\r\n .finally(function () {\r\n self.hideLoader();\r\n });\r\n };\r\n ManageFeedbackController.prototype.getRequestData = function () {\r\n var self = this;\r\n var isStatusFilterShowAll = self.$scope.filters.selectedFeedbackStatus === '';\r\n var isStatusFilterActive = self.$scope.filters.selectedFeedbackStatus === self.activeVirtualStatus.code;\r\n var isStatusFilterRemoved = self.$scope.filters.selectedFeedbackStatus === self.removedVirtualStatus.code;\r\n return {\r\n organisationId: self.$scope.userProfile.selectedOrganisationId,\r\n searchTerm: self.$scope.filters.searchPhrase === '' ? null : self.$scope.filters.searchPhrase,\r\n statusId: (isStatusFilterShowAll || isStatusFilterActive || isStatusFilterRemoved) ? null : self.$scope.filters.selectedFeedbackStatus,\r\n dateRangeId: self.$scope.filters.selectedDateRange === '' ? null : self.$scope.filters.selectedDateRange,\r\n isActiveStatus: isStatusFilterActive,\r\n csrId: self.$scope.filters.selectedCsrLevel === '' ? null : self.$scope.filters.selectedCsrLevel,\r\n wardLocationId: self.$scope.filters.selectedWardLocation === '' ? null : self.$scope.filters.selectedWardLocation,\r\n programId: self.$scope.filters.selectedProgram === '' ? null : self.$scope.filters.selectedProgram,\r\n feedbackTypeId: self.$scope.filters.selectedFeedbackType === '' ? null : self.$scope.filters.selectedFeedbackType,\r\n isActive: isStatusFilterShowAll ? null : !isStatusFilterRemoved\r\n };\r\n };\r\n ManageFeedbackController.prototype.downloadPdf = function (row) {\r\n var self = this;\r\n self.showLoader();\r\n row.entity.isPrintLoaded = false;\r\n self.$scope.readUnreadEntity.updateOnClient(row.entity, true);\r\n self.dataServices.getFeedbackPdf(row.entity.id)\r\n .then(function (response) {\r\n var data = response && response.data;\r\n try {\r\n var file = new formApp.win.Blob([data], { type: 'application/pdf' }, { name: row.entity.ref });\r\n formApp.win.saveAs(file, row.entity.ref + '.pdf');\r\n }\r\n catch (e) {\r\n self.$scope.utility.openPopup('errorDownloadPdf', { entityType: 'Feedback' });\r\n }\r\n }, function (errorResponse) {\r\n self.$scope.utility.openPopup('errorDownloadPdf', { entityType: 'Feedback', errorMessage: self.$scope.parsePdfErrorMessage(errorResponse) });\r\n })\r\n .finally(function () {\r\n row.entity.isPrintLoaded = true;\r\n self.hideLoader();\r\n });\r\n };\r\n ManageFeedbackController.prototype.loadGridData = function (data) {\r\n var self = this;\r\n var feedbacks = (data && data.feedbacks) || [];\r\n if (self.$scope.filters.selectedReadUnread === '1') {\r\n feedbacks = feedbacks.filter(function (f) { return f.isRead; });\r\n }\r\n if (self.$scope.filters.selectedReadUnread === '2') {\r\n feedbacks = feedbacks.filter(function (f) { return !f.isRead; });\r\n }\r\n self.$scope.totalRecords = feedbacks.length;\r\n self.$scope.maxRecords = (data && data.maxRecords) || 0;\r\n self.$scope.hasMoreRecords = data && data.hasMoreRecords;\r\n self.$scope.filters.dateRangeList = self.$scope.utility.getOptionSetFromConfiguration('pastdaterangefilter');\r\n var organisationCode = self.$scope.userProfile.selectedOrganisationId.toString();\r\n self.$scope.filters.wardLocationList = self.$scope.utility.getAllDependentOptionSetsOfDependentOptionSetFromConfiguration('campus', 'rwhenOrg', organisationCode, 'ward', 'rwhenCampus');\r\n self.$scope.filters.programList = self.utilityServices.getDependentOptionSetFromConfiguration('program', 'rwhenOrg', organisationCode);\r\n self.$scope.filters.csrLevelList = self.$scope.utility.getOptionSetFromConfiguration('csrlevel');\r\n self.$scope.filters.feedbackStatusList = self.$scope.utility.getOptionSetFromConfiguration('feedbackstatus')\r\n .slice()\r\n .concat(self.removedVirtualStatus, self.activeVirtualStatus);\r\n self.$scope.filters.feedbackTypeList = self.$scope.utility.getOptionSetFromConfiguration('feedbacktype');\r\n angular.forEach(feedbacks, function (row) {\r\n row.readUnreadCellAppearance = self.$scope.readUnreadEntity.getReadUnreadCellAppearance(row.isRead);\r\n row.canEdit = row.isActive;\r\n row.canPrint = true;\r\n row.canRemove = self.dataServices.userProfile.canRemoveFeedbacks;\r\n row.isViewOrEditLoaded = true;\r\n row.isPrintLoaded = true;\r\n row.isRemoveRestoreLoaded = true;\r\n row.removeRestoreIcon = row.isActive ? '#icon-delete' : '#icon-check';\r\n row.removeRestoreDisplayString = row.isActive ? 'Remove' : 'Restore';\r\n row.patientLastName = row.isComplainantPatient && row.complainantLastName ? row.complainantLastName : row.affectedLastName;\r\n });\r\n self.$scope.gridOptions.data = feedbacks;\r\n };\r\n ManageFeedbackController.$inject = [\r\n '$scope',\r\n '$rootScope',\r\n '$http',\r\n '$location',\r\n '$timeout',\r\n 'uiGridConstants',\r\n 'Constants',\r\n 'DataServices',\r\n 'UtilityServices',\r\n 'ReadUnreadEntityService',\r\n 'adalAuthenticationService',\r\n 'uiGridExporterConstants',\r\n '$q',\r\n '$window'\r\n ];\r\n return ManageFeedbackController;\r\n }(formApp.BaseManageController));\r\n formApp.ManageFeedbackController = ManageFeedbackController;\r\n angular.module('formApp').controller('manageFeedbackController', ManageFeedbackController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=manageFeedbackController.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n var ManageIncidentsController = (function (_super) {\r\n __extends(ManageIncidentsController, _super);\r\n function ManageIncidentsController($scope, $rootScope, $http, $location, $timeout, uiGridConstants, constants, dataServices, utilityServices, readUnreadEntityService, adalAuthenticationService, uiGridExporterConstants, $q, $window) {\r\n var _this = _super.call(this, formApp.FormConfigurationTemplateOptions.Case, constants.Url.manageIncidents, $scope, $location, constants, dataServices, utilityServices, uiGridConstants, uiGridExporterConstants) || this;\r\n _this.$scope = $scope;\r\n _this.$rootScope = $rootScope;\r\n _this.$http = $http;\r\n _this.$location = $location;\r\n _this.$timeout = $timeout;\r\n _this.uiGridConstants = uiGridConstants;\r\n _this.constants = constants;\r\n _this.dataServices = dataServices;\r\n _this.utilityServices = utilityServices;\r\n _this.readUnreadEntityService = readUnreadEntityService;\r\n _this.adalAuthenticationService = adalAuthenticationService;\r\n _this.uiGridExporterConstants = uiGridExporterConstants;\r\n _this.$q = $q;\r\n _this.$window = $window;\r\n _this.removedVirtualStatus = { code: 'removed', text: 'Removed' };\r\n _this.activeVirtualStatus = { code: 'active', text: 'Active' };\r\n var self = _this;\r\n $scope.readUnreadEntity = readUnreadEntityService.createReadUnreadEntityInstance(function (isReadMap) { return self.dataServices.saveReadUnreadIncidents(isReadMap); }, function () { return dataServices.userProfile.canMarkIncidentAsRead; }, function () { return $scope.gridOptions; }, $scope);\r\n $scope.utility.toggleClass($('header'), true, 'header_with-nav');\r\n if (!dataServices.miFilters) {\r\n dataServices.miFilters = new formApp.ManageIncidentFilters();\r\n }\r\n $scope.filters = dataServices.miFilters;\r\n document.title = 'Victorian Health Incident Management System - Manage Incidents page';\r\n $scope.exportFileName = 'VHIMS-Incidents';\r\n $scope.gridOptions = {\r\n exporterCsvFilename: $scope.exportFileName + \".csv\",\r\n enableSorting: true,\r\n enableFiltering: false,\r\n enableHorizontalScrollbar: uiGridConstants.scrollbars.NEVER,\r\n enableVerticalScrollbar: uiGridConstants.scrollbars.ALWAYS,\r\n enableRowSelection: true,\r\n enableFullRowSelection: true,\r\n enableRowHeaderSelection: false,\r\n enableSelectAll: false,\r\n multiSelect: false,\r\n rowHeight: 56,\r\n columnDefs: self.getColumnDefs(),\r\n exporterFieldCallback: self.exportField,\r\n rowTemplate: '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ',\r\n onRegisterApi: function (gridApi) {\r\n $scope.gridApi = gridApi;\r\n }\r\n };\r\n $scope.gridOptions.exporterCsvLinkElement = $(document.querySelectorAll('.custom-csv-link-location'));\r\n $scope.selectRow = function (row) {\r\n $timeout(function () {\r\n $scope.gridApi.selection.selectRow(row.entity);\r\n }, 50);\r\n };\r\n $scope.onViewOrEditTouchend = function (row) {\r\n $timeout(function () {\r\n self.viewOrEditIncident(row);\r\n }, 100);\r\n };\r\n $scope.onViewOrEditClick = function (row) {\r\n if (!self.iosOrMobile) {\r\n self.viewOrEditIncident(row);\r\n }\r\n };\r\n $scope.onPrintTouchend = function (row) {\r\n $timeout(function () {\r\n self.downloadPdf(row);\r\n }, 100);\r\n };\r\n $scope.onPrintClick = function (row) {\r\n if (!self.iosOrMobile) {\r\n self.downloadPdf(row);\r\n }\r\n };\r\n $scope.openRelatedIncidentsPopupTouchend = function (row) {\r\n $timeout(function () {\r\n self.openRelatedIncidentsPopup(row);\r\n }, 100);\r\n };\r\n $scope.openRelatedIncidentsPopupClick = function (row) {\r\n if (!self.iosOrMobile) {\r\n self.openRelatedIncidentsPopup(row);\r\n }\r\n };\r\n $scope.onRemoveRestoreClick = function (row) {\r\n if (!self.iosOrMobile) {\r\n self.removeRestore(row);\r\n }\r\n };\r\n $scope.onRemoveRestoreTouchend = function (row) {\r\n self.removeRestore(row);\r\n };\r\n $scope.onCloneClick = function (row) {\r\n if (!self.iosOrMobile) {\r\n self.cloneIncident(row);\r\n }\r\n };\r\n $scope.onCloneTouchend = function (row) {\r\n self.cloneIncident(row);\r\n };\r\n $scope.createNewCase = function () {\r\n self.createNewCase();\r\n };\r\n $scope.resumeDraft = function () {\r\n self.resumeDraft();\r\n };\r\n $scope.export = function () {\r\n self.downloadExtract(function () { return self.dataServices.getIncidentExtract(self.getRequestData()); });\r\n };\r\n $scope.filterRecords = function () { return self.clearAndGetGridDataAndCheckForDraftIfNeeded(false); };\r\n $scope.onChangeOrganisation = function () { return self.onChangeOrganisationForIncidentDashboard(); };\r\n if (dataServices.isAuthenticated()) {\r\n self.showLoader();\r\n dataServices.getConfigurationUsingCache(self.configTemplate, null, null)\r\n .then(function (data) {\r\n dataServices.responseInfo.role = data.role;\r\n return self.getIncidents(true);\r\n }, function () {\r\n $scope.utility.showNotification(true, 'internalError');\r\n })\r\n .finally(function () {\r\n self.hideLoader();\r\n });\r\n }\r\n dataServices.trackPageVisitWithGA('Landing Page: Manage Incidents');\r\n return _this;\r\n }\r\n ManageIncidentsController.prototype.getGridData = function () {\r\n return this.getIncidents(true);\r\n };\r\n ManageIncidentsController.prototype.clearAndGetGridDataAndCheckForDraftIfNeeded = function (checkDraft) {\r\n var self = this;\r\n self.showLoader();\r\n self.$scope.gridOptions.data = [];\r\n self.getIncidents(checkDraft).finally(function () {\r\n self.hideLoader();\r\n });\r\n };\r\n ManageIncidentsController.prototype.getColumnDefs = function () {\r\n var self = this;\r\n return [\r\n {\r\n field: 'isRead',\r\n enableHiding: false,\r\n displayName: self.$scope.readUnreadEntity.getReadUnreadCellHeader(),\r\n cellTemplate: self.$scope.readUnreadEntity.getReadUnreadCellTemplate('readUnreadEntity'),\r\n width: self.$scope.readUnreadEntity.isEnabled() ? self.$scope.isRunningInExtraSmallScreen ? '15%' : '3%' : '0%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'ref',\r\n displayName: 'Incident ID',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '9%',\r\n enableColumnMenu: false,\r\n sort: { direction: self.uiGridConstants.DESC }\r\n },\r\n {\r\n field: 'incidentDate',\r\n displayName: 'Incident date',\r\n cellFilter: 'date:\\'dd/MM/yyyy\\'',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '11%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'incidentTypeDisplayNameTemplate',\r\n displayName: 'Type',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '30%' : '6%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'clientStaffId',\r\n displayName: 'UR Number',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '10%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'campus',\r\n displayName: 'Campus',\r\n enableHiding: false,\r\n width: self.$scope.readUnreadEntity.isEnabled() ? self.$scope.isRunningInExtraSmallScreen ? '55%' : '15%' : self.$scope.isRunningInExtraSmallScreen ? '70%' : '14%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'program',\r\n displayName: 'Program',\r\n enableHiding: false,\r\n width: self.$scope.readUnreadEntity.isEnabled() ? self.$scope.isRunningInExtraSmallScreen ? '0%' : '17%' : self.$scope.isRunningInExtraSmallScreen ? '0%' : '19%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'wardLocation',\r\n displayName: 'Ward/location',\r\n enableHiding: false,\r\n width: self.$scope.readUnreadEntity.isEnabled() ? self.$scope.isRunningInExtraSmallScreen ? '0%' : '17%' : self.$scope.isRunningInExtraSmallScreen ? '0%' : '19%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'isr',\r\n displayName: 'ISR',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '4%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'statusDisplayName',\r\n displayName: 'Status',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '8%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'Toolbox',\r\n displayName: 'Toolbox',\r\n cellClass: 'manage__tools',\r\n headerCellClass: 'manage__tools-hidden',\r\n exporterSuppressExport: true,\r\n cellTemplate: ' 1\" ng-focus=\"grid.appScope.selectRow(row)\" href=\"javascript:void(0)\" ' +\r\n 'role=\"button\" ' +\r\n 'ng-touchend=\"grid.appScope.openRelatedIncidentsPopupTouchend(row)\" ' +\r\n 'ng-click=\"grid.appScope.openRelatedIncidentsPopupClick(row)\">' +\r\n '' +\r\n '' +\r\n 'Related' +\r\n 'Opens dialog' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '{{row.entity.removeRestoreDisplayString}}' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n 'Clone' +\r\n 'Opens dialog' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n 'Edit' +\r\n 'Opens dialog' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n 'Export to PDF ' +\r\n '' +\r\n '',\r\n visible: true,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '300' : '340',\r\n enableColumnMenu: false\r\n },\r\n ].filter(function (columnDef) { return self.utilityServices.isUiGridColumnVisible(columnDef); });\r\n };\r\n ManageIncidentsController.prototype.openRelatedIncidentsPopup = function (row) {\r\n var self = this;\r\n row.entity.isOpenRelatedIncidentsPopupLoaded = false;\r\n if (row.entity.incidentLinkArray.length > 1) {\r\n var incidentLinkArray = row.entity.incidentLinkArray\r\n .filter(function (incidentLink) { return incidentLink.ref !== row.entity.ref; });\r\n self.$scope.utility.openPopup('relatedIncidentsList', { incidentLinkArray: incidentLinkArray });\r\n }\r\n row.entity.isOpenRelatedIncidentsPopupLoaded = true;\r\n };\r\n ManageIncidentsController.prototype.removeRestore = function (row) {\r\n var self = this;\r\n var action = row.entity.removeRestoreDisplayString;\r\n var isRestore = !row.entity.isActive;\r\n var confirmPopupCode = isRestore ? 'confirmRestoreRecord' : 'confirmRemoveRecord';\r\n var confirmPopupParams = {\r\n entityType: 'Incident',\r\n entityName: row.entity.ref\r\n };\r\n self.$scope.utility.openPopup(confirmPopupCode, confirmPopupParams).result\r\n .then(function () {\r\n self.showLoader();\r\n row.entity.isRemoveRestoreLoaded = false;\r\n self.dataServices.removeRestoreIncident(row.entity.id, isRestore)\r\n .then(function () {\r\n self.dataServices.trackEventsWithGA(action + \" action in Manage Incidents\", \"Click \" + action + \" Incident\", \"Successful \" + action + \" Incident.\");\r\n return self.getIncidents(false);\r\n }, function (response) {\r\n var errorPopupCode = isRestore ? 'errorRestoreRecord' : 'errorRemoveRecord';\r\n var errorPopupParams = formApp.ErrorInfo.fromHttpResponse(response);\r\n errorPopupParams.entityType = 'Incident';\r\n errorPopupParams.entityName = row.entity.ref;\r\n self.utilityServices.openPopup(errorPopupCode, errorPopupParams);\r\n self.dataServices.trackEventsWithGA(action + \" action in Manage Incidents\", \"Click \" + action + \" Incident\", \"Failed to \" + action + \" Incident.\");\r\n })\r\n .finally(function () {\r\n row.entity.isRemoveRestoreLoaded = true;\r\n self.hideLoader();\r\n });\r\n });\r\n };\r\n ManageIncidentsController.prototype.cloneIncident = function (row) {\r\n var self = this;\r\n var action = 'Clone';\r\n var clonePopupCode = 'cloneIncident';\r\n var clonePopupParams = {\r\n personTypeDisplayName: row.entity.personTypeDisplayName,\r\n incidentRef: row.entity.ref,\r\n isActive: row.entity.isActive\r\n };\r\n self.$scope.utility.openPopup(clonePopupCode, clonePopupParams).result\r\n .then(function (popupResult) {\r\n self.showLoader();\r\n row.entity.isCloneLoaded = false;\r\n var response = popupResult.outParams;\r\n var clonedIncidentPersonTypeId = parseInt(response.clonedIncidentPersonType);\r\n var clonedIncidentRef;\r\n self.dataServices.cloneIncident(row.entity.id, clonedIncidentPersonTypeId)\r\n .then(function (result) {\r\n clonedIncidentRef = result.clonedIncidentRef;\r\n self.dataServices.trackEventsWithGA(action + \" action in Manage Incidents\", \"Click \" + action + \" Incident\", \"Successful \" + action + \" Incident.\");\r\n return self.getIncidents(false);\r\n }, function (response) {\r\n var errorPopupCode = 'errorCloneRecord';\r\n var errorPopupParams = formApp.ErrorInfo.fromHttpResponse(response);\r\n errorPopupParams.entityType = 'Incident';\r\n errorPopupParams.entityName = row.entity.ref;\r\n self.utilityServices.openPopup(errorPopupCode, errorPopupParams);\r\n self.dataServices.trackEventsWithGA(action + \" action in Manage Incidents\", \"Click \" + action + \" Incident\", \"Failed to \" + action + \" Incident.\");\r\n })\r\n .finally(function () {\r\n row.entity.isCloneLoaded = true;\r\n self.hideLoader();\r\n if (clonedIncidentRef) {\r\n self.utilityServices.showNotification(true, 'recordCreatedSuccessfully', { entityType: 'Incident', entityName: clonedIncidentRef });\r\n }\r\n });\r\n }, function () {\r\n });\r\n };\r\n ManageIncidentsController.prototype.viewOrEditIncident = function (row) {\r\n var self = this;\r\n if (!row.entity.canEdit) {\r\n return;\r\n }\r\n self.showLoader();\r\n row.entity.isViewOrEditLoaded = false;\r\n self.dataServices.responseInfo.incidentId = row.entity.id;\r\n self.dataServices.responseInfo.incidentRef = row.entity.ref;\r\n self.dataServices.trackEventsWithGA('PageName: Manage Incidents', 'Click Edit Incident Report', 'Edit Incident Report');\r\n self.$scope.readUnreadEntity.updateOnClient(row.entity, true);\r\n self.dataServices.getIncidentById(row.entity.id)\r\n .then(function (data) {\r\n self.dataServices.originalResponse = JSON.parse(data.response);\r\n self.dataServices.responseInfo.responses = JSON.parse(data.response);\r\n self.dataServices.responseInfo.lastUpdatedTime = data.lastUpdatedTime;\r\n self.dataServices.responseInfo.template = data.templateId;\r\n self.dataServices.responseInfo.versionNumber = data.templateVersion;\r\n self.dataServices.responseInfo.status = data.statusId;\r\n self.dataServices.responseInfo.statusText = data.statusDisplayName;\r\n self.dataServices.validatedPages = self.dataServices.determineValidatedPages(data.response);\r\n self.dataServices.responseInfo.incidentTypeId = data.incidentTypeId;\r\n self.dataServices.responseInfo.personTypeId = data.personTypeId;\r\n self.dataServices.responseInfo.apiSelectOptionLists = data.apiSelectOptionLists;\r\n self.dataServices.mahFilters = null;\r\n return self.dataServices.getConfigurationUsingCacheAndOptionSet(data.templateId, data.templateVersion, data.optionSet);\r\n })\r\n .then(function (configData) {\r\n self.$rootScope.allowFormNavigation = true;\r\n var incidentUrl = self.utilityServices.getDefaultIncidentUrl(self.dataServices.responseInfo.personTypeId);\r\n self.$location.path(incidentUrl);\r\n })\r\n .catch(function (reason) {\r\n self.$scope.utility.openPopup('unableToLoadRecord', formApp.ErrorInfo.fromHttpResponse(reason));\r\n })\r\n .finally(function () {\r\n row.entity.isViewOrEditLoaded = true;\r\n self.hideLoader();\r\n });\r\n };\r\n ManageIncidentsController.prototype.createNewCase = function () {\r\n var self = this;\r\n if (self.dataServices.responseInfo.caseIdByOrganisation != null && self.dataServices.responseInfo.caseIdByOrganisation[self.dataServices.userProfile.selectedOrganisationId]) {\r\n self.$scope.utility.openPopup('confirmResumeCase').result\r\n .then(function (data) {\r\n if (data.result == 'ok') {\r\n self.resumeDraft();\r\n return;\r\n }\r\n if (data.result == 'thirdButtonClick') {\r\n self.deactivateCase();\r\n self.initialiseNewCase();\r\n return;\r\n }\r\n });\r\n }\r\n else {\r\n self.initialiseNewCase();\r\n }\r\n };\r\n ManageIncidentsController.prototype.initialiseNewCase = function () {\r\n var self = this;\r\n if (!self.$window.navigator.onLine) {\r\n self.$scope.utility.openPopup('offlineError');\r\n return;\r\n }\r\n self.showLoader();\r\n self.dataServices.originalResponse = {};\r\n self.dataServices.resetResponseInfo();\r\n self.dataServices.responseInfo.status = formApp.CaseStatus.Draft;\r\n self.dataServices.trackEventsWithGA('PageName: Manage Incidents', 'Click Create New Incident Report', 'Create New Incident Report');\r\n self.dataServices.getConfigurationUsingCache(self.configTemplate, null, null)\r\n .then(function (data) {\r\n self.$rootScope.allowFormNavigation = true;\r\n self.$location.path(self.constants.Url.firstIncidentFormPage);\r\n }, function (data) {\r\n self.$scope.utility.showNotification(true, 'internalError');\r\n })\r\n .finally(function () {\r\n self.hideLoader();\r\n });\r\n };\r\n ManageIncidentsController.prototype.resumeDraft = function () {\r\n var self = this;\r\n self.showLoader();\r\n var caseId = self.dataServices.responseInfo.caseIdByOrganisation[self.dataServices.userProfile.selectedOrganisationId];\r\n self.dataServices.trackEventsWithGA('PageName: Manage Incidents', 'Click Resume Draft Incident Report', 'Resume Draft Incident Report');\r\n self.dataServices.getCaseById(caseId)\r\n .then(function (data) {\r\n self.dataServices.originalResponse = JSON.parse(data.response);\r\n self.dataServices.responseInfo.responses = JSON.parse(data.response);\r\n self.dataServices.responseInfo.lastUpdatedTime = data.lastUpdatedTime;\r\n self.dataServices.responseInfo.template = data.templateId;\r\n self.dataServices.responseInfo.versionNumber = data.templateVersion;\r\n self.dataServices.responseInfo.apiSelectOptionLists = data.apiSelectOptionLists;\r\n self.dataServices.validatedPages = null;\r\n self.populateSectionVisibilityConditions(self.dataServices.responseInfo.responses);\r\n return self.dataServices.getConfigurationUsingCacheAndOptionSet(data.templateId, data.templateVersion, data.optionSet);\r\n })\r\n .then(function (configData) {\r\n self.$rootScope.allowFormNavigation = true;\r\n self.$location.path(self.constants.Url.firstIncidentFormPage);\r\n })\r\n .catch(function (reason) {\r\n self.$scope.utility.openPopup('unableToLoadRecord', formApp.ErrorInfo.fromHttpResponse(reason));\r\n })\r\n .finally(function () {\r\n self.hideLoader();\r\n });\r\n };\r\n ManageIncidentsController.prototype.deactivateCase = function () {\r\n var self = this;\r\n self.dataServices.deactivateCase();\r\n };\r\n ManageIncidentsController.prototype.getRequestData = function () {\r\n var self = this;\r\n var isStatusFilterShowAll = self.$scope.filters.selectedIncidentStatus === '';\r\n var isStatusFilterActive = self.$scope.filters.selectedIncidentStatus === self.activeVirtualStatus.code;\r\n var isStatusFilterRemoved = self.$scope.filters.selectedIncidentStatus === self.removedVirtualStatus.code;\r\n return {\r\n organisationId: self.$scope.userProfile.selectedOrganisationId,\r\n searchTerm: self.$scope.filters.searchPhrase === '' ? null : self.$scope.filters.searchPhrase,\r\n statusId: (isStatusFilterShowAll || isStatusFilterActive || isStatusFilterRemoved) ? null : self.$scope.filters.selectedIncidentStatus,\r\n dateRangeId: self.$scope.filters.selectedDateRange === '' ? null : self.$scope.filters.selectedDateRange,\r\n isActiveStatus: isStatusFilterActive,\r\n incidentTypeId: self.$scope.filters.selectedIncidentType === '' ? null : self.$scope.filters.selectedIncidentType,\r\n templateTypeId: self.$scope.filters.selectedTemplateType === '' ? null : self.$scope.filters.selectedTemplateType,\r\n isrId: self.$scope.filters.selectedIsrLevel === '' ? null : self.$scope.filters.selectedIsrLevel,\r\n wardLocationId: self.$scope.filters.selectedWardLocation === '' ? null : self.$scope.filters.selectedWardLocation,\r\n programId: self.$scope.filters.selectedProgram === '' ? null : self.$scope.filters.selectedProgram,\r\n isActive: isStatusFilterShowAll ? null : !isStatusFilterRemoved\r\n };\r\n };\r\n ManageIncidentsController.prototype.downloadPdf = function (row) {\r\n var self = this;\r\n self.showLoader();\r\n row.entity.isPrintLoaded = false;\r\n self.$scope.readUnreadEntity.updateOnClient(row.entity, true);\r\n self.dataServices.getIncidentPdf(row.entity.id)\r\n .then(function (response) {\r\n var data = response && response.data;\r\n try {\r\n var file = new formApp.win.Blob([data], { type: 'application/pdf' }, { name: row.entity.ref });\r\n formApp.win.saveAs(file, row.entity.ref + '.pdf');\r\n }\r\n catch (e) {\r\n self.$scope.utility.openPopup('errorDownloadPdf', { entityType: 'Incident' });\r\n }\r\n }, function (errorResponse) {\r\n self.$scope.utility.openPopup('errorDownloadPdf', { entityType: 'Incident', errorMessage: self.$scope.parsePdfErrorMessage(errorResponse) });\r\n })\r\n .finally(function () {\r\n row.entity.isPrintLoaded = true;\r\n self.hideLoader();\r\n });\r\n };\r\n ManageIncidentsController.prototype.checkForDraft = function (checkServer) {\r\n var self = this;\r\n if (checkServer) {\r\n return self.utilityServices.hasDraft();\r\n }\r\n else {\r\n var deferred = self.$q.defer();\r\n deferred.resolve(self.$scope.hasDraft);\r\n return deferred.promise;\r\n }\r\n };\r\n ManageIncidentsController.prototype.getIncidents = function (checkDraft) {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n var allPromises = {\r\n incidents: self.$scope.readUnreadEntity.updateOnServer(true).then(function () { return self.dataServices.getIncidents(self.getRequestData()); }),\r\n hasDraft: self.checkForDraft(checkDraft)\r\n };\r\n self.$q.all(allPromises)\r\n .then(function (values) {\r\n self.loadGridData(values.incidents);\r\n self.$scope.hasDraft = values.hasDraft;\r\n deferred.resolve();\r\n })\r\n .catch(function () {\r\n self.utilityServices.showNotification(true, 'internalError');\r\n deferred.reject();\r\n });\r\n return deferred.promise;\r\n };\r\n ManageIncidentsController.prototype.loadGridData = function (data) {\r\n var self = this;\r\n var incidents = (data && data.incidents) || [];\r\n if (self.$scope.filters.selectedReadUnread === '1') {\r\n incidents = incidents.filter(function (i) { return i.isRead; });\r\n }\r\n if (self.$scope.filters.selectedReadUnread === '2') {\r\n incidents = incidents.filter(function (i) { return !i.isRead; });\r\n }\r\n self.$scope.totalRecords = incidents.length;\r\n self.$scope.maxRecords = (data && data.maxRecords) || 0;\r\n self.$scope.hasMoreRecords = data && data.hasMoreRecords;\r\n self.$scope.filters.dateRangeList = self.$scope.utility.getOptionSetFromConfiguration('pastdaterangefilter');\r\n self.$scope.filters.incidentTypeList = self.$scope.utility.getOptionSetFromConfiguration('incidenttype');\r\n self.$scope.filters.templeteTypeList = self.$scope.utility.getOptionSetFromConfiguration('incidentTypeData');\r\n var organisationCode = self.$scope.userProfile.selectedOrganisationId.toString();\r\n self.$scope.filters.wardLocationList = self.$scope.utility.getAllDependentOptionSetsOfDependentOptionSetFromConfiguration('campus', 'wwOrg', organisationCode, 'ward', 'wwCampus');\r\n self.$scope.filters.programList = self.utilityServices.getDependentOptionSetFromConfiguration('program', 'wwOrg', organisationCode);\r\n self.$scope.filters.isrLevelList = self.$scope.utility.getOptionSetFromConfiguration('isrlevel');\r\n self.$scope.filters.incidentStatusList = self.$scope.utility.getOptionSetFromConfiguration('incidentstatus')\r\n .slice()\r\n .concat(self.removedVirtualStatus, self.activeVirtualStatus);\r\n angular.forEach(incidents, function (row) {\r\n row.readUnreadCellAppearance = self.$scope.readUnreadEntity.getReadUnreadCellAppearance(row.isRead);\r\n row.canEdit = row.isActive;\r\n row.canPrint = true;\r\n row.canRemove = self.dataServices.userProfile.canRemoveIncidents;\r\n row.canClone = self.dataServices.userProfile.canCloneIncidents;\r\n row.isViewOrEditLoaded = true;\r\n row.isPrintLoaded = true;\r\n row.isOpenRelatedIncidentsPopupLoaded = true;\r\n row.isRemoveRestoreLoaded = true;\r\n row.isCloneLoaded = true;\r\n row.removeRestoreIcon = row.isActive ? '#icon-delete' : '#icon-check';\r\n row.removeRestoreDisplayString = row.isActive ? 'Remove' : 'Restore';\r\n });\r\n self.$scope.gridOptions.data = incidents;\r\n };\r\n ManageIncidentsController.prototype.populateSectionVisibilityConditions = function (response) {\r\n var self = this;\r\n self.dataServices.caseResponseInfo.isPatientSectionVisible = angular.isDefined(response['1-1']) && angular.isDefined(response['1-1'][0]) && angular.isDefined(response['1-1'][0]['patient']);\r\n self.dataServices.caseResponseInfo.isStaffSectionVisible = angular.isDefined(response['1-1']) && angular.isDefined(response['1-1'][0]) && angular.isDefined(response['1-1'][0]['staffintro']);\r\n self.dataServices.caseResponseInfo.isVisitorSectionVisible = angular.isDefined(response['1-1']) && angular.isDefined(response['1-1'][0]) && angular.isDefined(response['1-1'][0]['visitor']);\r\n };\r\n ManageIncidentsController.prototype.onChangeOrganisationForIncidentDashboard = function () {\r\n var self = this;\r\n if (self.dataServices.userProfile.isCentral) {\r\n self.clearAndGetGridDataAndCheckForDraftIfNeeded(true);\r\n }\r\n else {\r\n self.showLoader();\r\n self.dataServices.updateUserProfileData()\r\n .then(function () {\r\n self.utilityServices.setMenuVisibility();\r\n if (self.$location.url() == self.dataServices.userProfile.landingPageUrl) {\r\n self.clearAndGetGridDataAndCheckForDraftIfNeeded(true);\r\n }\r\n else {\r\n self.$location.path(self.dataServices.userProfile.landingPageUrl);\r\n }\r\n }).finally(function () {\r\n self.hideLoader();\r\n });\r\n }\r\n };\r\n ManageIncidentsController.$inject = [\r\n '$scope',\r\n '$rootScope',\r\n '$http',\r\n '$location',\r\n '$timeout',\r\n 'uiGridConstants',\r\n 'Constants',\r\n 'DataServices',\r\n 'UtilityServices',\r\n 'ReadUnreadEntityService',\r\n 'adalAuthenticationService',\r\n 'uiGridExporterConstants',\r\n '$q',\r\n '$window'\r\n ];\r\n return ManageIncidentsController;\r\n }(formApp.BaseManageController));\r\n formApp.ManageIncidentsController = ManageIncidentsController;\r\n angular.module('formApp').controller('manageIncidentsController', ManageIncidentsController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=manageIncidentsController.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n var ManageNotificationsController = (function (_super) {\r\n __extends(ManageNotificationsController, _super);\r\n function ManageNotificationsController($scope, $rootScope, dataServices, utilityServices, $timeout, $location, uiGridConstants, uiGridExporterConstants, constants, $q, $window) {\r\n var _this = _super.call(this, formApp.FormConfigurationTemplateOptions.Notification, constants.Url.manageNotifications, $scope, $location, constants, dataServices, utilityServices, uiGridConstants, uiGridExporterConstants) || this;\r\n _this.$scope = $scope;\r\n _this.$rootScope = $rootScope;\r\n _this.dataServices = dataServices;\r\n _this.utilityServices = utilityServices;\r\n _this.$timeout = $timeout;\r\n _this.$location = $location;\r\n _this.uiGridConstants = uiGridConstants;\r\n _this.uiGridExporterConstants = uiGridExporterConstants;\r\n _this.constants = constants;\r\n _this.$q = $q;\r\n _this.$window = $window;\r\n var self = _this;\r\n if (!dataServices.mnFilters) {\r\n dataServices.mnFilters = new formApp.ManageNotificationFilters();\r\n }\r\n $scope.filters = dataServices.mnFilters;\r\n document.title = 'Victorian Health Incident Management System - Manage Notifications page';\r\n $scope.exportFileName = 'VHIMS-Notifications';\r\n $scope.gridOptions = {\r\n exporterCsvFilename: $scope.exportFileName + \".csv\",\r\n enableSorting: true,\r\n enableFiltering: false,\r\n enableHorizontalScrollbar: uiGridConstants.scrollbars.NEVER,\r\n enableVerticalScrollbar: uiGridConstants.scrollbars.ALWAYS,\r\n enableRowSelection: true,\r\n enableFullRowSelection: true,\r\n enableRowHeaderSelection: false,\r\n enableSelectAll: false,\r\n multiSelect: false,\r\n columnDefs: self.getColumnDefs(),\r\n exporterFieldCallback: self.exportField,\r\n rowTemplate: '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ',\r\n onRegisterApi: function (gridApi) {\r\n $scope.gridApi = gridApi;\r\n }\r\n };\r\n $scope.gridOptions.exporterCsvLinkElement = $(document.querySelectorAll('.custom-csv-link-location'));\r\n $scope.gridOptions.rowHeight = 'auto';\r\n $scope.minRowHeight = 56;\r\n $scope.getRowHeight = function (row) {\r\n return ($scope.isRunningInExtraSmallScreen ? 1 : ((row.entity.teams && row.entity.teams.length) || 1)) * $scope.minRowHeight;\r\n };\r\n $scope.selectRow = function (row) {\r\n $timeout(function () {\r\n $scope.gridApi.selection.selectRow(row.entity);\r\n }, 100);\r\n };\r\n $scope.onEditClick = function (row) {\r\n if (!self.iosOrMobile) {\r\n self.editNotification(row);\r\n }\r\n };\r\n $scope.onEditTouchend = function (row) {\r\n self.editNotification(row);\r\n };\r\n $scope.onToggleActivationClick = function (row) {\r\n if (!self.iosOrMobile) {\r\n self.toggleActivation(row);\r\n }\r\n };\r\n $scope.onToggleActivationTouchend = function (row) {\r\n self.toggleActivation(row);\r\n };\r\n $scope.createNotification = function () {\r\n if (!self.$window.navigator.onLine) {\r\n self.$scope.utility.openPopup('offlineError');\r\n return;\r\n }\r\n self.showLoader();\r\n dataServices.originalResponse = {};\r\n dataServices.resetResponseInfo();\r\n dataServices.trackEventsWithGA('PageName: ManageNotifications', 'Click Create Incident Notification', 'Create Incident Notification');\r\n dataServices.getConfigurationUsingCache(self.configTemplate, null, null)\r\n .then(function (data) {\r\n $rootScope.allowFormNavigation = true;\r\n $location.path(constants.Url.firstNotificationFormPage);\r\n })\r\n .catch(function (reason) {\r\n self.utilityServices.showNotification(true, 'internalError');\r\n })\r\n .finally(function () {\r\n self.hideLoader();\r\n });\r\n };\r\n $scope.createFeedbackNotification = function () {\r\n if (!self.$window.navigator.onLine) {\r\n self.$scope.utility.openPopup('offlineError');\r\n return;\r\n }\r\n self.showLoader();\r\n dataServices.originalResponse = {};\r\n dataServices.resetResponseInfo();\r\n dataServices.trackEventsWithGA('PageName: ManageNotifications', 'Click Create Feedback Notification', 'Create Feedback Notification');\r\n dataServices.getConfigurationUsingCache(formApp.FormConfigurationTemplateOptions.FeedbackNotification, null, null)\r\n .then(function (data) {\r\n $rootScope.allowFormNavigation = true;\r\n $location.path(constants.Url.firstNotificationFormPage);\r\n })\r\n .catch(function (reason) {\r\n self.utilityServices.showNotification(true, 'internalError');\r\n })\r\n .finally(function () {\r\n self.hideLoader();\r\n });\r\n };\r\n self.showLoader();\r\n dataServices.getConfigurationUsingCache(self.configTemplate, null, null, true)\r\n .then(function (data) {\r\n dataServices.responseInfo.role = data.role;\r\n return self.getGridData();\r\n }, function () {\r\n self.$scope.utility.showNotification(true, 'internalError');\r\n })\r\n .finally(function () {\r\n self.hideLoader();\r\n });\r\n dataServices.trackPageVisitWithGA('Landing Page: Manage Notifications');\r\n return _this;\r\n }\r\n ManageNotificationsController.prototype.getGridData = function () {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n self.dataServices.getNotifications(self.getRequestData())\r\n .then(function (data) {\r\n self.loadGridData(data);\r\n deferred.resolve();\r\n })\r\n .catch(function (reason) {\r\n self.$scope.utility.showNotification(true, 'internalError');\r\n deferred.reject(reason);\r\n });\r\n return deferred.promise;\r\n };\r\n ManageNotificationsController.prototype.getColumnDefs = function () {\r\n var self = this;\r\n return [\r\n {\r\n field: 'source',\r\n displayName: 'Incident/Feedback',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '15%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'name',\r\n displayName: 'Name',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '100%' : '40%',\r\n enableColumnMenu: false,\r\n sort: { direction: self.uiGridConstants.ASC }\r\n },\r\n {\r\n field: 'teams',\r\n displayName: 'Associated team',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '40%',\r\n enableColumnMenu: false,\r\n cellTemplate: self.$scope.isRunningInExtraSmallScreen ?\r\n '' :\r\n '
    ' +\r\n '
    ' +\r\n '
    {{team}}
    ' +\r\n '
    ' +\r\n '
    '\r\n },\r\n {\r\n field: 'isActiveDisplayString',\r\n displayName: 'Active',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '5%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'Toolbox',\r\n displayName: 'Toolbox',\r\n cellClass: 'manage__tools',\r\n headerCellClass: 'manage__tools-hidden',\r\n exporterSuppressExport: true,\r\n cellTemplate: '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n 'Edit' +\r\n 'Opens dialog' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '{{row.entity.toggleActivationDisplayString}}' +\r\n '' +\r\n '',\r\n visible: true,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '300' : '340',\r\n enableColumnMenu: false\r\n }\r\n ].filter(function (columnDef) { return self.utilityServices.isUiGridColumnVisible(columnDef); });\r\n };\r\n ManageNotificationsController.prototype.editNotification = function (row) {\r\n var self = this;\r\n self.showLoader();\r\n row.entity.isEditLoaded = false;\r\n self.$scope.currentLoadMessage = 'Opening Notification';\r\n self.dataServices.responseInfo.notificationId = row.entity.id;\r\n self.dataServices.getNotificationById(row.entity.id, row.entity.isRelatedToFeedback)\r\n .then(function (response) {\r\n var data = response.data;\r\n self.dataServices.originalResponse = JSON.parse(data.response);\r\n self.dataServices.responseInfo.responses = JSON.parse(data.response);\r\n self.dataServices.responseInfo.inactiveTeams = data.inactiveTeams;\r\n self.dataServices.responseInfo.lastUpdatedTime = data.lastUpdatedTime;\r\n self.dataServices.responseInfo.template = data.templateId;\r\n self.dataServices.responseInfo.versionNumber = data.templateVersion;\r\n self.dataServices.responseInfo.optionSetHash = null;\r\n return self.dataServices.getConfigurationUsingCache(data.templateId, data.templateVersion, null);\r\n })\r\n .then(function (configData) {\r\n self.$rootScope.allowFormNavigation = true;\r\n self.$location.path(self.constants.Url.firstNotificationFormPage);\r\n self.dataServices.trackEventsWithGA('Edit action in Manage Notifications', 'Click Edit Notification', 'Successful Edit Notification.');\r\n })\r\n .catch(function (reason) {\r\n self.$scope.utility.openPopup('unableToLoadRecord', formApp.ErrorInfo.fromHttpResponse(reason));\r\n self.dataServices.trackEventsWithGA('Edit action in Manage Notifications', 'Click Edit Notification', 'Failed to Edit Notification.');\r\n })\r\n .finally(function () {\r\n row.entity.isEditLoaded = true;\r\n self.hideLoader();\r\n });\r\n };\r\n ManageNotificationsController.prototype.toggleActivation = function (row) {\r\n var self = this;\r\n var popupCode = row.entity.isActive ? 'confirmDeactivateNotification' : 'confirmActivateNotification';\r\n var popupParams = { name: row.entity.name };\r\n self.utilityServices.openPopup(popupCode, popupParams).result\r\n .then(function () {\r\n self.showLoader();\r\n row.entity.isToggleActivationLoaded = false;\r\n var isActivation = !row.entity.isActive;\r\n var action = row.entity.toggleActivationDisplayString;\r\n self.$scope.currentLoadMessage = action + \" Notification\";\r\n self.dataServices.toggleNotificationActivation(row.entity.id, row.entity.isRelatedToFeedback, isActivation)\r\n .then(function () {\r\n self.dataServices.trackEventsWithGA(action + \" action in Manage Notifications\", \"Click \" + action + \" Notification\", \"Successful \" + action + \" Notification.\");\r\n return self.getGridData();\r\n }, function (reason) {\r\n self.utilityServices.openPopup(isActivation ? 'errorActivation' : 'errorDeactivation', formApp.ErrorInfo.fromHttpResponse(reason));\r\n self.dataServices.trackEventsWithGA(action + \" action in Manage Notifications\", \"Click \" + action + \" Notification\", \"Failed to \" + action + \" Notification.\");\r\n })\r\n .finally(function () {\r\n row.entity.isToggleActivationLoaded = true;\r\n self.hideLoader();\r\n });\r\n })\r\n .catch(function () {\r\n });\r\n };\r\n ManageNotificationsController.prototype.getRequestData = function () {\r\n var self = this;\r\n return {\r\n organisationId: self.$scope.userProfile.selectedOrganisationId,\r\n searchTerm: self.$scope.filters.searchPhrase === '' ? null : self.$scope.filters.searchPhrase,\r\n teamId: self.$scope.filters.selectedTeam === '' ? null : parseInt(self.$scope.filters.selectedTeam),\r\n isActive: { '': null, '0': true, '1': false }[self.$scope.filters.selectedNotificationStatus]\r\n };\r\n };\r\n ManageNotificationsController.prototype.loadGridData = function (data) {\r\n var self = this;\r\n var notifications = (data && data.teamAccesses) || [];\r\n self.$scope.totalRecords = notifications.length;\r\n self.$scope.maxRecords = (data && data.maxRecords) || 0;\r\n self.$scope.hasMoreRecords = data && data.hasMoreRecords;\r\n self.$scope.filters.notificationStatusList = [{ code: '0', text: 'Yes' }, { code: '1', text: 'No' }];\r\n self.$scope.filters.teamList = self.utilityServices.getDependentOptionSetFromConfiguration('team', 'organisation', self.$scope.userProfile.selectedOrganisationId.toString());\r\n angular.forEach(notifications, function (row) {\r\n row.isEditLoaded = true;\r\n row.isToggleActivationLoaded = true;\r\n row.toggleActivationIcon = row.isActive ? '#icon-delete' : '#icon-check';\r\n });\r\n self.$scope.gridOptions.data = notifications;\r\n };\r\n ManageNotificationsController.$inject = [\r\n '$scope',\r\n '$rootScope',\r\n 'DataServices',\r\n 'UtilityServices',\r\n '$timeout',\r\n '$location',\r\n 'uiGridConstants',\r\n 'uiGridExporterConstants',\r\n 'Constants',\r\n '$q',\r\n '$window'\r\n ];\r\n return ManageNotificationsController;\r\n }(formApp.BaseManageController));\r\n formApp.ManageNotificationsController = ManageNotificationsController;\r\n angular.module('formApp').controller('manageNotificationsController', ManageNotificationsController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=manageNotificationsController.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n var ManageOrganisationsController = (function (_super) {\r\n __extends(ManageOrganisationsController, _super);\r\n function ManageOrganisationsController($scope, $rootScope, dataServices, utilityServices, $timeout, $location, uiGridConstants, uiGridExporterConstants, constants, $q) {\r\n var _this = _super.call(this, formApp.FormConfigurationTemplateOptions.Organisation, constants.Url.manageOrganisations, $scope, $location, constants, dataServices, utilityServices, uiGridConstants, uiGridExporterConstants) || this;\r\n _this.$scope = $scope;\r\n _this.$rootScope = $rootScope;\r\n _this.dataServices = dataServices;\r\n _this.utilityServices = utilityServices;\r\n _this.$timeout = $timeout;\r\n _this.$location = $location;\r\n _this.uiGridConstants = uiGridConstants;\r\n _this.uiGridExporterConstants = uiGridExporterConstants;\r\n _this.constants = constants;\r\n _this.$q = $q;\r\n var self = _this;\r\n if (!dataServices.moFilters) {\r\n dataServices.moFilters = new formApp.ManageOrganisationFilters();\r\n }\r\n $scope.filters = dataServices.moFilters;\r\n document.title = 'Victorian Health Incident Management System - Manage Organisations page';\r\n $scope.exportFileName = 'VHIMS-Organisations';\r\n $scope.gridOptions = {\r\n exporterCsvFilename: $scope.exportFileName + \".csv\",\r\n enableSorting: true,\r\n enableFiltering: false,\r\n enableHorizontalScrollbar: uiGridConstants.scrollbars.NEVER,\r\n enableVerticalScrollbar: uiGridConstants.scrollbars.ALWAYS,\r\n enableRowSelection: true,\r\n enableFullRowSelection: true,\r\n enableRowHeaderSelection: false,\r\n enableSelectAll: false,\r\n multiSelect: false,\r\n rowHeight: 56,\r\n columnDefs: self.getColumnDefs(),\r\n exporterFieldCallback: self.exportField,\r\n rowTemplate: '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ',\r\n onRegisterApi: function (gridApi) {\r\n $scope.gridApi = gridApi;\r\n }\r\n };\r\n $scope.gridOptions.exporterCsvLinkElement = $(document.querySelectorAll('.custom-csv-link-location'));\r\n $scope.selectRow = function (row) {\r\n $timeout(function () {\r\n $scope.gridApi.selection.selectRow(row.entity);\r\n }, 100);\r\n };\r\n $scope.onEditClick = function (row) {\r\n if (!self.iosOrMobile) {\r\n self.editOrganisation(row);\r\n }\r\n };\r\n $scope.onEditTouchend = function (row) {\r\n self.editOrganisation(row);\r\n };\r\n self.showLoader();\r\n dataServices.getConfigurationUsingCache(self.configTemplate, null, null)\r\n .then(function (data) {\r\n dataServices.responseInfo.role = data.role;\r\n return self.getGridData();\r\n }, function () {\r\n self.$scope.utility.showNotification(true, 'internalError');\r\n })\r\n .finally(function () {\r\n self.hideLoader();\r\n });\r\n dataServices.trackPageVisitWithGA('Landing Page: Manage Organisations');\r\n return _this;\r\n }\r\n ManageOrganisationsController.prototype.getGridData = function () {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n self.dataServices.getOrganisations(self.getRequestData())\r\n .then(function (data) {\r\n self.loadGridData(data);\r\n deferred.resolve();\r\n })\r\n .catch(function () {\r\n self.$scope.utility.showNotification(true, 'internalError');\r\n deferred.reject();\r\n });\r\n return deferred.promise;\r\n };\r\n ManageOrganisationsController.prototype.getColumnDefs = function () {\r\n var self = this;\r\n return [\r\n {\r\n field: 'displayName',\r\n displayName: 'Organisation name',\r\n enableHiding: false,\r\n width: '100%',\r\n enableColumnMenu: false,\r\n sort: { direction: self.uiGridConstants.ASC }\r\n },\r\n {\r\n field: 'Toolbox',\r\n displayName: 'Toolbox',\r\n cellClass: 'manage__tools',\r\n headerCellClass: 'manage__tools-hidden',\r\n exporterSuppressExport: true,\r\n cellTemplate: '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n 'Edit' +\r\n 'Opens dialog' +\r\n '' +\r\n '',\r\n visible: true,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '300' : '340',\r\n enableColumnMenu: false\r\n }\r\n ].filter(function (columnDef) { return self.utilityServices.isUiGridColumnVisible(columnDef); });\r\n };\r\n ManageOrganisationsController.prototype.editOrganisation = function (row) {\r\n var self = this;\r\n self.showLoader();\r\n row.entity.isEditLoaded = false;\r\n self.$scope.currentLoadMessage = 'Opening Organisation';\r\n self.dataServices.responseInfo.organisationId = row.entity.id;\r\n self.dataServices.getOrganisationById(row.entity.id)\r\n .then(function (response) {\r\n var data = response.data;\r\n self.dataServices.originalResponse = JSON.parse(data.response);\r\n self.dataServices.responseInfo.responses = JSON.parse(data.response);\r\n self.dataServices.responseInfo.lastUpdatedTime = data.lastUpdatedTime;\r\n self.dataServices.responseInfo.template = data.templateId;\r\n self.dataServices.responseInfo.versionNumber = data.templateVersion;\r\n self.dataServices.responseInfo.optionSetHash = null;\r\n return self.dataServices.getConfigurationUsingCache(data.templateId, data.templateVersion, null);\r\n })\r\n .then(function (configData) {\r\n self.$rootScope.allowFormNavigation = true;\r\n self.$location.path(self.constants.Url.firstOrganisationFormPage);\r\n self.dataServices.trackEventsWithGA('Edit action in Manage Organisations', 'Click Edit Organisation', 'Successful Edit Organisation.');\r\n })\r\n .catch(function (reason) {\r\n self.$scope.utility.openPopup('unableToLoadRecord', formApp.ErrorInfo.fromHttpResponse(reason));\r\n self.dataServices.trackEventsWithGA('Edit action in Manage Organisations', 'Click Edit Organisation', 'Failed to Edit Organisation.');\r\n })\r\n .finally(function () {\r\n row.entity.isEditLoaded = true;\r\n self.hideLoader();\r\n });\r\n };\r\n ManageOrganisationsController.prototype.getRequestData = function () {\r\n var self = this;\r\n return {\r\n organisationId: self.$scope.userProfile.selectedOrganisationId,\r\n searchTerm: null,\r\n isActive: true\r\n };\r\n };\r\n ManageOrganisationsController.prototype.loadGridData = function (data) {\r\n var self = this;\r\n var organisations = (data && data.organisations) || [];\r\n self.$scope.totalRecords = organisations.length;\r\n self.$scope.maxRecords = (data && data.maxRecords) || 0;\r\n self.$scope.hasMoreRecords = data && data.hasMoreRecords;\r\n angular.forEach(organisations, function (row) {\r\n row.isEditLoaded = true;\r\n });\r\n self.$scope.gridOptions.data = organisations;\r\n };\r\n ManageOrganisationsController.$inject = [\r\n '$scope',\r\n '$rootScope',\r\n 'DataServices',\r\n 'UtilityServices',\r\n '$timeout',\r\n '$location',\r\n 'uiGridConstants',\r\n 'uiGridExporterConstants',\r\n 'Constants',\r\n '$q'\r\n ];\r\n return ManageOrganisationsController;\r\n }(formApp.BaseManageController));\r\n formApp.ManageOrganisationsController = ManageOrganisationsController;\r\n angular.module('formApp').controller('manageOrganisationsController', ManageOrganisationsController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=manageOrganisationsController.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n var ManageSentinelEventsController = (function (_super) {\r\n __extends(ManageSentinelEventsController, _super);\r\n function ManageSentinelEventsController($scope, $rootScope, $http, $location, $timeout, uiGridConstants, constants, dataServices, utilityServices, readUnreadEntityService, adalAuthenticationService, uiGridExporterConstants, $q, $window) {\r\n var _this = _super.call(this, formApp.FormConfigurationTemplateOptions.SentinelEvent, constants.Url.manageSentinelEvents, $scope, $location, constants, dataServices, utilityServices, uiGridConstants, uiGridExporterConstants) || this;\r\n _this.$scope = $scope;\r\n _this.$rootScope = $rootScope;\r\n _this.$http = $http;\r\n _this.$location = $location;\r\n _this.$timeout = $timeout;\r\n _this.uiGridConstants = uiGridConstants;\r\n _this.constants = constants;\r\n _this.dataServices = dataServices;\r\n _this.utilityServices = utilityServices;\r\n _this.readUnreadEntityService = readUnreadEntityService;\r\n _this.adalAuthenticationService = adalAuthenticationService;\r\n _this.uiGridExporterConstants = uiGridExporterConstants;\r\n _this.$q = $q;\r\n _this.$window = $window;\r\n _this.removedVirtualStatus = { code: 'removed', text: 'Removed' };\r\n _this.activeVirtualStatus = { code: 'active', text: 'Active' };\r\n var self = _this;\r\n $scope.utility.toggleClass($('header'), true, 'header_with-nav');\r\n if (!dataServices.mseFilters) {\r\n dataServices.mseFilters = new formApp.ManageSentinelEventFilters();\r\n }\r\n $scope.filters = dataServices.mseFilters;\r\n document.title = 'Victorian Health Incident Management System - Manage Sentinel Events page';\r\n $scope.exportFileName = 'VHIMS-Sentinel Events';\r\n $scope.gridOptions = {\r\n exporterCsvFilename: $scope.exportFileName + \".csv\",\r\n enableSorting: true,\r\n enableFiltering: false,\r\n enableHorizontalScrollbar: uiGridConstants.scrollbars.NEVER,\r\n enableVerticalScrollbar: uiGridConstants.scrollbars.ALWAYS,\r\n enableRowSelection: true,\r\n enableFullRowSelection: true,\r\n enableRowHeaderSelection: false,\r\n enableSelectAll: false,\r\n multiSelect: false,\r\n rowHeight: 56,\r\n columnDefs: [],\r\n exporterFieldCallback: self.exportField,\r\n rowTemplate: '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ',\r\n onRegisterApi: function (gridApi) {\r\n $scope.gridApi = gridApi;\r\n }\r\n };\r\n $scope.gridOptions.exporterCsvLinkElement = $(document.querySelectorAll('.custom-csv-link-location'));\r\n $scope.selectRow = function (row) {\r\n $timeout(function () {\r\n $scope.gridApi.selection.selectRow(row.entity);\r\n }, 50);\r\n };\r\n $scope.onViewOrEditTouchend = function (row) {\r\n $timeout(function () {\r\n self.viewOrEditSentinelEvent(row);\r\n }, 100);\r\n };\r\n $scope.onViewOrEditClick = function (row) {\r\n if (!self.iosOrMobile) {\r\n self.viewOrEditSentinelEvent(row);\r\n }\r\n };\r\n $scope.onRemoveRestoreTouchend = function (row) {\r\n $timeout(function () {\r\n self.removeRestoreSentinelEvent(row);\r\n }, 100);\r\n };\r\n $scope.onRemoveRestoreClick = function (row) {\r\n if (!self.iosOrMobile) {\r\n self.removeRestoreSentinelEvent(row);\r\n }\r\n };\r\n $scope.onExportExecSummaryPdfTouchend = function (row) {\r\n $timeout(function () {\r\n self.downloadPdf(row, PdfTypes.ExecSummary, null);\r\n }, 100);\r\n };\r\n $scope.onExportExecSummaryPdfClick = function (row) {\r\n if (!self.iosOrMobile) {\r\n self.downloadPdf(row, PdfTypes.ExecSummary, null);\r\n }\r\n };\r\n $scope.onExportPdfTouchend = function (row) {\r\n $timeout(function () {\r\n self.downloadPdf(row, PdfTypes.Full, null);\r\n }, 100);\r\n };\r\n $scope.onExportPdfClick = function (row) {\r\n if (!self.iosOrMobile) {\r\n var pdfDownloadChoice = '1';\r\n if (self.$scope.isSCVUser) {\r\n var confirmSentinelEventPDFToDownloadChoice = null;\r\n self.$scope.utility.openPopup('confirmSentinelEventPDFToDownload').result.then(function (result) {\r\n pdfDownloadChoice = result.outParams.confirmSentinelEventPDFToDownloadChoice;\r\n self.downloadPdf(row, PdfTypes.Full, pdfDownloadChoice);\r\n }, function () {\r\n });\r\n }\r\n else {\r\n self.downloadPdf(row, PdfTypes.Full, pdfDownloadChoice);\r\n }\r\n }\r\n };\r\n $scope.isApplicationInProgress = function (row) {\r\n return self.isApplicationInProgress(row.entity.statusDisplayName, row.entity.stageDisplayName);\r\n };\r\n $scope.createNewSentinelEvent = function () {\r\n self.createNewSentinelEvent();\r\n };\r\n $scope.canCreateSentinelEvent = function () {\r\n var roles = self.$scope.role ? self.$scope.role.split('|') : [];\r\n return roles.some(function (role) { return (role.trim() === self.constants.sentinelRoleMap.HSSEReportAuthor ||\r\n role.trim() === self.constants.sentinelRoleMap.SEReportApprover ||\r\n role.trim() === self.constants.sentinelRoleMap.QualityRiskManager); });\r\n };\r\n $scope.canExportSentinelEvent = function () {\r\n var roles = self.$scope.role ? self.$scope.role.split('|') : [];\r\n return roles.some(function (role) { return (role.trim() === self.constants.sentinelRoleMap.HSAdministrator\r\n || role.trim() === self.constants.sentinelRoleMap.HSSEReportAuthor\r\n || role.trim() === self.constants.sentinelRoleMap.QualityRiskManager\r\n || role.trim() === self.constants.sentinelRoleMap.SEReportReviewer\r\n || role.trim() === self.constants.sentinelRoleMap.SCVAdministrator\r\n || role.trim() === self.constants.sentinelRoleMap.SCVSEPTeamMember); });\r\n };\r\n $scope.export = function () {\r\n self.downloadExtract(function () { return self.dataServices.getSentinelEventExtract(self.getRequestData()); });\r\n };\r\n if (dataServices.isAuthenticated()) {\r\n self.showLoader();\r\n dataServices.getConfigurationUsingCache(self.configTemplate, null, null)\r\n .then(function (data) {\r\n dataServices.responseInfo.role = data.role;\r\n self.$scope.role = data.role;\r\n self.$scope.filters.scvRoleList = self.$scope.utility.getOptionSetFromConfiguration('scvRoles');\r\n self.$scope.isSCVUser = self.$scope.utility.isScvUser(self.$scope.filters.scvRoleList, data.role.split('|'));\r\n dataServices.responseInfo.isSCVUser = self.$scope.isSCVUser == null ? false : self.$scope.isSCVUser;\r\n self.$scope.gridOptions.columnDefs = self.$scope.isSCVUser == true ? self.getColumnDefsForSCVUser() : self.getColumnDefsForHealthServiceUser();\r\n return self.getSentinelEvents();\r\n }, function () {\r\n $scope.utility.showNotification(true, 'internalError');\r\n })\r\n .finally(function () {\r\n self.hideLoader();\r\n });\r\n }\r\n dataServices.trackPageVisitWithGA('Landing Page: Manage Sentinel Events');\r\n return _this;\r\n }\r\n ManageSentinelEventsController.prototype.getGridData = function () {\r\n return this.getSentinelEvents();\r\n };\r\n ManageSentinelEventsController.prototype.isApplicationInProgress = function (statusDisplayName, stageDisplayName) {\r\n return (statusDisplayName == 'Draft' && stageDisplayName == 'Notification');\r\n };\r\n ManageSentinelEventsController.prototype.getColumnDefsForHealthServiceUser = function () {\r\n var self = this;\r\n return [\r\n {\r\n field: 'stageDisplayName',\r\n displayName: 'Stage',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '8%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'statusDisplayName',\r\n displayName: 'Status',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '7%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'ref',\r\n displayName: 'SE number',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '9%',\r\n enableColumnMenu: false,\r\n sort: { direction: self.uiGridConstants.DESC }\r\n },\r\n {\r\n field: 'sentinelEventDate',\r\n displayName: 'Date notified',\r\n cellFilter: 'date:\\'dd/MM/yyyy\\'',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '10%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'campus',\r\n displayName: 'Campus',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '10%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'patientId',\r\n displayName: 'Patient Id',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '7%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'category',\r\n displayName: 'SE Category',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '10%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'reportAandBDueDate',\r\n displayName: 'Due date (A + B)',\r\n cellFilter: 'date:\\'dd/MM/yyyy\\'',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '10%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'reportCDueDate',\r\n displayName: 'Due date (C)',\r\n cellFilter: 'date:\\'dd/MM/yyyy\\'',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '10%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'reportDDueDate',\r\n displayName: 'Due Date (D)',\r\n cellFilter: 'date:\\'dd/MM/yyyy\\'',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '10%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'reportD12MDueDate',\r\n displayName: 'Due Date (D12M)',\r\n cellFilter: 'date:\\'dd/MM/yyyy\\'',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '9%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'Toolbox',\r\n displayName: 'Toolbox',\r\n cellClass: 'manage__tools',\r\n headerCellClass: 'manage__tools-hidden',\r\n exporterSuppressExport: true,\r\n cellTemplate: '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n 'Edit' +\r\n 'Opens dialog' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n 'Delete' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n 'Retrieve' +\r\n 'Opens dialog' +\r\n '' +\r\n '' +\r\n this.getTemplateFragmentForExportButtons(),\r\n visible: true,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '300' : '340',\r\n enableColumnMenu: false\r\n },\r\n ].filter(function (columnDef) { return self.utilityServices.isUiGridColumnVisible(columnDef); });\r\n };\r\n ManageSentinelEventsController.prototype.getColumnDefsForSCVUser = function () {\r\n var self = this;\r\n return [\r\n {\r\n field: 'stageDisplayName',\r\n displayName: 'Stage',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '8%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'statusDisplayName',\r\n displayName: 'Status',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '7%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'ref',\r\n displayName: 'SE number',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '9%',\r\n enableColumnMenu: false,\r\n sort: { direction: self.uiGridConstants.DESC }\r\n },\r\n {\r\n field: 'organisationName',\r\n displayName: 'Health service',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '10%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'sentinelEventDate',\r\n displayName: 'Date notified',\r\n cellFilter: 'date:\\'dd/MM/yyyy\\'',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '10%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'category',\r\n displayName: 'SE Category',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '16%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'reportAandBDueDate',\r\n displayName: 'Due date (A + B)',\r\n cellFilter: 'date:\\'dd/MM/yyyy\\'',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '10%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'reportCDueDate',\r\n displayName: 'Due date (C)',\r\n cellFilter: 'date:\\'dd/MM/yyyy\\'',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '10%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'reportDDueDate',\r\n displayName: 'Due Date (D)',\r\n cellFilter: 'date:\\'dd/MM/yyyy\\'',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '10%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'reportD12MDueDate',\r\n displayName: 'Due Date (D12M)',\r\n cellFilter: 'date:\\'dd/MM/yyyy\\'',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '10%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'Toolbox',\r\n displayName: 'Toolbox',\r\n cellClass: 'manage__tools',\r\n headerCellClass: 'manage__tools-hidden',\r\n exporterSuppressExport: true,\r\n cellTemplate: '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n 'Review' +\r\n 'Opens dialog' +\r\n '' +\r\n '' +\r\n this.getTemplateFragmentForExportButtons(),\r\n visible: true,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '300' : '340',\r\n enableColumnMenu: false\r\n },\r\n ].filter(function (columnDef) { return self.utilityServices.isUiGridColumnVisible(columnDef); });\r\n };\r\n ManageSentinelEventsController.prototype.getTemplateFragmentForExportButtons = function () {\r\n return (\"\" +\r\n \"\" +\r\n \"\\n \\n \\n Export summary PDF\\n \\n \\n \" +\r\n \"\\n \\n \\n \\n \\n Export to PDF\\n \\n \\n \");\r\n };\r\n ManageSentinelEventsController.prototype.removeRestoreSentinelEvent = function (row) {\r\n var self = this;\r\n var isRestore = !row.entity.isActive;\r\n var action = isRestore ? 'Retrieve' : 'Remove';\r\n var confirmPopupCode = isRestore ? 'confirmRestoreRecord' : 'confirmRemoveRecord';\r\n var confirmPopupParams = {\r\n entityType: 'Sentinel Event',\r\n entityName: row.entity.ref\r\n };\r\n self.$scope.utility.openPopup(confirmPopupCode, confirmPopupParams).result\r\n .then(function () {\r\n self.showLoader();\r\n row.entity.isRemoveLoaded = false;\r\n self.dataServices.removeSentinelEvent(row.entity.id, isRestore)\r\n .then(function () {\r\n self.dataServices.trackEventsWithGA(action + \" action in Manage Sentinel Events\", \"Click Remove Sentinel Event\", \"Successful Remove Sentinel Event.\");\r\n return self.getGridData();\r\n }, function (response) {\r\n var errorPopupCode = isRestore ? 'errorRestoreRecord' : 'errorRemoveRecord';\r\n var errorPopupParams = formApp.ErrorInfo.fromHttpResponse(response);\r\n errorPopupParams.entityType = 'Sentinel Event';\r\n errorPopupParams.entityName = row.entity.ref;\r\n self.utilityServices.openPopup(errorPopupCode, errorPopupParams);\r\n self.dataServices.trackEventsWithGA(action + \" action in Manage Sentinel Events\", \"Click Remove Sentinel Events\", \"Failed to Remove Sentinel Event.\");\r\n })\r\n .finally(function () {\r\n row.entity.isRemoveLoaded = true;\r\n self.hideLoader();\r\n });\r\n });\r\n };\r\n ManageSentinelEventsController.prototype.viewOrEditSentinelEvent = function (row) {\r\n var self = this;\r\n if (!row.entity.canEdit) {\r\n return;\r\n }\r\n self.showLoader();\r\n row.entity.isViewOrEditLoaded = false;\r\n self.dataServices.responseInfo.sentinelEventId = row.entity.id;\r\n self.dataServices.responseInfo.sentinelEventRef = row.entity.ref;\r\n self.dataServices.trackEventsWithGA('PageName: Manage Sentinel Events', 'Click Edit Sentinel Event', 'Edit Sentinel Event');\r\n self.dataServices.getSentinelEventById(row.entity.id)\r\n .then(function (data) {\r\n self.dataServices.originalResponse = JSON.parse(data.response);\r\n self.dataServices.responseInfo.responses = JSON.parse(data.response);\r\n self.dataServices.responseInfo.lastUpdatedTime = data.lastUpdatedTime;\r\n self.dataServices.responseInfo.cumulativeExtensionGranted = data.cumulativeExtensionGranted;\r\n self.dataServices.responseInfo.template = data.templateId;\r\n self.dataServices.responseInfo.versionNumber = data.templateVersion;\r\n self.dataServices.responseInfo.status = data.statusId;\r\n self.dataServices.responseInfo.statusText = data.statusDisplayName;\r\n self.dataServices.responseInfo.stage = data.stageId;\r\n self.dataServices.responseInfo.committeeReviewAction = data.committeeReviewAction;\r\n self.dataServices.responseInfo.partcrecommendationsList = data.partcrecommendationsList;\r\n if (data.sentinelEventDate) {\r\n self.dataServices.responseInfo.sentinelEventDate = moment(data.sentinelEventDate).format('YYYY-MM-DD');\r\n }\r\n if (data.reportAandBDueDate) {\r\n self.dataServices.responseInfo.reportAandBDueDate = moment(data.reportAandBDueDate).format('YYYY-MM-DD');\r\n }\r\n if (data.reportCDueDate) {\r\n self.dataServices.responseInfo.reportCDueDate = moment(data.reportCDueDate).format('YYYY-MM-DD');\r\n }\r\n if (data.reportDDueDate) {\r\n self.dataServices.responseInfo.reportDDueDate = moment(data.reportDDueDate).format('YYYY-MM-DD');\r\n }\r\n self.dataServices.responseInfo.stageText = data.stageDisplayName;\r\n self.dataServices.validatedPages = self.dataServices.determineValidatedPages(data.response);\r\n self.dataServices.mahFilters = null;\r\n return self.dataServices.getConfigurationUsingCacheAndOptionSet(data.templateId, data.templateVersion, data.optionSet, true, data.id, self.dataServices.responseInfo.stage, self.dataServices.responseInfo.status);\r\n })\r\n .then(function (configData) {\r\n self.$rootScope.allowFormNavigation = true;\r\n self.$location.path(self.constants.Url.firstSentinelFormPage);\r\n })\r\n .catch(function (reason) {\r\n self.$scope.utility.openPopup('unableToLoadRecord', formApp.ErrorInfo.fromHttpResponse(reason));\r\n })\r\n .finally(function () {\r\n row.entity.isViewOrEditLoaded = true;\r\n self.hideLoader();\r\n });\r\n };\r\n ManageSentinelEventsController.prototype.createNewSentinelEvent = function () {\r\n var self = this;\r\n if (!self.$window.navigator.onLine) {\r\n self.$scope.utility.openPopup('offlineError');\r\n return;\r\n }\r\n self.showLoader();\r\n self.dataServices.originalResponse = {};\r\n self.dataServices.resetResponseInfo();\r\n self.dataServices.responseInfo.status = formApp.SentinelEventStatus.Draft;\r\n self.dataServices.responseInfo.statusText = 'Draft';\r\n self.dataServices.responseInfo.stage = formApp.SentinelEventStage.Notification;\r\n self.dataServices.responseInfo.stageText = 'Notification';\r\n self.dataServices.trackEventsWithGA('PageName: Manage Sentinel Events', 'Click Create New Sentinel Event', 'Create New Sentinel Event');\r\n self.dataServices.getConfigurationUsingCache(self.configTemplate, null, null)\r\n .then(function (data) {\r\n self.$rootScope.allowFormNavigation = true;\r\n self.$location.path(self.constants.Url.firstSentinelFormPage);\r\n }, function (data) {\r\n self.$scope.utility.showNotification(true, 'internalError');\r\n })\r\n .finally(function () {\r\n self.hideLoader();\r\n });\r\n };\r\n ManageSentinelEventsController.prototype.getRequestData = function () {\r\n var self = this;\r\n var isStatusFilterShowAll = self.$scope.filters.selectedSentinelEventStatus === '';\r\n var isStatusFilterActive = self.$scope.filters.selectedSentinelEventStatus === self.activeVirtualStatus.code;\r\n var isStatusFilterRemoved = self.$scope.filters.selectedSentinelEventStatus === self.removedVirtualStatus.code;\r\n return {\r\n organisationId: self.$scope.userProfile.selectedOrganisationId,\r\n searchTerm: self.$scope.filters.searchPhrase === '' ? null : self.$scope.filters.searchPhrase,\r\n statusId: (isStatusFilterShowAll || isStatusFilterActive || isStatusFilterRemoved) ? null : self.$scope.filters.selectedSentinelEventStatus,\r\n dateRangeId: self.$scope.filters.selectedDateRange === '' ? null : self.$scope.filters.selectedDateRange,\r\n isActiveStatus: isStatusFilterActive,\r\n sentinelEventCategoryId: self.$scope.filters.selectedEventCategory === '' ? null : self.$scope.filters.selectedEventCategory,\r\n sentinelEventSubCategoryId: self.$scope.filters.selectedEventSubCategory === '' ? null : self.$scope.filters.selectedEventSubCategory,\r\n campusId: self.$scope.filters.selectedCampus === '' ? null : self.$scope.filters.selectedCampus,\r\n programId: self.$scope.filters.selectedProgram === '' ? null : self.$scope.filters.selectedProgram,\r\n isActive: isStatusFilterShowAll ? null : !isStatusFilterRemoved,\r\n isSCVUser: self.$scope.isSCVUser,\r\n overarchingStatusId: self.$scope.filters.selectedSentinelEventOverarchingStatus === '' ? null : self.$scope.filters.selectedSentinelEventOverarchingStatus,\r\n };\r\n };\r\n ManageSentinelEventsController.prototype.downloadPdf = function (row, pdfType, PdfChoice) {\r\n var self = this;\r\n var pdfPromise;\r\n try {\r\n switch (pdfType) {\r\n case PdfTypes.Full:\r\n row.entity.isFullPdfDownloadInProgress = true;\r\n pdfPromise = self.dataServices.getSentinelEventPdf(row.entity.id, self.$scope.role, PdfChoice);\r\n break;\r\n case PdfTypes.ExecSummary:\r\n row.entity.isExecSummaryPdfDownloadInProgress = true;\r\n pdfPromise = self.dataServices.getSentinelEventExecSummaryPdf(row.entity.id, self.$scope.role);\r\n break;\r\n default:\r\n throw 'Unimplemented PdfType ' + pdfType;\r\n }\r\n self.showLoader();\r\n }\r\n catch (e) {\r\n if (pdfType == PdfTypes.Full)\r\n row.entity.isFullPdfDownloadInProgress = false;\r\n if (pdfType == PdfTypes.ExecSummary)\r\n row.entity.isExecSummaryPdfDownloadInProgress = false;\r\n self.hideLoader();\r\n throw e;\r\n }\r\n pdfPromise\r\n .then(function (response) {\r\n var data = response && response.data;\r\n try {\r\n var fileName = row.entity.ref ? row.entity.ref : 'Sentinel Event';\r\n var file = new formApp.win.Blob([data], { type: 'application/pdf' }, { name: fileName });\r\n formApp.win.saveAs(file, fileName + '.pdf');\r\n }\r\n catch (e) {\r\n self.$scope.utility.openPopup('errorDownloadPdf', { entityType: 'Sentinel Event' });\r\n }\r\n }, function (errorResponse) {\r\n self.$scope.utility.openPopup('errorDownloadPdf', { entityType: 'Sentinel Event', errorMessage: self.$scope.parsePdfErrorMessage(errorResponse) });\r\n })\r\n .finally(function () {\r\n if (pdfType == PdfTypes.Full)\r\n row.entity.isFullPdfDownloadInProgress = false;\r\n if (pdfType == PdfTypes.ExecSummary)\r\n row.entity.isExecSummaryPdfDownloadInProgress = false;\r\n self.hideLoader();\r\n });\r\n };\r\n ManageSentinelEventsController.prototype.getSentinelEvents = function () {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n self.dataServices.getSentinelEvents(self.getRequestData())\r\n .then(function (data) {\r\n self.loadGridData(data);\r\n deferred.resolve();\r\n })\r\n .catch(function () {\r\n self.$scope.utility.showNotification(true, 'internalError');\r\n deferred.reject();\r\n });\r\n return deferred.promise;\r\n };\r\n ManageSentinelEventsController.prototype.loadGridData = function (data) {\r\n var self = this;\r\n var sentinelEvents = (data && data.sentinelEvents) || [];\r\n if (self.$scope.filters.selectedReadUnread === '1') {\r\n sentinelEvents = sentinelEvents.filter(function (i) { return i.isRead; });\r\n }\r\n if (self.$scope.filters.selectedReadUnread === '2') {\r\n sentinelEvents = sentinelEvents.filter(function (i) { return !i.isRead; });\r\n }\r\n self.$scope.totalRecords = sentinelEvents.length;\r\n self.$scope.maxRecords = (data && data.maxRecords) || 0;\r\n self.$scope.hasMoreRecords = data && data.hasMoreRecords;\r\n self.$scope.filters.dateRangeList = self.$scope.utility.getOptionSetFromConfiguration('pastdaterangefilter');\r\n self.$scope.filters.sentinelEventCategoryList = self.$scope.utility.getOptionSetFromConfiguration('sentinelEventCategory');\r\n self.$scope.filters.sentinelEventSubCategoryList = self.$scope.utility.getOptionSetFromConfiguration('sentinelEventSubCategory');\r\n var filteredProgramListForSelectedOrganisation = _.filter(self.$scope.utility.getOptionSetFromConfiguration('programAndOrganisation'), ['tags', self.$scope.userProfile.selectedOrganisation().name]);\r\n self.$scope.filters.programList = filteredProgramListForSelectedOrganisation;\r\n self.$scope.filters.scvRoleList = self.$scope.utility.getOptionSetFromConfiguration('scvRoles');\r\n var organisationCode = self.$scope.userProfile.selectedOrganisationId.toString();\r\n var filteredCampusListForSelectedOrganisation = _.filter(self.$scope.utility.getOptionSetFromConfiguration('campusAndOrganisation'), ['tags', self.$scope.userProfile.selectedOrganisation().name]);\r\n self.$scope.filters.campusList = filteredCampusListForSelectedOrganisation;\r\n self.$scope.filters.sentinelEventOverarchingStatusList = self.$scope.utility.getOptionSetFromConfiguration('sentinelEventOverarchingStatus');\r\n self.$scope.filters.sentinelEventStatusList = self.$scope.utility.getOptionSetFromConfiguration('sentinelEventStatus')\r\n .slice()\r\n .concat(self.removedVirtualStatus, self.activeVirtualStatus);\r\n self.$scope.filters.sentinelEventStageList = self.$scope.utility.getOptionSetFromConfiguration('sentinelEventStage');\r\n angular.forEach(sentinelEvents, function (row) {\r\n row.canEdit = row.isActive;\r\n row.canPrint = true;\r\n row.isViewOrEditLoaded = true;\r\n row.isRemoveLoaded = true;\r\n row.isExecSummaryPdfDownloadInProgress = false;\r\n row.isFullPdfDownloadInProgress = false;\r\n });\r\n self.$scope.gridOptions.data = sentinelEvents;\r\n };\r\n ManageSentinelEventsController.$inject = [\r\n '$scope',\r\n '$rootScope',\r\n '$http',\r\n '$location',\r\n '$timeout',\r\n 'uiGridConstants',\r\n 'Constants',\r\n 'DataServices',\r\n 'UtilityServices',\r\n 'ReadUnreadEntityService',\r\n 'adalAuthenticationService',\r\n 'uiGridExporterConstants',\r\n '$q',\r\n '$window'\r\n ];\r\n return ManageSentinelEventsController;\r\n }(formApp.BaseManageController));\r\n formApp.ManageSentinelEventsController = ManageSentinelEventsController;\r\n angular.module('formApp').controller('manageSentinelEventsController', ManageSentinelEventsController);\r\n var PdfTypes;\r\n (function (PdfTypes) {\r\n PdfTypes[PdfTypes[\"Full\"] = 0] = \"Full\";\r\n PdfTypes[PdfTypes[\"ExecSummary\"] = 1] = \"ExecSummary\";\r\n })(PdfTypes || (PdfTypes = {}));\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=manageSentinelEventsController.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n var ManageTeamsController = (function (_super) {\r\n __extends(ManageTeamsController, _super);\r\n function ManageTeamsController($scope, $rootScope, dataServices, utilityServices, $timeout, $location, uiGridConstants, uiGridExporterConstants, constants, $q, $window) {\r\n var _this = _super.call(this, formApp.FormConfigurationTemplateOptions.Team, constants.Url.manageTeams, $scope, $location, constants, dataServices, utilityServices, uiGridConstants, uiGridExporterConstants) || this;\r\n _this.$scope = $scope;\r\n _this.$rootScope = $rootScope;\r\n _this.dataServices = dataServices;\r\n _this.utilityServices = utilityServices;\r\n _this.$timeout = $timeout;\r\n _this.$location = $location;\r\n _this.uiGridConstants = uiGridConstants;\r\n _this.uiGridExporterConstants = uiGridExporterConstants;\r\n _this.constants = constants;\r\n _this.$q = $q;\r\n _this.$window = $window;\r\n var self = _this;\r\n if (!dataServices.mtFilters) {\r\n dataServices.mtFilters = new formApp.ManageTeamFilters();\r\n }\r\n $scope.filters = dataServices.mtFilters;\r\n document.title = 'Victorian Health Incident Management System - Manage Teams page';\r\n $scope.exportFileName = 'VHIMS-Teams';\r\n $scope.gridOptions = {\r\n exporterCsvFilename: $scope.exportFileName + \".csv\",\r\n enableSorting: true,\r\n enableFiltering: false,\r\n enableHorizontalScrollbar: uiGridConstants.scrollbars.NEVER,\r\n enableVerticalScrollbar: uiGridConstants.scrollbars.ALWAYS,\r\n enableRowSelection: true,\r\n enableFullRowSelection: true,\r\n enableRowHeaderSelection: false,\r\n enableSelectAll: false,\r\n multiSelect: false,\r\n rowHeight: 56,\r\n columnDefs: self.getColumnDefs(),\r\n exporterFieldCallback: self.exportField,\r\n rowTemplate: '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ',\r\n onRegisterApi: function (gridApi) {\r\n $scope.gridApi = gridApi;\r\n }\r\n };\r\n $scope.gridOptions.exporterCsvLinkElement = $(document.querySelectorAll('.custom-csv-link-location'));\r\n $scope.selectRow = function (row) {\r\n $timeout(function () {\r\n $scope.gridApi.selection.selectRow(row.entity);\r\n }, 100);\r\n };\r\n $scope.onEditClick = function (row) {\r\n if (!self.iosOrMobile) {\r\n self.editTeam(row);\r\n }\r\n };\r\n $scope.onEditTouchend = function (row) {\r\n self.editTeam(row);\r\n };\r\n $scope.onToggleActivationClick = function (row) {\r\n if (!self.iosOrMobile) {\r\n self.toggleActivation(row);\r\n }\r\n };\r\n $scope.onToggleActivationTouchend = function (row) {\r\n self.toggleActivation(row);\r\n };\r\n $scope.createTeam = function () {\r\n if (!self.$window.navigator.onLine) {\r\n self.$scope.utility.openPopup('offlineError');\r\n return;\r\n }\r\n self.showLoader();\r\n dataServices.originalResponse = {};\r\n dataServices.resetResponseInfo();\r\n dataServices.trackEventsWithGA('PageName: ManageTeams', 'Click Create New Team', 'Create New Team');\r\n dataServices.getConfigurationUsingCache(self.configTemplate, null, null)\r\n .then(function (data) {\r\n $rootScope.allowFormNavigation = true;\r\n $location.path(constants.Url.firstTeamFormPage);\r\n })\r\n .catch(function (reason) {\r\n self.utilityServices.showNotification(true, 'internalError');\r\n })\r\n .finally(function () {\r\n self.hideLoader();\r\n });\r\n };\r\n self.showLoader();\r\n dataServices.getConfigurationUsingCache(self.configTemplate, null, null)\r\n .then(function (data) {\r\n dataServices.responseInfo.role = data.role;\r\n return self.getGridData();\r\n }, function () {\r\n self.$scope.utility.showNotification(true, 'internalError');\r\n })\r\n .finally(function () {\r\n self.hideLoader();\r\n });\r\n dataServices.trackPageVisitWithGA('Landing Page: Manage Teams');\r\n return _this;\r\n }\r\n ManageTeamsController.prototype.getGridData = function () {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n self.dataServices.getTeams(self.getRequestData())\r\n .then(function (data) {\r\n self.loadGridData(data);\r\n deferred.resolve();\r\n })\r\n .catch(function () {\r\n self.$scope.utility.showNotification(true, 'internalError');\r\n deferred.reject();\r\n });\r\n return deferred.promise;\r\n };\r\n ManageTeamsController.prototype.getColumnDefs = function () {\r\n var self = this;\r\n return [\r\n {\r\n field: 'teamName',\r\n displayName: 'Team name',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '80%' : '70%',\r\n enableColumnMenu: false,\r\n sort: { direction: self.uiGridConstants.ASC }\r\n },\r\n {\r\n field: 'activeUserCount',\r\n displayName: 'Active members',\r\n type: 'number',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '20%' : '15%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'isActiveDisplayString',\r\n displayName: 'Active',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '15%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'Toolbox',\r\n displayName: 'Toolbox',\r\n cellClass: 'manage__tools',\r\n headerCellClass: 'manage__tools-hidden',\r\n exporterSuppressExport: true,\r\n cellTemplate: '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n 'Edit' +\r\n 'Opens dialog' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '{{row.entity.toggleActivationDisplayString}}' +\r\n '' +\r\n '',\r\n visible: true,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '300' : '340',\r\n enableColumnMenu: false\r\n }\r\n ].filter(function (columnDef) { return self.utilityServices.isUiGridColumnVisible(columnDef); });\r\n };\r\n ManageTeamsController.prototype.editTeam = function (row) {\r\n var self = this;\r\n self.showLoader();\r\n row.entity.isEditLoaded = false;\r\n self.$scope.currentLoadMessage = 'Opening Team';\r\n self.dataServices.responseInfo.teamId = row.entity.id;\r\n self.dataServices.getTeamById(row.entity.id)\r\n .then(function (response) {\r\n var data = response.data;\r\n self.dataServices.originalResponse = JSON.parse(data.response);\r\n self.dataServices.responseInfo.responses = JSON.parse(data.response);\r\n self.dataServices.responseInfo.inactiveUserIds = data.inactiveUserIds;\r\n self.dataServices.responseInfo.lastUpdatedTime = data.lastUpdatedTime;\r\n self.dataServices.responseInfo.template = data.templateId;\r\n self.dataServices.responseInfo.versionNumber = data.templateVersion;\r\n self.dataServices.responseInfo.optionSetHash = null;\r\n return self.dataServices.getConfigurationUsingCache(data.templateId, data.templateVersion, null);\r\n })\r\n .then(function (configData) {\r\n self.$rootScope.allowFormNavigation = true;\r\n self.$location.path(self.constants.Url.firstTeamFormPage);\r\n self.dataServices.trackEventsWithGA('Edit action in Manage Teams', 'Click Edit Team', 'Successful Edit Team.');\r\n })\r\n .catch(function (reason) {\r\n self.$scope.utility.openPopup('unableToLoadRecord', formApp.ErrorInfo.fromHttpResponse(reason));\r\n self.dataServices.trackEventsWithGA('Edit action in Manage Teams', 'Click Edit Team', 'Failed to Edit Team.');\r\n })\r\n .finally(function () {\r\n row.entity.isEditLoaded = true;\r\n self.hideLoader();\r\n });\r\n };\r\n ManageTeamsController.prototype.toggleActivation = function (row) {\r\n var self = this;\r\n var popupCode = row.entity.isActive ? 'confirmDeactivateTeam' : 'confirmActivateTeam';\r\n var popupParams = { teamName: row.entity.teamName };\r\n self.utilityServices.openPopup(popupCode, popupParams).result\r\n .then(function () {\r\n self.showLoader();\r\n row.entity.isToggleActivationLoaded = false;\r\n var isActivation = !row.entity.isActive;\r\n var action = row.entity.toggleActivationDisplayString;\r\n self.$scope.currentLoadMessage = action + \" Team\";\r\n self.dataServices.toggleTeamActivation(row.entity.id, isActivation)\r\n .then(function () {\r\n self.dataServices.trackEventsWithGA(action + \" action in Manage Teams\", \"Click \" + action + \" Team\", \"Successful \" + action + \" Team.\");\r\n return self.getGridData();\r\n }, function (reason) {\r\n self.utilityServices.openPopup(isActivation ? 'errorActivation' : 'errorDeactivation', formApp.ErrorInfo.fromHttpResponse(reason));\r\n self.dataServices.trackEventsWithGA(action + \" action in Manage Teams\", \"Click \" + action + \" Team\", \"Failed to \" + action + \" Team.\");\r\n })\r\n .finally(function () {\r\n row.entity.isToggleActivationLoaded = true;\r\n self.hideLoader();\r\n });\r\n })\r\n .catch(function () {\r\n });\r\n };\r\n ManageTeamsController.prototype.getRequestData = function () {\r\n var self = this;\r\n return {\r\n organisationId: self.$scope.userProfile.selectedOrganisationId,\r\n searchTerm: self.$scope.filters.searchPhrase === '' ? null : self.$scope.filters.searchPhrase,\r\n isActive: { '': null, '0': true, '1': false }[self.$scope.filters.selectedTeamStatus]\r\n };\r\n };\r\n ManageTeamsController.prototype.loadGridData = function (data) {\r\n var self = this;\r\n var teams = (data && data.teams) || [];\r\n self.$scope.totalRecords = teams.length;\r\n self.$scope.maxRecords = (data && data.maxRecords) || 0;\r\n self.$scope.hasMoreRecords = data && data.hasMoreRecords;\r\n self.$scope.filters.teamStatusList = [{ code: '0', text: 'Yes' }, { code: '1', text: 'No' }];\r\n angular.forEach(teams, function (row) {\r\n row.isEditLoaded = true;\r\n row.isToggleActivationLoaded = true;\r\n row.toggleActivationIcon = row.isActive ? '#icon-delete' : '#icon-check';\r\n });\r\n self.$scope.gridOptions.data = teams;\r\n };\r\n ManageTeamsController.$inject = [\r\n '$scope',\r\n '$rootScope',\r\n 'DataServices',\r\n 'UtilityServices',\r\n '$timeout',\r\n '$location',\r\n 'uiGridConstants',\r\n 'uiGridExporterConstants',\r\n 'Constants',\r\n '$q',\r\n '$window'\r\n ];\r\n return ManageTeamsController;\r\n }(formApp.BaseManageController));\r\n formApp.ManageTeamsController = ManageTeamsController;\r\n angular.module('formApp').controller('manageTeamsController', ManageTeamsController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=manageTeamsController.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n var ManageUsersController = (function (_super) {\r\n __extends(ManageUsersController, _super);\r\n function ManageUsersController($scope, $rootScope, dataServices, utilityServices, $timeout, $location, uiGridConstants, uiGridExporterConstants, constants, $q, $window) {\r\n var _this = _super.call(this, formApp.FormConfigurationTemplateOptions.User, constants.Url.manageUsers, $scope, $location, constants, dataServices, utilityServices, uiGridConstants, uiGridExporterConstants) || this;\r\n _this.$scope = $scope;\r\n _this.$rootScope = $rootScope;\r\n _this.dataServices = dataServices;\r\n _this.utilityServices = utilityServices;\r\n _this.$timeout = $timeout;\r\n _this.$location = $location;\r\n _this.uiGridConstants = uiGridConstants;\r\n _this.uiGridExporterConstants = uiGridExporterConstants;\r\n _this.constants = constants;\r\n _this.$q = $q;\r\n _this.$window = $window;\r\n _this.canManageUsers = false;\r\n var self = _this;\r\n self.$scope.canManageUsers = dataServices.userProfile.canManageUsers;\r\n self.$scope.canAccessUsers = dataServices.userProfile.canAccessUsers;\r\n if (dataServices.userProfile.canAccessOwnUser && !dataServices.userProfile.canAccessUsers) {\r\n if ($rootScope.previousUrl.toLowerCase().indexOf(self.constants.Url.delegationUserFormPage) > 0) {\r\n var destUrl = dataServices.userProfile.landingPageUrl;\r\n self.$location.path(destUrl);\r\n }\r\n else {\r\n self.dataServices.responseInfo.userId = dataServices.userProfile.userId;\r\n self.getUserResponseAndConfigById(dataServices.userProfile.userId, dataServices.userProfile.userFullName)\r\n .then(function (configData) {\r\n self.$rootScope.allowFormNavigation = true;\r\n var destUrl = self.constants.Url.delegationUserFormPage;\r\n self.$location.path(destUrl);\r\n })\r\n .catch(function (reason) {\r\n self.$location.path(dataServices.userProfile.landingPageUrl);\r\n })\r\n .finally(function () {\r\n self.utilityServices.hidePageLoader();\r\n });\r\n }\r\n }\r\n else {\r\n if (!dataServices.muFilters) {\r\n dataServices.muFilters = new formApp.ManageUserFilters();\r\n }\r\n $scope.filters = dataServices.muFilters;\r\n document.title = 'Victorian Health Incident Management System - Manage Users page';\r\n $scope.exportFileName = 'VHIMS-Users';\r\n $scope.gridOptions = {\r\n exporterCsvFilename: $scope.exportFileName + \".csv\",\r\n enableSorting: true,\r\n enableFiltering: false,\r\n enableHorizontalScrollbar: uiGridConstants.scrollbars.NEVER,\r\n enableVerticalScrollbar: uiGridConstants.scrollbars.ALWAYS,\r\n enableRowSelection: true,\r\n enableFullRowSelection: true,\r\n enableRowHeaderSelection: false,\r\n enableSelectAll: false,\r\n multiSelect: false,\r\n columnDefs: self.getColumnDefs(),\r\n exporterFieldCallback: self.exportField,\r\n rowTemplate: '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ',\r\n onRegisterApi: function (gridApi) {\r\n $scope.gridApi = gridApi;\r\n }\r\n };\r\n $scope.gridOptions.exporterCsvLinkElement = $(document.querySelectorAll('.custom-csv-link-location'));\r\n $scope.gridOptions.rowHeight = 'auto';\r\n $scope.selectRow = function (row) {\r\n $timeout(function () {\r\n $scope.gridApi.selection.selectRow(row.entity);\r\n }, 100);\r\n };\r\n $scope.minRowHeight = 56;\r\n $scope.getRowHeight = function (row) {\r\n return ($scope.isRunningInExtraSmallScreen ? 1 : ((row.entity.lineManagers && row.entity.lineManagers.length) || 1)) * $scope.minRowHeight;\r\n };\r\n $scope.onSyncNameClick = function (row) {\r\n if (!self.iosOrMobile) {\r\n self.syncName(row);\r\n }\r\n };\r\n $scope.onSyncNameTouchend = function (row) {\r\n self.syncName(row);\r\n };\r\n $scope.onEditClick = function (row) {\r\n if (!self.iosOrMobile) {\r\n self.editUser(row);\r\n }\r\n };\r\n $scope.onEditTouchend = function (row) {\r\n self.editUser(row);\r\n };\r\n $scope.onToggleActivationClick = function (row) {\r\n if (!self.iosOrMobile) {\r\n self.toggleActivation(row);\r\n }\r\n };\r\n $scope.onToggleActivationTouchend = function (row) {\r\n self.toggleActivation(row);\r\n };\r\n $scope.createUser = function () {\r\n if (!self.$window.navigator.onLine) {\r\n self.$scope.utility.openPopup('offlineError');\r\n return;\r\n }\r\n self.showLoader();\r\n dataServices.originalResponse = {};\r\n dataServices.resetResponseInfo();\r\n dataServices.trackEventsWithGA('PageName: ManageUsers', 'Click Create New User', 'Create New User');\r\n dataServices.getConfigurationUsingCache(self.configTemplate, null, null)\r\n .then(function (data) {\r\n $rootScope.allowFormNavigation = true;\r\n $location.path(constants.Url.firstUserFormPage);\r\n }, function (data) {\r\n self.$scope.utility.showNotification(true, 'internalError');\r\n })\r\n .finally(function () {\r\n self.hideLoader();\r\n });\r\n };\r\n $scope.transferSubordinates = function () {\r\n self.transferSubordinates();\r\n };\r\n self.showLoader();\r\n dataServices.getConfigurationUsingCache(self.configTemplate, null, null)\r\n .then(function (data) {\r\n dataServices.responseInfo.role = data.role;\r\n return self.getGridData();\r\n }, function () {\r\n self.$scope.utility.showNotification(true, 'internalError');\r\n })\r\n .finally(function () {\r\n self.hideLoader();\r\n });\r\n dataServices.trackPageVisitWithGA('Landing Page: Manage Users');\r\n }\r\n return _this;\r\n }\r\n ManageUsersController.prototype.getGridData = function () {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n self.dataServices.getUsers(self.getRequestData())\r\n .then(function (data) {\r\n self.loadGridData(data);\r\n deferred.resolve();\r\n })\r\n .catch(function () {\r\n self.$scope.utility.showNotification(true, 'internalError');\r\n deferred.reject();\r\n });\r\n return deferred.promise;\r\n };\r\n ManageUsersController.prototype.getColumnDefs = function () {\r\n var self = this;\r\n return [\r\n {\r\n field: 'userFullName',\r\n displayName: 'Name',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '40%' : '20%',\r\n enableColumnMenu: false,\r\n sort: {\r\n direction: self.uiGridConstants.ASC,\r\n priority: 0\r\n }\r\n },\r\n {\r\n field: 'primaryEmail',\r\n displayName: 'Email',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '60%' : '30%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'isActiveDisplayString',\r\n displayName: 'Active',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '5%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'roleName',\r\n displayName: 'Role',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '20%',\r\n enableColumnMenu: false\r\n },\r\n {\r\n field: 'lineManagers',\r\n displayName: 'Manager',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '25%',\r\n enableColumnMenu: false,\r\n cellTemplate: self.$scope.isRunningInExtraSmallScreen ?\r\n '' :\r\n '
    ' +\r\n '
    ' +\r\n '
    {{lineManager}}
    ' +\r\n '
    ' +\r\n '
    '\r\n },\r\n {\r\n field: 'Toolbox',\r\n displayName: 'Toolbox',\r\n cellClass: 'manage__tools',\r\n headerCellClass: 'manage__tools-hidden',\r\n exporterSuppressExport: true,\r\n cellTemplate: '' +\r\n '' +\r\n '' +\r\n 'Sync' +\r\n 'Opens dialog' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n 'Edit' +\r\n 'Opens dialog' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '{{row.entity.toggleActivationDisplayString}}' +\r\n '' +\r\n '',\r\n visible: true,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '300' : '340',\r\n enableColumnMenu: false\r\n }\r\n ].filter(function (columnDef) { return self.utilityServices.isUiGridColumnVisible(columnDef); });\r\n };\r\n ManageUsersController.prototype.syncName = function (row) {\r\n var self = this;\r\n self.showLoader();\r\n row.entity.isSyncNameLoaded = false;\r\n self.dataServices.checkUserFullName(row.entity.id)\r\n .then(function (response) {\r\n self.$scope.utility.openPopup('syncName', response.data);\r\n }, function (response) {\r\n self.utilityServices.openPopup('errorSync', formApp.ErrorInfo.fromHttpResponse(response));\r\n })\r\n .finally(function () {\r\n row.entity.isSyncNameLoaded = true;\r\n self.hideLoader();\r\n });\r\n };\r\n ManageUsersController.prototype.editUser = function (row) {\r\n var self = this;\r\n self.showLoader();\r\n row.entity.isEditLoaded = false;\r\n self.$scope.currentLoadMessage = 'Opening User';\r\n self.dataServices.responseInfo.userId = row.entity.id;\r\n self.getUserResponseAndConfigById(row.entity.id, row.entity.userFullName)\r\n .then(function (configData) {\r\n self.$rootScope.allowFormNavigation = true;\r\n self.$location.path(self.constants.Url.firstUserFormPage);\r\n self.dataServices.trackEventsWithGA('Edit action in Manage Users', 'Click Edit User', 'Successful Edit User.');\r\n })\r\n .catch(function (reason) {\r\n self.$scope.utility.openPopup('unableToLoadRecord', formApp.ErrorInfo.fromHttpResponse(reason));\r\n self.dataServices.trackEventsWithGA('Edit action in Manage Users', 'Click Edit User', 'Failed to Edit User.');\r\n })\r\n .finally(function () {\r\n row.entity.isEditLoaded = true;\r\n self.hideLoader();\r\n });\r\n };\r\n ManageUsersController.prototype.getUserResponseAndConfigById = function (userId, userFullName) {\r\n var self = this;\r\n return self.dataServices.getUserResponseAndConfigById()\r\n .then(function (response) {\r\n if (self.dataServices.isValidResponse(response)) {\r\n var data = response.data;\r\n self.dataServices.originalResponse = JSON.parse(data.response);\r\n self.dataServices.responseInfo.responses = JSON.parse(data.response);\r\n self.dataServices.responseInfo.inactiveUserIds = data.inactiveUserIds;\r\n self.dataServices.responseInfo.lastUpdatedTime = data.lastUpdatedTime;\r\n self.dataServices.responseInfo.template = data.templateId;\r\n self.dataServices.responseInfo.versionNumber = data.templateVersion;\r\n self.dataServices.responseInfo.optionSetHash = null;\r\n self.dataServices.responseInfo.role = data.role;\r\n self.dataServices.responseInfo.userName = userFullName;\r\n self.dataServices.responseInfo.allRoles = data.allRoles;\r\n self.dataServices.responseInfo.linkSourceUsers = data.linkSourceUsers;\r\n self.dataServices.responseInfo.delegationSourceUsers = data.delegationSourceUsers;\r\n self.dataServices.responseInfo.userTeams = data.userTeams;\r\n self.dataServices.responseInfo.lineManagersLatestInfo = data.lineManagersLatestInfo;\r\n return self.dataServices.getConfigurationUsingCache(data.templateId, data.templateVersion, null);\r\n }\r\n else {\r\n self.$scope.utility.showNotification(true, 'internalError');\r\n }\r\n });\r\n };\r\n ManageUsersController.prototype.getUserToggleActivationInfo = function (userId, isActivation) {\r\n var self = this;\r\n if (!isActivation) {\r\n return self.dataServices.getUserDeactivationDetails(userId, isActivation);\r\n }\r\n else {\r\n var deferred = self.$q.defer();\r\n deferred.resolve(null);\r\n return deferred.promise;\r\n }\r\n };\r\n ManageUsersController.prototype.toggleActivation = function (row) {\r\n var self = this;\r\n var popupCode;\r\n var popupParams = {};\r\n var isActivation = !row.entity.isActive;\r\n var action = row.entity.toggleActivationDisplayString;\r\n self.$scope.currentLoadMessage = action + \" User\";\r\n self.showLoader();\r\n self.getUserToggleActivationInfo(row.entity.id, isActivation)\r\n .then(function (response) {\r\n if (response != null && row.entity.isActive && response.hasActiveSubordinates) {\r\n popupCode = 'cannotDeactiveUser';\r\n popupParams = {\r\n userName: row.entity.userFullName,\r\n hasActiveSubordinates: response.hasActiveSubordinates,\r\n };\r\n self.$scope.utility.openPopup(popupCode, popupParams);\r\n }\r\n else {\r\n if (response == null && !row.entity.isActive) {\r\n popupCode = 'confirmActivateUser';\r\n popupParams = {\r\n userName: row.entity.userFullName\r\n };\r\n }\r\n else {\r\n if (response != null && row.entity.isActive) {\r\n popupCode = 'confirmDeactivateUser';\r\n popupParams = {\r\n userName: row.entity.userFullName,\r\n hasSources: response.hasSources,\r\n incidentFeedbackCount: response.incidentFeedbackCount,\r\n actionsCount: response.actionsCount,\r\n isTheOnlyMemberOfTeam: response.isTheOnlyMemberOfTeam\r\n };\r\n }\r\n }\r\n if (popupCode) {\r\n self.$scope.utility.openPopup(popupCode, popupParams).result\r\n .then(function () {\r\n row.entity.isToggleActivationLoaded = false;\r\n self.dataServices.toggleUserActivation(row.entity.id, isActivation)\r\n .then(function () {\r\n self.dataServices.trackEventsWithGA(action + \" action in Manage Users\", \"Click \" + action + \" User\", \"Successful \" + action + \" User.\");\r\n return self.getGridData();\r\n }, function (response) {\r\n self.utilityServices.openPopup(isActivation ? 'errorActivation' : 'errorDeactivation', formApp.ErrorInfo.fromHttpResponse(response));\r\n self.dataServices.trackEventsWithGA(action + \" action in Manage Users\", \"Click \" + action + \" User\", \"Failed to \" + action + \" User.\");\r\n })\r\n .finally(function () {\r\n row.entity.isToggleActivationLoaded = true;\r\n });\r\n });\r\n }\r\n }\r\n }, function (response) {\r\n self.utilityServices.openPopup(isActivation ? 'errorActivation' : 'errorDeactivation', formApp.ErrorInfo.fromHttpResponse(response));\r\n self.dataServices.trackEventsWithGA(action + \" action in Manage Users\", \"Click \" + action + \" User\", \"Failed to \" + action + \" User.\");\r\n })\r\n .finally(function () {\r\n self.hideLoader();\r\n });\r\n };\r\n ManageUsersController.prototype.getRequestData = function () {\r\n var self = this;\r\n return {\r\n organisationId: self.$scope.userProfile.selectedOrganisationId,\r\n searchTerm: self.$scope.filters.searchPhrase === '' ? null : self.$scope.filters.searchPhrase,\r\n roleId: self.$scope.filters.selectedRole === '' ? null : parseInt(self.$scope.filters.selectedRole),\r\n isActive: { '': null, '0': true, '1': false }[self.$scope.filters.selectedUserStatus]\r\n };\r\n };\r\n ManageUsersController.prototype.loadGridData = function (data) {\r\n var self = this;\r\n var users = (data && data.users) || [];\r\n self.$scope.totalRecords = users.length;\r\n self.$scope.maxRecords = (data && data.maxRecords) || 0;\r\n self.$scope.hasMoreRecords = data && data.hasMoreRecords;\r\n self.$scope.filters.userStatusList = [{ code: '0', text: 'Yes' }, { code: '1', text: 'No' }];\r\n self.$scope.filters.roleList = self.$scope.utility.getOptionSetFromConfiguration('role');\r\n angular.forEach(users, function (row) {\r\n row.isSyncNameLoaded = true;\r\n row.isEditLoaded = true;\r\n row.isToggleActivationLoaded = true;\r\n row.toggleActivationIcon = row.isActive ? '#icon-delete' : '#icon-check';\r\n });\r\n self.$scope.gridOptions.data = users;\r\n };\r\n ManageUsersController.prototype.transferSubordinates = function () {\r\n var self = this;\r\n self.dataServices.configData.optionSets['subordinates'] = [];\r\n self.utilityServices.openPopup('transferSubordinates').result\r\n .then(function (popupResult) {\r\n var response = popupResult.outParams;\r\n var request = {\r\n organisationId: self.$scope.userProfile.selectedOrganisationId,\r\n fromManagerId: parseInt(response.fromManager.code),\r\n toManagerId: parseInt(response.toManager.code),\r\n subordinateIds: response.subordinates.map(function (id) { return parseInt(id); })\r\n };\r\n self.showLoader();\r\n self.dataServices.transferSubordinates(request)\r\n .then(function (transferResult) {\r\n if (transferResult.status === formApp.SaveUserResultCode.Success) {\r\n self.utilityServices.showNotification(true, 'transferSubordinatesSuccess', { toManagerName: transferResult.toManagerName }, null, self.constants.dismissNotificationDelayInMilliSeconds);\r\n self.$scope.refresh();\r\n }\r\n else {\r\n var popupCode = transferResult.status === formApp.SaveUserResultCode.TransferInvalid ? 'transferSubordinatesInvalid' : 'transferSubordinatesError';\r\n self.utilityServices.openPopup(popupCode, { error: transferResult.error, invalidUsers: transferResult.invalidUsers });\r\n }\r\n })\r\n .catch(function (error) {\r\n var errorMsg = null;\r\n if (error.data) {\r\n console.error(error.data);\r\n errorMsg = error.data.Error;\r\n }\r\n self.utilityServices.openPopup('transferSubordinatesError', { error: errorMsg });\r\n })\r\n .finally(function () {\r\n self.hideLoader();\r\n });\r\n })\r\n .catch(function () {\r\n });\r\n };\r\n ManageUsersController.$inject = [\r\n '$scope',\r\n '$rootScope',\r\n 'DataServices',\r\n 'UtilityServices',\r\n '$timeout',\r\n '$location',\r\n 'uiGridConstants',\r\n 'uiGridExporterConstants',\r\n 'Constants',\r\n '$q',\r\n '$window'\r\n ];\r\n return ManageUsersController;\r\n }(formApp.BaseManageController));\r\n formApp.ManageUsersController = ManageUsersController;\r\n angular.module('formApp').controller('manageUsersController', ManageUsersController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=manageUsersController.js.map","var formApp;\r\n(function (formApp) {\r\n var AuditHistoryController = (function () {\r\n function AuditHistoryController($scope, $controller, $filter, $route, uiGridConstants, dataServices, utilityServices, constants) {\r\n this.$scope = $scope;\r\n this.$controller = $controller;\r\n this.$filter = $filter;\r\n this.$route = $route;\r\n this.uiGridConstants = uiGridConstants;\r\n this.dataServices = dataServices;\r\n this.utilityServices = utilityServices;\r\n this.constants = constants;\r\n this.dateTimeFormat = 'dd/MM/yyyy HH:mm:ss';\r\n var self = this;\r\n var entityType = utilityServices.getEntityTypeByRoute($route);\r\n if (entityType == formApp.EntityType.Incident) {\r\n $controller('incidentFormController', { $scope: $scope });\r\n }\r\n else if (entityType == formApp.EntityType.Feedback) {\r\n $controller('feedbackFormController', { $scope: $scope });\r\n }\r\n else if (entityType == formApp.EntityType.SentinelEvent) {\r\n $controller('sentinelEventFormController', { $scope: $scope });\r\n }\r\n $scope.isRunningInExtraSmallScreen = utilityServices.isRunningInExtraSmallScreen();\r\n $scope.gridOptions = {\r\n expandableRowTemplate: 'app/partials/core/expandableRowTemplate.html',\r\n expandableRowHeight: 224,\r\n enableSorting: true,\r\n enableFiltering: false,\r\n enableHorizontalScrollbar: uiGridConstants.scrollbars.NEVER,\r\n enableVerticalScrollbar: uiGridConstants.scrollbars.ALWAYS,\r\n enableRowSelection: true,\r\n enableFullRowSelection: true,\r\n enableRowHeaderSelection: false,\r\n enableSelectAll: false,\r\n multiSelect: false,\r\n rowHeight: 56,\r\n columnDefs: self.getColumnDefs(),\r\n rowTemplate: '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ',\r\n onRegisterApi: function (gridApi) {\r\n $scope.gridApi = gridApi;\r\n }\r\n };\r\n $scope.gridOptions['showExpandAllButton'] = false;\r\n dataServices.getConfigurationUsingCache($scope.template, $scope.versionNumber, $scope.optionSetHash)\r\n .then(function (data) {\r\n document.title = $scope.utility.getPageTitle($scope.navTabNum, $scope.pageUrl);\r\n $scope.filters.auditDateRangeList = $scope.utility.getOptionSetFromConfiguration('pastdaterangefilter');\r\n $scope.filters.auditTypeList = $scope.filters.allAuditTypes()\r\n .filter(function (at) { return self.dataServices.userProfile.canAccessNotificationHistory || at.code !== \"\" + formApp.AuditType.Notify; });\r\n self.getAuditDetails(false);\r\n });\r\n if (entityType == formApp.EntityType.Feedback) {\r\n $scope.feedbackId = dataServices.responseInfo.feedbackId;\r\n $scope.feedbackRef = dataServices.responseInfo.feedbackRef;\r\n }\r\n else if (entityType == formApp.EntityType.SentinelEvent) {\r\n $scope.sentinelEventId = dataServices.responseInfo.sentinelEventId;\r\n $scope.sentinelEventRef = dataServices.responseInfo.sentinelEventRef;\r\n }\r\n else {\r\n $scope.incidentId = dataServices.responseInfo.incidentId;\r\n $scope.incidentRef = dataServices.responseInfo.incidentRef;\r\n }\r\n $scope.status = dataServices.responseInfo.status;\r\n $scope.statusText = dataServices.responseInfo.statusText;\r\n $scope.stageText = dataServices.responseInfo.stageText;\r\n dataServices.mahFilters = dataServices.mahFilters || new formApp.ManageAuditHistoryFilters();\r\n $scope.filters = dataServices.mahFilters;\r\n $scope.filterRecords = function () {\r\n $scope.gridOptions.data = [];\r\n self.getAuditDetails(false);\r\n };\r\n $scope.onBlurFilterUser = function () {\r\n if ($scope.filters.selectedUser === null) {\r\n $scope.filterRecords();\r\n }\r\n };\r\n $scope.pageNumber = 1;\r\n $scope.isLoadingMoreRecords = false;\r\n $scope.hasMoreRecords = false;\r\n $scope.loadMoreRecords = function () {\r\n if (!$scope.isLoadingMoreRecords) {\r\n self.getAuditDetails(true);\r\n }\r\n };\r\n $scope.getApiLookUpValues = function (keyword, lookUpQuestionCode) {\r\n return self.getApiLookUpValues(keyword, lookUpQuestionCode);\r\n };\r\n }\r\n AuditHistoryController.prototype.isIsActiveField = function (fieldName) {\r\n var self = this;\r\n return fieldName === self.constants.isActiveFields.code;\r\n };\r\n AuditHistoryController.prototype.getIsActiveFieldLabel = function () {\r\n var self = this;\r\n return self.constants.isActiveFields.label;\r\n };\r\n AuditHistoryController.prototype.getIsActiveFieldValues = function (oldValue, newValue) {\r\n var self = this;\r\n switch (newValue) {\r\n case 'False': return [self.constants.isActiveFields.removeActionOldValue, self.constants.isActiveFields.removeActionNewValue];\r\n case 'True': return [self.constants.isActiveFields.restoreActionOldValue, self.constants.isActiveFields.restoreActionNewValue];\r\n }\r\n return [oldValue, newValue];\r\n };\r\n AuditHistoryController.prototype.isStatusField = function (fieldName) {\r\n var self = this;\r\n switch (self.dataServices.activeEntityType) {\r\n case formApp.AuditEntity.Incident: return fieldName === self.constants.statusFields.incident.code;\r\n case formApp.AuditEntity.Feedback: return fieldName === self.constants.statusFields.feedback.code;\r\n case formApp.AuditEntity.SentinelEvent: return fieldName === self.constants.statusFields.sentinelEvent.code;\r\n }\r\n return false;\r\n };\r\n AuditHistoryController.prototype.getStatusOptionSetName = function () {\r\n var self = this;\r\n switch (self.dataServices.activeEntityType) {\r\n case formApp.AuditEntity.Incident: return self.constants.statusOptionSets.incidentStatusOptionSet;\r\n case formApp.AuditEntity.Feedback: return self.constants.statusOptionSets.feedbackStatusOptionSet;\r\n case formApp.AuditEntity.SentinelEvent: return self.constants.statusOptionSets.sentinelEventStatusOptionSet;\r\n }\r\n return self.constants.emptyString;\r\n };\r\n AuditHistoryController.prototype.getStatusFieldLabel = function () {\r\n var self = this;\r\n switch (self.dataServices.activeEntityType) {\r\n case formApp.AuditEntity.Incident: return self.constants.statusFields.incident.label;\r\n case formApp.AuditEntity.Feedback: return self.constants.statusFields.feedback.label;\r\n case formApp.AuditEntity.SentinelEvent: return self.constants.statusFields.sentinelEvent.label;\r\n }\r\n return self.constants.emptyString;\r\n };\r\n AuditHistoryController.prototype.onLoadingStarting = function (appendRecords) {\r\n var self = this;\r\n if (appendRecords) {\r\n self.$scope.isLoadingMoreRecords = true;\r\n }\r\n else {\r\n self.utilityServices.showPageLoader();\r\n }\r\n };\r\n AuditHistoryController.prototype.onLoadingCompleted = function (appendRecords) {\r\n var self = this;\r\n if (appendRecords) {\r\n self.$scope.isLoadingMoreRecords = false;\r\n }\r\n else {\r\n self.utilityServices.hidePageLoader();\r\n }\r\n };\r\n AuditHistoryController.prototype.getAuditDetails = function (appendRecords) {\r\n var self = this;\r\n if (self.$scope.filters.selectedAuditTypes.length === 0) {\r\n return;\r\n }\r\n self.$scope.pageNumber = appendRecords ? (self.$scope.pageNumber + 1) : 1;\r\n var request = {\r\n auditEntity: formApp.AuditEntity.Unknown,\r\n id: null,\r\n auditTypeIds: self.$scope.filters.selectedAuditTypes\r\n .map(function (ids) { return ids\r\n .split('|')\r\n .map(function (id) { return parseInt(id); }); })\r\n .reduce(function (ids1, ids2) { return ids1\r\n .concat(ids2); }),\r\n userId: self.$scope.filters.selectedUser === null\r\n ? null\r\n : self.$scope.filters.selectedUser.text + \" (\" + self.$scope.filters.selectedUser.tags + \")\",\r\n auditDateRangeId: self.$scope.filters.selectedAuditDateRange === ''\r\n ? null\r\n : parseInt(self.$scope.filters.selectedAuditDateRange),\r\n pageNumber: self.$scope.pageNumber,\r\n pageSize: self.constants.auditHistoryPageSize\r\n };\r\n self.onLoadingStarting(appendRecords);\r\n self.dataServices.getAuditHistory(request)\r\n .then(function (response) {\r\n if (response) {\r\n self.loadGridData(response, appendRecords);\r\n }\r\n self.$scope.hasMoreRecords = response && (response.totalRecords > self.$scope.gridOptions.data.length);\r\n }, function (error) {\r\n self.$scope.hasMoreRecords = false;\r\n self.$scope.utility.showNotification(true, 'internalError');\r\n })\r\n .finally(function () {\r\n self.onLoadingCompleted(appendRecords);\r\n });\r\n };\r\n AuditHistoryController.prototype.getColumnDefs = function () {\r\n var self = this;\r\n return [\r\n {\r\n field: 'transactionDateTime',\r\n displayName: 'Audit date',\r\n cellFilter: \"date:'\" + self.dateTimeFormat + \"'\",\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '90%' : '23%',\r\n enableColumnMenu: false,\r\n sort: { direction: self.uiGridConstants.DESC },\r\n cellTooltip: function (row, col) { return self.formatGridCellTooltip(row.entity); }\r\n },\r\n {\r\n field: 'auditTypeName',\r\n displayName: 'Audit type',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '12%',\r\n enableColumnMenu: false,\r\n cellTooltip: function (row, col) { return self.formatGridCellTooltip(row.entity); }\r\n },\r\n {\r\n field: 'userId',\r\n displayName: 'User / Recipient',\r\n enableHiding: false,\r\n width: self.$scope.isRunningInExtraSmallScreen ? '0%' : '55%',\r\n enableColumnMenu: false,\r\n cellTooltip: function (row, col) { return self.formatGridCellTooltip(row.entity); }\r\n }\r\n ].filter(function (columnDef) { return self.utilityServices.isUiGridColumnVisible(columnDef); });\r\n };\r\n AuditHistoryController.prototype.loadGridData = function (data, appendRecords) {\r\n var self = this;\r\n var auditLogs = (data && data.auditLogs) || [];\r\n for (var i = 0; i < auditLogs.length; i++) {\r\n var auditDetails = auditLogs[i].auditDetails;\r\n if (auditDetails && auditDetails.length > 0) {\r\n auditLogs[i].subGridOptions = {\r\n columnDefs: [\r\n {\r\n field: 'fieldName',\r\n displayName: 'Field',\r\n enableHiding: false,\r\n enableColumnMenu: false,\r\n cellTooltip: function (row, col) { return self.formatSubGridCellTooltip(row.entity); }\r\n },\r\n {\r\n field: 'oldValue',\r\n displayName: 'Old value',\r\n enableHiding: false,\r\n enableColumnMenu: false,\r\n cellTooltip: function (row, col) { return self.formatSubGridCellTooltip(row.entity); }\r\n },\r\n {\r\n field: 'newValue',\r\n displayName: 'New value',\r\n enableHiding: false,\r\n enableColumnMenu: false,\r\n cellTooltip: function (row, col) { return self.formatSubGridCellTooltip(row.entity); }\r\n }\r\n ],\r\n data: self.resolveAuditDetailCodes(auditDetails),\r\n disableRowExpandable: auditLogs[i].auditType !== formApp.AuditType.Update,\r\n enableSorting: true,\r\n enableFiltering: false,\r\n enableHorizontalScrollbar: self.uiGridConstants.scrollbars.NEVER,\r\n enableVerticalScrollbar: self.uiGridConstants.scrollbars.ALWAYS,\r\n rowHeight: 48\r\n };\r\n }\r\n else {\r\n auditLogs[i].subGridOptions = {\r\n disableRowExpandable: true\r\n };\r\n }\r\n }\r\n if (appendRecords) {\r\n auditLogs = self.$scope.gridOptions.data.concat(auditLogs);\r\n }\r\n self.$scope.gridOptions.excessRows = auditLogs.length;\r\n self.$scope.gridOptions.data = auditLogs;\r\n };\r\n AuditHistoryController.prototype.formatGridCellTooltip = function (entity) {\r\n var self = this;\r\n return self.$filter('date')(entity.transactionDateTime, self.dateTimeFormat) + \"\\r\\n\" + entity.auditTypeName + \"\\r\\n\" + entity.userId;\r\n };\r\n AuditHistoryController.prototype.formatSubGridCellTooltip = function (entity) {\r\n var self = this;\r\n return entity.fieldName + \"\\r\\n\" + entity.oldValue + \"\\r\\n\" + entity.newValue;\r\n };\r\n AuditHistoryController.prototype.resolveAuditDetailCodes = function (data) {\r\n var self = this;\r\n var auditDetailsWithText = new Array();\r\n _.forEach(data, function (auditDetail) {\r\n var auditDetailWithText = new formApp.AuditHistoryDetailsDto();\r\n var question = self.$scope.getQuestionFromCode(auditDetail.fieldName);\r\n if (question.controlType !== 'empty') {\r\n if (self.isIsActiveField(auditDetail.fieldName)) {\r\n auditDetailWithText.fieldName = self.getIsActiveFieldLabel();\r\n _a = self.getIsActiveFieldValues(auditDetail.oldValue, auditDetail.newValue), auditDetailWithText.oldValue = _a[0], auditDetailWithText.newValue = _a[1];\r\n }\r\n else if (self.isStatusField(auditDetail.fieldName)) {\r\n auditDetailWithText.fieldName = self.getStatusFieldLabel();\r\n auditDetailWithText.newValue = self.$scope.getOptionTextFromOptionCode(auditDetail.newValue, self.getStatusOptionSetName());\r\n auditDetailWithText.oldValue = self.$scope.getOptionTextFromOptionCode(auditDetail.oldValue, self.getStatusOptionSetName());\r\n }\r\n else {\r\n auditDetailWithText.fieldName = question.question;\r\n if (auditDetail.newValue == null) {\r\n auditDetail.newValue = 'Removed';\r\n }\r\n if (auditDetail.oldValue == null) {\r\n auditDetail.oldValue = 'Added';\r\n }\r\n if (question.controlType === 'multiFilterSelect' ||\r\n question.controlType === 'apiSelect') {\r\n auditDetailWithText.newValue = auditDetail.newValue;\r\n auditDetailWithText.oldValue = auditDetail.oldValue;\r\n }\r\n else if (self.$scope.questionHasOptions(auditDetail.fieldName)) {\r\n if (auditDetail.newValue && auditDetail.newValue.toLowerCase() !== 'removed') {\r\n auditDetailWithText.newValue = self.$scope.getOptionTextFromOptionCode(auditDetail.newValue, question.options);\r\n }\r\n else {\r\n auditDetailWithText.newValue = auditDetail.newValue;\r\n }\r\n if (auditDetail.oldValue && auditDetail.oldValue.toLowerCase() !== 'added') {\r\n auditDetailWithText.oldValue = self.$scope.getOptionTextFromOptionCode(auditDetail.oldValue, question.options);\r\n }\r\n else {\r\n auditDetailWithText.oldValue = auditDetail.oldValue;\r\n }\r\n }\r\n else if (question.controlType === 'date') {\r\n if (auditDetail.newValue && auditDetail.newValue.toLowerCase() !== 'removed') {\r\n auditDetailWithText.newValue = moment(auditDetail.newValue, 'YYYY-MM-DD', true).format('DD-MM-YYYY');\r\n }\r\n else {\r\n auditDetailWithText.newValue = auditDetail.newValue;\r\n }\r\n if (auditDetail.oldValue && auditDetail.oldValue.toLowerCase() !== 'added') {\r\n auditDetailWithText.oldValue = moment(auditDetail.oldValue, 'YYYY-MM-DD', true).format('DD-MM-YYYY');\r\n }\r\n else {\r\n auditDetailWithText.oldValue = auditDetail.oldValue;\r\n }\r\n }\r\n else {\r\n auditDetailWithText.newValue = auditDetail.newValue;\r\n auditDetailWithText.oldValue = auditDetail.oldValue;\r\n }\r\n }\r\n auditDetailsWithText.push(auditDetailWithText);\r\n }\r\n var _a;\r\n });\r\n return auditDetailsWithText;\r\n };\r\n AuditHistoryController.prototype.getApiLookUpValues = function (keyword, lookUpQuestionCode) {\r\n var self = this;\r\n var requestData = {\r\n organisationId: self.dataServices.userProfile.selectedOrganisationId,\r\n searchTerm: keyword\r\n };\r\n return self.dataServices.getLookupList(requestData, formApp.ApiLookupType.AuditUser)\r\n .then(function (response) { return response.lookupList; });\r\n };\r\n AuditHistoryController.$inject = [\r\n '$scope',\r\n '$controller',\r\n '$filter',\r\n '$route',\r\n 'uiGridConstants',\r\n 'DataServices',\r\n 'UtilityServices',\r\n 'Constants'\r\n ];\r\n return AuditHistoryController;\r\n }());\r\n formApp.AuditHistoryController = AuditHistoryController;\r\n angular.module('formApp').controller('auditHistoryController', AuditHistoryController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=auditHistoryController.js.map","var formApp;\r\n(function (formApp) {\r\n var BaseIncidentFormController = (function () {\r\n function BaseIncidentFormController($rootScope, $scope, $controller, $q, utilityServices, dataServices, patientService, $timeout, constants, $location, $route) {\r\n var _this = this;\r\n this.$rootScope = $rootScope;\r\n this.$scope = $scope;\r\n this.$controller = $controller;\r\n this.$q = $q;\r\n this.utilityServices = utilityServices;\r\n this.dataServices = dataServices;\r\n this.patientService = patientService;\r\n this.$timeout = $timeout;\r\n this.constants = constants;\r\n this.$location = $location;\r\n this.$route = $route;\r\n this.mapPageIdToPageDetails = {\r\n '1-1': new formApp.MappedItem(1, 'who')\r\n };\r\n this.mapCodeToEventTypeSection = {\r\n patient: new formApp.EventTypeSectionInfo('patientdetail', 'pEventType', 'patientmanageevents', 'pMultiSelectEvent'),\r\n staff: new formApp.EventTypeSectionInfo('staffdetail', 'sEventType', 'staffmanageevents', 'sMultiSelectEvent'),\r\n visitor: new formApp.EventTypeSectionInfo('visitordetail', 'vEventType', 'visitormanageevents', 'vMultiSelectEvent'),\r\n hazard: new formApp.EventTypeSectionInfo('hazarddetail', 'hEventType', 'hazardmanageevents', 'hMultiSelectEvent'),\r\n };\r\n this.apiSelectCallList = {};\r\n var self = this;\r\n $controller('questionController', { $scope: $scope });\r\n $scope.patient = patientService.createPatientInstance(constants.patientQuestionSets.incident, $scope);\r\n self.$scope.apiSelectValues = {};\r\n if (dataServices.responseInfo.apiSelectOptionLists) {\r\n for (var itemIndex = 0; itemIndex < dataServices.responseInfo.apiSelectOptionLists.length; itemIndex++) {\r\n self.$scope.apiSelectValues[dataServices.responseInfo.apiSelectOptionLists[itemIndex].dependantOnId] = dataServices.responseInfo.apiSelectOptionLists[itemIndex].optionSets;\r\n }\r\n }\r\n else {\r\n self.dataServices.responseInfo.apiSelectOptionLists = new Array();\r\n }\r\n self.userProfile = self.dataServices.userProfile;\r\n if (!self.$scope.apiSelectValues[self.userProfile.userId.toString()] ||\r\n self.$scope.apiSelectValues[self.userProfile.userId.toString()].length === 0) {\r\n self.$scope.apiSelectValues[self.userProfile.userId.toString()] = angular.copy(self.dataServices.userProfile.lineManagers);\r\n }\r\n dataServices.getIsrMappingUsingCache();\r\n dataServices.activeEntityType = formApp.AuditEntity.Incident;\r\n if (self.dataServices.isValidResponse(self.dataServices.originalResponse) === false) {\r\n self.dataServices.originalResponse = angular.copy($scope.responses);\r\n }\r\n self.signoffPageId = $route.current.locals.summaryPageId;\r\n $scope.returnToDashboard = function () {\r\n $rootScope.allowFormNavigation = false;\r\n $location.path(_this.manageUrl);\r\n };\r\n $scope.cancelForm = function () {\r\n self.cancelForm();\r\n };\r\n $scope.cancelFormChanges = function (nextPageUrl) {\r\n self.cancelFormChanges(nextPageUrl);\r\n };\r\n $scope.isEventTypeSelected = function (params, code, eventTypeId) {\r\n return self.isEventTypeSelected(params, code, eventTypeId);\r\n };\r\n $scope.isOneOfEventTypeSelected = function (params, code, eventTypeIds) {\r\n return self.isOneOfEventTypeSelected(params, code, eventTypeIds);\r\n };\r\n $scope.deleteMultiSelectEventItem = function (question, pIndex, sIndex, sCode, event) {\r\n self.deleteMultiSelectEventItem(question, pIndex, sIndex, sCode, event);\r\n };\r\n $scope.calculateIsr = function (params, code) {\r\n return self.calculateIsr(params, code);\r\n };\r\n $scope.confirmRemovingWitnesses = function () {\r\n self.confirmRemovingWitnesses();\r\n };\r\n $scope.getApiSelectValues = function (params) {\r\n self.getApiSelectValues(params);\r\n };\r\n $scope.getApiLookUpValues = function (keyword, lookUpQuestionCode) {\r\n return self.getApiLookUpValues(keyword, lookUpQuestionCode);\r\n };\r\n $scope.updateBloodProductStirSerious = function (params) {\r\n self.updateBloodProductStirSerious(params);\r\n };\r\n $scope.isInvestigateStir = function (params) {\r\n return self.isInvestigateStir(params);\r\n };\r\n $scope.displaySectionSummary = function (sectionSummaryId) {\r\n return self.displaySectionSummary(sectionSummaryId);\r\n };\r\n $scope.getSectionStatus = function (pIndex, sectionCode) {\r\n return self.getSectionStatus(pIndex, sectionCode);\r\n };\r\n $scope.notifyValidationError = function () {\r\n self.notifyValidationError();\r\n };\r\n $scope.affectedStaffHasLineManagers = function (params) {\r\n return self.affectedStaffHasLineManagers(params);\r\n };\r\n $scope.affectedStaffHasNoLineManagers = function (params) {\r\n return !self.affectedStaffHasLineManagers(params);\r\n };\r\n $scope.ellipsifyActionComment = function (comment) {\r\n return self.utilityServices.ellipsify(comment, 225, ' ...');\r\n };\r\n var routeType = self.utilityServices.getRouteType($route.current);\r\n if ((routeType === formApp.RouteType.NavTab || routeType === formApp.RouteType.Page) &&\r\n self.dataServices.sectionPageAccessedBy) {\r\n self.utilityServices.scrollElementIntoView(self.dataServices.sectionPageAccessedBy);\r\n self.utilityServices.focus(self.dataServices.sectionPageAccessedBy);\r\n self.dataServices.sectionPageAccessedBy = null;\r\n }\r\n $scope.getVisitorName = function (referenceId) {\r\n var match = _.find(self.$scope.responses['1-1'][0]['visitor'], function (sectionItem) {\r\n return sectionItem.id == referenceId;\r\n });\r\n if (match) {\r\n if (match.fIsVisitorIdentifiable === 'no') {\r\n return 'Unknown';\r\n }\r\n else {\r\n return match.fFirstName + \" \" + match.fSurname;\r\n }\r\n }\r\n else {\r\n return '';\r\n }\r\n };\r\n }\r\n BaseIncidentFormController.prototype.mapIsrQuestionConfig = function (isrMappingList, personTypeCode) {\r\n var isrQuestionInfoMap = {\r\n patient: isrMappingList.isrQuestionInfoMap[formApp.PersonType.Patient],\r\n staff: isrMappingList.isrQuestionInfoMap[formApp.PersonType.Staff],\r\n visitor: isrMappingList.isrQuestionInfoMap[formApp.PersonType.Visitor],\r\n hazard: isrMappingList.isrQuestionInfoMap[formApp.PersonType.None]\r\n };\r\n var isrQuestionInfo = isrQuestionInfoMap[personTypeCode];\r\n return new formApp.MapIsrQuestionConfig(isrQuestionInfo.whatHappenedSectionCode, isrQuestionInfo.levelHarmImpactQuestionCode, isrQuestionInfo.levelCareDisruptionQuestionCode, isrQuestionInfo.actionInterventionQuestionCode, isrQuestionInfo.isrLevelQuestionCode, isrQuestionInfo.behaviourSectionCode, isrQuestionInfo.behaviourQuestionCode, isrQuestionInfo.isrVersionQuestionCode);\r\n };\r\n Object.defineProperty(BaseIncidentFormController.prototype, \"manageUrl\", {\r\n get: function () {\r\n return this.dataServices.currentManagePageUrl || this.constants.Url.manageIncidents;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n BaseIncidentFormController.prototype.isCase = function () {\r\n return this.$route.current.module === this.constants.Modules.case.name;\r\n };\r\n BaseIncidentFormController.prototype.isIncident = function () {\r\n return this.$route.current.module === this.constants.Modules.incident.name;\r\n };\r\n BaseIncidentFormController.prototype.isRepeatingSectionAnswered = function (sCode, sIndex, pIndex, pageId) {\r\n var self = this;\r\n if (!angular.isDefined(self.$scope.responses[pageId][pIndex][sCode])) {\r\n return false;\r\n }\r\n if (self.$scope.responses[pageId][pIndex][sCode].length > 1) {\r\n return true;\r\n }\r\n else {\r\n var sections = _.find(_.find(self.$scope.configData.navigationTabs, function (o) { return o.number === self.mapPageIdToPageDetails[pageId].navTabNum; }).pages, function (p) { return p.url === self.mapPageIdToPageDetails[pageId].pageUrl; }).sections;\r\n for (var s = 0; s < sections.length; s++) {\r\n var section = sections[s];\r\n if (section.code === sCode) {\r\n for (var q = 0; q < section.questions.length; q++) {\r\n if (self.$scope.responses[pageId][pIndex][sCode][sIndex][section.questions[q].code] !== undefined) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n BaseIncidentFormController.prototype.calculateIsr = function (params, code) {\r\n var self = this;\r\n var isrLevelId;\r\n self.dataServices.getIsrMappingUsingCache()\r\n .then(function (data) {\r\n var pageId = self.getMappedWhatPageIdForCode(code);\r\n var isrConfig = self.mapIsrQuestionConfig(data, code);\r\n if (self.$scope.responses[pageId] &&\r\n self.$scope.responses[pageId][params.pIndex]) {\r\n self.$timeout(function () {\r\n var harmImpactId = self.$scope.valueOfQuestion(null, isrConfig.levelHarmImpactQCode, isrConfig.whatHappenedSectionCode, 0, params.pIndex, pageId);\r\n var careDisruptId = self.$scope.valueOfQuestion(null, isrConfig.levelCareDisruptionQCode, isrConfig.whatHappenedSectionCode, 0, params.pIndex, pageId);\r\n var actionInterventionId = self.$scope.valueOfQuestion(null, isrConfig.actionInterventionQCode, isrConfig.whatHappenedSectionCode, 0, params.pIndex, pageId);\r\n var behaviourResponse = undefined;\r\n if (isrConfig.behaviourQCode && isrConfig.behaviourSectionCode) {\r\n behaviourResponse = self.$scope.valueOfQuestion(null, isrConfig.behaviourQCode, isrConfig.behaviourSectionCode, 0, params.pIndex, pageId);\r\n }\r\n var isrVersion = undefined;\r\n if (isrConfig.isrVersionQCode && isrConfig.whatHappenedSectionCode) {\r\n isrVersion = self.$scope.valueOfQuestion(null, isrConfig.isrVersionQCode, isrConfig.whatHappenedSectionCode, 0, params.pIndex, pageId);\r\n }\r\n isrLevelId = self.findIsrLevel(data.isrMappings, data.isrBehaviourOverrideInfo, behaviourResponse, harmImpactId, careDisruptId, actionInterventionId, isrVersion);\r\n if (isrLevelId) {\r\n self.$scope.responses[pageId][params.pIndex][isrConfig.whatHappenedSectionCode][0][isrConfig.isrLevelQCode] = isrLevelId.toString();\r\n self.updateResponses();\r\n }\r\n else {\r\n self.$scope.responses[pageId][params.pIndex][isrConfig.whatHappenedSectionCode][0][isrConfig.isrLevelQCode] = undefined;\r\n }\r\n }, 0);\r\n }\r\n }).catch(function () {\r\n console.log('Error calculating the ISR.');\r\n });\r\n };\r\n BaseIncidentFormController.prototype.updateResponses = function () {\r\n var self = this;\r\n var question = {\r\n qCode: 'whContributingFactors',\r\n sCode: 'whyandhow',\r\n pageId: '5-1',\r\n pIndex: 0,\r\n sIndex: 0\r\n };\r\n var questionConfig = self.$scope.getQuestionFromCode(question.qCode);\r\n if (questionConfig && questionConfig.condition) {\r\n var questionCondition = questionConfig.condition.replace(/valueOfQuestion\\(null/g, 'self.$scope.valueOfQuestion(null');\r\n if (!(eval(questionCondition))) {\r\n self.$scope.responses[question.pageId][question.pIndex][question.sCode][question.sIndex][question.qCode] = undefined;\r\n }\r\n }\r\n };\r\n BaseIncidentFormController.prototype.findIsrLevel = function (isrMappings, isrBehaviourOverrideInfo, behaviourResponse, harmImpactId, careDisruptId, actionInterventionId, isrVersion) {\r\n var self = this;\r\n var isrLevel = undefined;\r\n if (isrVersion == 'IsrVersion2') {\r\n var match = _.find(isrMappings, function (i) {\r\n return i.levelOfHarmOrImpactId == harmImpactId &&\r\n i.levelOfCareOrDisruptionId == careDisruptId &&\r\n i.actionOrInterventionRequiredId == actionInterventionId;\r\n });\r\n if (match) {\r\n isrLevel = match.isrLevelId;\r\n }\r\n }\r\n else {\r\n var hasBehaviourOverrideProblems = behaviourResponse && isrBehaviourOverrideInfo.overrideQuestionCodes &&\r\n behaviourResponse.filter(function (value) { return -1 !== isrBehaviourOverrideInfo.overrideQuestionCodes.indexOf(value); }).length > 0;\r\n if (harmImpactId !== undefined && careDisruptId !== undefined) {\r\n var match = _.find(isrMappings, function (i) {\r\n return i.levelOfHarmOrImpactId == harmImpactId &&\r\n i.levelOfCareOrDisruptionId == careDisruptId &&\r\n i.actionOrInterventionRequiredId == actionInterventionId;\r\n });\r\n if (match) {\r\n isrLevel = match.isrLevelId;\r\n }\r\n }\r\n isrLevel = (hasBehaviourOverrideProblems && (isrLevel === undefined || isrLevel > isrBehaviourOverrideInfo.overrideLevelId))\r\n ? isrBehaviourOverrideInfo.overrideLevelId\r\n : isrLevel;\r\n }\r\n return isrLevel;\r\n };\r\n BaseIncidentFormController.prototype.checkEventsUnique = function (pageId, pIndex, sIndex, sCode, typeCode, duplicatePopupCode) {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n if (self.$scope.getSectionItemCount(pageId, sCode, pIndex) > 1) {\r\n var sectionInfo_1 = self.mapCodeToEventTypeSection[typeCode];\r\n var sectionItems = self.$scope.responses[pageId][pIndex][sCode];\r\n var eventTypeCode_1 = sectionItems[sIndex][sectionInfo_1.qCode].code.trim();\r\n var count = _.filter(sectionItems, function (item) {\r\n return item[sectionInfo_1.qCode] &&\r\n item[sectionInfo_1.qCode].code &&\r\n eventTypeCode_1 === item[sectionInfo_1.qCode].code.trim();\r\n }).length;\r\n if (count > 1) {\r\n self.$scope.utility.openPopup(duplicatePopupCode);\r\n deferred.resolve(false);\r\n }\r\n else {\r\n deferred.resolve(true);\r\n }\r\n }\r\n else {\r\n deferred.resolve(true);\r\n }\r\n return deferred.promise;\r\n };\r\n BaseIncidentFormController.prototype.canSaveChanges = function (ignoreMandatoryErrors, allPageItemsMustBeSaved) {\r\n var self = this;\r\n var canSave = true;\r\n var _ignoreMandatory = ignoreMandatoryErrors === undefined ? false : ignoreMandatoryErrors;\r\n var _checkAllPageItemsSaved = (allPageItemsMustBeSaved === undefined) ? false : allPageItemsMustBeSaved;\r\n if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, null, null, null, 'inline') === false && _ignoreMandatory) {\r\n canSave = self.utilityServices.hasOnlyMandatoryValidationErrors(self.$scope.validationErrors);\r\n }\r\n if (canSave && _checkAllPageItemsSaved) {\r\n canSave = self.$scope.checkPageItemsAreSaved();\r\n }\r\n return canSave;\r\n };\r\n BaseIncidentFormController.prototype.cancelForm = function () {\r\n var self = this;\r\n if (self.$scope.hasUnsavedChanges()) {\r\n self.dataServices.userAction = self.constants.userActions.cancel;\r\n self.cancelFormChanges(self.manageUrl);\r\n }\r\n else {\r\n self.$scope.returnToDashboard();\r\n }\r\n };\r\n BaseIncidentFormController.prototype.cancelFormChanges = function (nextPageUrl) {\r\n var self = this;\r\n self.$scope.utility.openPopup('warnUserBeforeCancelRegisteredUser').result\r\n .then(function (data) {\r\n if (data.result === 'thirdButtonClick') {\r\n self.saveFormChanges()\r\n .then(function (success) {\r\n if (success) {\r\n self.$rootScope.allowFormNavigation = false;\r\n self.$location.path(nextPageUrl);\r\n }\r\n }, function () { });\r\n }\r\n else {\r\n self.$rootScope.allowFormNavigation = false;\r\n self.$scope.clearDirty();\r\n self.$location.path(nextPageUrl);\r\n }\r\n })\r\n .catch(function () {\r\n });\r\n };\r\n BaseIncidentFormController.prototype.saveFormChanges = function () {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n if (self.isCase()) {\r\n self.saveCaseChanges()\r\n .then(function (saveResult) {\r\n deferred.resolve(saveResult.status === formApp.ResultStatusCode.Success);\r\n })\r\n .catch(function (caseRejectReason) {\r\n deferred.resolve(false);\r\n });\r\n }\r\n else if (self.isIncident()) {\r\n self.saveIncidentChanges(self.$scope.incidentType, self.$scope.personTypeId, formApp.SaveOperation.Save)\r\n .then(function (saveResult) {\r\n deferred.resolve(saveResult.status === formApp.ResultStatusCode.Success);\r\n })\r\n .catch(function (error) {\r\n self.$scope.utility.openPopup('errorSave', error);\r\n deferred.resolve(false);\r\n });\r\n }\r\n else {\r\n deferred.resolve(true);\r\n }\r\n return deferred.promise;\r\n };\r\n BaseIncidentFormController.prototype.saveCaseChanges = function (isBackgroundTask) {\r\n if (isBackgroundTask === void 0) { isBackgroundTask = false; }\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n var canSave = self.canSaveChanges(true);\r\n if (canSave) {\r\n if (!isBackgroundTask) {\r\n self.$scope.notifyIsSavingChanged(true);\r\n }\r\n self.dataServices.saveCase()\r\n .then(function (saveResponse) {\r\n if (saveResponse.data) {\r\n if (saveResponse.data.status == formApp.ResultStatusCode.UpdatedSinceReadTime) {\r\n self.$scope.utility.openPopup('savedElsewhere');\r\n }\r\n else if (saveResponse.data.status === formApp.ResultStatusCode.Success) {\r\n self.dataServices.trackEventsWithGA('Save action in ' + self.$scope.pageUrl, 'Save Case', 'Successfully Saved Case');\r\n self.updateCaseStatusBarInformation(saveResponse.data);\r\n }\r\n else {\r\n self.$scope.utility.openPopup('errorSave', formApp.ErrorInfo.fromCustomError('Save Case', '', saveResponse.data.status));\r\n }\r\n deferred.resolve(saveResponse.data);\r\n }\r\n else {\r\n deferred.reject(formApp.ErrorInfo.fromCustomError('Save Case', 'Failed to return data'));\r\n }\r\n }, function (saveResponse) {\r\n self.dataServices.trackEventsWithGA('Error occured during Save in ' + self.$scope.pageUrl, 'Save Case', 'Failed to Save Case');\r\n deferred.reject(formApp.ErrorInfo.fromHttpResponse(saveResponse));\r\n })\r\n .finally(function () {\r\n if (!isBackgroundTask) {\r\n self.$scope.notifyIsSavingChanged(false);\r\n }\r\n });\r\n }\r\n else {\r\n deferred.reject(formApp.ErrorInfo.fromCustomError('Save Case', 'Unable to save, validation errors'));\r\n }\r\n return deferred.promise;\r\n };\r\n BaseIncidentFormController.prototype.saveIncidentChanges = function (incidentType, personType, saveOperation) {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n if (saveOperation === formApp.SaveOperation.Save && self.$scope.status != formApp.Status.Closed) {\r\n self.deleteSignoffSection();\r\n }\r\n var canSave = self.canSaveChanges(true, true);\r\n if (canSave) {\r\n self.$scope.notifyIsSavingChanged(true);\r\n self.dataServices.saveIncident(incidentType, personType, saveOperation)\r\n .then(function (saveResponse) {\r\n if (saveResponse.data) {\r\n if (saveResponse.data.status == formApp.ResultStatusCode.UpdatedSinceReadTime) {\r\n self.$scope.utility.openPopup('savedElsewhere');\r\n }\r\n else if (saveResponse.data.status == formApp.ResultStatusCode.Success) {\r\n self.dataServices.trackEventsWithGA('Save action in ' + self.$scope.pageUrl, 'Save Incident', 'Successfully Saved Incident');\r\n self.updateIncidentStatusBarInformation(saveResponse.data);\r\n }\r\n else {\r\n self.$scope.utility.openPopup('errorSave', formApp.ErrorInfo.fromCustomError('Save Incident', '', saveResponse.data.status));\r\n }\r\n deferred.resolve(saveResponse.data);\r\n }\r\n else {\r\n deferred.reject(formApp.ErrorInfo.fromCustomError('Save Incident', 'Failed to return data'));\r\n }\r\n }, function (response) {\r\n self.dataServices.trackEventsWithGA('Error occured during Save in ' + self.$scope.pageUrl, 'Save Incident', 'Failed to Save Incident');\r\n deferred.reject(formApp.ErrorInfo.fromHttpResponse(response));\r\n })\r\n .finally(function () {\r\n self.$scope.notifyIsSavingChanged(false);\r\n });\r\n }\r\n else {\r\n deferred.reject(formApp.ErrorInfo.fromCustomError('Save Incident', 'Unable to save, validation errors'));\r\n }\r\n return deferred.promise;\r\n };\r\n BaseIncidentFormController.prototype.updateIncidentStatusBarInformation = function (saveResult) {\r\n var self = this;\r\n self.dataServices.responseInfo.incidentId = saveResult.id;\r\n self.dataServices.responseInfo.incidentRef = saveResult.ref;\r\n self.dataServices.responseInfo.lastUpdatedTime = saveResult.allocatedLastUpdatedTime;\r\n self.dataServices.responseInfo.status = saveResult.incidentStatus;\r\n self.dataServices.responseInfo.statusText = saveResult.incidentStatusText;\r\n self.updateStatusBarInformation(saveResult);\r\n };\r\n BaseIncidentFormController.prototype.updateCaseStatusBarInformation = function (saveResult) {\r\n var self = this;\r\n self.dataServices.responseInfo.caseIdByOrganisation[self.dataServices.userProfile.selectedOrganisationId] = saveResult.id;\r\n self.dataServices.responseInfo.incidentId = saveResult.id;\r\n self.dataServices.responseInfo.lastUpdatedTime = saveResult.allocatedLastUpdatedTime;\r\n self.updateStatusBarInformation(saveResult);\r\n };\r\n BaseIncidentFormController.prototype.updateStatusBarInformation = function (saveResult) {\r\n var self = this;\r\n self.$scope.clearDirty();\r\n self.dataServices.originalResponse = angular.copy(self.$scope.responses);\r\n self.$scope.incidentId = self.dataServices.responseInfo.incidentId;\r\n self.$scope.incidentRef = self.dataServices.responseInfo.incidentRef;\r\n self.$scope.lastUpdatedTime = self.dataServices.responseInfo.lastUpdatedTime;\r\n self.$scope.reportedDate = self.dataServices.responseInfo.reportedDate ? moment(self.dataServices.responseInfo.reportedDate).format(self.constants.ausDateFormat) : null;\r\n self.$scope.submittedDate = self.dataServices.responseInfo.submittedDate ? moment(self.dataServices.responseInfo.submittedDate).format(self.constants.ausDateFormat) : null;\r\n self.$scope.status = self.dataServices.responseInfo.status;\r\n self.$scope.statusText = self.dataServices.responseInfo.statusText;\r\n self.$scope.role = self.dataServices.responseInfo.role;\r\n };\r\n BaseIncidentFormController.prototype.deleteSignoffSection = function () {\r\n var self = this;\r\n if (self.signoffPageId &&\r\n self.$scope.responses[self.signoffPageId] !== undefined &&\r\n self.$scope.responses[self.signoffPageId][0] !== undefined &&\r\n self.$scope.responses[self.signoffPageId][0][self.$scope.Constants.signoff] !== undefined) {\r\n delete self.$scope.responses[self.signoffPageId][0][self.$scope.Constants.signoff];\r\n }\r\n };\r\n BaseIncidentFormController.prototype.getApiSelectValues = function (params) {\r\n var self = this;\r\n var sStaffNameLookupAnswer = self.$scope.valueOfQuestion(null, 'sStaffNameLookup', params.sCode, params.sIndex, params.pIndex, '1-1');\r\n if (sStaffNameLookupAnswer && sStaffNameLookupAnswer.code &&\r\n self.$scope.apiSelectValues &&\r\n self.$scope.apiSelectValues[sStaffNameLookupAnswer.code] == null) {\r\n if (self.apiSelectCallList[sStaffNameLookupAnswer.code] == null) {\r\n self.apiSelectCallList[sStaffNameLookupAnswer.code] = sStaffNameLookupAnswer.code;\r\n var requestData = {\r\n organisationId: self.dataServices.userProfile.selectedOrganisationId,\r\n dependantOnId: sStaffNameLookupAnswer.code\r\n };\r\n self.dataServices.getApiSelectOptionList(requestData, formApp.ApiSelectType.UserLineManager).then(function (response) {\r\n if (response) {\r\n self.$scope.apiSelectValues[sStaffNameLookupAnswer.code] = response;\r\n var apiSelectOptionList = {\r\n dependantOnId: sStaffNameLookupAnswer.code,\r\n optionSets: response\r\n };\r\n self.dataServices.responseInfo.apiSelectOptionLists.push(apiSelectOptionList);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n BaseIncidentFormController.prototype.getApiLookUpValues = function (keyword, lookUpQuestionCode) {\r\n var self = this;\r\n var requestData = {\r\n organisationId: self.dataServices.userProfile.selectedOrganisationId,\r\n searchTerm: keyword\r\n };\r\n return self.dataServices.getLookupList(requestData, formApp.ApiLookupType.User)\r\n .then(function (response) {\r\n return self.filterApiLookupResult(lookUpQuestionCode, response.lookupList);\r\n });\r\n };\r\n BaseIncidentFormController.prototype.isEventTypeSelected = function (params, code, eventTypeId) {\r\n var self = this;\r\n var isSelected = false;\r\n var pageId = self.getMappedWhatPageIdForCode(code);\r\n var sectionInfo = self.mapCodeToEventTypeSection[code];\r\n if (self.$scope.responses[pageId] &&\r\n self.$scope.responses[pageId][params.pIndex]) {\r\n var pageResponse = self.$scope.responses[pageId][params.pIndex];\r\n isSelected = self.utilityServices.hasSelectedEventType(pageResponse, sectionInfo, eventTypeId);\r\n }\r\n return isSelected;\r\n };\r\n BaseIncidentFormController.prototype.isOneOfEventTypeSelected = function (params, code, eventTypeIds) {\r\n var self = this;\r\n var index = _.findIndex(eventTypeIds, function (eventTypeId) {\r\n return self.isEventTypeSelected(params, code, eventTypeId);\r\n });\r\n return (index > -1);\r\n };\r\n BaseIncidentFormController.prototype.deleteMultiSelectEventItem = function (question, pIndex, sIndex, sCode, event) {\r\n var self = this;\r\n self.$scope.utility.openPopup('eventDeleteConfirmation', null).result\r\n .then(function () {\r\n self.$scope.setDirty();\r\n var selectedEvents = angular.copy(self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex][question.code]);\r\n _.remove(selectedEvents, { code: event.code });\r\n self.$scope.setQuestionValue(question, selectedEvents, self.$scope.responses[self.$scope.pageId][pIndex][sCode][0]);\r\n if (sCode === self.mapCodeToEventTypeSection.patient.nonRepeatingSectionCode ||\r\n sCode === self.mapCodeToEventTypeSection.staff.nonRepeatingSectionCode ||\r\n sCode === self.mapCodeToEventTypeSection.visitor.nonRepeatingSectionCode ||\r\n sCode === self.mapCodeToEventTypeSection.hazard.nonRepeatingSectionCode) {\r\n self.$timeout(function () {\r\n var code = sCode.replace('manageevents', '');\r\n self.calculateIsr(self.$scope.setQuestionParams(pIndex, 0, 'sectionCode'), code);\r\n }, 0);\r\n }\r\n }, function () { });\r\n };\r\n BaseIncidentFormController.prototype.confirmRemovingWitnesses = function () {\r\n var self = this;\r\n var isWitnessSectionAnswered = self.isRepeatingSectionAnswered('witnesses', 0, 0, '1-1');\r\n if ((self.$scope.valueOfQuestion(null, 'wAnyWitness', 'witnessintro', 0, 0, '1-1') === 'no') && isWitnessSectionAnswered) {\r\n self.witnessSections = self.$scope.responses['1-1'][0]['witnesses'];\r\n self.$scope.utility.openPopup('unselectWitnessConfirmation').result.then(function (result) {\r\n self.witnessSections = null;\r\n }, function (data) {\r\n self.$scope.responses['1-1'][0]['witnesses'] = self.witnessSections;\r\n self.$scope.responses['1-1'][0]['witnessintro'][0].wAnyWitness = 'yes';\r\n });\r\n }\r\n };\r\n BaseIncidentFormController.prototype.updateBloodProductStirSerious = function (params) {\r\n var self = this;\r\n var pageId = self.getMappedWhatPageIdForCode('patient');\r\n self.$timeout(function () {\r\n if (self.$scope.valueOfQuestion(null, 'pIIsSeriousTransfusion', 'investigations', 0, params.pIndex, pageId) === 'yes' &&\r\n self.$scope.responses[pageId] &&\r\n self.$scope.responses[pageId][params.pIndex] &&\r\n self.$scope.responses[pageId][params.pIndex]['patientbloodproduct'] &&\r\n self.$scope.responses[pageId][params.pIndex]['patientbloodproduct'][0]) {\r\n self.$scope.responses[pageId][params.pIndex]['patientbloodproduct'][0]['pSTIRSerious'] = 'yes';\r\n }\r\n }, 0);\r\n };\r\n BaseIncidentFormController.prototype.isInvestigateStir = function (params) {\r\n var pageId = this.getMappedWhatPageIdForCode('patient');\r\n return (this.$scope.valueOfQuestion(null, 'pIIsSeriousTransfusion', 'investigations', 0, params.pIndex, pageId) === 'yes');\r\n };\r\n BaseIncidentFormController.prototype.displaySectionSummary = function (sectionSummaryId) {\r\n var self = this;\r\n var completedSections = self.utilityServices.getCountCssClass(sectionSummaryId, 'event-summary__section-status--complete');\r\n var totalSections = self.utilityServices.getCountCssClass(sectionSummaryId, 'event-summary__section-header');\r\n return \"(\" + completedSections + \" / \" + totalSections + \" Complete)\";\r\n };\r\n BaseIncidentFormController.prototype.getSectionStatus = function (pIndex, sectionCode) {\r\n var self = this;\r\n return self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, pIndex, sectionCode, null, null, true);\r\n };\r\n BaseIncidentFormController.prototype.notifyValidationError = function () {\r\n var self = this;\r\n if (self.isWhatPageId(self.$scope.pageId)) {\r\n self.utilityServices.showNotification(true, 'sectionValidationError', null, null, self.constants.dismissNotificationDelayInMilliSeconds);\r\n }\r\n };\r\n BaseIncidentFormController.prototype.affectedStaffHasLineManagers = function (params) {\r\n var self = this;\r\n var lookupAnswer = self.$scope.valueOfQuestion(null, 'sStaffNameLookup', params.sCode, params.sIndex, params.pIndex, '1-1');\r\n if (lookupAnswer && lookupAnswer.code &&\r\n self.$scope.apiSelectValues &&\r\n self.$scope.apiSelectValues[lookupAnswer.code] &&\r\n self.$scope.apiSelectValues[lookupAnswer.code].length > 0) {\r\n if (self.$scope.responses['1-1'][params.pIndex][params.sCode][params.sIndex] &&\r\n self.$scope.responses['1-1'][params.pIndex][params.sCode][params.sIndex]['confirmNoStaffLineManager']) {\r\n delete self.$scope.responses['1-1'][params.pIndex][params.sCode][params.sIndex]['confirmNoStaffLineManager'];\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n BaseIncidentFormController.$inject = [\r\n '$rootScope',\r\n '$scope',\r\n '$controller',\r\n '$q',\r\n 'UtilityServices',\r\n 'DataServices',\r\n 'PatientService',\r\n '$timeout',\r\n 'Constants',\r\n '$location',\r\n '$route'\r\n ];\r\n return BaseIncidentFormController;\r\n }());\r\n formApp.BaseIncidentFormController = BaseIncidentFormController;\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=baseIncidentFormController.js.map","var formApp;\r\n(function (formApp) {\r\n var BaseSectionFormController = (function () {\r\n function BaseSectionFormController($rootScope, $scope, $controller, $routeParams, utilityServices, dataServices, constants, $route) {\r\n this.$rootScope = $rootScope;\r\n this.$scope = $scope;\r\n this.$controller = $controller;\r\n this.$routeParams = $routeParams;\r\n this.utilityServices = utilityServices;\r\n this.dataServices = dataServices;\r\n this.constants = constants;\r\n this.$route = $route;\r\n this.formButtons = [\r\n {\r\n code: 'btnCancel',\r\n text: 'Cancel',\r\n label: 'Cancel',\r\n colour: 'default',\r\n position: 'left',\r\n action: 'cancelSectionForm()',\r\n icon: 'icon-chevron-left',\r\n iconPosition: 'left',\r\n showSpinner: true,\r\n showAsLink: false\r\n },\r\n {\r\n code: 'btnSave',\r\n text: 'Save',\r\n label: 'Save',\r\n colour: 'primary',\r\n position: 'right',\r\n action: 'saveSectionForm()',\r\n icon: 'icon-chevron-right',\r\n iconPosition: 'right',\r\n showSpinner: true,\r\n showAsLink: false\r\n }\r\n ];\r\n var self = this;\r\n switch (self.$route.current.module) {\r\n case constants.ModuleTypes.case:\r\n $controller('caseFormController', { $scope: $scope });\r\n break;\r\n case constants.ModuleTypes.incident:\r\n $controller('incidentFormController', { $scope: $scope });\r\n break;\r\n case constants.ModuleTypes.feedback:\r\n $controller('feedbackFormController', { $scope: $scope });\r\n break;\r\n case constants.ModuleTypes.user:\r\n $controller('userFormController', { $scope: $scope });\r\n break;\r\n default:\r\n break;\r\n }\r\n self.userAction = '';\r\n self.defaultOptionSets = new Array();\r\n self.questioCodeToApiSelectTypeMap = {\r\n 'hMmsfgBrandName': formApp.ApiSelectType.MedicationBrand,\r\n 'hMmsfgMedClass': formApp.ApiSelectType.MedicationClass,\r\n 'hMmsfbGenericName': formApp.ApiSelectType.MedicationGeneric,\r\n 'hMmsfbMedClass': formApp.ApiSelectType.MedicationClass,\r\n 'pgBrandName': formApp.ApiSelectType.MedicationBrand,\r\n 'pgMedClass': formApp.ApiSelectType.MedicationClass,\r\n 'pbGenericName': formApp.ApiSelectType.MedicationGeneric,\r\n 'pbMedClass': formApp.ApiSelectType.MedicationClass\r\n };\r\n self.questioCodeToApiLookupTypeMap = {\r\n 'hMmsfgGenericName': formApp.ApiLookupType.MedicationGeneric,\r\n 'hMmsfbBrandName': formApp.ApiLookupType.MedicationBrand,\r\n 'pgGenericName': formApp.ApiLookupType.MedicationGeneric,\r\n 'pbBrandName': formApp.ApiLookupType.MedicationBrand\r\n };\r\n dataServices.getConfigurationUsingCache($scope.template, $scope.versionNumber, $scope.optionSetHash)\r\n .then(function (data) {\r\n $scope.setupTriggersAndDynamicValues();\r\n $scope.setSummaryErrorFocus();\r\n });\r\n $scope.questionColumnCount = 2;\r\n $scope.pIndex = parseInt($routeParams.pageIndex);\r\n $scope.section = _.find(_.find(_.find($scope.configData.navigationTabs, function (o) {\r\n return o.number == $scope.navTabNum;\r\n }).pages, function (p) {\r\n return p.url == $scope.pageUrl;\r\n }).sections, function (s) {\r\n return s.code == $routeParams.sectionCode;\r\n });\r\n $scope.pItem = $scope.responses[$scope.pageId][$scope.pIndex];\r\n self.originalResponse = angular.copy($scope.pItem[$scope.section.code]);\r\n utilityServices.removeFromValidationErrors(null, $scope.pageId, $scope.pIndex, $scope.section.code, null, null);\r\n $scope.cancelSectionForm = function () {\r\n self.cancelSectionForm();\r\n };\r\n $scope.saveSectionForm = function () {\r\n self.saveSectionForm();\r\n };\r\n $scope.getGenericName = function (genericValfromGLookup, genericValfromBLookup, genericValfromOther) {\r\n return self.getGenericName(genericValfromGLookup, genericValfromBLookup, genericValfromOther);\r\n };\r\n $scope.getMedicationDataVersionId = function () {\r\n return self.getMedicationDataVersionId();\r\n };\r\n $scope.filterButtons = function (position, include) {\r\n return self.filterButtons(position, include);\r\n };\r\n $scope.getSectionTemplateUrl = function (section, templateLocation) {\r\n var self = this;\r\n var baseTemplateDir = 'app/partials/section/';\r\n var templateUrl = \"\" + baseTemplateDir + templateLocation + \"StandAlone.html\";\r\n return templateUrl;\r\n };\r\n $scope.getApiLookUpValues = function (keyword, lookUpQuestionCode) {\r\n return self.getApiLookUpValues(keyword, lookUpQuestionCode);\r\n };\r\n self.baseGetQuestionOptions = $scope.getQuestionOptions;\r\n $scope.getQuestionOptions = function (question, pIndex, sIndex, sCode) {\r\n return self.getQuestionOptions(question, pIndex, sIndex, sCode);\r\n };\r\n $scope.$on('$routeChangeStart', function (event, next, current) {\r\n if (self.userAction !== self.constants.userActions.save &&\r\n self.utilityServices.isFormUrl(next.originalPath)) {\r\n self.$scope.pItem[self.$scope.section.code] = angular.copy(self.originalResponse);\r\n }\r\n });\r\n }\r\n BaseSectionFormController.prototype.cancelSectionForm = function () {\r\n this.userAction = this.constants.userActions.cancel;\r\n this.$scope.goToPage(this.$scope.navTabNum, this.$scope.pageUrl);\r\n };\r\n BaseSectionFormController.prototype.saveSectionForm = function () {\r\n var self = this;\r\n self.userAction = self.constants.userActions.save;\r\n self.$scope.goToPage(self.$scope.navTabNum, self.$scope.pageUrl);\r\n };\r\n BaseSectionFormController.prototype.filterButtons = function (position, include) {\r\n return this.formButtons.filter(function (o) { return include ? o.position == position : o.position != position; });\r\n };\r\n BaseSectionFormController.prototype.getApiLookUpValues = function (keyword, lookUpQuestionCode) {\r\n var self = this;\r\n var requestData = {\r\n organisationId: self.dataServices.userProfile.selectedOrganisationId,\r\n searchTerm: keyword,\r\n medicationDataVersionId: this.getMedicationDataVersionId()\r\n };\r\n return self.dataServices.getLookupList(requestData, self.questioCodeToApiLookupTypeMap[lookUpQuestionCode])\r\n .then(function (response) { return response.lookupList; });\r\n };\r\n BaseSectionFormController.prototype.getQuestionOptions = function (question, pIndex, sIndex, sCode) {\r\n var self = this;\r\n if (self.questioCodeToApiSelectTypeMap[question.code]) {\r\n if (question.optionDependsOnQuestion) {\r\n var pQuestions = question.optionDependsOnQuestion.split('|');\r\n var requestData = {\r\n parentQuestions: {},\r\n medicationDataVersionId: this.getMedicationDataVersionId()\r\n };\r\n var pQuestionKeyValue = [];\r\n for (var i = 0; i < pQuestions.length; i++) {\r\n var valOfPQuestion = self.$scope.valueOfQuestion(null, pQuestions[i], sCode, sIndex, pIndex, self.$scope.pageId);\r\n if (valOfPQuestion && valOfPQuestion.code) {\r\n requestData.parentQuestions[pQuestions[i]] = valOfPQuestion.code;\r\n pQuestionKeyValue.push(pQuestions[i] + '-' + valOfPQuestion.code);\r\n }\r\n if (valOfPQuestion && !valOfPQuestion.code) {\r\n requestData.parentQuestions[pQuestions[i]] = valOfPQuestion;\r\n pQuestionKeyValue.push(pQuestions[i] + '-' + valOfPQuestion);\r\n }\r\n }\r\n if (pQuestionKeyValue.length) {\r\n var optionKey_1 = question.options + '-' + pQuestionKeyValue.join('-');\r\n var questionPath_1 = self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex];\r\n if (!self.dataServices.configData.optionSets[optionKey_1]) {\r\n self.dataServices.configData.optionSets[optionKey_1] = self.defaultOptionSets;\r\n self.dataServices.getSelectOptionList(requestData, self.questioCodeToApiSelectTypeMap[question.code])\r\n .then(function (response) {\r\n if (response) {\r\n self.dataServices.configData.optionSets[optionKey_1] = response;\r\n var cOptionSets = self.dataServices.configData.optionSets[question.options];\r\n if (cOptionSets[0].code == 'dummy') {\r\n self.dataServices.configData.optionSets[question.options] = self.defaultOptionSets;\r\n }\r\n for (var i = 0; i < response.length; i++) {\r\n if (cOptionSets.length && !cOptionSets.find(function (q) { return q.code == response[i].code; })) {\r\n self.dataServices.configData.optionSets[question.options].push(response[i]);\r\n }\r\n }\r\n if (response.length == 1) {\r\n self.$scope.setQuestionValue(question, response[0].code, questionPath_1);\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n var dropdownList = self.dataServices.configData.optionSets[optionKey_1];\r\n if (dropdownList.length == 1) {\r\n self.$scope.setQuestionValue(question, dropdownList[0].code, questionPath_1);\r\n }\r\n }\r\n return self.dataServices.configData.optionSets[optionKey_1];\r\n }\r\n }\r\n return self.defaultOptionSets;\r\n }\r\n else {\r\n return self.baseGetQuestionOptions(question, pIndex, sIndex, sCode);\r\n }\r\n };\r\n BaseSectionFormController.prototype.getMedicationDataVersionId = function () {\r\n var self = this;\r\n var medicationDataVersionId;\r\n var medicationDataVersionOptionSets = self.dataServices.configData.optionSets['mimsdataversion'];\r\n if (!medicationDataVersionOptionSets ||\r\n !medicationDataVersionOptionSets[0] ||\r\n !medicationDataVersionOptionSets[0].code) {\r\n return null;\r\n }\r\n medicationDataVersionId = parseInt(medicationDataVersionOptionSets[0].code);\r\n return medicationDataVersionId;\r\n };\r\n BaseSectionFormController.prototype.getGenericName = function (genericValfromGLookup, genericValfromBLookup, genericValfromOther) {\r\n var self = this;\r\n var genericName = '';\r\n if (genericValfromGLookup) {\r\n genericName = genericValfromGLookup.text;\r\n }\r\n else if (genericValfromBLookup) {\r\n genericName = self.dataServices.configData.optionSets['mimsgenericname'].find(function (g) { return g.code == genericValfromBLookup; }).text;\r\n }\r\n else if (genericValfromOther) {\r\n genericName = genericValfromOther;\r\n }\r\n return genericName;\r\n };\r\n BaseSectionFormController.$inject = [\r\n '$rootScope',\r\n '$scope',\r\n '$controller',\r\n '$routeParams',\r\n 'UtilityServices',\r\n 'DataServices',\r\n 'Constants',\r\n '$route'\r\n ];\r\n return BaseSectionFormController;\r\n }());\r\n formApp.BaseSectionFormController = BaseSectionFormController;\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=baseSectionFormController.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n var CaseFormController = (function (_super) {\r\n __extends(CaseFormController, _super);\r\n function CaseFormController($scope, $controller, $q, utilityServices, dataServices, patientService, validationService, $http, $log, $location, $routeParams, $filter, $anchorScroll, $timeout, $rootScope, constants, $interval, $route) {\r\n var _this = _super.call(this, $rootScope, $scope, $controller, $q, utilityServices, dataServices, patientService, $timeout, constants, $location, $route) || this;\r\n _this.$scope = $scope;\r\n _this.$controller = $controller;\r\n _this.$q = $q;\r\n _this.utilityServices = utilityServices;\r\n _this.dataServices = dataServices;\r\n _this.patientService = patientService;\r\n _this.validationService = validationService;\r\n _this.$http = $http;\r\n _this.$log = $log;\r\n _this.$location = $location;\r\n _this.$routeParams = $routeParams;\r\n _this.$filter = $filter;\r\n _this.$anchorScroll = $anchorScroll;\r\n _this.$timeout = $timeout;\r\n _this.$rootScope = $rootScope;\r\n _this.constants = constants;\r\n _this.$interval = $interval;\r\n _this.$route = $route;\r\n _this.mapCopyEvents = {\r\n patient: { radio: 'pCopyEventsRadio', select: 'pCopyEventsSelect', text: 'pCopyFrom', multiSelect: 'pMultiSelectEvent' },\r\n staff: { radio: 'sCopyEventsRadio', select: 'sCopyEventsSelect', text: 'sCopyFrom', multiSelect: 'sMultiSelectEvent' },\r\n visitor: { radio: 'vCopyEventsRadio', select: 'vCopyEventsSelect', text: 'vCopyFrom', multiSelect: 'vMultiSelectEvent' },\r\n };\r\n _this.mapCodeToPageId = {\r\n patient: '4-1',\r\n staff: '4-2',\r\n visitor: '4-3',\r\n hazard: '4-4'\r\n };\r\n _this.mapSectionCodeToPageUrl = {\r\n patient: 'patient',\r\n staff: 'staff',\r\n visitor: 'visitor'\r\n };\r\n _this.mapCodeToCachedValues = {\r\n patient: null,\r\n staff: null,\r\n visitor: null,\r\n hazard: null,\r\n };\r\n _this.whatpages = ['4-1', '4-2', '4-3', '4-4'];\r\n _this.autoSaveExceptionUrls = ['/report/90/submit', '/report/90/submitsuccessful'];\r\n _this.isDoingCheck = false;\r\n _this.deleteSectionItem = function (pIndex, sIndex, sCode, popupConfirmCode) {\r\n var self = this;\r\n var params = self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex];\r\n self.$scope.utility.openPopup(popupConfirmCode, params).result\r\n .then(function (result) {\r\n self.$scope.setDirty();\r\n self.$scope.responses[self.$scope.pageId][pIndex][sCode].splice(sIndex, 1);\r\n if (self.$scope.responses[self.$scope.pageId][pIndex][sCode].length == 0) {\r\n delete self.$scope.responses[self.$scope.pageId][pIndex][sCode];\r\n }\r\n if (self.$scope.shadowResponse[pIndex] && self.$scope.shadowResponse[pIndex][sCode] && self.$scope.shadowResponse[pIndex][sCode][sIndex]) {\r\n self.$scope.shadowResponse[pIndex][sCode].splice(sIndex, 1);\r\n }\r\n if (sCode === 'patient' || sCode === 'staff' || sCode === 'visitor') {\r\n self.deleteAssociatedWhatPageItem(sCode, params.id);\r\n self.refreshMenu();\r\n }\r\n self.$scope.deregisterSectionItemWatches(pIndex, sCode, sIndex);\r\n if (self.$scope.page.sections) {\r\n var section = self.$filter('filter')(self.$scope.page.sections, { code: sCode }, true);\r\n if (section.length && section[0].repeatingItemRequired) {\r\n if (self.$scope.getSectionItemCount(self.$scope.pageId, sCode, pIndex) === 0) {\r\n self.$scope.addSectionItem(pIndex, sCode, true);\r\n }\r\n }\r\n }\r\n else {\r\n self.$scope.utility.focus('sectionAddNewButton-' + pIndex + '-' + sCode);\r\n }\r\n });\r\n };\r\n var self = _this;\r\n dataServices.getConfigurationUsingCache($scope.template, $scope.versionNumber, $scope.optionSetHash)\r\n .then(function (data) {\r\n $scope.setupCaseTriggersAndDynamicValues();\r\n $scope.setSummaryErrorFocus();\r\n document.title = $scope.utility.getPageTitle($scope.navTabNum, $scope.pageUrl);\r\n if (self.dataServices.validatedPages === null) {\r\n self.determineValidatedPages(self.$scope.responses, data.configData);\r\n }\r\n });\r\n $scope.access = dataServices.responseInfo.access;\r\n $scope.incidentId = dataServices.responseInfo.caseIdByOrganisation[dataServices.userProfile.selectedOrganisationId];\r\n $scope.status = dataServices.responseInfo.status;\r\n $scope.statusText = dataServices.responseInfo.statusText;\r\n $scope.reportedDate = dataServices.responseInfo.reportedDate ? moment(dataServices.responseInfo.reportedDate).format(constants.ausDateFormat) : null;\r\n $scope.submittedDate = dataServices.responseInfo.submittedDate ? moment(dataServices.responseInfo.submittedDate).format(constants.ausDateFormat) : null;\r\n $scope.role = dataServices.responseInfo.role;\r\n $scope.createdIncidents = dataServices.responseInfo.createdIncidents;\r\n $scope.notifyUsers = dataServices.responseInfo.notifyUsers;\r\n $scope.personNames = undefined;\r\n if (dataServices.responseInfo.responses) {\r\n for (var key in self.mapSectionCodeToPageUrl) {\r\n if ($scope.navTabNum == 4 && $scope.pageUrl === key && dataServices.responseInfo.responses[self.mapCodeToPageId[key]] && dataServices.responseInfo.responses[self.mapCodeToPageId[key]].length > 0) {\r\n for (var itemIndex = 0; itemIndex < dataServices.responseInfo.responses[self.mapCodeToPageId[key]].length; itemIndex++) {\r\n $scope.pageShadowResponse[itemIndex] = angular.copy(dataServices.responseInfo.responses[self.mapCodeToPageId[key]][itemIndex]);\r\n }\r\n }\r\n }\r\n }\r\n $scope.isSomeoneHurtOrInvolved = function () {\r\n return self.isSomeoneHurtOrInvolved();\r\n };\r\n $scope.isPatientHurtOrInvolved = function () {\r\n return self.isPatientHurtOrInvolved();\r\n };\r\n $scope.isStaffHurtOrInvolved = function () {\r\n return self.isStaffHurtOrInvolved();\r\n };\r\n $scope.isVisitorHurtOrInvolved = function () {\r\n return self.isVisitorHurtOrInvolved();\r\n };\r\n $scope.isExistingDanger = function () {\r\n return self.isExistingDanger();\r\n };\r\n $scope.isSomeoneHurtInvolvedOrDangerExists = function () {\r\n return self.isSomeoneHurtOrInvolved() || self.isExistingDanger();\r\n };\r\n $scope.saveCase = function () {\r\n self.dataServices.userAction = '';\r\n self.saveCase();\r\n };\r\n $scope.submitCase = function () {\r\n self.submitCase();\r\n };\r\n $scope.validatePeopleAdded = function (successFunction, failureFunction) {\r\n self.validatePeopleAdded(successFunction, failureFunction);\r\n };\r\n $scope.saveExistingPageItem = function (pIndex) {\r\n self.saveExistingPageItem(pIndex);\r\n };\r\n $scope.saveNewSectionItem = function (pIndex, sIndex, sCode) {\r\n self.saveNewSectionItem(pIndex, sIndex, sCode);\r\n };\r\n $scope.saveExistingSectionItem = function (pIndex, sIndex, sCode) {\r\n self.saveExistingSectionItem(pIndex, sIndex, sCode);\r\n };\r\n $scope.deleteSectionItem = function (pIndex, sIndex, sCode, popupConfirmCode) {\r\n self.deleteSectionItem(pIndex, sIndex, sCode, popupConfirmCode);\r\n };\r\n $scope.getPatientName = function (referenceId) {\r\n var match = _.find(self.$scope.responses['1-1'][0]['patient'], function (sectionItem) {\r\n return sectionItem.id == referenceId;\r\n });\r\n if (match) {\r\n return match.pFirstName + \" \" + match.pSurname;\r\n }\r\n else {\r\n return '';\r\n }\r\n };\r\n $scope.getStaffName = function (referenceId) {\r\n var match = _.find(self.$scope.responses['1-1'][0]['staff'], function (sectionItem) {\r\n return sectionItem.id == referenceId;\r\n });\r\n if (match) {\r\n if (angular.isDefined(match.sFirstName)) {\r\n return match.sFirstName + \" \" + match.sSurname;\r\n }\r\n else {\r\n return match.sStaffNameLookup.text.replace(',', '');\r\n }\r\n }\r\n else {\r\n return '';\r\n }\r\n };\r\n $scope.validateWhatTabItems = function () {\r\n if (self.isPatientHurtOrInvolvedAnswered()) {\r\n if (self.$scope.responses[self.mapCodeToPageId['patient']] === undefined) {\r\n self.$scope.responses[self.mapCodeToPageId['patient']] = [];\r\n }\r\n self.dataServices.caseResponseInfo.isPatientSectionVisible = true;\r\n }\r\n else {\r\n var pageId = self.mapCodeToPageId['patient'];\r\n delete self.$scope.responses[pageId];\r\n }\r\n if (self.isStaffHurtOrInvolvedAnswered()) {\r\n if (self.$scope.responses[self.mapCodeToPageId['staff']] === undefined) {\r\n self.$scope.responses[self.mapCodeToPageId['staff']] = [];\r\n }\r\n self.dataServices.caseResponseInfo.isStaffSectionVisible = true;\r\n }\r\n else {\r\n var pageId = self.mapCodeToPageId['staff'];\r\n delete self.$scope.responses[pageId];\r\n }\r\n if (self.isVisitorHurtOrInvolvedAnswered()) {\r\n if (self.$scope.responses[self.mapCodeToPageId['visitor']] === undefined) {\r\n self.$scope.responses[self.mapCodeToPageId['visitor']] = [];\r\n }\r\n self.dataServices.caseResponseInfo.isVisitorSectionVisible = true;\r\n }\r\n else {\r\n var pageId = self.mapCodeToPageId['visitor'];\r\n delete self.$scope.responses[pageId];\r\n }\r\n self.refreshMenu();\r\n };\r\n $scope.isSectionEditable = function (pIndex, sIndex, sCode) {\r\n if ($scope.responses[$scope.pageId][pIndex][sCode][sIndex] &&\r\n $scope.responses[$scope.pageId][pIndex][sCode][sIndex]['sStaffNameLookup'] &&\r\n $scope.responses[$scope.pageId][pIndex][sCode][sIndex]['sStaffNameLookup']['text'] &&\r\n $scope.responses[$scope.pageId][pIndex][sCode][sIndex]['sStaffNameLookup']['text'] == self.userProfile.firstname + ' ' + self.userProfile.lastname) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n $scope.addMeToIncident = function () {\r\n self.addCurrentUserToIncident();\r\n };\r\n $scope.confirmTheChange = function (code, that) {\r\n return self.confirmTheChange(code, that);\r\n };\r\n $scope.confirmNoHazard = function () {\r\n self.confirmNoHazard();\r\n };\r\n $scope.confirmNoOneHurtInvolved = function (p$, radioQuestionCode) {\r\n self.confirmNoOneHurtInvolved(radioQuestionCode);\r\n };\r\n $scope.isPageSpecificValidationMet = function (event, nextPage, previous) {\r\n self.isPageSpecificValidationMet(event, nextPage, previous);\r\n };\r\n $scope.changeCopyEvents = function (params, personType) { return self.changeCopyEvents(params, personType); };\r\n $scope.copyEvents = function (params, personType) { return self.copyEvents(params, personType); };\r\n $scope.hideShowCopyEvent = function (params, radiobtnCode) {\r\n return self.hideShowCopyEvent(params, radiobtnCode);\r\n };\r\n $scope.hasMoreThenOnePerson = function (params, personType) {\r\n return self.hasMoreThenOnePerson(params, personType);\r\n };\r\n $scope.getPersons = function (sectionCode) {\r\n return self.getPersons(sectionCode);\r\n };\r\n if (self.autoSaveForPage($location.path()) && self.constants.autoSaveEnabled) {\r\n $scope.$on('$locationChangeStart', function (event, current, previous) {\r\n if (event.defaultPrevented === false && self.utilityServices.isFormUrl(current) && self.$scope.hasUnsavedChanges()) {\r\n self.saveCaseChanges(true);\r\n }\r\n });\r\n }\r\n $scope.setupCaseTriggersAndDynamicValues = function () {\r\n self.setupCaseTriggersAndDynamicValues();\r\n };\r\n $scope.toggleWhatPageItem = function (pIndex) {\r\n self.toggleWhatPageItem(pIndex);\r\n };\r\n $scope.checkPageItemsAreSaved = function () {\r\n return true;\r\n };\r\n $scope.isPrerequisitePageValidationMet = function (nextPage) {\r\n return self.isPrerequisitePageValidationMet(nextPage);\r\n };\r\n $scope.hasActiveLineManager = function () {\r\n if (self.userProfile.lineManagers != null) {\r\n return self.userProfile.lineManagers.length > 0;\r\n }\r\n return false;\r\n };\r\n $scope.getApiSelectDefaultOption = function (pIndex, sIndex, sCode, qCode, parentQuestionCode) {\r\n var currentValue = self.$scope.valueOfQuestion(null, qCode, sCode, sIndex, pIndex, null);\r\n if (currentValue) {\r\n return currentValue;\r\n }\r\n else {\r\n if (qCode === 'reporterLineManager') {\r\n if (self.$scope.apiSelectValues && self.$scope.apiSelectValues[self.userProfile.userId.toString()]) {\r\n var reporterLineManagers = self.$scope.apiSelectValues[self.userProfile.userId.toString()].filter(function (m) { return m.tags.indexOf(\" myLineManager\") !== -1; });\r\n return reporterLineManagers.length === 1 ? reporterLineManagers[0] : undefined;\r\n }\r\n }\r\n else {\r\n var sStaffNameLookupAnswer = self.$scope.valueOfQuestion(null, parentQuestionCode, sCode, sIndex, pIndex, '1-1');\r\n if (sStaffNameLookupAnswer &&\r\n sStaffNameLookupAnswer.code &&\r\n self.$scope.apiSelectValues &&\r\n self.$scope.apiSelectValues[sStaffNameLookupAnswer.code]) {\r\n var staffLineManagers = self.$scope.apiSelectValues[sStaffNameLookupAnswer.code].filter(function (m) { return m.tags.indexOf(\" myLineManager\") !== -1; });\r\n return staffLineManagers.length === 1 ? staffLineManagers[0] : undefined;\r\n }\r\n }\r\n return undefined;\r\n }\r\n };\r\n $scope.getParentQuestionAnswer = function (pIndex, sIndex, sCode, parentQuestionCode) {\r\n return self.getParentQuestionAnswer(pIndex, sIndex, sCode, parentQuestionCode);\r\n };\r\n return _this;\r\n }\r\n CaseFormController.prototype.getMappedWhatPageIdForCode = function (code) {\r\n return this.mapCodeToPageId[code];\r\n };\r\n CaseFormController.prototype.isWhatPageId = function (pageId) {\r\n var self = this;\r\n return (self.whatpages.some(function (wp) { return (wp === pageId); }));\r\n };\r\n CaseFormController.prototype.filterApiLookupResult = function (lookUpQuestionCode, options) {\r\n var self = this;\r\n if (lookUpQuestionCode === 'sStaffNameLookup') {\r\n var index = options.findIndex(function (option) {\r\n return option.code === self.userProfile.userId.toString();\r\n });\r\n if (index > -1) {\r\n options.splice(index, 1);\r\n }\r\n }\r\n return options;\r\n };\r\n CaseFormController.prototype.determineValidatedPages = function (response, data) {\r\n var self = this;\r\n self.dataServices.validatedPages = [];\r\n self.dataServices.validationErrors.length = 0;\r\n for (var key in response) {\r\n var page = self.utilityServices.getPageById(data, key);\r\n var sections = page.sections;\r\n if (sections) {\r\n if (self.isPageValid(page, key, response)) {\r\n if (self.dataServices.validatedPages.indexOf(key) === -1) {\r\n self.dataServices.validatedPages.push(key);\r\n }\r\n }\r\n }\r\n }\r\n self.$scope.validatedPages = self.dataServices.validatedPages;\r\n };\r\n CaseFormController.prototype.isPageValid = function (page, pageId, response) {\r\n var self = this;\r\n var isValid = true;\r\n var sections = page.sections;\r\n if (sections) {\r\n var _level = 'inline';\r\n if (response && response[pageId]) {\r\n for (var pi = 0; pi < response[pageId].length; pi++) {\r\n for (var s = 0; s < sections.length; s++) {\r\n var section = sections[s];\r\n if (response[pageId][pi][section.code]) {\r\n for (var si = 0; si < response[pageId][pi][section.code].length; si++) {\r\n if (!section.condition || self.$scope.$eval(section.condition, { p$: self.setQuestionParams(pi, 0, section.code, pageId) }) === true) {\r\n $.each(section.questions, function () {\r\n isValid = self.validatePageQuestions(_level, this, pi, si, section.code, pageId) && isValid;\r\n if (!isValid) {\r\n return false;\r\n }\r\n });\r\n }\r\n if (!isValid) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return isValid;\r\n };\r\n CaseFormController.prototype.validatePageQuestions = function (level, question, pIndex, sIndex, sCode, pageId) {\r\n var self = this;\r\n var isValid = true;\r\n if (!question.condition || self.$scope.$eval(question.condition, { p$: self.setQuestionParams(pIndex, sIndex, sCode, pageId) }) === true) {\r\n if (question.validations && question.access !== 'R') {\r\n $.each(question.validations, function () {\r\n if (this.level == level.toLowerCase()) {\r\n if (self.$scope.$eval(this.rule, { p$: self.setQuestionParams(pIndex, sIndex, sCode, pageId) }) != true) {\r\n isValid = false;\r\n return false;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n return isValid;\r\n };\r\n CaseFormController.prototype.setQuestionParams = function (pIndex, sIndex, sCode, pageId) {\r\n return {\r\n 'pIndex': pIndex, 'sIndex': sIndex, 'sCode': sCode, 'pageId': pageId\r\n };\r\n };\r\n CaseFormController.prototype.isPageSpecificValidationMet = function (event, nextPage, previous) {\r\n var self = this;\r\n if (self.constants.nonFormUrls.indexOf(nextPage) === -1 && previous.indexOf(self.constants.Url.firstIncidentFormPage) > -1) {\r\n if (!self.isWhoTabValid()) {\r\n event.preventDefault();\r\n self.showNavigationWarning().then(function (data) {\r\n if (data === false) {\r\n self.$scope.responses = self.dataServices.originalResponse;\r\n self.$scope.returnToDashboard();\r\n return;\r\n }\r\n else {\r\n return;\r\n }\r\n });\r\n }\r\n }\r\n else {\r\n return;\r\n }\r\n };\r\n CaseFormController.prototype.isPrerequisitePageValidationMet = function (nextPage) {\r\n var self = this;\r\n var isPrerequisiteMet = false;\r\n try {\r\n var route = nextPage.split('/');\r\n if (route.length >= 4) {\r\n var destPage = self.utilityServices.getPage(self.$scope.configData, parseInt(route[2]), route[3]);\r\n if (destPage) {\r\n if (destPage.prerequisitePageValidation) {\r\n var pagesToCheck = destPage.prerequisitePageValidation.split('|');\r\n isPrerequisiteMet = pagesToCheck.every(function (pageId) {\r\n return self.$scope.validatedPages.indexOf(pageId) >= 0 ||\r\n (self.isWhatPageId(pageId) && self.isWhatPageRequired(pageId) === false);\r\n });\r\n }\r\n else {\r\n isPrerequisiteMet = true;\r\n }\r\n }\r\n }\r\n }\r\n catch (e) {\r\n }\r\n return isPrerequisiteMet;\r\n };\r\n CaseFormController.prototype.isReportingForPatient = function () {\r\n return this.isRepeatingSectionAnswered('patient', 0, 0, '1-1');\r\n };\r\n CaseFormController.prototype.isReportingForStaff = function () {\r\n return this.isRepeatingSectionAnswered('staff', 0, 0, '1-1') && this.hasReportOnBehalf();\r\n };\r\n CaseFormController.prototype.isReportingForVisitor = function () {\r\n return this.isRepeatingSectionAnswered('visitor', 0, 0, '1-1');\r\n };\r\n CaseFormController.prototype.isWhoTabValid = function () {\r\n var self = this;\r\n var isPatientSectionAnswered = self.isReportingForPatient();\r\n var isVisitorSectionAnswered = self.isReportingForVisitor();\r\n return isPatientSectionAnswered ||\r\n isVisitorSectionAnswered ||\r\n self.isExistingDanger() ||\r\n (self.$scope.responses['1-1'][0]['staff'] && self.isRepeatingSectionAnswered('staff', 0, 0, '1-1') && self.hasReportOnBehalf());\r\n };\r\n CaseFormController.prototype.isWhatPageRequired = function (pageId) {\r\n var self = this;\r\n var isRequired = true;\r\n switch (pageId) {\r\n case '4-1':\r\n isRequired = self.isReportingForPatient();\r\n break;\r\n case '4-2':\r\n isRequired = self.isReportingForStaff();\r\n break;\r\n case '4-3':\r\n isRequired = self.isReportingForVisitor();\r\n break;\r\n case '4-4':\r\n isRequired = self.isExistingDanger();\r\n break;\r\n default:\r\n break;\r\n }\r\n return isRequired;\r\n };\r\n CaseFormController.prototype.showNavigationWarning = function () {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n if (!self.isSomeoneHurtOrInvolved() && !self.isExistingDanger()) {\r\n self.$scope.utility.openPopup('confirmNoIncident').result.then(function (result) {\r\n deferred.resolve(false);\r\n }, function (data) {\r\n deferred.resolve(true);\r\n });\r\n }\r\n else if (self.$scope.responses['1-1'][0]['staff'] && self.isRepeatingSectionAnswered('staff', 0, 0, '1-1') && !self.hasReportOnBehalf()) {\r\n self.$scope.utility.openPopup('confirmNoOneHurtOrInvolved').result.then(function (result) {\r\n deferred.resolve(false);\r\n }, function (data) {\r\n deferred.resolve(true);\r\n });\r\n }\r\n else {\r\n deferred.resolve(true);\r\n }\r\n return deferred.promise;\r\n };\r\n CaseFormController.prototype.confirmNoOneHurtInvolved = function (radioQuestionCode) {\r\n var self = this;\r\n var isPatientSectionAnswered = self.isReportingForPatient();\r\n var isStaffSectionAnswered = self.isRepeatingSectionAnswered('staff', 0, 0, '1-1');\r\n var isVisitorSectionAnswered = self.isReportingForVisitor();\r\n if ((!isPatientSectionAnswered && !isStaffSectionAnswered && !isVisitorSectionAnswered) &&\r\n (self.$scope.valueOfQuestion(null, radioQuestionCode, 'who', 0, 0, '1-1') === 'no' ||\r\n (self.$scope.valueOfQuestion(null, radioQuestionCode, 'who', 0, 0, '1-1') === 'yes') && !self.$scope.responses['1-1'][0]['who'][0]['wWhoHurt'])) {\r\n self.clearTempData();\r\n delete self.$scope.responses['1-1'][0]['who'][0]['wWhoHurt'];\r\n delete self.$scope.responses['1-1'][0]['who'][0]['wWhoInvolved'];\r\n self.clearWhoInvolvedData();\r\n self.clearStaffWhereData();\r\n self.dataServices.caseResponseInfo.reset();\r\n self.refreshMenu();\r\n return;\r\n }\r\n if ((self.$scope.valueOfQuestion(null, radioQuestionCode, 'who', 0, 0, '1-1') === 'no') ||\r\n (radioQuestionCode === 'wSomeoneGetHurt' &&\r\n self.$scope.valueOfQuestion(null, 'wSomeoneInvolved', 'who', 0, 0, '1-1') === 'yes' &&\r\n (isPatientSectionAnswered || isStaffSectionAnswered || isVisitorSectionAnswered))) {\r\n self.populateTempData();\r\n self.$scope.utility.openPopup('affectedPersonsDeleteConfirmation').result.then(function (result) {\r\n self.clearTempData();\r\n self.clearStaffWhereData();\r\n self.dataServices.caseResponseInfo.reset();\r\n var pageId = self.mapCodeToPageId['patient'];\r\n delete self.$scope.responses[pageId];\r\n self.removeFromValidatedPages('4-1');\r\n pageId = self.mapCodeToPageId['staff'];\r\n delete self.$scope.responses[pageId];\r\n self.removeFromValidatedPages('4-2');\r\n pageId = self.mapCodeToPageId['visitor'];\r\n delete self.$scope.responses[pageId];\r\n self.removeFromValidatedPages('4-3');\r\n self.refreshMenu();\r\n }, function (data) {\r\n self.$scope.responses['1-1'][0]['who'][0][radioQuestionCode] = 'yes';\r\n if (radioQuestionCode === 'wSomeoneGetHurt' && self.wWhoHurt) {\r\n self.populateAllTypeValuesFromTempData();\r\n self.$scope.responses['1-1'][0]['who'][0]['wWhoHurt'] = self.wWhoHurt;\r\n delete self.$scope.responses['1-1'][0]['who'][0]['wWhoInvolved'];\r\n }\r\n else if (radioQuestionCode === 'wSomeoneInvolved' && self.wWhoInvolved) {\r\n self.populateAllTypeValuesFromTempData();\r\n self.$scope.responses['1-1'][0]['who'][0]['wWhoInvolved'] = self.wWhoInvolved;\r\n delete self.$scope.responses['1-1'][0]['who'][0]['wWhoHurt'];\r\n }\r\n else if (radioQuestionCode === 'wSomeoneGetHurt' && self.wWhoInvolved) {\r\n self.clearTempData();\r\n self.clearStaffWhereData();\r\n self.dataServices.caseResponseInfo.reset();\r\n delete self.$scope.responses['1-1'][0]['who'][0]['wWhoHurt'];\r\n }\r\n else {\r\n delete self.$scope.responses['1-1'][0]['who'][0]['wWhoInvolved'];\r\n delete self.$scope.responses['1-1'][0]['who'][0]['wWhoHurt'];\r\n }\r\n });\r\n }\r\n };\r\n CaseFormController.prototype.confirmTheChange = function (code, that) {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n if (self.isDoingCheck) {\r\n deferred.resolve(false);\r\n }\r\n else {\r\n var isPatientSectionAnswered = self.isReportingForPatient();\r\n var isStaffSectionAnswered = self.isRepeatingSectionAnswered('staff', 0, 0, '1-1');\r\n var isVisitorSectionAnswered = self.isReportingForVisitor();\r\n self.populateTempData();\r\n if (self.isPatientHurtOrInvolvedAnswered() && code === 'patient' && that.checked === false) {\r\n if (!isPatientSectionAnswered) {\r\n self.dataServices.caseResponseInfo.isPatientSectionVisible = false;\r\n deferred.resolve(true);\r\n return deferred.promise;\r\n }\r\n if (!self.isDoingCheck) {\r\n self.isDoingCheck = true;\r\n self.$scope.utility.openPopup('unselectPatientConfirmation').result\r\n .then(function (result) {\r\n self.dataServices.caseResponseInfo.isPatientSectionVisible = false;\r\n self.removeFromValidatedPages('4-1');\r\n deferred.resolve(true);\r\n }, function (data) {\r\n self.dataServices.caseResponseInfo.isPatientSectionVisible = true;\r\n self.AddSelectedItemBack('patient');\r\n self.populateTypeValuesFromTempData('patient');\r\n deferred.resolve(false);\r\n })\r\n .finally(function () {\r\n self.$timeout(function () {\r\n self.isDoingCheck = false;\r\n }, 0);\r\n });\r\n }\r\n }\r\n else if (self.isStaffHurtOrInvolvedAnswered() && code === 'staff' && that.checked === false) {\r\n if (!isStaffSectionAnswered) {\r\n self.dataServices.caseResponseInfo.isStaffSectionVisible = false;\r\n deferred.resolve(true);\r\n return deferred.promise;\r\n }\r\n if (!self.isDoingCheck) {\r\n self.isDoingCheck = true;\r\n self.$scope.utility.openPopup('unselectStaffConfirmation').result\r\n .then(function (result) {\r\n self.dataServices.caseResponseInfo.isStaffSectionVisible = false;\r\n self.clearStaffWhereData();\r\n self.removeFromValidatedPages('4-2');\r\n deferred.resolve(true);\r\n }, function (data) {\r\n self.dataServices.caseResponseInfo.isStaffSectionVisible = true;\r\n self.AddSelectedItemBack('staff');\r\n self.populateTypeValuesFromTempData('staff');\r\n deferred.resolve(false);\r\n })\r\n .finally(function () {\r\n self.$timeout(function () {\r\n self.isDoingCheck = false;\r\n }, 0);\r\n });\r\n }\r\n }\r\n else if (self.isVisitorHurtOrInvolvedAnswered() && code === 'visitor' && that.checked === false) {\r\n if (!isVisitorSectionAnswered) {\r\n self.dataServices.caseResponseInfo.isVisitorSectionVisible = false;\r\n deferred.resolve(true);\r\n return deferred.promise;\r\n }\r\n if (!self.isDoingCheck) {\r\n self.isDoingCheck = true;\r\n self.$scope.utility.openPopup('unselectVisitorConfirmation').result\r\n .then(function (result) {\r\n self.dataServices.caseResponseInfo.isVisitorSectionVisible = false;\r\n self.removeFromValidatedPages('4-3');\r\n deferred.resolve(true);\r\n }, function (data) {\r\n self.dataServices.caseResponseInfo.isVisitorSectionVisible = true;\r\n self.AddSelectedItemBack('visitor');\r\n self.populateTypeValuesFromTempData('visitor');\r\n deferred.resolve(false);\r\n })\r\n .finally(function () {\r\n self.$timeout(function () {\r\n self.isDoingCheck = false;\r\n }, 0);\r\n });\r\n }\r\n }\r\n else {\r\n if (that.checked === true) {\r\n self.populateTempData();\r\n deferred.resolve(true);\r\n }\r\n else {\r\n deferred.resolve(false);\r\n }\r\n }\r\n return deferred.promise;\r\n }\r\n };\r\n CaseFormController.prototype.confirmNoHazard = function () {\r\n var self = this;\r\n if (self.$scope.responses['4-4']) {\r\n self.hazardAssociatedWhatTab = self.$scope.responses['4-4'];\r\n }\r\n if (!self.isExistingDanger() && self.$scope.responses['4-4']) {\r\n self.$scope.utility.openPopup('unselectHazardConfirmation').result\r\n .then(function (result) {\r\n self.hazardAssociatedWhatTab = null;\r\n delete self.$scope.responses['4-4'];\r\n self.removeFromValidatedPages('4-4');\r\n }, function (data) {\r\n self.$scope.responses['1-1'][0]['who'][0].wIsStillDanger = 'yes';\r\n self.$scope.responses['4-4'] = self.hazardAssociatedWhatTab;\r\n });\r\n }\r\n self.refreshMenu();\r\n };\r\n CaseFormController.prototype.refreshMenu = function () {\r\n var self = this;\r\n self.$rootScope.$broadcast('updateConfigData', {\r\n formConfigData: self.dataServices.configData,\r\n navTabNum: self.$scope.navTabNum,\r\n pageUrl: self.$scope.pageUrl\r\n });\r\n };\r\n CaseFormController.prototype.clearTempData = function () {\r\n var self = this;\r\n delete self.wWhoHurt;\r\n delete self.wWhoInvolved;\r\n self.mapCodeToCachedValues['patient'] = new formApp.ValueCache(null, null);\r\n self.mapCodeToCachedValues['staff'] = new formApp.ValueCache(null, null);\r\n self.mapCodeToCachedValues['visitor'] = new formApp.ValueCache(null, null);\r\n };\r\n CaseFormController.prototype.clearWhoInvolvedData = function () {\r\n var self = this;\r\n var patiendId = self.mapCodeToPageId['patient'];\r\n var staffId = self.mapCodeToPageId['staff'];\r\n var visitorId = self.mapCodeToPageId['visitor'];\r\n if (self.$scope.responses[patiendId]) {\r\n delete self.$scope.responses[patiendId];\r\n }\r\n if (self.$scope.responses[staffId]) {\r\n delete self.$scope.responses[staffId];\r\n }\r\n if (self.$scope.responses[visitorId]) {\r\n delete self.$scope.responses[visitorId];\r\n }\r\n };\r\n CaseFormController.prototype.clearStaffWhereData = function () {\r\n var self = this;\r\n if (angular.isDefined(self.$scope.responses['3-1'])) {\r\n delete self.$scope.responses['3-1'][0]['where'][0]['wwIncidentOccur'];\r\n delete self.$scope.responses['3-1'][0]['where'][0]['wwLocation'];\r\n }\r\n };\r\n CaseFormController.prototype.isStaffWhereFieldsValid = function () {\r\n var self = this;\r\n var isStaffSectionAnswered = self.isRepeatingSectionAnswered('staff', 0, 0, '1-1');\r\n if (isStaffSectionAnswered && angular.isDefined(self.$scope.responses['3-1']) &&\r\n !angular.isDefined(self.$scope.responses['3-1'][0]['where'][0]['wwIncidentOccur']) &&\r\n !angular.isDefined(self.$scope.responses['3-1'][0]['where'][0]['wwLocation'])) {\r\n self.removeFromValidatedPages('3-1');\r\n return false;\r\n }\r\n return true;\r\n };\r\n CaseFormController.prototype.populateTempData = function () {\r\n var self = this;\r\n self.mapCodeToCachedValues['patient'] = new formApp.ValueCache(self.$scope.responses['1-1'][0]['patient'], self.$scope.responses['4-1']);\r\n self.mapCodeToCachedValues['staff'] = new formApp.ValueCache(self.$scope.responses['1-1'][0]['staff'], self.$scope.responses['4-2']);\r\n self.mapCodeToCachedValues['visitor'] = new formApp.ValueCache(self.$scope.responses['1-1'][0]['visitor'], self.$scope.responses['4-3']);\r\n if (self.$scope.responses['1-1'][0]['who'][0]['wWhoHurt']) {\r\n self.wWhoHurt = self.$scope.responses['1-1'][0]['who'][0]['wWhoHurt'];\r\n }\r\n if (self.$scope.responses['1-1'][0]['who'][0]['wWhoInvolved']) {\r\n self.wWhoInvolved = self.$scope.responses['1-1'][0]['who'][0]['wWhoInvolved'];\r\n }\r\n };\r\n CaseFormController.prototype.populateTypeValuesFromTempData = function (typeCode) {\r\n var self = this;\r\n if (!self.$scope.responses['1-1'][0][typeCode] && self.mapCodeToCachedValues[typeCode].whoArrayData) {\r\n self.$scope.responses['1-1'][0][typeCode] = self.mapCodeToCachedValues[typeCode].whoArrayData;\r\n }\r\n if (!self.$scope.responses[self.mapCodeToPageId[typeCode]] && self.mapCodeToCachedValues[typeCode].whatAssociatedData) {\r\n self.$scope.responses[self.mapCodeToPageId[typeCode]] = self.mapCodeToCachedValues[typeCode].whatAssociatedData;\r\n }\r\n };\r\n CaseFormController.prototype.populateAllTypeValuesFromTempData = function () {\r\n var self = this;\r\n self.populateTypeValuesFromTempData('patient');\r\n self.populateTypeValuesFromTempData('staff');\r\n self.populateTypeValuesFromTempData('visitor');\r\n };\r\n CaseFormController.prototype.AddSelectedItemBack = function (item) {\r\n var self = this;\r\n if (self.$scope.responses['1-1'][0]['who'][0].wWhoHurt && _.findIndex(self.$scope.responses['1-1'][0]['who'][0].wWhoHurt, function (o) { return o === item; }) < 0) {\r\n self.$scope.responses['1-1'][0]['who'][0].wWhoHurt.push(item);\r\n }\r\n if (self.$scope.responses['1-1'][0]['who'][0].wWhoInvolved && _.findIndex(self.$scope.responses['1-1'][0]['who'][0].wWhoInvolved, function (o) { return o === item; }) < 0) {\r\n self.$scope.responses['1-1'][0]['who'][0].wWhoInvolved.push(item);\r\n }\r\n };\r\n CaseFormController.prototype.isSomeoneHurtOrInvolved = function () {\r\n var self = this;\r\n return (self.$scope.valueOfQuestion(null, 'wSomeoneGetHurt', 'who', 0, 0, '1-1') === 'yes' ||\r\n self.$scope.valueOfQuestion(null, 'wSomeoneInvolved', 'who', 0, 0, '1-1') === 'yes');\r\n };\r\n CaseFormController.prototype.isPatientHurtOrInvolved = function () {\r\n var self = this;\r\n return self.dataServices.caseResponseInfo.isPatientSectionVisible;\r\n };\r\n CaseFormController.prototype.isStaffHurtOrInvolved = function () {\r\n var self = this;\r\n return self.dataServices.caseResponseInfo.isStaffSectionVisible;\r\n };\r\n CaseFormController.prototype.isVisitorHurtOrInvolved = function () {\r\n var self = this;\r\n return self.dataServices.caseResponseInfo.isVisitorSectionVisible;\r\n };\r\n CaseFormController.prototype.isPatientHurtOrInvolvedAnswered = function () {\r\n var self = this;\r\n return (self.$scope.questionContains(null, 'wWhoHurt', 'patient', 'who', 0, 0, '1-1') ||\r\n self.$scope.questionContains(null, 'wWhoInvolved', 'patient', 'who', 0, 0, '1-1'));\r\n };\r\n CaseFormController.prototype.isStaffHurtOrInvolvedAnswered = function () {\r\n var self = this;\r\n return (self.$scope.questionContains(null, 'wWhoHurt', 'staff', 'who', 0, 0, '1-1') ||\r\n self.$scope.questionContains(null, 'wWhoInvolved', 'staff', 'who', 0, 0, '1-1'));\r\n };\r\n CaseFormController.prototype.isVisitorHurtOrInvolvedAnswered = function () {\r\n var self = this;\r\n return (self.$scope.questionContains(null, 'wWhoHurt', 'visitor', 'who', 0, 0, '1-1') ||\r\n self.$scope.questionContains(null, 'wWhoInvolved', 'visitor', 'who', 0, 0, '1-1'));\r\n };\r\n CaseFormController.prototype.isExistingDanger = function () {\r\n var self = this;\r\n return (self.$scope.valueOfQuestion(null, 'wIsStillDanger', 'who', 0, 0, '1-1') === 'yes');\r\n };\r\n CaseFormController.prototype.addCurrentUserToIncident = function () {\r\n var self = this;\r\n var staffSectionCode = 'staff';\r\n var pIndex = 0;\r\n var whatTabNum = 4;\r\n var whatPageId = self.mapCodeToPageId[staffSectionCode];\r\n var whatPageUrl = self.mapSectionCodeToPageUrl[staffSectionCode];\r\n var staffSectionItems = self.$scope.responses['1-1'][pIndex][staffSectionCode];\r\n var currentUserFullName = self.userProfile.firstname + \" \" + self.userProfile.lastname;\r\n if (self.$scope.valueOfQuestion(null, 'sStaffMember', 'staffintro', 0, 0, '1-1') === 'yes') {\r\n if (self.dataServices.userProfile.isCentral) {\r\n self.$scope.utility.openPopup('staffInvolvedValidate').result\r\n .finally(function () {\r\n self.$scope.responses[self.$scope.pageId][pIndex]['staffintro'][0].sStaffMember = 'no';\r\n });\r\n return;\r\n }\r\n var count = _.filter(staffSectionItems, function (item) {\r\n return item.sStaffNameLookup &&\r\n item.sStaffNameLookup.text.toLowerCase().trim() === currentUserFullName.toLowerCase().trim();\r\n }).length;\r\n if (count > 0) {\r\n self.$scope.utility.openPopup('duplicateStaff');\r\n return;\r\n }\r\n var isSectionAnswered = (_.filter(staffSectionItems, function (item) {\r\n return item.sStaffNameLookup || item.sFirstName;\r\n }).length > 0);\r\n var sIndex = self.$scope.addPopulatedSectionItem(pIndex, staffSectionCode, false, self.constants.RepeatingItemState.viewing, isSectionAnswered);\r\n var newStaffItem = self.$scope.responses['1-1'][pIndex][staffSectionCode][sIndex];\r\n newStaffItem['sStaffNameLookup'] = {\r\n code: self.userProfile.userId.toString(),\r\n text: currentUserFullName,\r\n tags: self.userProfile.primaryEmail\r\n };\r\n newStaffItem['sStaffLookupNotFound'] = false;\r\n newStaffItem['sReportOnBehalfOf'] = 'yes';\r\n if (self.$scope.hasActiveLineManager()) {\r\n newStaffItem['staffLineManager'] = angular.copy(self.userProfile.lineManagers[0]);\r\n }\r\n else {\r\n newStaffItem['confirmNoStaffLineManager'] = true;\r\n }\r\n if (angular.isDefined(whatPageId) && angular.isDefined(whatPageUrl)) {\r\n self.$scope.addPageItemOnOtherPage(whatPageId, whatPageUrl, whatTabNum, newStaffItem.id);\r\n self.removeFromValidatedPages(whatPageId);\r\n }\r\n if (!isSectionAnswered) {\r\n self.removeFromValidatedPages(self.constants.casePageIds.where);\r\n }\r\n }\r\n else {\r\n if (staffSectionItems && staffSectionItems.length > 0) {\r\n var matchIndex_1 = _.findIndex(staffSectionItems, function (item) {\r\n return item.sStaffNameLookup &&\r\n item.sStaffNameLookup.text.toLowerCase().trim() === currentUserFullName.toLowerCase().trim();\r\n });\r\n if (matchIndex_1 > -1) {\r\n var params = self.$scope.responses[self.$scope.pageId][pIndex][staffSectionCode][matchIndex_1];\r\n self.$scope.utility.openPopup('confirmDeleteStaff', params).result.then(function (result) {\r\n var sectionItem = _.find(staffSectionItems, function (item) {\r\n return item.sStaffNameLookup &&\r\n item.sStaffNameLookup.text.toLowerCase().trim() === currentUserFullName.toLowerCase().trim();\r\n });\r\n var whatPageIndexToDelete = _.findIndex(self.$scope.responses[whatPageId], function (o) { return o.$referenceId == sectionItem.id; });\r\n if (whatPageIndexToDelete > -1) {\r\n self.$scope.responses[whatPageId].splice(whatPageIndexToDelete, 1);\r\n if (self.$scope.responses[whatPageId].length == 1) {\r\n delete self.$scope.responses[whatPageId][0]['staffcopy'];\r\n }\r\n if (self.$scope.responses[whatPageId].length == 0) {\r\n delete self.$scope.responses[whatPageId];\r\n self.removeFromValidatedPages(whatPageId);\r\n }\r\n self.refreshMenu();\r\n }\r\n staffSectionItems.splice(matchIndex_1, 1);\r\n if (staffSectionItems.length == 0) {\r\n self.$scope.addSectionItem(pIndex, staffSectionCode, false);\r\n }\r\n if (self.$scope.shadowResponse[pIndex] &&\r\n self.$scope.shadowResponse[pIndex][staffSectionCode] &&\r\n self.$scope.shadowResponse[pIndex][staffSectionCode][matchIndex_1]) {\r\n self.$scope.shadowResponse[pIndex][staffSectionCode].splice(matchIndex_1, 1);\r\n }\r\n self.$scope.deregisterSectionItemWatches(pIndex, staffSectionCode, matchIndex_1);\r\n self.$scope.utility.focus('sectionAddNewButton-' + pIndex + '-' + staffSectionCode);\r\n }, function (data) {\r\n self.$scope.responses[self.$scope.pageId][pIndex]['staffintro'][0].sStaffMember = 'yes';\r\n });\r\n }\r\n }\r\n }\r\n self.refreshMenu();\r\n };\r\n CaseFormController.prototype.saveCase = function () {\r\n var self = this;\r\n if (self.$scope.hasUnsavedChanges()) {\r\n self.$scope.currentLoadSaveMessage = 'Saving incident';\r\n self.saveCaseChanges()\r\n .then(function (result) {\r\n if (result.status === formApp.ResultStatusCode.Success) {\r\n self.$scope.returnToDashboard();\r\n }\r\n })\r\n .catch(function (error) {\r\n self.$scope.utility.openPopup('errorSave', error);\r\n });\r\n }\r\n else {\r\n self.$scope.returnToDashboard();\r\n }\r\n };\r\n CaseFormController.prototype.submitCase = function () {\r\n var self = this;\r\n if (self.dataServices.isSavingCase) {\r\n self.$scope.utility.showNotification(true, 'saveCaseInProgress', null, null, self.constants.dismissNotificationDelayInMilliSeconds);\r\n return;\r\n }\r\n if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, null, null, null, 'inline')) {\r\n self.$scope.utility.showNotification(false, 'saveCaseInProgress');\r\n self.$scope.currentLoadSubmitMessage = 'Submitting Incident';\r\n self.$scope.notifyIsSavingChanged(true, self.constants.pageLoaderFallBackTimeoutInMillisecondsExtended);\r\n self.$scope.setDateAndParts('whNotificationDate', self.$scope.utility.getSystemDate(), self.$scope.responses['2-1'][0]['when'][0]);\r\n self.dataServices.submitCase()\r\n .then(function (response) {\r\n if (response.data) {\r\n if (response.data.status == formApp.ResultStatusCode.UpdatedSinceReadTime) {\r\n self.$scope.utility.openPopup('savedElsewhere');\r\n }\r\n else if (response.data.status == formApp.ResultStatusCode.Success) {\r\n self.dataServices.trackEventsWithGA('Submit action in ' + self.$scope.pageUrl, 'Click Submit To Manager', 'Successfully Submitted Incident');\r\n self.updateCaseStatusBarInformation(response.data);\r\n self.$scope.goToNextPage();\r\n }\r\n else {\r\n self.$scope.utility.openPopup('errorSubmit', formApp.ErrorInfo.fromCustomError('Submit Case', '', response.data.status));\r\n }\r\n }\r\n else {\r\n self.utilityServices.openPopup('errorSubmit', formApp.ErrorInfo.fromCustomError('Submit Case', 'Failed to return data'));\r\n }\r\n }, function (response) {\r\n self.$scope.utility.openPopup('errorSubmit', formApp.ErrorInfo.fromHttpResponse(response));\r\n self.dataServices.trackEventsWithGA('Error occurred during Submitting in ' + self.$scope.pageUrl, 'Click Submit To Manager', 'Failed to Submit Incident');\r\n })\r\n .finally(function () {\r\n self.$scope.notifyIsSavingChanged(false);\r\n });\r\n }\r\n else {\r\n self.$scope.moveToFirstError();\r\n }\r\n };\r\n CaseFormController.prototype.validatePeopleAdded = function (successFunction, failureFunction) {\r\n var self = this;\r\n if (self.isSomeoneHurtOrInvolved() === false && self.isExistingDanger() === false) {\r\n self.$scope.$eval(successFunction);\r\n }\r\n else if (!((self.isPatientHurtOrInvolved() && self.$scope.checkSectionItemsAreSaved('patient') === false) ||\r\n (self.isStaffHurtOrInvolved() && self.$scope.checkSectionItemsAreSaved('staff') === false) ||\r\n (self.isVisitorHurtOrInvolved() && self.$scope.checkSectionItemsAreSaved('visitor') === false) ||\r\n (self.$scope.valueOfQuestion(null, 'wAnyWitness', 'witnessintro', 0, 0, '1-1') === 'yes' && self.$scope.checkSectionItemsAreSaved('witnesses') === false))) {\r\n if (!self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, null, null, null, 'inline')) {\r\n var err = self.$scope.validationErrors[0];\r\n self.$scope.openScrollToSectionItem(err.pageIndex, err.sectionCode, err.sectionIndex);\r\n }\r\n else {\r\n self.$scope.$eval(successFunction);\r\n }\r\n }\r\n };\r\n CaseFormController.prototype.toggleWhatPageItem = function (pIndex) {\r\n var self = this;\r\n var newState = self.$scope.getPageItemState(pIndex) == self.constants.RepeatingItemState.viewing ?\r\n self.constants.RepeatingItemState.editing : self.constants.RepeatingItemState.viewing;\r\n self.$scope.setPageItemState(pIndex, newState, undefined);\r\n };\r\n CaseFormController.prototype.saveExistingPageItem = function (pIndex) {\r\n var self = this;\r\n if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, pIndex, null, null, 'inline')) {\r\n self.$scope.setPageItemState(pIndex, self.constants.RepeatingItemState.viewing, undefined);\r\n self.$scope.pageShadowResponse[pIndex] = angular.copy(self.$scope.responses[self.$scope.pageId][pIndex]);\r\n self.$scope.utility.focus('pageEdit-' + pIndex);\r\n }\r\n else {\r\n self.$scope.alertFirstError();\r\n }\r\n };\r\n CaseFormController.prototype.addRepeatingPageOnTheWhatTab = function (pIndex, sIndex, sCode, sectionId) {\r\n var self = this;\r\n var whatTabNum = 4;\r\n if ((sCode === 'staff' && self.$scope.valueOfQuestion(null, 'sReportOnBehalfOf', 'staff', sIndex, pIndex, self.$scope.pageId) === 'yes') ||\r\n sCode == 'patient' ||\r\n sCode == 'visitor') {\r\n var whatPageId = self.mapCodeToPageId[sCode];\r\n var whatPageUrl = self.mapSectionCodeToPageUrl[sCode];\r\n if (angular.isDefined(whatPageId) && angular.isDefined(whatPageUrl)) {\r\n self.$scope.addPageItemOnOtherPage(whatPageId, whatPageUrl, whatTabNum, sectionId);\r\n self.removeFromValidatedPages(whatPageId);\r\n }\r\n }\r\n };\r\n CaseFormController.prototype.saveNewSectionItem = function (pIndex, sIndex, sCode) {\r\n var self = this;\r\n if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, pIndex, sCode, sIndex, 'inline')) {\r\n self.checkSectionItemsUnique(self.$scope.pageId, pIndex, sIndex, sCode)\r\n .then(function (isUnique) {\r\n if (isUnique) {\r\n self.$scope.setSectionItemState(pIndex, sIndex, sCode, self.constants.RepeatingItemState.viewing);\r\n if (!self.$scope.shadowResponse[pIndex]) {\r\n self.$scope.shadowResponse[pIndex] = [];\r\n }\r\n if (!self.$scope.shadowResponse[pIndex][sCode]) {\r\n self.$scope.shadowResponse[pIndex][sCode] = [];\r\n }\r\n self.$scope.shadowResponse[pIndex][sCode][sIndex] = angular.copy(self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex]);\r\n self.addRepeatingPageOnTheWhatTab(pIndex, sIndex, sCode, self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex].id);\r\n self.refreshMenu();\r\n if (sCode === 'staff' && self.$scope.getSectionItemCount(self.$scope.pageId, sCode, pIndex) === 1) {\r\n self.removeFromValidatedPages(self.constants.casePageIds.where);\r\n }\r\n self.$scope.utility.focus('sectionAddNewButton-' + pIndex + '-' + sCode);\r\n }\r\n });\r\n }\r\n else {\r\n self.$scope.alertFirstError();\r\n }\r\n };\r\n CaseFormController.prototype.saveExistingSectionItem = function (pIndex, sIndex, sCode) {\r\n var self = this;\r\n var currentSectionId = self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex].id;\r\n if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, pIndex, sCode, sIndex, 'inline')) {\r\n self.checkSectionItemsUnique(self.$scope.pageId, pIndex, sIndex, sCode)\r\n .then(function (isUnique) {\r\n if (isUnique) {\r\n self.$scope.setSectionItemState(pIndex, sIndex, sCode, self.constants.RepeatingItemState.viewing);\r\n self.$scope.shadowResponse[pIndex][sCode][sIndex] = angular.copy(self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex]);\r\n var updatedWhatItemIndex = _.findIndex(self.$scope.responses[self.mapCodeToPageId[sCode]], function (o) {\r\n return o.$referenceId === currentSectionId;\r\n });\r\n if (updatedWhatItemIndex === -1) {\r\n self.addRepeatingPageOnTheWhatTab(pIndex, sIndex, sCode, currentSectionId);\r\n self.refreshMenu();\r\n }\r\n else {\r\n if (sCode === 'staff' && self.$scope.valueOfQuestion(null, 'sReportOnBehalfOf', 'staff', sIndex, 0, '1-1') === 'no') {\r\n self.$scope.utility.openPopup('confirmReportOnBehalfOfChange').result\r\n .then(function (result) {\r\n self.deleteAssociatedWhatPageItem('staff', currentSectionId);\r\n self.refreshMenu();\r\n }, function (data) {\r\n self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex]['sReportOnBehalfOf'] = 'yes';\r\n });\r\n }\r\n else {\r\n self.refreshMenu();\r\n }\r\n }\r\n self.$scope.utility.focus('sectionEdit-' + pIndex + '-' + sCode + '-' + sIndex);\r\n }\r\n });\r\n }\r\n else {\r\n self.$scope.alertFirstError();\r\n }\r\n };\r\n CaseFormController.prototype.deleteAssociatedWhatPageItem = function (sCode, id) {\r\n var self = this;\r\n var pageId = self.mapCodeToPageId[sCode];\r\n var pageUrl = self.mapSectionCodeToPageUrl[sCode];\r\n if (angular.isDefined(pageId) && angular.isDefined(pageUrl)) {\r\n var deletedItemIndex = _.findIndex(self.$scope.responses[pageId], function (o) {\r\n return o.$referenceId === id;\r\n });\r\n if (deletedItemIndex > -1) {\r\n self.$scope.responses[pageId].splice(deletedItemIndex, 1);\r\n if (self.$scope.responses[pageId].length === 1) {\r\n delete self.$scope.responses[pageId][0][sCode + \"copy\"];\r\n }\r\n else if (self.$scope.responses[pageId].length === 0) {\r\n delete self.$scope.responses[pageId];\r\n self.removeFromValidatedPages(pageId);\r\n }\r\n }\r\n }\r\n };\r\n CaseFormController.prototype.checkSectionItemsUnique = function (pageId, pIndex, sIndex, sCode) {\r\n var self = this;\r\n if (sCode === 'patient') {\r\n return self.checkPatientsUnique(pageId, pIndex, sIndex, sCode);\r\n }\r\n else if (sCode === 'staff') {\r\n return self.checkStaffUnique(pageId, pIndex, sIndex, sCode);\r\n }\r\n else if (sCode === 'visitor') {\r\n return self.checkVisitorsUnique(pageId, pIndex, sIndex, sCode);\r\n }\r\n else if (sCode === 'witnesses') {\r\n return self.checkWitnessesUnique(pageId, pIndex, sIndex, sCode);\r\n }\r\n else {\r\n var deferred = self.$q.defer();\r\n deferred.resolve(true);\r\n return deferred.promise;\r\n }\r\n };\r\n CaseFormController.prototype.checkPatientsUnique = function (pageId, pIndex, sIndex, sCode) {\r\n var self = this;\r\n return self.$scope.handleDuplicateSectionItems(pageId, pIndex, sIndex, sCode, function (s1, s2) { return s1 && s2 && s1.pClientId && s2.pClientId && s1.pClientId.toLowerCase().trim() === s2.pClientId.toLowerCase().trim(); }, 'duplicatePatients');\r\n };\r\n CaseFormController.prototype.checkStaffUnique = function (pageId, pIndex, sIndex, sCode) {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n if (self.$scope.getSectionItemCount(pageId, sCode, pIndex) > 1) {\r\n var sectionItems = self.$scope.responses[pageId][pIndex][sCode];\r\n var currItem = sectionItems[sIndex];\r\n var staffNameLookup_1 = currItem.sStaffNameLookup;\r\n var lookupNotFound = currItem.sStaffLookupNotFound || false;\r\n var email_1 = currItem.sEmail ? currItem.sEmail.toLowerCase().trim() : '';\r\n var count = _.filter(sectionItems, function (item) {\r\n var itemStaffNameLookup = item.sStaffNameLookup;\r\n var itemEmail = item.sEmail ? item.sEmail.toLowerCase().trim() : '';\r\n return ((staffNameLookup_1 && itemStaffNameLookup && staffNameLookup_1.code === itemStaffNameLookup.code &&\r\n staffNameLookup_1.text === itemStaffNameLookup.text && staffNameLookup_1.tags === itemStaffNameLookup.tags) ||\r\n (staffNameLookup_1 && itemStaffNameLookup === undefined && staffNameLookup_1.tags.toLowerCase().trim() === itemEmail) ||\r\n (staffNameLookup_1 === undefined && itemStaffNameLookup && itemStaffNameLookup.tags.toLowerCase().trim() === email_1) ||\r\n (staffNameLookup_1 === undefined && itemStaffNameLookup === undefined && itemEmail === email_1));\r\n }).length;\r\n if (count > 1) {\r\n self.$scope.utility.openPopup('duplicateStaff');\r\n deferred.resolve(false);\r\n }\r\n else {\r\n deferred.resolve(true);\r\n }\r\n }\r\n else {\r\n deferred.resolve(true);\r\n }\r\n return deferred.promise;\r\n };\r\n CaseFormController.prototype.checkVisitorsUnique = function (pageId, pIndex, sIndex, sCode) {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n if (self.$scope.getSectionItemCount(pageId, sCode, pIndex) > 1) {\r\n var sectionItems = self.$scope.responses[pageId][pIndex][sCode];\r\n if (sectionItems[sIndex].fIsVisitorIdentifiable === 'no') {\r\n deferred.resolve(true);\r\n }\r\n else {\r\n var firstName_1 = sectionItems[sIndex].fFirstName.toLowerCase().trim();\r\n var surname_1 = sectionItems[sIndex].fSurname.toLowerCase().trim();\r\n var phoneNumber_1 = sectionItems[sIndex].fPhoneNumber ? sectionItems[sIndex].fPhoneNumber.trim() : '';\r\n var count = _.filter(sectionItems, function (item) {\r\n var itemFirstName = item.fFirstName ? item.fFirstName.toLowerCase().trim() : '';\r\n var itemSurname = item.fSurname ? item.fSurname.toLowerCase().trim() : '';\r\n var itemPhoneNumber = item.fPhoneNumber ? item.fPhoneNumber.trim() : '';\r\n return firstName_1 === itemFirstName &&\r\n surname_1 === itemSurname &&\r\n phoneNumber_1 === itemPhoneNumber;\r\n }).length;\r\n if (count > 1) {\r\n self.$scope.utility.openPopup('confirmDuplicateVisitor').result\r\n .then(function (dlgResult) {\r\n deferred.resolve(dlgResult.result === 'ok');\r\n }, function () {\r\n deferred.resolve(false);\r\n });\r\n }\r\n else {\r\n deferred.resolve(true);\r\n }\r\n }\r\n }\r\n else {\r\n deferred.resolve(true);\r\n }\r\n return deferred.promise;\r\n };\r\n CaseFormController.prototype.checkWitnessesUnique = function (pageId, pIndex, sIndex, sCode) {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n if (self.$scope.getSectionItemCount(pageId, sCode, pIndex) > 1) {\r\n var sectionItems = self.$scope.responses[pageId][pIndex][sCode];\r\n var firstName_2 = sectionItems[sIndex].wFirstName.toLowerCase().trim();\r\n var surname_2 = sectionItems[sIndex].wSurname.toLowerCase().trim();\r\n var position_1 = sectionItems[sIndex].wPosition;\r\n var role_1 = sectionItems[sIndex].wRole;\r\n var count = _.filter(sectionItems, function (item) {\r\n var itemFirstName = item.wFirstName ? item.wFirstName.toLowerCase().trim() : '';\r\n var itemSurname = item.wSurname ? item.wSurname.toLowerCase().trim() : '';\r\n return firstName_2 === itemFirstName &&\r\n surname_2 === itemSurname &&\r\n position_1 === item.wPosition &&\r\n role_1 === item.wRole;\r\n }).length;\r\n if (count > 1) {\r\n self.$scope.utility.openPopup('confirmDuplicateWitness').result\r\n .then(function (dlgResult) {\r\n deferred.resolve(dlgResult.result === 'ok');\r\n }, function () {\r\n deferred.resolve(false);\r\n });\r\n }\r\n else {\r\n deferred.resolve(true);\r\n }\r\n }\r\n else {\r\n deferred.resolve(true);\r\n }\r\n return deferred.promise;\r\n };\r\n CaseFormController.prototype.autoSaveForPage = function (path) {\r\n var enabled = this.autoSaveExceptionUrls.indexOf(path) === -1;\r\n return enabled;\r\n };\r\n CaseFormController.prototype.hasReportOnBehalf = function () {\r\n var self = this;\r\n if (self.$scope.responses['1-1'][0]['staff'] && self.$scope.responses['1-1'][0]['staff'].length > 0) {\r\n for (var sIndex = 0; sIndex < self.$scope.responses['1-1'][0]['staff'].length; sIndex++) {\r\n if (self.$scope.valueOfQuestion(null, 'sReportOnBehalfOf', 'staff', sIndex, 0, '1-1') === 'yes') {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n CaseFormController.prototype.getPersons = function (sectionCode) {\r\n var self = this;\r\n var result = [];\r\n switch (sectionCode) {\r\n case 'patientcopy':\r\n _.forEach(self.$scope.responses['1-1'][0]['patient'], function (item) {\r\n if (self.pageHasEvents('patientmanageevents', 'pMultiSelectEvent', item['id'])) {\r\n var fullname = item['pFirstName'] + ' ' + item['pSurname'];\r\n result.push({ text: fullname, code: item['id'] });\r\n }\r\n });\r\n break;\r\n case 'staffcopy':\r\n _.forEach(self.$scope.responses['1-1'][0]['staff'], function (item) {\r\n if (self.pageHasEvents('staffmanageevents', 'sMultiSelectEvent', item['id'])) {\r\n if (item['sReportOnBehalfOf'] !== undefined && item['sReportOnBehalfOf'] === 'yes') {\r\n var fullname = void 0;\r\n if (item['sStaffLookupNotFound']) {\r\n fullname = item['sFirstName'] + ' ' + item['sSurname'];\r\n }\r\n else {\r\n fullname = item['sStaffNameLookup']['text'];\r\n }\r\n result.push({ text: fullname, code: item['id'] });\r\n }\r\n }\r\n });\r\n break;\r\n case 'visitorcopy':\r\n _.forEach(self.$scope.responses['1-1'][0]['visitor'], function (item) {\r\n if (self.pageHasEvents('visitormanageevents', 'vMultiSelectEvent', item['id'])) {\r\n var fullname = (item['fFirstName'] === undefined) ? 'Unknown' : item['fFirstName'] + ' ' + item['fSurname'];\r\n result.push({ text: fullname, code: item['id'] });\r\n }\r\n });\r\n break;\r\n }\r\n if (angular.equals(self.$scope.personNames, result)) {\r\n return self.$scope.personNames;\r\n }\r\n self.$scope.personNames = result;\r\n return result;\r\n };\r\n CaseFormController.prototype.pageHasEvents = function (sectionCode, eventType, referenceId) {\r\n var self = this;\r\n var pageIndex = _.findIndex(self.$scope.responses[self.$scope.pageId], function (o) {\r\n return o.$referenceId === referenceId;\r\n });\r\n if (pageIndex !== undefined && self.$scope.responses[self.$scope.pageId][pageIndex]) {\r\n var detailSection = self.$scope.responses[self.$scope.pageId][pageIndex][sectionCode];\r\n return (detailSection && detailSection.some(function (r) { return r[eventType]; }));\r\n }\r\n return false;\r\n };\r\n CaseFormController.prototype.hasMoreThenOnePerson = function (params, personType) {\r\n var self = this;\r\n if (self.$scope.responses[self.$scope.pageId] !== undefined &&\r\n self.$scope.responses[self.$scope.pageId][params.pIndex] !== undefined) {\r\n var person = self.getPersons(params.sCode);\r\n var copyevent = self.getCopyEvents(personType);\r\n if (self.$scope.responses[self.$scope.pageId][params.pIndex][params.sCode] !== undefined &&\r\n self.$scope.responses[self.$scope.pageId][params.pIndex][params.sCode][params.sIndex] !== undefined &&\r\n self.$scope.responses[self.$scope.pageId][params.pIndex][params.sCode][params.sIndex][copyevent.radio] == undefined) {\r\n self.$scope.responses[self.$scope.pageId][params.pIndex][params.sCode][params.sIndex][copyevent.radio] = 'no';\r\n }\r\n var refId_1 = self.$scope.responses[self.$scope.pageId][params.pIndex]['$referenceId'];\r\n var personCount = _.filter(person, function (item) { return item['code'] !== refId_1; }).length;\r\n return (personCount > 0);\r\n }\r\n return false;\r\n };\r\n CaseFormController.prototype.hideShowCopyEvent = function (params, radiobtnCode) {\r\n var self = this;\r\n if (params) {\r\n if ((params['pIndex'] != undefined) && (params['sCode'] != undefined) && (params['sIndex'] != undefined)) {\r\n var pIndex = params.pIndex;\r\n var sCode = params.sCode;\r\n var sIndex = params.sIndex;\r\n if (self.$scope.responses[self.$scope.pageId] !== undefined &&\r\n self.$scope.responses[self.$scope.pageId][pIndex] !== undefined &&\r\n self.$scope.responses[self.$scope.pageId][pIndex][sCode] !== undefined) {\r\n var currentSection = self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex];\r\n return (currentSection[radiobtnCode] === 'yes');\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n CaseFormController.prototype.changeCopyEvents = function (params, personType) {\r\n var self = this;\r\n var pIndex = params.pIndex;\r\n var sCode = params.sCode;\r\n var sIndex = params.sIndex;\r\n var copyevent = self.getCopyEvents(personType);\r\n if (self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex][copyevent.radio] === 'no' &&\r\n self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex][copyevent.text] !== undefined &&\r\n self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex][copyevent.select] !== null) {\r\n self.$scope.utility.openPopup('confirmRemoveCopyEvents').result\r\n .then(function () {\r\n self.$scope.utility.removeFromValidationErrors(null, self.$scope.pageId, pIndex, null, null, null);\r\n var page = _.find(_.find(self.$scope.configData.navigationTabs, function (o) { return o.number == self.$scope.navTabNum; }).pages, function (p) { return p.url == self.$scope.pageUrl; });\r\n if (page.sections != undefined) {\r\n for (var s = 0; s < page.sections.length; s++) {\r\n var pageSection = page.sections[s];\r\n if (pageSection.code !== 'patientcopy' &&\r\n pageSection.code !== 'staffcopy' &&\r\n pageSection.code !== 'visitorcopy') {\r\n if (pageSection.code === 'patientwhathappened' ||\r\n pageSection.code === 'staffwhathappened' ||\r\n pageSection.code === 'staffaffectedbodypart' ||\r\n pageSection.code === 'visitorwhathappened' ||\r\n pageSection.code === 'visitoraffectedbodypart') {\r\n self.clearSection(pIndex, pageSection.code, 0);\r\n }\r\n else if (pageSection.code === 'patientmanageevents' ||\r\n pageSection.code === 'staffmanageevents' ||\r\n pageSection.code === 'visitormanageevents') {\r\n self.$scope.responses[self.$scope.pageId][pIndex][pageSection.code][0][copyevent.multiSelect] = undefined;\r\n }\r\n else {\r\n delete self.$scope.responses[self.$scope.pageId][pIndex][pageSection.code];\r\n }\r\n }\r\n }\r\n delete self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex][copyevent.text];\r\n }\r\n }, function () {\r\n self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex][copyevent.radio] = 'yes';\r\n self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex][copyevent.select] = self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex][copyevent.text];\r\n });\r\n }\r\n };\r\n CaseFormController.prototype.clearSection = function (pIndex, sCode, index) {\r\n var self = this;\r\n if (self.$scope.responses[self.$scope.pageId][pIndex] &&\r\n self.$scope.responses[self.$scope.pageId][pIndex][sCode] &&\r\n self.$scope.responses[self.$scope.pageId][pIndex][sCode][index] &&\r\n self.$scope.responses[self.$scope.pageId][pIndex][sCode][index]['id']) {\r\n var id_1 = self.$scope.responses[self.$scope.pageId][pIndex][sCode][index]['id'];\r\n _.forEach(self.$scope.responses[self.$scope.pageId][pIndex][sCode][index], function (item, columnName) {\r\n if (item !== id_1) {\r\n self.$scope.responses[self.$scope.pageId][pIndex][sCode][index][columnName] = undefined;\r\n }\r\n });\r\n }\r\n };\r\n CaseFormController.prototype.getCopyEvents = function (persontype) {\r\n var self = this;\r\n var copyEvents = self.mapCopyEvents[persontype];\r\n return copyEvents;\r\n };\r\n CaseFormController.prototype.copyEvents = function (params, personType) {\r\n if ((params['pIndex'] != undefined) && (params['sCode'] != undefined) && (params['sIndex'] != undefined)) {\r\n var self_1 = this;\r\n var pIndex_1 = params.pIndex;\r\n var sCode_1 = params.sCode;\r\n var sIndex_1 = params.sIndex;\r\n var copyevent_1 = self_1.getCopyEvents(personType);\r\n if (self_1.$scope.responses[self_1.$scope.pageId][pIndex_1][sCode_1][sIndex_1][copyevent_1.radio] === 'yes' &&\r\n self_1.$scope.responses[self_1.$scope.pageId][pIndex_1][sCode_1][sIndex_1][copyevent_1.text] !== undefined &&\r\n self_1.$scope.responses[self_1.$scope.pageId][pIndex_1][sCode_1][sIndex_1][copyevent_1.select] !== null) {\r\n self_1.$scope.utility.openPopup('confirmChangeCopyEvents').result\r\n .then(function () {\r\n self_1.copyEventsFunction(pIndex_1, sCode_1, sIndex_1, personType);\r\n }, function () {\r\n self_1.$scope.responses[self_1.$scope.pageId][pIndex_1][sCode_1][sIndex_1][copyevent_1.select] = self_1.$scope.responses[self_1.$scope.pageId][pIndex_1][sCode_1][sIndex_1][copyevent_1.text];\r\n });\r\n }\r\n else {\r\n self_1.copyEventsFunction(pIndex_1, sCode_1, sIndex_1, personType);\r\n }\r\n }\r\n };\r\n CaseFormController.prototype.copyEventsFunction = function (pIndex, sCode, sIndex, personType) {\r\n var self = this;\r\n var copyevent = self.getCopyEvents(personType);\r\n self.$scope.utility.removeFromValidationErrors(null, self.$scope.pageId, pIndex, null, null, null);\r\n var pageIndex = _.findIndex(self.$scope.responses[self.$scope.pageId], function (o) {\r\n return o.$referenceId == self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex][copyevent.select];\r\n });\r\n var page = _.find(_.find(self.$scope.configData.navigationTabs, function (o) { return o.number == self.$scope.navTabNum; }).pages, function (p) { return p.url == self.$scope.pageUrl; });\r\n if (page.sections != undefined) {\r\n for (var s = 0; s < page.sections.length; s++) {\r\n var pageSection = page.sections[s];\r\n if (pageSection.code !== 'patientcopy' &&\r\n pageSection.code !== 'staffcopy' &&\r\n pageSection.code !== 'visitorcopy' &&\r\n pageIndex > -1) {\r\n var responseSection = self.$scope.responses[self.$scope.pageId][pageIndex][pageSection.code];\r\n delete self.$scope.responses[self.$scope.pageId][pIndex][pageSection.code];\r\n if (responseSection && responseSection.length > 0) {\r\n self.$scope.responses[self.$scope.pageId][pIndex][pageSection.code] = angular.copy(responseSection);\r\n if (pageSection.code === 'patientwhathappened' ||\r\n pageSection.code === 'staffwhathappened' ||\r\n pageSection.code === 'visitorwhathappened') {\r\n self.$scope.responses[self.$scope.pageId][pIndex][pageSection.code][0]['pWhNextKinNotified'] = undefined;\r\n self.$scope.responses[self.$scope.pageId][pIndex][pageSection.code][0]['pWhPersonContacted'] = undefined;\r\n self.$scope.responses[self.$scope.pageId][pIndex][pageSection.code][0]['pWhDateNotified'] = undefined;\r\n self.$scope.responses[self.$scope.pageId][pIndex][pageSection.code][0]['pWhTimeNotified'] = undefined;\r\n }\r\n }\r\n }\r\n }\r\n self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex][copyevent.text] = self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex][copyevent.select];\r\n }\r\n };\r\n CaseFormController.prototype.setupCaseTriggersAndDynamicValues = function () {\r\n var self = this;\r\n self.dataServices.canSaveCase = false;\r\n self.$scope.setupTriggersAndDynamicValues();\r\n self.dataServices.canSaveCase = true;\r\n };\r\n CaseFormController.prototype.removeFromValidatedPages = function (pageId) {\r\n var self = this;\r\n if (self.$scope.validatedPages) {\r\n var index = self.$scope.validatedPages.indexOf(pageId);\r\n if (index >= 0) {\r\n self.$scope.validatedPages.splice(index, 1);\r\n }\r\n }\r\n };\r\n CaseFormController.prototype.getParentQuestionAnswer = function (pIndex, sIndex, sCode, parentQuestionCode) {\r\n var self = this;\r\n var answerCode = 'undefined';\r\n if (pIndex === 0 && sIndex === 0 && sCode === 'linemanagerdetails' && !parentQuestionCode) {\r\n return self.userProfile.userId.toString();\r\n }\r\n else {\r\n var answer = self.$scope.valueOfQuestion(null, parentQuestionCode, sCode, sIndex, pIndex, null);\r\n if (answer) {\r\n answerCode = answer.code;\r\n }\r\n return answerCode;\r\n }\r\n };\r\n CaseFormController.$inject = [\r\n '$scope',\r\n '$controller',\r\n '$q',\r\n 'UtilityServices',\r\n 'DataServices',\r\n 'PatientService',\r\n 'ValidationService',\r\n '$http',\r\n '$log',\r\n '$location',\r\n '$routeParams',\r\n '$filter',\r\n '$anchorScroll',\r\n '$timeout',\r\n '$rootScope',\r\n 'Constants',\r\n '$interval',\r\n '$route'\r\n ];\r\n return CaseFormController;\r\n }(formApp.BaseIncidentFormController));\r\n formApp.CaseFormController = CaseFormController;\r\n angular.module('formApp').controller('caseFormController', CaseFormController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=caseFormController.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n var CaseSectionFormController = (function (_super) {\r\n __extends(CaseSectionFormController, _super);\r\n function CaseSectionFormController($rootScope, $scope, $controller, $routeParams, utilityServices, dataServices, constants, $route) {\r\n var _this = _super.call(this, $rootScope, $scope, $controller, $routeParams, utilityServices, dataServices, constants, $route) || this;\r\n _this.$rootScope = $rootScope;\r\n _this.$scope = $scope;\r\n _this.$controller = $controller;\r\n _this.$routeParams = $routeParams;\r\n _this.utilityServices = utilityServices;\r\n _this.dataServices = dataServices;\r\n _this.constants = constants;\r\n _this.$route = $route;\r\n return _this;\r\n }\r\n CaseSectionFormController.$inject = [\r\n '$rootScope',\r\n '$scope',\r\n '$controller',\r\n '$routeParams',\r\n 'UtilityServices',\r\n 'DataServices',\r\n 'Constants',\r\n '$route'\r\n ];\r\n return CaseSectionFormController;\r\n }(formApp.BaseSectionFormController));\r\n formApp.CaseSectionFormController = CaseSectionFormController;\r\n angular.module('formApp').controller('caseSectionFormController', CaseSectionFormController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=caseSectionFormController.js.map","var formApp;\r\n(function (formApp) {\r\n var FeedbackFormController = (function () {\r\n function FeedbackFormController($scope, $http, $controller, dataServices, patientService, utilityServices, validationService, $log, $location, $routeParams, $filter, $anchorScroll, $timeout, $rootScope, constants, $q, $route) {\r\n this.$scope = $scope;\r\n this.$http = $http;\r\n this.$controller = $controller;\r\n this.dataServices = dataServices;\r\n this.patientService = patientService;\r\n this.utilityServices = utilityServices;\r\n this.validationService = validationService;\r\n this.$log = $log;\r\n this.$location = $location;\r\n this.$routeParams = $routeParams;\r\n this.$filter = $filter;\r\n this.$anchorScroll = $anchorScroll;\r\n this.$timeout = $timeout;\r\n this.$rootScope = $rootScope;\r\n this.constants = constants;\r\n this.$q = $q;\r\n this.$route = $route;\r\n this.lineManagerOptionSetsName = 'reporterlinemanager';\r\n this.lineManagerOptionSets = [];\r\n $controller('questionController', { $scope: $scope });\r\n $controller('documentController', { $scope: $scope });\r\n var self = this;\r\n $scope.providerPatient = patientService.createPatientInstance(constants.patientQuestionSets.feedbackProvider, $scope);\r\n $scope.identifiedPatient = patientService.createPatientInstance(constants.patientQuestionSets.feedbackIdentified, $scope);\r\n self.selectedOptionSets = new Array();\r\n if (self.dataServices.isValidResponse(self.dataServices.originalResponse) === false) {\r\n self.dataServices.originalResponse = angular.copy($scope.responses);\r\n }\r\n self.$scope.signoffPageId = $route.current.locals.summaryPageId;\r\n dataServices.getConfigurationUsingCache($scope.template, $scope.versionNumber, $scope.optionSetHash)\r\n .then(function (data) {\r\n $scope.setupTriggersAndDynamicValues();\r\n $scope.setSummaryErrorFocus();\r\n document.title = $scope.utility.getPageTitle($scope.navTabNum, $scope.pageUrl);\r\n self.populateLineManagerOptionSets();\r\n });\r\n dataServices.getCsrMappingUsingCache();\r\n dataServices.responseInfo.access = {\r\n canSaveFile: utilityServices.isFormEditable(),\r\n canViewFile: true,\r\n canDeleteFile: utilityServices.isFormEditable()\r\n };\r\n $scope.access = dataServices.responseInfo.access;\r\n $scope.feedbackId = dataServices.responseInfo.feedbackId;\r\n $scope.feedbackRef = dataServices.responseInfo.feedbackRef;\r\n $scope.status = dataServices.responseInfo.status;\r\n $scope.statusText = dataServices.responseInfo.statusText;\r\n $scope.role = dataServices.responseInfo.role;\r\n dataServices.activeEntityType = formApp.AuditEntity.Feedback;\r\n $scope.returnToDashboard = function () {\r\n $rootScope.allowFormNavigation = false;\r\n $location.path(self.manageUrl);\r\n };\r\n $scope.saveFeedback = function (btnId) {\r\n self.dataServices.userAction = '';\r\n self.saveFeedback(btnId);\r\n };\r\n $scope.cancelForm = function () {\r\n self.cancelForm();\r\n };\r\n $scope.cancelFormChanges = function (nextPageUrl) {\r\n self.cancelFormChanges(nextPageUrl);\r\n };\r\n $scope.calculateCsr = function (params) {\r\n return self.calculateCsr(params);\r\n };\r\n $scope.isComplaint = function () {\r\n return self.isComplaint();\r\n };\r\n $scope.getApiLookUpValues = function (keyword, lookUpQuestionCode) {\r\n return self.getApiLookUpValues(keyword, lookUpQuestionCode);\r\n };\r\n $scope.canManageFeedbacks = function () {\r\n return self.dataServices.userProfile.canManageFeedbacks;\r\n };\r\n $scope.saveNewSectionItem = function (pIndex, sIndex, sCode) {\r\n self.saveNewSectionItem(pIndex, sIndex, sCode);\r\n };\r\n $scope.saveExistingSectionItem = function (pIndex, sIndex, sCode) {\r\n self.saveExistingSectionItem(pIndex, sIndex, sCode);\r\n };\r\n $scope.init = function (sectionCode) {\r\n self.init(sectionCode);\r\n };\r\n self.baseGetQuestionOptions = $scope.getQuestionOptions;\r\n $scope.getQuestionOptions = function (question, pIndex, sIndex, sCode) {\r\n return self.getQuestionOptions(question, pIndex, sIndex, sCode);\r\n };\r\n self.populateLineManagerOptionSets();\r\n $scope.hasActiveLineManager = function () {\r\n return self.lineManagerOptionSets.length > 0;\r\n };\r\n $scope.getDefaultLineManager = function () {\r\n return self.getDefaultLineManager();\r\n };\r\n $scope.ellipsifyActionComment = function (comment) {\r\n return self.utilityServices.ellipsify(comment, 225, ' ...');\r\n };\r\n $scope.isMultiSelectItemLocked = function (qCode, pIndex, sIndex, sCode, multiSelectItem) {\r\n return self.isMultiSelectItemLocked(qCode, pIndex, sIndex, sCode, multiSelectItem);\r\n };\r\n if ($routeParams.actionId && $scope.navTabNum === formApp.EntityActionMapping.feedbackAction.navTabNo) {\r\n $scope.openScrollToPageItemById($routeParams.actionId);\r\n }\r\n }\r\n Object.defineProperty(FeedbackFormController.prototype, \"manageUrl\", {\r\n get: function () {\r\n return this.dataServices.currentManagePageUrl || this.constants.Url.manageFeedback;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n FeedbackFormController.prototype.mapCsrQuestionConfig = function (csrMappingList) {\r\n var objMapCsrQuestionConfig = new formApp.MapCsrQuestionConfig(csrMappingList.csrQuestionInfo.seriousnessQuestionCode, csrMappingList.csrQuestionInfo.complexityQuestionCode, csrMappingList.csrQuestionInfo.priorityQuestionCode, csrMappingList.csrQuestionInfo.csrLevelQuestionCode);\r\n return objMapCsrQuestionConfig;\r\n };\r\n FeedbackFormController.prototype.init = function (sectionCode) {\r\n var self = this;\r\n self.$scope.sectionCode = sectionCode;\r\n self.$scope.section = _.find(self.$scope.page.sections, function (o) { return o.code == sectionCode; });\r\n self.$scope.pIndex = 0;\r\n self.$scope.pItem = _.find(self.$scope.responses[self.$scope.pageId], function (sectionResponse) { return self.$scope.section.code in sectionResponse; });\r\n };\r\n FeedbackFormController.prototype.populateLineManagerOptionSets = function () {\r\n var self = this;\r\n self.lineManagerOptionSets = self.$scope.configData.optionSets[self.lineManagerOptionSetsName] || [];\r\n if (self.$scope.feedbackId === null) {\r\n self.lineManagerOptionSets.length = 0;\r\n self.dataServices.userProfile.lineManagers.forEach(function (lm) { return self.lineManagerOptionSets.push(lm); });\r\n }\r\n };\r\n FeedbackFormController.prototype.getDefaultLineManager = function () {\r\n var self = this;\r\n var defaultLineManager;\r\n if (self.lineManagerOptionSets.length > 0) {\r\n var reporterLineManagers = self.lineManagerOptionSets.filter(function (m) { return m.tags.indexOf(\" myLineManager\") !== -1; });\r\n defaultLineManager = (reporterLineManagers.length === 1)\r\n ? reporterLineManagers[0].code\r\n : null;\r\n }\r\n return defaultLineManager;\r\n };\r\n FeedbackFormController.prototype.cancelForm = function () {\r\n var self = this;\r\n if (self.$scope.hasUnsavedChanges()) {\r\n self.dataServices.userAction = self.constants.userActions.cancel;\r\n self.cancelFormChanges(self.manageUrl);\r\n }\r\n else {\r\n self.$scope.returnToDashboard();\r\n }\r\n };\r\n FeedbackFormController.prototype.cancelFormChanges = function (nextPageUrl) {\r\n var self = this;\r\n self.$scope.utility.openPopup('warnUserBeforeCancelRegisteredUser').result\r\n .then(function (data) {\r\n if (data.result == 'thirdButtonClick') {\r\n self.saveFeedbackChanges(formApp.SaveOperation.Save)\r\n .then(function (saveResult) {\r\n if (saveResult.status === formApp.ResultStatusCode.Success) {\r\n self.$rootScope.allowFormNavigation = false;\r\n self.$location.path(nextPageUrl);\r\n }\r\n })\r\n .catch(function (error) {\r\n self.$scope.utility.openPopup('errorSave', error);\r\n });\r\n }\r\n else {\r\n self.$rootScope.allowFormNavigation = false;\r\n self.$scope.clearDirty();\r\n self.$location.path(nextPageUrl);\r\n }\r\n })\r\n .catch(function () {\r\n });\r\n };\r\n FeedbackFormController.prototype.updateStatusBarInformation = function (saveResult) {\r\n var self = this;\r\n self.dataServices.responseInfo.feedbackId = saveResult.id;\r\n self.dataServices.responseInfo.feedbackRef = saveResult.ref;\r\n self.dataServices.responseInfo.status = saveResult.feedbackStatus;\r\n self.dataServices.responseInfo.statusText = saveResult.feedbackStatusText;\r\n self.$scope.clearDirty();\r\n self.dataServices.originalResponse = angular.copy(self.$scope.responses);\r\n self.$scope.feedbackId = self.dataServices.responseInfo.feedbackId;\r\n self.$scope.feedbackRef = self.dataServices.responseInfo.feedbackRef;\r\n self.$scope.status = self.dataServices.responseInfo.status;\r\n self.$scope.statusText = self.dataServices.responseInfo.statusText;\r\n self.$scope.lastUpdatedTime = self.dataServices.responseInfo.lastUpdatedTime;\r\n };\r\n FeedbackFormController.prototype.canSaveFeedback = function () {\r\n var self = this;\r\n var canSave = true;\r\n if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, null, null, null, 'inline') === false) {\r\n canSave = self.utilityServices.hasOnlyMandatoryValidationErrors(self.$scope.validationErrors);\r\n }\r\n if (!self.$scope.checkPageItemsAreSaved()) {\r\n canSave = false;\r\n }\r\n return canSave;\r\n };\r\n FeedbackFormController.prototype.saveFeedback = function (btnId) {\r\n var self = this;\r\n var saveOperation;\r\n switch (btnId) {\r\n case self.constants.buttonConstants.Close:\r\n saveOperation = formApp.SaveOperation.Close;\r\n if (self.$scope.validationErrors.length > 0) {\r\n self.$scope.utility.openPopup('validationErrors');\r\n return;\r\n }\r\n break;\r\n case self.constants.buttonConstants.Reopen:\r\n saveOperation = formApp.SaveOperation.Reopen;\r\n self.deleteSignoffSection();\r\n break;\r\n default:\r\n saveOperation = formApp.SaveOperation.Save;\r\n break;\r\n }\r\n if (self.canSaveFeedback()) {\r\n self.$scope.currentLoadSaveMessage = 'Saving feedback';\r\n if (saveOperation == formApp.SaveOperation.Close || saveOperation == formApp.SaveOperation.Reopen || self.$scope.hasUnsavedChanges()) {\r\n self.saveFeedbackChanges(saveOperation)\r\n .then(function (saveResult) {\r\n if (saveResult.status === formApp.ResultStatusCode.Success) {\r\n if (saveOperation === formApp.SaveOperation.Close) {\r\n self.$scope.utility.openPopup('successCloseFeedback').result\r\n .then(function () {\r\n self.$scope.returnToDashboard();\r\n }, function () {\r\n self.$rootScope.$broadcast('updateStatustext', saveResult.feedbackStatusText);\r\n });\r\n }\r\n else if (saveOperation === formApp.SaveOperation.Reopen) {\r\n self.$rootScope.$broadcast('updateStatustext', saveResult.feedbackStatusText);\r\n self.$rootScope.$broadcast('validateApplication', 'validateApplication');\r\n self.$scope.setupTriggersAndDynamicValues();\r\n self.$timeout(function () {\r\n self.dataServices.originalResponse = angular.copy(self.$scope.responses);\r\n });\r\n }\r\n else {\r\n self.$scope.returnToDashboard();\r\n }\r\n }\r\n })\r\n .catch(function (error) {\r\n self.$scope.utility.openPopup('errorSave', error);\r\n });\r\n }\r\n else {\r\n self.$scope.returnToDashboard();\r\n }\r\n }\r\n else {\r\n self.$scope.alertFirstError();\r\n }\r\n };\r\n FeedbackFormController.prototype.deleteSignoffSection = function () {\r\n var self = this;\r\n if (self.$scope.responses[self.$scope.signoffPageId] !== undefined &&\r\n self.$scope.responses[self.$scope.signoffPageId][0] !== undefined &&\r\n self.$scope.responses[self.$scope.signoffPageId][0][self.$scope.Constants.signoff] !== undefined) {\r\n delete self.$scope.responses[self.$scope.signoffPageId][0][self.$scope.Constants.signoff];\r\n }\r\n };\r\n FeedbackFormController.prototype.saveFeedbackChanges = function (saveOperation) {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n if (saveOperation === formApp.SaveOperation.Save && self.$scope.status != formApp.FeedbackStatus.Closed) {\r\n self.deleteSignoffSection();\r\n }\r\n var canSave = self.canSaveFeedback();\r\n if (canSave) {\r\n var isInsert_1 = !self.dataServices.responseInfo.feedbackRef;\r\n var savedFeedbackRef_1;\r\n self.$scope.notifyIsSavingChanged(true);\r\n self.dataServices.saveFeedback(saveOperation)\r\n .then(function (response) {\r\n if (response.data) {\r\n if (response.data.status === formApp.ResultStatusCode.UpdatedSinceReadTime) {\r\n self.$scope.utility.openPopup('savedElsewhere');\r\n }\r\n else if (response.data.status === formApp.ResultStatusCode.Success) {\r\n savedFeedbackRef_1 = response.data.ref;\r\n self.dataServices.trackEventsWithGA('Save action in ' + self.$scope.pageUrl, 'Save Feedback', 'Successfully Saved Feedback');\r\n self.updateStatusBarInformation(response.data);\r\n }\r\n else {\r\n self.$scope.utility.openPopup('errorSave', formApp.ErrorInfo.fromCustomError('Save Feedback', '', response.data.status));\r\n }\r\n deferred.resolve(response.data);\r\n }\r\n else {\r\n deferred.reject(formApp.ErrorInfo.fromCustomError('Save Feedback', 'Failed to return data'));\r\n }\r\n }, function (response) {\r\n self.dataServices.trackEventsWithGA('Error occured during Save in ' + self.$scope.pageUrl, 'Save Feedback', 'Failed to Save Feedback');\r\n deferred.reject(formApp.ErrorInfo.fromHttpResponse(response));\r\n })\r\n .finally(function () {\r\n self.$scope.notifyIsSavingChanged(false);\r\n if (isInsert_1 && savedFeedbackRef_1) {\r\n self.utilityServices.showNotification(true, 'recordCreatedSuccessfully', { entityType: 'Feedback', entityName: savedFeedbackRef_1 });\r\n }\r\n });\r\n }\r\n else {\r\n deferred.reject(formApp.ErrorInfo.fromCustomError('Save Feedback', 'Unable to save, validation errors'));\r\n }\r\n return deferred.promise;\r\n };\r\n FeedbackFormController.prototype.calculateCsr = function (params) {\r\n var self = this;\r\n self.dataServices.getCsrMappingUsingCache()\r\n .then(function (data) {\r\n var pageId = '2-1';\r\n var csrConfig = self.mapCsrQuestionConfig(data);\r\n if (self.$scope.responses[pageId] &&\r\n self.$scope.responses[pageId][params.pIndex]) {\r\n var seriousnessId_1 = self.$scope.valueOfQuestion(params, csrConfig.seriousnessQCode);\r\n var complexityId_1 = self.$scope.valueOfQuestion(params, csrConfig.complexityQCode);\r\n var priorityId_1 = self.$scope.valueOfQuestion(params, csrConfig.priorityQCode);\r\n if (seriousnessId_1 !== undefined && complexityId_1 !== undefined && priorityId_1 !== undefined) {\r\n var match = _.find(data.csrMappings, function (i) {\r\n return i.complexityId == complexityId_1 &&\r\n i.priorityId == priorityId_1 &&\r\n i.seriousnessId == seriousnessId_1;\r\n });\r\n if (match) {\r\n self.$scope.responses[pageId][params.pIndex][params.sCode][params.sIndex][csrConfig.csrLevelQCode] = match.csrLevelId.toString();\r\n }\r\n else {\r\n self.$scope.responses[pageId][params.pIndex][params.sCode][params.sIndex][csrConfig.csrLevelQCode] = undefined;\r\n }\r\n }\r\n }\r\n }).catch(function () {\r\n console.log('Error calculating the CSR.');\r\n });\r\n };\r\n FeedbackFormController.prototype.isComplaint = function () {\r\n var self = this;\r\n return self.$scope.responses['2-1'] !== undefined &&\r\n self.$scope.responses['2-1'][0] !== undefined &&\r\n self.$scope.responses['2-1'][0]['complaint'] !== undefined &&\r\n self.$scope.responses['2-1'][0]['complaint'][0] !== undefined &&\r\n self.$scope.responses['2-1'][0]['complaint'][0]['cClassificationComplaintIssue'] !== undefined &&\r\n self.$scope.responses['2-1'][0]['complaint'][0]['cClassificationComplaintIssue'].length > 0;\r\n };\r\n FeedbackFormController.prototype.getApiLookUpValues = function (keyword, lookUpQuestionCode) {\r\n var self = this;\r\n var requestData = {\r\n organisationId: self.dataServices.userProfile.selectedOrganisationId,\r\n searchTerm: keyword\r\n };\r\n return self.dataServices.getLookupList(requestData, formApp.ApiLookupType.CloUser)\r\n .then(function (response) { return response.lookupList; });\r\n };\r\n FeedbackFormController.prototype.saveNewSectionItem = function (pIndex, sIndex, sCode) {\r\n var self = this;\r\n if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, pIndex, sCode, sIndex, 'inline')) {\r\n self.checkSectionItemsUnique(self.$scope.pageId, pIndex, sIndex, sCode)\r\n .then(function (isUnique) {\r\n if (isUnique) {\r\n self.$scope.setSectionItemState(pIndex, sIndex, sCode, self.constants.RepeatingItemState.viewing);\r\n if (!self.$scope.shadowResponse[pIndex]) {\r\n self.$scope.shadowResponse[pIndex] = [];\r\n }\r\n if (!self.$scope.shadowResponse[pIndex][sCode]) {\r\n self.$scope.shadowResponse[pIndex][sCode] = [];\r\n }\r\n self.$scope.shadowResponse[pIndex][sCode][sIndex] = angular.copy(self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex]);\r\n self.$scope.utility.focus('sectionAddNewButton-' + pIndex + '-' + sCode);\r\n }\r\n });\r\n }\r\n else {\r\n self.$scope.alertFirstError();\r\n }\r\n };\r\n FeedbackFormController.prototype.saveExistingSectionItem = function (pIndex, sIndex, sCode) {\r\n var self = this;\r\n if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, pIndex, sCode, sIndex, 'inline')) {\r\n self.checkSectionItemsUnique(self.$scope.pageId, pIndex, sIndex, sCode)\r\n .then(function (isUnique) {\r\n if (isUnique) {\r\n self.$scope.setSectionItemState(pIndex, sIndex, sCode, self.constants.RepeatingItemState.viewing);\r\n self.$scope.shadowResponse[pIndex][sCode][sIndex] = angular.copy(self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex]);\r\n self.$scope.utility.focus('sectionEdit-' + pIndex + '-' + sCode + '-' + sIndex);\r\n }\r\n });\r\n }\r\n else {\r\n self.$scope.alertFirstError();\r\n }\r\n };\r\n FeedbackFormController.prototype.checkSectionItemsUnique = function (pageId, pIndex, sIndex, sCode) {\r\n var self = this;\r\n if (formApp.ActionAssignee.isAssigneeSectionCode(sCode)) {\r\n return self.checkActionAssigneesUnique(pageId, pIndex, sIndex, sCode);\r\n }\r\n else {\r\n var deferred = self.$q.defer();\r\n deferred.resolve(true);\r\n return deferred.promise;\r\n }\r\n };\r\n FeedbackFormController.prototype.checkActionAssigneesUnique = function (pageId, pIndex, sIndex, sCode) {\r\n var self = this;\r\n return self.$scope.handleDuplicateSectionItems(pageId, pIndex, sIndex, sCode, function (s1, s2) { return formApp.ActionAssignee.areSameSections(sCode, s1, s2); }, 'duplicateActionAssignees');\r\n };\r\n FeedbackFormController.prototype.getQuestionOptions = function (question, pIndex, sIndex, sCode) {\r\n var self = this;\r\n if (question.code === 'investigationRelatedIssueType') {\r\n return self.getSelectedOptionSets(question, 'cClassificationComplaintIssue', 'complaint');\r\n }\r\n else if (question.code === 'investigationComplimentType') {\r\n return self.getSelectedOptionSets(question, 'cClassificationComplimentIssue', 'compliment');\r\n }\r\n else if (question.code === 'investigationEnquiryType') {\r\n return self.getSelectedOptionSets(question, 'cClassificationEnquiryIssue', 'enquiry');\r\n }\r\n else {\r\n return self.baseGetQuestionOptions(question, pIndex, sIndex, sCode);\r\n }\r\n };\r\n FeedbackFormController.prototype.getSelectedOptionSets = function (question, qCode, sCode) {\r\n var self = this;\r\n var valOfPQuestion = self.$scope.valueOfQuestion(null, qCode, sCode, 0, 0, '2-1');\r\n if (valOfPQuestion && valOfPQuestion.length > 0) {\r\n var optionSets = self.$scope.configData.optionSets[question.options];\r\n var selectedOptionSetsInClassificationPage = _.filter(optionSets, function (item) {\r\n return valOfPQuestion.indexOf(item.code) != -1;\r\n });\r\n var diff = _.difference(selectedOptionSetsInClassificationPage, self.selectedOptionSets);\r\n if (diff && diff.length > 0) {\r\n self.selectedOptionSets = selectedOptionSetsInClassificationPage;\r\n }\r\n }\r\n else {\r\n self.selectedOptionSets.length = 0;\r\n }\r\n return self.selectedOptionSets;\r\n };\r\n FeedbackFormController.prototype.isMultiSelectItemLocked = function (qCode, pIndex, sIndex, sCode, multiSelectItem) {\r\n var self = this;\r\n var isLocked = false;\r\n if (qCode === 'cClassificationComplaintIssue') {\r\n var index = _.findIndex(self.$scope.responses['3-1'], function (investigation) {\r\n return investigation['investigation'][0].investigationRelatedIssueType === multiSelectItem.code;\r\n });\r\n isLocked = index >= 0;\r\n }\r\n return isLocked;\r\n };\r\n FeedbackFormController.$inject = [\r\n '$scope',\r\n '$http',\r\n '$controller',\r\n 'DataServices',\r\n 'PatientService',\r\n 'UtilityServices',\r\n 'ValidationService',\r\n '$log',\r\n '$location',\r\n '$routeParams',\r\n '$filter',\r\n '$anchorScroll',\r\n '$timeout',\r\n '$rootScope',\r\n 'Constants',\r\n '$q',\r\n '$route'\r\n ];\r\n return FeedbackFormController;\r\n }());\r\n formApp.FeedbackFormController = FeedbackFormController;\r\n angular.module('formApp').controller('feedbackFormController', FeedbackFormController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=feedbackFormController.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n var IncidentFormController = (function (_super) {\r\n __extends(IncidentFormController, _super);\r\n function IncidentFormController($scope, $controller, $q, utilityServices, dataServices, patientService, validationService, $http, $log, $location, $routeParams, $filter, $anchorScroll, $timeout, $rootScope, constants, $route) {\r\n var _this = _super.call(this, $rootScope, $scope, $controller, $q, utilityServices, dataServices, patientService, $timeout, constants, $location, $route) || this;\r\n _this.$scope = $scope;\r\n _this.$controller = $controller;\r\n _this.$q = $q;\r\n _this.utilityServices = utilityServices;\r\n _this.dataServices = dataServices;\r\n _this.patientService = patientService;\r\n _this.validationService = validationService;\r\n _this.$http = $http;\r\n _this.$log = $log;\r\n _this.$location = $location;\r\n _this.$routeParams = $routeParams;\r\n _this.$filter = $filter;\r\n _this.$anchorScroll = $anchorScroll;\r\n _this.$timeout = $timeout;\r\n _this.$rootScope = $rootScope;\r\n _this.constants = constants;\r\n _this.$route = $route;\r\n $controller('documentController', { $scope: $scope });\r\n var self = _this;\r\n dataServices.getConfigurationUsingCache($scope.template, $scope.versionNumber, $scope.optionSetHash)\r\n .then(function (data) {\r\n $scope.setupTriggersAndDynamicValues();\r\n $scope.setSummaryErrorFocus();\r\n document.title = $scope.utility.getPageTitle($scope.navTabNum, $scope.pageUrl);\r\n });\r\n dataServices.responseInfo.access = {\r\n canSaveFile: utilityServices.isFormEditable(),\r\n canViewFile: true,\r\n canDeleteFile: utilityServices.isFormEditable()\r\n };\r\n $scope.access = dataServices.responseInfo.access;\r\n $scope.incidentId = dataServices.responseInfo.incidentId;\r\n $scope.incidentRef = dataServices.responseInfo.incidentRef;\r\n $scope.status = dataServices.responseInfo.status;\r\n $scope.statusText = dataServices.responseInfo.statusText;\r\n $scope.reportedDate = dataServices.responseInfo.reportedDate ? moment(dataServices.responseInfo.reportedDate).format(constants.ausDateFormat) : null;\r\n $scope.submittedDate = dataServices.responseInfo.submittedDate ? moment(dataServices.responseInfo.submittedDate).format(constants.ausDateFormat) : null;\r\n $scope.role = dataServices.responseInfo.role;\r\n $scope.incidentType = dataServices.responseInfo.incidentTypeId;\r\n $scope.personTypeId = dataServices.responseInfo.personTypeId;\r\n $scope.saveIncident = function (btnId) {\r\n self.dataServices.userAction = '';\r\n self.saveIncident(btnId);\r\n };\r\n $scope.saveNewSectionItem = function (pIndex, sIndex, sCode) {\r\n self.saveNewSectionItem(pIndex, sIndex, sCode);\r\n };\r\n $scope.saveExistingSectionItem = function (pIndex, sIndex, sCode) {\r\n self.saveExistingSectionItem(pIndex, sIndex, sCode);\r\n };\r\n $scope.init = function (sectionCode) {\r\n self.init(sectionCode);\r\n };\r\n $scope.canSeeWhyAndHow = function () {\r\n return self.canSeeWhyAndHow();\r\n };\r\n $scope.canManageIncidents = function () {\r\n return self.dataServices.userProfile.canManageIncidents;\r\n };\r\n $scope.getParentQuestionAnswer = function (pIndex, sIndex, sCode, parentQuestionCode) {\r\n return self.getParentQuestionAnswer(pIndex, sIndex, sCode, parentQuestionCode);\r\n };\r\n $scope.getApiSelectDefaultOption = function (pIndex, sIndex, sCode, qCode, parentQuestionCode) {\r\n var sStaffNameLookupAnswer = self.$scope.valueOfQuestion(null, parentQuestionCode, sCode, sIndex, pIndex, '1-1');\r\n if (sStaffNameLookupAnswer && sStaffNameLookupAnswer.code) {\r\n var staffLineManagerAnswer_1 = self.$scope.valueOfQuestion(null, qCode, sCode, sIndex, pIndex, '1-1');\r\n if (staffLineManagerAnswer_1 &&\r\n staffLineManagerAnswer_1.code &&\r\n self.$scope.apiSelectValues &&\r\n self.$scope.apiSelectValues[sStaffNameLookupAnswer.code] != null) {\r\n var matchIndex = _.findIndex(self.$scope.apiSelectValues[sStaffNameLookupAnswer.code], function (item) {\r\n return item.code === staffLineManagerAnswer_1.code;\r\n });\r\n return self.$scope.apiSelectValues[sStaffNameLookupAnswer.code][matchIndex];\r\n }\r\n }\r\n };\r\n if ($routeParams.actionId && self.isActionNavTab($scope.navTabNum, $scope.personTypeId)) {\r\n $scope.openScrollToPageItemById($routeParams.actionId);\r\n }\r\n return _this;\r\n }\r\n IncidentFormController.prototype.getMappedWhatPageIdForCode = function (code) {\r\n return '4-1';\r\n };\r\n IncidentFormController.prototype.isWhatPageId = function (pageId) {\r\n return (pageId === '4-1');\r\n };\r\n IncidentFormController.prototype.filterApiLookupResult = function (lookUpQuestionCode, options) {\r\n return options;\r\n };\r\n IncidentFormController.prototype.saveIncident = function (btnId) {\r\n var self = this;\r\n var saveOperation;\r\n switch (btnId) {\r\n case self.constants.buttonConstants.Close:\r\n saveOperation = formApp.SaveOperation.Close;\r\n if (self.$scope.validationErrors.length > 0) {\r\n self.$scope.utility.openPopup('validationErrors');\r\n return;\r\n }\r\n break;\r\n case self.constants.buttonConstants.Reopen:\r\n saveOperation = formApp.SaveOperation.Reopen;\r\n self.deleteSignoffSection();\r\n break;\r\n default:\r\n saveOperation = formApp.SaveOperation.Save;\r\n break;\r\n }\r\n if (self.canSaveChanges(true, true)) {\r\n self.$scope.currentLoadSaveMessage = 'Saving incident';\r\n if (saveOperation == formApp.SaveOperation.Close || saveOperation == formApp.SaveOperation.Reopen || self.$scope.hasUnsavedChanges()) {\r\n self.saveIncidentChanges(self.$scope.incidentType, self.$scope.personTypeId, saveOperation)\r\n .then(function (saveResult) {\r\n if (saveResult.status === formApp.ResultStatusCode.Success) {\r\n if (saveOperation === formApp.SaveOperation.Close) {\r\n self.$scope.utility.openPopup('successCloseIncident').result\r\n .then(function () {\r\n self.$scope.returnToDashboard();\r\n }, function () {\r\n self.$rootScope.$broadcast('updateStatustext', saveResult.incidentStatusText);\r\n });\r\n }\r\n else if (saveOperation === formApp.SaveOperation.Reopen) {\r\n self.$rootScope.$broadcast('updateStatustext', saveResult.incidentStatusText);\r\n self.$rootScope.$broadcast('validateApplication', 'validateApplication');\r\n self.$scope.setupTriggersAndDynamicValues();\r\n self.$timeout(function () {\r\n self.dataServices.originalResponse = angular.copy(self.$scope.responses);\r\n });\r\n }\r\n else {\r\n self.$scope.returnToDashboard();\r\n }\r\n }\r\n })\r\n .catch(function (error) {\r\n self.$scope.utility.openPopup('errorSave', error);\r\n });\r\n }\r\n else {\r\n self.$scope.returnToDashboard();\r\n }\r\n }\r\n else {\r\n self.$scope.alertFirstError();\r\n }\r\n };\r\n IncidentFormController.prototype.saveNewSectionItem = function (pIndex, sIndex, sCode) {\r\n var self = this;\r\n if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, pIndex, sCode, sIndex, 'inline')) {\r\n self.checkSectionItemsUnique(self.$scope.pageId, pIndex, sIndex, sCode)\r\n .then(function (isUnique) {\r\n if (isUnique) {\r\n self.$scope.setSectionItemState(pIndex, sIndex, sCode, self.constants.RepeatingItemState.viewing);\r\n if (!self.$scope.shadowResponse[pIndex]) {\r\n self.$scope.shadowResponse[pIndex] = [];\r\n }\r\n if (!self.$scope.shadowResponse[pIndex][sCode]) {\r\n self.$scope.shadowResponse[pIndex][sCode] = [];\r\n }\r\n self.$scope.shadowResponse[pIndex][sCode][sIndex] = angular.copy(self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex]);\r\n self.$scope.utility.focus('sectionAddNewButton-' + pIndex + '-' + sCode);\r\n }\r\n });\r\n }\r\n else {\r\n self.$scope.alertFirstError();\r\n }\r\n };\r\n IncidentFormController.prototype.saveExistingSectionItem = function (pIndex, sIndex, sCode) {\r\n var self = this;\r\n if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, pIndex, sCode, sIndex, 'inline')) {\r\n self.checkSectionItemsUnique(self.$scope.pageId, pIndex, sIndex, sCode)\r\n .then(function (isUnique) {\r\n if (isUnique) {\r\n self.$scope.setSectionItemState(pIndex, sIndex, sCode, self.constants.RepeatingItemState.viewing);\r\n self.$scope.shadowResponse[pIndex][sCode][sIndex] = angular.copy(self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex]);\r\n self.$scope.utility.focus('sectionEdit-' + pIndex + '-' + sCode + '-' + sIndex);\r\n }\r\n });\r\n }\r\n else {\r\n self.$scope.alertFirstError();\r\n }\r\n };\r\n IncidentFormController.prototype.checkSectionItemsUnique = function (pageId, pIndex, sIndex, sCode) {\r\n var self = this;\r\n if (sCode === 'witnesses') {\r\n return self.checkWitnessesUnique(pageId, pIndex, sIndex, sCode);\r\n }\r\n else if (formApp.ActionAssignee.isAssigneeSectionCode(sCode)) {\r\n return self.checkActionAssigneesUnique(pageId, pIndex, sIndex, sCode);\r\n }\r\n else {\r\n var deferred = self.$q.defer();\r\n deferred.resolve(true);\r\n return deferred.promise;\r\n }\r\n };\r\n IncidentFormController.prototype.checkWitnessesUnique = function (pageId, pIndex, sIndex, sCode) {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n if (self.$scope.getSectionItemCount(pageId, sCode, pIndex) > 1) {\r\n var sectionItems = self.$scope.responses[pageId][pIndex][sCode];\r\n var firstName_1 = sectionItems[sIndex].wFirstName.toLowerCase().trim();\r\n var surname_1 = sectionItems[sIndex].wSurname.toLowerCase().trim();\r\n var position_1 = sectionItems[sIndex].wPosition;\r\n var role_1 = sectionItems[sIndex].wRole;\r\n var count = _.filter(sectionItems, function (item) {\r\n var itemFirstName = item.wFirstName ? item.wFirstName.toLowerCase().trim() : '';\r\n var itemSurname = item.wSurname ? item.wSurname.toLowerCase().trim() : '';\r\n return firstName_1 === itemFirstName &&\r\n surname_1 === itemSurname &&\r\n position_1 === item.wPosition &&\r\n role_1 === item.wRole;\r\n }).length;\r\n if (count > 1) {\r\n self.$scope.utility.openPopup('confirmDuplicateWitness').result\r\n .then(function (dlgResult) {\r\n deferred.resolve(dlgResult.result === 'ok');\r\n }, function () {\r\n deferred.resolve(false);\r\n });\r\n }\r\n else {\r\n deferred.resolve(true);\r\n }\r\n }\r\n else {\r\n deferred.resolve(true);\r\n }\r\n return deferred.promise;\r\n };\r\n IncidentFormController.prototype.checkActionAssigneesUnique = function (pageId, pIndex, sIndex, sCode) {\r\n var self = this;\r\n return self.$scope.handleDuplicateSectionItems(pageId, pIndex, sIndex, sCode, function (s1, s2) { return formApp.ActionAssignee.areSameSections(sCode, s1, s2); }, formApp.ActionAssignee.getDuplicateAssigneePopupCode(sCode));\r\n };\r\n IncidentFormController.prototype.init = function (sectionCode) {\r\n var self = this;\r\n self.$scope.sectionCode = sectionCode;\r\n self.$scope.section = _.find(self.$scope.page.sections, function (o) { return o.code == sectionCode; });\r\n self.$scope.pIndex = 0;\r\n self.$scope.pItem = _.find(self.$scope.responses[self.$scope.pageId], function (sectionResponse) { return self.$scope.section.code in sectionResponse; });\r\n };\r\n IncidentFormController.prototype.canSeeWhyAndHow = function () {\r\n var self = this;\r\n if (!self.dataServices.userProfile.canManageIncidents && self.dataServices.responseInfo.status !== formApp.Status.Closed) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n IncidentFormController.prototype.isActionNavTab = function (navTabNo, personType) {\r\n var result = false;\r\n var actionConfig = formApp.EntityActionMapping.incidentAction[personType];\r\n if (actionConfig) {\r\n result = navTabNo === actionConfig.navTabNo;\r\n }\r\n return result;\r\n };\r\n IncidentFormController.prototype.getParentQuestionAnswer = function (pIndex, sIndex, sCode, parentQuestionCode) {\r\n var self = this;\r\n var answerCode = 'undefined';\r\n var answer = self.$scope.valueOfQuestion(null, parentQuestionCode, sCode, sIndex, pIndex, null);\r\n if (answer) {\r\n answerCode = answer.code;\r\n }\r\n return answerCode;\r\n };\r\n IncidentFormController.$inject = [\r\n '$scope',\r\n '$controller',\r\n '$q',\r\n 'UtilityServices',\r\n 'DataServices',\r\n 'PatientService',\r\n 'ValidationService',\r\n '$http',\r\n '$log',\r\n '$location',\r\n '$routeParams',\r\n '$filter',\r\n '$anchorScroll',\r\n '$timeout',\r\n '$rootScope',\r\n 'Constants',\r\n '$route'\r\n ];\r\n return IncidentFormController;\r\n }(formApp.BaseIncidentFormController));\r\n formApp.IncidentFormController = IncidentFormController;\r\n angular.module('formApp').controller('incidentFormController', IncidentFormController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=incidentFormController.js.map","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar formApp;\r\n(function (formApp) {\r\n var IncidentSectionFormController = (function (_super) {\r\n __extends(IncidentSectionFormController, _super);\r\n function IncidentSectionFormController($rootScope, $scope, $controller, $routeParams, utilityServices, dataServices, constants, $route) {\r\n var _this = _super.call(this, $rootScope, $scope, $controller, $routeParams, utilityServices, dataServices, constants, $route) || this;\r\n _this.$rootScope = $rootScope;\r\n _this.$scope = $scope;\r\n _this.$controller = $controller;\r\n _this.$routeParams = $routeParams;\r\n _this.utilityServices = utilityServices;\r\n _this.dataServices = dataServices;\r\n _this.constants = constants;\r\n _this.$route = $route;\r\n $scope.incidentType = dataServices.responseInfo.incidentTypeId;\r\n $scope.personTypeId = dataServices.responseInfo.personTypeId;\r\n return _this;\r\n }\r\n IncidentSectionFormController.$inject = [\r\n '$rootScope',\r\n '$scope',\r\n '$controller',\r\n '$routeParams',\r\n 'UtilityServices',\r\n 'DataServices',\r\n 'Constants',\r\n '$route'\r\n ];\r\n return IncidentSectionFormController;\r\n }(formApp.BaseSectionFormController));\r\n formApp.IncidentSectionFormController = IncidentSectionFormController;\r\n angular.module('formApp').controller('incidentSectionFormController', IncidentSectionFormController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=incidentSectionFormController.js.map","var formApp;\r\n(function (formApp) {\r\n var NotificationFormController = (function () {\r\n function NotificationFormController($scope, $rootScope, $controller, $location, $q, dataServices, utilityServices, constants) {\r\n this.$scope = $scope;\r\n this.$rootScope = $rootScope;\r\n this.$controller = $controller;\r\n this.$location = $location;\r\n this.$q = $q;\r\n this.dataServices = dataServices;\r\n this.utilityServices = utilityServices;\r\n this.constants = constants;\r\n this.allTeamOptions = [];\r\n var self = this;\r\n $controller('questionController', { $scope: $scope });\r\n dataServices.getConfigurationUsingCache($scope.template, $scope.versionNumber, $scope.optionSetHash)\r\n .then(function (data) {\r\n $scope.setupTriggersAndDynamicValues();\r\n $scope.setSummaryErrorFocus();\r\n document.title = $scope.utility.getPageTitle($scope.navTabNum, $scope.pageUrl);\r\n })\r\n .then(function () {\r\n self.allTeamOptions = self.utilityServices.getDependentOptionSetFromConfiguration('team', 'organisation', self.dataServices.userProfile.selectedOrganisationId.toString());\r\n });\r\n $scope.cancelForm = function () {\r\n self.cancelForm();\r\n };\r\n $scope.cancelFormChanges = function (nextPageUrl) {\r\n self.cancelFormChanges(nextPageUrl);\r\n };\r\n $scope.saveNotification = function () {\r\n self.saveNotification();\r\n };\r\n $scope.saveFeedbackNotification = function () {\r\n self.saveFeedbackNotification();\r\n };\r\n $scope.saveNewSectionItem = function (pIndex, sIndex, sCode) {\r\n self.saveNewSectionItem(pIndex, sIndex, sCode);\r\n };\r\n $scope.getApiLookUpValues = function (keyword, lookUpQuestionCode) {\r\n return self.getApiLookUpValues(keyword, lookUpQuestionCode);\r\n };\r\n $scope.getTeamActiveStatus = function (teamId) {\r\n return self.getTeamActiveStatus(teamId);\r\n };\r\n $scope.getTeamDisplay = function (team) {\r\n return self.getTeamDisplay(team);\r\n };\r\n }\r\n Object.defineProperty(NotificationFormController.prototype, \"manageUrl\", {\r\n get: function () {\r\n return this.dataServices.currentManagePageUrl || this.constants.Url.manageNotifications;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n NotificationFormController.prototype.returnToDashboard = function () {\r\n this.$rootScope.allowFormNavigation = false;\r\n this.$location.path(this.manageUrl);\r\n };\r\n NotificationFormController.prototype.cancelForm = function () {\r\n if (this.$scope.hasUnsavedChanges()) {\r\n this.cancelFormChanges(this.manageUrl);\r\n }\r\n else {\r\n this.returnToDashboard();\r\n }\r\n };\r\n NotificationFormController.prototype.cancelFormChanges = function (nextPageUrl) {\r\n var self = this;\r\n self.$scope.utility.openPopup('warnUserBeforeCancel').result\r\n .then(function (data) {\r\n if (data.result === 'thirdButtonClick') {\r\n self.saveFormChanges()\r\n .then(function (result) {\r\n if (result.status === formApp.ResultStatusCode.Success) {\r\n self.$rootScope.allowFormNavigation = false;\r\n self.$location.path(nextPageUrl);\r\n }\r\n })\r\n .catch(function (rejectReason) { });\r\n }\r\n else {\r\n self.$rootScope.allowFormNavigation = false;\r\n self.$scope.clearDirty();\r\n self.$location.path(nextPageUrl);\r\n }\r\n })\r\n .catch(function () {\r\n });\r\n };\r\n NotificationFormController.prototype.saveNotification = function () {\r\n var self = this;\r\n self.saveFormChanges()\r\n .then(function (saveResult) {\r\n if (saveResult.status === formApp.ResultStatusCode.Success) {\r\n self.returnToDashboard();\r\n }\r\n })\r\n .catch(function (rejectReason) { });\r\n };\r\n NotificationFormController.prototype.saveFeedbackNotification = function () {\r\n var self = this;\r\n self.saveFormChanges(true)\r\n .then(function (saveResult) {\r\n if (saveResult.status === formApp.ResultStatusCode.Success) {\r\n self.returnToDashboard();\r\n }\r\n })\r\n .catch(function (rejectReason) { });\r\n };\r\n NotificationFormController.prototype.saveFormChanges = function (isFeedbackNotification) {\r\n if (isFeedbackNotification === void 0) { isFeedbackNotification = false; }\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, null, null, null, 'inline')) {\r\n self.confirmValidCriteria(isFeedbackNotification)\r\n .then(function () {\r\n self.$scope.notifyIsSavingChanged(true);\r\n var saveNotification;\r\n if (isFeedbackNotification) {\r\n saveNotification = self.dataServices.saveFeedbackNotification();\r\n }\r\n else {\r\n saveNotification = self.dataServices.saveNotification();\r\n }\r\n saveNotification\r\n .then(function (response) {\r\n if (response.data) {\r\n if (response.data.status === formApp.ResultStatusCode.UpdatedSinceReadTime) {\r\n self.utilityServices.openPopup('savedElsewhere', { typeDescription: 'notification' });\r\n }\r\n else if (response.data.status === formApp.ResultStatusCode.DuplicateRow) {\r\n self.utilityServices.openPopup('duplicateNotification');\r\n }\r\n else if (response.data.status === formApp.ResultStatusCode.Success) {\r\n self.$scope.clearDirty();\r\n self.dataServices.originalResponse = angular.copy(self.$scope.responses);\r\n self.dataServices.trackEventsWithGA('Save action in ' + self.$scope.pageUrl, 'Click Save Notification', 'Successfully Saved Notification');\r\n }\r\n else {\r\n self.$scope.utility.openPopup('errorSave', formApp.ErrorInfo.fromCustomError('Save Notification', '', response.data.status));\r\n }\r\n deferred.resolve(response.data);\r\n }\r\n else {\r\n self.utilityServices.openPopup('errorSave', formApp.ErrorInfo.fromCustomError('Save Notification', 'Failed to return data'));\r\n deferred.reject('No response from save');\r\n }\r\n })\r\n .catch(function (reason) {\r\n self.utilityServices.openPopup('errorSave', formApp.ErrorInfo.fromHttpResponse(reason));\r\n deferred.reject('Error during save');\r\n })\r\n .finally(function () {\r\n self.$scope.notifyIsSavingChanged(false);\r\n });\r\n })\r\n .catch(function (rejectReason) {\r\n deferred.reject(rejectReason);\r\n });\r\n }\r\n else {\r\n self.$scope.alertFirstError();\r\n deferred.reject('Unable to save, validation errors');\r\n }\r\n return deferred.promise;\r\n };\r\n NotificationFormController.prototype.saveNewSectionItem = function (pIndex, sIndex, sCode) {\r\n var self = this;\r\n if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, pIndex, sCode, sIndex)) {\r\n var selectedTeamIds = self.getSelectedTeamIds();\r\n var newTeamId = self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex].teamName.code;\r\n if (selectedTeamIds.indexOf(newTeamId) === -1) {\r\n self.$scope.setSectionItemState(pIndex, sIndex, sCode, self.constants.RepeatingItemState.viewing);\r\n self.$scope.shadowResponse[pIndex][sCode][sIndex] = angular.copy(self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex]);\r\n self.$scope.utility.focus('sectionAddNewButton-' + pIndex + '-' + sCode);\r\n }\r\n else {\r\n self.utilityServices.openPopup('duplicateNotification');\r\n }\r\n }\r\n else {\r\n self.$scope.alertFirstError();\r\n }\r\n };\r\n NotificationFormController.prototype.getApiLookUpValues = function (keyword, lookUpQuestionCode) {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n var teams = _.filter(self.allTeamOptions, function (team) {\r\n return team.text.toLowerCase().indexOf(keyword.toLowerCase()) >= 0;\r\n });\r\n var selectedIds = self.getSelectedTeamIds();\r\n deferred.resolve(_.filter(teams, function (team) {\r\n return selectedIds.indexOf(team.code) === -1;\r\n }));\r\n return deferred.promise;\r\n };\r\n NotificationFormController.prototype.getTeamActiveStatus = function (teamId) {\r\n var self = this;\r\n return (self.dataServices.responseInfo.inactiveTeams && self.dataServices.responseInfo.inactiveTeams.some(function (i) { return i.code === teamId; }))\r\n ? self.constants.activeStatus.inactive\r\n : self.constants.activeStatus.active;\r\n };\r\n NotificationFormController.prototype.getTeamDisplay = function (team) {\r\n var self = this;\r\n var teamName = '';\r\n if (team) {\r\n var activeTeams = self.dataServices.configData.optionSets['team'] || [];\r\n var activeTeamMatch = activeTeams.filter(function (o) { return o.code === team.code; });\r\n if (activeTeamMatch.length > 0) {\r\n teamName = activeTeamMatch[0].text;\r\n }\r\n else {\r\n var inactiveTeams = self.dataServices.responseInfo.inactiveTeams || [];\r\n var inactiveTeamMatch = inactiveTeams.filter(function (o) { return o.code === team.code; });\r\n if (inactiveTeamMatch.length > 0) {\r\n teamName = inactiveTeamMatch[0].text;\r\n }\r\n }\r\n }\r\n return teamName;\r\n };\r\n NotificationFormController.prototype.getSelectedTeamIds = function () {\r\n var self = this;\r\n var teams = self.utilityServices.getSectionResponse(self.$scope.responses, '1-1', 0, 'teams');\r\n return _.filter(teams, function (team) {\r\n return team.$state === self.constants.RepeatingItemState.viewing;\r\n }).map(function (team) { return team.teamName.code; });\r\n };\r\n NotificationFormController.prototype.confirmValidCriteria = function (isFeedbackNotification) {\r\n if (isFeedbackNotification === void 0) { isFeedbackNotification = false; }\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n var questionParams = self.$scope.setQuestionParams(0, 0, 'notificationdetails');\r\n var hasAnyCriteria;\r\n if (isFeedbackNotification) {\r\n hasAnyCriteria = self.$scope.notEmpty(questionParams, 'isNonEmptyFeedback') ||\r\n self.$scope.notEmpty(questionParams, 'feedbackType') ||\r\n self.$scope.notEmpty(questionParams, 'csrLevel') ||\r\n self.$scope.notEmpty(questionParams, 'campus') ||\r\n self.$scope.notEmpty(questionParams, 'ward') ||\r\n self.$scope.notEmpty(questionParams, 'program') ||\r\n self.$scope.notEmpty(questionParams, 'specialty') ||\r\n self.$scope.notEmpty(questionParams, 'feedbackStatus');\r\n }\r\n else {\r\n hasAnyCriteria = self.$scope.notEmpty(questionParams, 'incidentType') ||\r\n self.$scope.notEmpty(questionParams, 'eventType') ||\r\n self.$scope.notEmpty(questionParams, 'isrLevel') ||\r\n self.$scope.notEmpty(questionParams, 'campus') ||\r\n self.$scope.notEmpty(questionParams, 'ward') ||\r\n self.$scope.notEmpty(questionParams, 'program') ||\r\n self.$scope.notEmpty(questionParams, 'specialty') ||\r\n self.$scope.notEmpty(questionParams, 'status') ||\r\n self.$scope.notEmpty(questionParams, 'sentinelEventType') ||\r\n self.$scope.notEmpty(questionParams, 'worksafeNotifiable') ||\r\n self.$scope.notEmpty(questionParams, 'vmiaNotifiable') ||\r\n self.$scope.notEmpty(questionParams, 'emergencyResponseType') ||\r\n self.$scope.notEmpty(questionParams, 'healthServiceStandard');\r\n }\r\n if (hasAnyCriteria === false) {\r\n self.utilityServices.openPopup('confirmAccessToAll').result\r\n .then(function () {\r\n deferred.resolve();\r\n })\r\n .catch(function (rejectReason) {\r\n deferred.reject('User cancel save for no criteria');\r\n });\r\n }\r\n else {\r\n deferred.resolve();\r\n }\r\n return deferred.promise;\r\n };\r\n NotificationFormController.$inject = [\r\n '$scope',\r\n '$rootScope',\r\n '$controller',\r\n '$location',\r\n '$q',\r\n 'DataServices',\r\n 'UtilityServices',\r\n 'Constants'\r\n ];\r\n return NotificationFormController;\r\n }());\r\n formApp.NotificationFormController = NotificationFormController;\r\n angular.module('formApp').controller('notificationFormController', NotificationFormController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=notificationFormController.js.map","var formApp;\r\n(function (formApp) {\r\n var OrganisationFormController = (function () {\r\n function OrganisationFormController($scope, $rootScope, $controller, $location, $q, dataServices, utilityServices, constants) {\r\n this.$scope = $scope;\r\n this.$rootScope = $rootScope;\r\n this.$controller = $controller;\r\n this.$location = $location;\r\n this.$q = $q;\r\n this.dataServices = dataServices;\r\n this.utilityServices = utilityServices;\r\n this.constants = constants;\r\n this.refEntityConfig = {\r\n campus: {\r\n displayName: 'campus',\r\n pageId: '2-1',\r\n startDateQuestionCode: 'campusStartDate',\r\n endDateQuestionCode: 'campusEndDate',\r\n duplicatePopupCode: 'duplicateCampus',\r\n equalityCompareFn: function (left, right) {\r\n return right.campus[0].campusName &&\r\n left.campus[0].campusName.toLowerCase().trim() === right.campus[0].campusName.toLowerCase().trim();\r\n },\r\n requireActiveItem: true\r\n },\r\n ward: {\r\n displayName: 'ward/location',\r\n pageId: '2-1',\r\n startDateQuestionCode: 'wardStartDate',\r\n endDateQuestionCode: 'wardEndDate',\r\n duplicatePopupCode: 'duplicateWard',\r\n equalityCompareFn: function (left, right) {\r\n return right.wardName &&\r\n left.wardName.toLowerCase().trim() === right.wardName.toLowerCase().trim();\r\n },\r\n requireActiveItem: true\r\n },\r\n specialty: {\r\n displayName: 'specialty/unit',\r\n pageId: '3-1',\r\n startDateQuestionCode: 'specialtyStartDate',\r\n endDateQuestionCode: 'specialtyEndDate',\r\n duplicatePopupCode: 'duplicateSpecialty',\r\n equalityCompareFn: function (left, right) {\r\n return right.specialtyName &&\r\n left.specialtyName.toLowerCase().trim() === right.specialtyName.toLowerCase().trim();\r\n },\r\n requireActiveItem: true\r\n },\r\n program: {\r\n displayName: 'program',\r\n pageId: '4-1',\r\n startDateQuestionCode: 'programStartDate',\r\n endDateQuestionCode: 'programEndDate',\r\n duplicatePopupCode: 'duplicateProgram',\r\n equalityCompareFn: function (left, right) {\r\n return right.programName &&\r\n left.programName.toLowerCase().trim() === right.programName.toLowerCase().trim();\r\n },\r\n requireActiveItem: false\r\n }\r\n };\r\n var self = this;\r\n $controller('questionController', { $scope: $scope });\r\n dataServices.getConfigurationUsingCache($scope.template, $scope.versionNumber, $scope.optionSetHash)\r\n .then(function (data) {\r\n $scope.setupTriggersAndDynamicValues();\r\n $scope.setSummaryErrorFocus();\r\n document.title = $scope.utility.getPageTitle($scope.navTabNum, $scope.pageUrl);\r\n });\r\n $scope.cancelFormChanges = function (nextPageUrl) {\r\n self.cancelFormChanges(nextPageUrl);\r\n };\r\n $scope.saveExistingPageItem = function (pIndex) {\r\n self.saveExistingPageItem(pIndex);\r\n };\r\n $scope.saveNewSectionItem = function (pIndex, sIndex, sCode) {\r\n self.saveNewSectionItem(pIndex, sIndex, sCode);\r\n };\r\n $scope.saveExistingSectionItem = function (pIndex, sIndex, sCode) {\r\n self.saveExistingSectionItem(pIndex, sIndex, sCode);\r\n };\r\n self.baseEditSectionItemFn = $scope.editSectionItem;\r\n $scope.editSectionItem = function (pIndex, sIndex, sCode) {\r\n self.editSectionItem(pIndex, sIndex, sCode);\r\n };\r\n $scope.cancelForm = function () {\r\n self.cancelForm();\r\n };\r\n $scope.saveOrganisation = function () {\r\n self.saveOrganisation();\r\n };\r\n $scope.ensureItemsValid = function (successFunction, failureFunction, sectionCode) {\r\n self.ensureItemsValid(successFunction, failureFunction, sectionCode);\r\n };\r\n $scope.getApiLookUpValues = function (keyword, lookUpQuestionCode) {\r\n return self.getApiLookUpValues(keyword, lookUpQuestionCode);\r\n };\r\n $scope.getActiveStatus = function (startDate, endDate) {\r\n return self.getActiveStatus(startDate, endDate);\r\n };\r\n $scope.isStartDateReadOnly = function (params) {\r\n return self.isStartDateReadOnly(params);\r\n };\r\n $scope.getValidationStartDate = function (params, entityType) {\r\n return self.getValidationStartDate(params, entityType);\r\n };\r\n $scope.getValidationEndDate = function (params, entityType) {\r\n return self.getValidationEndDate(params, entityType);\r\n };\r\n $scope.getCampusStartDate = function (params) {\r\n return self.getCampusStartDate(params);\r\n };\r\n $scope.getCampusEndDate = function (params) {\r\n return self.getCampusEndDate(params);\r\n };\r\n }\r\n Object.defineProperty(OrganisationFormController.prototype, \"manageUrl\", {\r\n get: function () {\r\n return this.dataServices.currentManagePageUrl || this.constants.Url.manageOrganisations;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n OrganisationFormController.prototype.returnToDashboard = function () {\r\n this.$rootScope.allowFormNavigation = false;\r\n this.$location.path(this.manageUrl);\r\n };\r\n OrganisationFormController.prototype.cancelForm = function () {\r\n if (this.$scope.hasUnsavedChanges()) {\r\n this.cancelFormChanges(this.manageUrl);\r\n }\r\n else {\r\n this.returnToDashboard();\r\n }\r\n };\r\n OrganisationFormController.prototype.cancelFormChanges = function (nextPageUrl) {\r\n var self = this;\r\n self.$scope.utility.openPopup('warnUserBeforeCancel').result\r\n .then(function (data) {\r\n if (data.result === 'thirdButtonClick') {\r\n self.saveFormChanges()\r\n .then(function (result) {\r\n if (result.status === formApp.ResultStatusCode.Success) {\r\n self.$rootScope.allowFormNavigation = false;\r\n self.$location.path(nextPageUrl);\r\n }\r\n }, function () { });\r\n }\r\n else {\r\n self.$rootScope.allowFormNavigation = false;\r\n self.$scope.clearDirty();\r\n self.$location.path(nextPageUrl);\r\n }\r\n })\r\n .catch(function () {\r\n });\r\n };\r\n OrganisationFormController.prototype.saveOrganisation = function () {\r\n var self = this;\r\n self.saveFormChanges()\r\n .then(function (saveResult) {\r\n if (saveResult.status === formApp.ResultStatusCode.Success) {\r\n self.returnToDashboard();\r\n }\r\n }, function () { });\r\n };\r\n OrganisationFormController.prototype.saveFormChanges = function () {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n if (self.areAllRepeatingItemsSaved() === false) {\r\n deferred.reject('Unable to save - not all repeating items are saved');\r\n }\r\n else if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, null, null, null, 'inline')) {\r\n if (self.hasActiveItemTillEndOfTime('specialty')) {\r\n self.$scope.notifyIsSavingChanged(true);\r\n self.dataServices.saveOrganisation()\r\n .then(function (response) {\r\n if (response.data) {\r\n if (response.data.status === formApp.ResultStatusCode.UpdatedSinceReadTime) {\r\n self.utilityServices.openPopup('savedElsewhere', { typeDescription: 'organisation' });\r\n }\r\n else if (response.data.status === formApp.ResultStatusCode.DuplicateRow) {\r\n self.utilityServices.openPopup('duplicateOrganisation');\r\n }\r\n else if (response.data.status === formApp.ResultStatusCode.Success) {\r\n self.$scope.clearDirty();\r\n self.dataServices.originalResponse = angular.copy(self.$scope.responses);\r\n self.dataServices.trackEventsWithGA('Save action in ' + self.$scope.pageUrl, 'Click Save Organisation', 'Successfully Saved Organisation');\r\n }\r\n else {\r\n self.$scope.utility.openPopup('errorSave', formApp.ErrorInfo.fromCustomError('Save Organisation', '', response.data.status));\r\n }\r\n deferred.resolve(response.data);\r\n }\r\n else {\r\n self.utilityServices.openPopup('errorSave', formApp.ErrorInfo.fromCustomError('Save Organisation', 'Failed to return data'));\r\n deferred.reject('No response from save');\r\n }\r\n })\r\n .catch(function (reason) {\r\n self.utilityServices.openPopup('errorSave', formApp.ErrorInfo.fromHttpResponse(reason));\r\n deferred.reject('Error during save');\r\n })\r\n .finally(function () {\r\n self.$scope.notifyIsSavingChanged(false);\r\n });\r\n }\r\n }\r\n else {\r\n self.$scope.alertFirstError();\r\n deferred.reject('Unable to save, validation errors');\r\n }\r\n return deferred.promise;\r\n };\r\n OrganisationFormController.prototype.ensureItemsValid = function (successFunction, failureFunction, sectionCode) {\r\n var self = this;\r\n if (self.$scope.checkSectionItemsAreSaved(sectionCode) &&\r\n self.hasActiveItemTillEndOfTime(sectionCode)) {\r\n self.$scope.$eval(successFunction);\r\n }\r\n };\r\n OrganisationFormController.prototype.saveExistingPageItem = function (pIndex) {\r\n var self = this;\r\n if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, pIndex)) {\r\n if (self.campusAlwaysHasActiveWard(pIndex)) {\r\n if (self.checkPageItemsUnique(self.$scope.pageId, pIndex)) {\r\n self.$scope.setPageItemState(pIndex, self.constants.RepeatingItemState.viewing);\r\n self.$scope.pageShadowResponse[pIndex] = angular.copy(self.$scope.responses[self.$scope.pageId][pIndex]);\r\n self.$scope.utility.focus('pageEdit-' + pIndex);\r\n }\r\n }\r\n }\r\n else {\r\n self.$scope.alertFirstError();\r\n }\r\n };\r\n OrganisationFormController.prototype.checkPageItemsUnique = function (pageId, pIndex) {\r\n var self = this;\r\n var refEntityConfig = self.getRefEntityConfigForPageId(pageId);\r\n var isUnique = true;\r\n if (refEntityConfig &&\r\n refEntityConfig.equalityCompareFn &&\r\n self.$scope.getPageItemCount(pageId) > 1) {\r\n var pageItems = self.$scope.responses[pageId];\r\n var pageItem_1 = pageItems[pIndex];\r\n var hasDuplicates = pageItems.filter(function (item) { return refEntityConfig.equalityCompareFn(pageItem_1, item); }).length > 1;\r\n if (hasDuplicates) {\r\n if (refEntityConfig.duplicatePopupCode) {\r\n self.utilityServices.openPopup(refEntityConfig.duplicatePopupCode);\r\n }\r\n isUnique = false;\r\n }\r\n }\r\n return isUnique;\r\n };\r\n OrganisationFormController.prototype.saveNewSectionItem = function (pIndex, sIndex, sCode) {\r\n var self = this;\r\n if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, pIndex, sCode, sIndex, 'inline') &&\r\n self.validateAdditionalRules(self.$scope.pageId, pIndex, sIndex, sCode)) {\r\n self.checkSectionItemsUnique(self.$scope.pageId, pIndex, sIndex, sCode)\r\n .then(function (isUnique) {\r\n if (isUnique) {\r\n self.$scope.setSectionItemState(pIndex, sIndex, sCode, self.constants.RepeatingItemState.viewing);\r\n if (!self.$scope.shadowResponse[pIndex]) {\r\n self.$scope.shadowResponse[pIndex] = [];\r\n }\r\n if (!self.$scope.shadowResponse[pIndex][sCode]) {\r\n self.$scope.shadowResponse[pIndex][sCode] = [];\r\n }\r\n self.$scope.shadowResponse[pIndex][sCode][sIndex] = angular.copy(self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex]);\r\n self.$scope.utility.focus('sectionAddNewButton-' + pIndex + '-' + sCode);\r\n }\r\n });\r\n }\r\n else {\r\n self.$scope.alertFirstError();\r\n }\r\n };\r\n OrganisationFormController.prototype.saveExistingSectionItem = function (pIndex, sIndex, sCode) {\r\n var self = this;\r\n if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, pIndex, sCode, sIndex, 'inline') &&\r\n self.validateAdditionalRules(self.$scope.pageId, pIndex, sIndex, sCode)) {\r\n self.checkSectionItemsUnique(self.$scope.pageId, pIndex, sIndex, sCode)\r\n .then(function (isUnique) {\r\n if (isUnique) {\r\n self.$scope.setSectionItemState(pIndex, sIndex, sCode, self.constants.RepeatingItemState.viewing);\r\n self.$scope.shadowResponse[pIndex][sCode][sIndex] = angular.copy(self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex]);\r\n self.$scope.utility.focus('sectionEdit-' + pIndex + '-' + sCode + '-' + sIndex);\r\n }\r\n });\r\n }\r\n else {\r\n self.$scope.alertFirstError();\r\n }\r\n };\r\n OrganisationFormController.prototype.editSectionItem = function (pIndex, sIndex, sCode) {\r\n var self = this;\r\n var today = self.utilityServices.getSystemDate(self.constants.responseDateFormat);\r\n self.baseEditSectionItemFn(pIndex, sIndex, sCode);\r\n var refEntity = self.refEntityConfig[sCode];\r\n if (refEntity) {\r\n var item = self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex];\r\n var end = moment(item[refEntity.endDateQuestionCode], self.constants.responseDateFormat, true);\r\n }\r\n };\r\n OrganisationFormController.prototype.checkSectionItemsUnique = function (pageId, pIndex, sIndex, sCode) {\r\n var self = this;\r\n var refEntityConfig = self.refEntityConfig[sCode];\r\n if (refEntityConfig) {\r\n return self.$scope.handleDuplicateSectionItems(pageId, pIndex, sIndex, sCode, refEntityConfig.equalityCompareFn, refEntityConfig.duplicatePopupCode);\r\n }\r\n else {\r\n var deferred = self.$q.defer();\r\n deferred.resolve(true);\r\n return deferred.promise;\r\n }\r\n };\r\n OrganisationFormController.prototype.validateAdditionalRules = function (pageId, pIndex, sIndex, sCode) {\r\n var self = this;\r\n var isValid = true;\r\n if (sCode === 'ward') {\r\n var hasCampusEndDate = self.$scope.notEmpty(null, 'campusEndDate', 'campus', 0, pIndex, pageId);\r\n var hasWardEndDate = self.$scope.notEmpty(null, 'wardEndDate', sCode, sIndex, pIndex, pageId);\r\n if (hasCampusEndDate && hasWardEndDate === false) {\r\n isValid = false;\r\n self.$scope.addValidationError('inline', self.$scope.pageId, pIndex, sIndex, sCode, 'wardEndDate', null, null, 'Please specify a ward/location end date as the campus end date is specified.', 'Please specify a ward/location end date as the campus end date is specified.', null);\r\n }\r\n }\r\n return isValid;\r\n };\r\n OrganisationFormController.prototype.areAllRepeatingItemsSaved = function () {\r\n var self = this;\r\n var allSaved = true;\r\n if (self.$scope.page.isRepeating) {\r\n allSaved = self.$scope.checkPageItemsAreSaved();\r\n }\r\n else {\r\n var repeatingSections = self.$scope.page.sections.filter(function (section) { return section.isRepeating; });\r\n allSaved = repeatingSections.some(function (repeatSection) { return self.$scope.checkSectionItemsAreSaved(repeatSection.code) === false; }) == false;\r\n }\r\n return allSaved;\r\n };\r\n OrganisationFormController.prototype.getRefEntityConfigForPageId = function (pageId) {\r\n var self = this;\r\n return Object.keys(self.refEntityConfig)\r\n .map(function (key) { return self.refEntityConfig[key]; })\r\n .find(function (config) { return config.pageId === pageId; });\r\n };\r\n OrganisationFormController.prototype.getApiLookUpValues = function (keyword, lookUpQuestionCode) {\r\n var self = this;\r\n var requestData = {\r\n organisationId: self.dataServices.responseInfo.organisationId,\r\n searchTerm: keyword\r\n };\r\n return self.dataServices.getLookupList(requestData, formApp.ApiLookupType.AuthorisingOfficer)\r\n .then(function (response) { return response.lookupList; });\r\n };\r\n OrganisationFormController.prototype.isTodayWithinDateRange = function (startDate, endDate) {\r\n var self = this;\r\n var today = self.utilityServices.getSystemDate(self.constants.responseDateFormat);\r\n var start = moment(startDate, self.constants.responseDateFormat, true);\r\n var end = moment(endDate, self.constants.responseDateFormat, true);\r\n return start.isValid() &&\r\n start.isSameOrBefore(today) &&\r\n (end.isValid() === false || end.isSameOrAfter(today));\r\n };\r\n OrganisationFormController.prototype.getOriginalItem = function (params) {\r\n var self = this;\r\n var id = self.$scope.valueOfQuestion(params, 'id');\r\n var original = self.utilityServices.getSectionResponse(self.dataServices.originalResponse, self.$scope.pageId, params.pIndex, params.sCode);\r\n return self.utilityServices.getJsonItemById(original, id);\r\n };\r\n OrganisationFormController.prototype.getActiveStatus = function (startDate, endDate) {\r\n var self = this;\r\n return self.isTodayWithinDateRange(startDate, endDate) ? self.constants.activeStatus.active : self.constants.activeStatus.inactive;\r\n };\r\n OrganisationFormController.prototype.getValidationStartDate = function (params, entityType) {\r\n var self = this;\r\n var validationDate = self.utilityServices.getSystemDate(self.constants.responseDateFormat);\r\n var refEntityConfig = self.refEntityConfig[entityType];\r\n if (self.$scope.getSectionItemState(params.pIndex, params.sIndex, params.sCode) === self.constants.RepeatingItemState.adding) {\r\n validationDate = self.utilityServices.getSystemDate(self.constants.responseDateFormat);\r\n }\r\n else if (self.$scope.getSectionItemState(params.pIndex, params.sIndex, params.sCode) === self.constants.RepeatingItemState.viewing) {\r\n var startDate = self.$scope.valueOfQuestion(params, refEntityConfig.startDateQuestionCode);\r\n validationDate = self.utilityServices.addDaysToDate(startDate, -1);\r\n }\r\n else {\r\n var originalItem = self.getOriginalItem(params);\r\n validationDate = self.utilityServices.addDaysToDate(originalItem[refEntityConfig.startDateQuestionCode], -1);\r\n }\r\n return validationDate;\r\n };\r\n OrganisationFormController.prototype.getValidationEndDate = function (params, entityType) {\r\n var self = this;\r\n var validationDate = self.utilityServices.getSystemDate(self.constants.responseDateFormat);\r\n var refEntityConfig = self.refEntityConfig[entityType];\r\n if (self.$scope.getSectionItemState(params.pIndex, params.sIndex, params.sCode) === self.constants.RepeatingItemState.adding) {\r\n validationDate = self.utilityServices.getSystemDate(self.constants.responseDateFormat);\r\n }\r\n else {\r\n var endDate = self.$scope.valueOfQuestion(params, refEntityConfig.endDateQuestionCode);\r\n if (endDate) {\r\n validationDate = self.utilityServices.addDaysToDate(endDate, -1);\r\n }\r\n }\r\n return validationDate;\r\n };\r\n OrganisationFormController.prototype.isStartDateReadOnly = function (params) {\r\n var self = this;\r\n var refEntityConfig = self.refEntityConfig[params.sCode];\r\n var originalItem = self.getOriginalItem(params);\r\n var isReadOnly = !!originalItem;\r\n return isReadOnly;\r\n };\r\n OrganisationFormController.prototype.campusAlwaysHasActiveWard = function (pIndex) {\r\n var self = this;\r\n var isValid = false;\r\n var campusConfig = self.refEntityConfig['campus'];\r\n var campusResponse = self.$scope.responses[campusConfig.pageId][pIndex];\r\n if (campusConfig && campusResponse) {\r\n var campusStartDate = campusResponse['campus'][0][campusConfig.startDateQuestionCode];\r\n var campusEndDate = campusResponse['campus'][0][campusConfig.endDateQuestionCode];\r\n var wardsResponse = campusResponse['ward'];\r\n isValid = self.itemsCoverDateRange(wardsResponse, 'ward', campusStartDate, campusEndDate);\r\n }\r\n if (isValid === false) {\r\n self.utilityServices.openPopup('activeWardRequired');\r\n }\r\n return isValid;\r\n };\r\n OrganisationFormController.prototype.hasActiveItemTillEndOfTime = function (sectionCode) {\r\n var self = this;\r\n var isValid = false;\r\n var refEntityConfig = self.refEntityConfig[sectionCode];\r\n if (refEntityConfig && refEntityConfig.requireActiveItem) {\r\n var response = self.utilityServices.getSectionResponse(self.$scope.responses, refEntityConfig.pageId, 0, sectionCode);\r\n isValid = self.itemsCoverDateRange(response, sectionCode, null, null);\r\n }\r\n else {\r\n isValid = true;\r\n }\r\n if (isValid === false) {\r\n self.utilityServices.openPopup('activeEntityRequired', { type: refEntityConfig.displayName });\r\n }\r\n return isValid;\r\n };\r\n OrganisationFormController.prototype.itemsCoverDateRange = function (sectionResponse, sectionCode, fromDate, toDate) {\r\n var self = this;\r\n var isValid = false;\r\n var refEntityConfig = self.refEntityConfig[sectionCode];\r\n var today = self.utilityServices.getSystemDate(self.constants.responseDateFormat);\r\n var firstDate = moment(fromDate, self.constants.responseDateFormat, true);\r\n if (firstDate.isValid() === false || firstDate.isSameOrBefore(today)) {\r\n var tomorrow = self.utilityServices.addDaysToDate(today, 1);\r\n firstDate = moment(tomorrow, self.constants.responseDateFormat, true);\r\n }\r\n var lastDate = moment(toDate, self.constants.responseDateFormat, true);\r\n if (refEntityConfig && refEntityConfig.requireActiveItem &&\r\n (lastDate.isValid() === false || lastDate.isSameOrAfter(firstDate))) {\r\n var allDates = _.uniqBy(sectionResponse, function (responseItem) {\r\n return responseItem[refEntityConfig.startDateQuestionCode] + \" : \" + responseItem[refEntityConfig.endDateQuestionCode];\r\n }).map(function (responseItem) {\r\n return {\r\n startDate: moment(responseItem[refEntityConfig.startDateQuestionCode], self.constants.responseDateFormat, true),\r\n endDate: moment(responseItem[refEntityConfig.endDateQuestionCode], self.constants.responseDateFormat, true)\r\n };\r\n });\r\n var activeDates = _.filter(allDates, function (currItem) {\r\n return currItem.endDate.isValid() === false || currItem.endDate.isSameOrAfter(today);\r\n }).sort(formApp.ActivePeriod.compare);\r\n if (activeDates.length > 0 &&\r\n activeDates[0].startDate.diff(firstDate, 'days') <= 0) {\r\n var latestDate = firstDate;\r\n for (var i = 0; i < activeDates.length; i++) {\r\n var item = activeDates[i];\r\n if (item.startDate.diff(latestDate, 'days') > 1) {\r\n break;\r\n }\r\n else if (item.endDate.isValid() === false) {\r\n isValid = true;\r\n break;\r\n }\r\n else if (lastDate.isValid() && item.endDate.isSameOrAfter(lastDate)) {\r\n isValid = true;\r\n break;\r\n }\r\n else if (item.endDate.isAfter(latestDate)) {\r\n latestDate = item.endDate;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n isValid = true;\r\n }\r\n return isValid;\r\n };\r\n OrganisationFormController.prototype.getCampusStartDate = function (params) {\r\n return this.$scope.valueOfQuestion(null, 'campusStartDate', 'campus', 0, params.pIndex, this.$scope.pageId);\r\n };\r\n OrganisationFormController.prototype.getCampusEndDate = function (params) {\r\n return this.$scope.valueOfQuestion(null, 'campusEndDate', 'campus', 0, params.pIndex, this.$scope.pageId);\r\n };\r\n OrganisationFormController.$inject = [\r\n '$scope',\r\n '$rootScope',\r\n '$controller',\r\n '$location',\r\n '$q',\r\n 'DataServices',\r\n 'UtilityServices',\r\n 'Constants'\r\n ];\r\n return OrganisationFormController;\r\n }());\r\n formApp.OrganisationFormController = OrganisationFormController;\r\n angular.module('formApp').controller('organisationFormController', OrganisationFormController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=organisationFormController.js.map","var formApp;\r\n(function (formApp) {\r\n var PageFormController = (function () {\r\n function PageFormController($scope, $http, $controller, dataServices, $routeParams, constants, $q, $rootScope, pageUrl, utilityServices) {\r\n this.$scope = $scope;\r\n this.$http = $http;\r\n this.$controller = $controller;\r\n this.dataServices = dataServices;\r\n this.$routeParams = $routeParams;\r\n this.constants = constants;\r\n this.$q = $q;\r\n this.$rootScope = $rootScope;\r\n this.pageUrl = pageUrl;\r\n this.utilityServices = utilityServices;\r\n var self = this;\r\n $scope.navTabNum = parseInt($routeParams.navTabNum);\r\n var template = dataServices.responseInfo.template;\r\n var versionNumber = dataServices.responseInfo.versionNumber;\r\n var optionSetHash = dataServices.responseInfo.optionSetHash;\r\n $scope.pageFormCtrl = self;\r\n var entityType = utilityServices.getEnityType(pageUrl);\r\n if (entityType == 6) {\r\n $scope.feedbackRef = dataServices.responseInfo.feedbackRef;\r\n }\r\n else if (entityType == 12) {\r\n $scope.sentinelEventRef = dataServices.responseInfo.sentinelEventRef;\r\n $scope.stageText = dataServices.responseInfo.stageText;\r\n }\r\n else {\r\n $scope.incidentRef = dataServices.responseInfo.incidentRef;\r\n }\r\n $scope.statusText = dataServices.responseInfo.statusText;\r\n dataServices.getConfigurationUsingCache(template, versionNumber, optionSetHash)\r\n .then(function (data) {\r\n $scope.configData = data.configData;\r\n var objBroadcastargs = {\r\n formConfigData: data.configData,\r\n navTabNum: self.$scope.navTabNum,\r\n pageUrl: pageUrl\r\n };\r\n $rootScope.$broadcast('updateConfigData', objBroadcastargs);\r\n });\r\n $scope.isFeedback = function () {\r\n return utilityServices.isFeedback(pageUrl);\r\n };\r\n $scope.getEnityType = function () {\r\n var entityType = utilityServices.getEnityType(pageUrl);\r\n return entityType;\r\n };\r\n $scope.$on('updateStatustext', function (event, args) {\r\n $scope.statusText = args;\r\n });\r\n }\r\n PageFormController.$inject = ['$scope', '$http', '$controller', 'DataServices', '$routeParams', 'Constants', '$q', '$rootScope', 'pageUrl', 'UtilityServices'];\r\n return PageFormController;\r\n }());\r\n formApp.PageFormController = PageFormController;\r\n angular.module('formApp').controller('pageFormController', PageFormController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=pageFormController.js.map","var formApp;\r\n(function (formApp) {\r\n var SentinelEventFormController = (function () {\r\n function SentinelEventFormController($scope, $http, $controller, dataServices, patientService, utilityServices, validationService, $log, $location, $routeParams, $filter, $anchorScroll, $timeout, $rootScope, constants, $q, $route) {\r\n var _this = this;\r\n this.$scope = $scope;\r\n this.$http = $http;\r\n this.$controller = $controller;\r\n this.dataServices = dataServices;\r\n this.patientService = patientService;\r\n this.utilityServices = utilityServices;\r\n this.validationService = validationService;\r\n this.$log = $log;\r\n this.$location = $location;\r\n this.$routeParams = $routeParams;\r\n this.$filter = $filter;\r\n this.$anchorScroll = $anchorScroll;\r\n this.$timeout = $timeout;\r\n this.$rootScope = $rootScope;\r\n this.constants = constants;\r\n this.$q = $q;\r\n this.$route = $route;\r\n this.lineManagerOptionSetsName = 'reporterlinemanager';\r\n this.lineManagerOptionSets = [];\r\n this.findingsAndLearningsOptionSet = [];\r\n this.doesSCVUserHaveAccessToAddSharedComments = function () {\r\n var self = _this;\r\n return (self.$scope.role == self.constants.sentinelRoleMap.SCVAdministrator\r\n || self.$scope.role == self.constants.sentinelRoleMap.SCVSEPTeamMember);\r\n };\r\n $controller('questionController', { $scope: $scope });\r\n $controller('documentController', { $scope: $scope });\r\n var self = this;\r\n self.selectedOptionSets = new Array();\r\n if (self.dataServices.isValidResponse(self.dataServices.originalResponse) === false) {\r\n self.dataServices.originalResponse = angular.copy($scope.responses);\r\n }\r\n self.$scope.signoffPageId = $route.current.locals.summaryPageId;\r\n dataServices.getConfigurationUsingCache($scope.template, $scope.versionNumber, $scope.optionSetHash, true, dataServices.responseInfo.sentinelEventId, dataServices.responseInfo.stage, dataServices.responseInfo.status)\r\n .then(function (data) {\r\n $scope.setupTriggersAndDynamicValues();\r\n self.$scope.isSCVUser = self.$scope.utility.isScvUser(self.$scope.utility.getOptionSetFromConfiguration('scvRoles'), data.role.split('|'));\r\n dataServices.responseInfo.isSCVUser = self.$scope.isSCVUser == null ? false : self.$scope.isSCVUser;\r\n $scope.setSummaryErrorFocus();\r\n document.title = $scope.utility.getPageTitle($scope.navTabNum, $scope.pageUrl);\r\n self.populateSentinelEventFindingsAndLearningsOptionSet();\r\n });\r\n $scope.sentinelEventId = dataServices.responseInfo.sentinelEventId;\r\n $scope.sentinelEventRef = dataServices.responseInfo.sentinelEventRef;\r\n $scope.status = dataServices.responseInfo.status;\r\n $scope.statusText = dataServices.responseInfo.statusText;\r\n $scope.stage = dataServices.responseInfo.stage;\r\n $scope.stageText = dataServices.responseInfo.stageText;\r\n $scope.reportAandBDueDate = dataServices.responseInfo.reportAandBDueDate;\r\n $scope.reportCDueDate = dataServices.responseInfo.reportCDueDate;\r\n $scope.reportDDueDate = dataServices.responseInfo.reportDDueDate;\r\n $scope.role = dataServices.responseInfo.role;\r\n $scope.isSCVUser = dataServices.responseInfo.isSCVUser == null ? false : dataServices.responseInfo.isSCVUser;\r\n this.setDocumentAccess();\r\n if (self.$scope.pageUrl == constants.sentinelConstants.partBDataCollectionPageUrl) {\r\n this.updateCategoryInReportsSection();\r\n this.updateSuspectedOrConfirmedPatientHarmInReportsSection();\r\n }\r\n else if (self.$scope.pageUrl == constants.sentinelConstants.eventDetailPageUrl || self.$scope.pageUrl.includes('signoff')) {\r\n this.serviceBecameAwareCondition();\r\n }\r\n else if (self.$scope.pageUrl == constants.sentinelConstants.reportBMSQCPageUrl) {\r\n this.updateFieldsMSQCpartB();\r\n }\r\n else if (self.$scope.pageUrl == constants.sentinelConstants.reportCMSQCPageUrl) {\r\n this.updateNumberOfRecs();\r\n this.updateRecommendationCategoryAndOtherDetails();\r\n this.updateFindingsAndLearnings();\r\n this.populateActionRequired();\r\n }\r\n else if (self.$scope.pageUrl == constants.sentinelConstants.reportCPageUrl) {\r\n this.updateHiddenOrganisationFieldInPartC();\r\n }\r\n else if (self.$scope.pageUrl == constants.sentinelConstants.committeeReviewPageUrl) {\r\n this.updateCommitteeReviewAutoPopulatedFields();\r\n }\r\n else if (self.$scope.pageUrl == 'partdsixmonthreview' && self.$scope.stageText == 'Part D - 6m') {\r\n this.populatePartDSixMonthRecommendations();\r\n }\r\n else if (self.$scope.pageUrl == 'partdtwelvemonthreview' && self.$scope.stageText == 'Part D - 12m') {\r\n this.populatePartDTwelveMonthRecommendations();\r\n }\r\n else if (self.$scope.pageUrl == 'parta') {\r\n this.updateField('3-1', 'eventdetails', 'reportABextensionsGranted', self.dataServices.responseInfo.cumulativeExtensionGranted);\r\n }\r\n else if (self.$scope.pageUrl == 'submissionextension') {\r\n this.updateField('16-1', 'submissionExtensionScvFunction', 'submissionExtensionGranted', self.dataServices.responseInfo.cumulativeExtensionGranted);\r\n }\r\n else if (self.$scope.pageUrl == 'partbother') {\r\n if (!self.$scope.isSCVUser && (!(($scope.stage == 0 && ($scope.status == 1 || $scope.status == 3))\r\n || ($scope.stage == 1 && ($scope.status == 2 || $scope.status == 7 || $scope.status == 3))\r\n || ($scope.stage == 2 && ($scope.status == 1 || $scope.status == 9 || $scope.status == 10))))) {\r\n $scope.isPageEditable = false;\r\n }\r\n }\r\n $scope.access = dataServices.responseInfo.access;\r\n dataServices.activeEntityType = formApp.AuditEntity.SentinelEvent;\r\n $scope.returnToDashboard = function () {\r\n $rootScope.allowFormNavigation = false;\r\n $location.path(self.manageUrl);\r\n };\r\n $scope.saveSentinelEvent = function (saveOperation) {\r\n self.dataServices.userAction = '';\r\n self.saveSentinelEvent(saveOperation);\r\n };\r\n $scope.export = function (exportPage) {\r\n var self = _this;\r\n self.$scope.notifyIsSavingChanged(true);\r\n var sentinelEventRef = self.$scope.sentinelEventRef;\r\n var sentinelEventId = self.$scope.sentinelEventId;\r\n var requestData = {\r\n id: sentinelEventId,\r\n exportType: exportPage\r\n };\r\n self.dataServices.getSentinelEventQAPdf(requestData)\r\n .then(function (response) {\r\n var data = response && response.data;\r\n try {\r\n var file = new formApp.win.Blob([data], { type: 'application/pdf' }, { name: sentinelEventRef });\r\n formApp.win.saveAs(file, sentinelEventRef + '.pdf');\r\n }\r\n catch (e) {\r\n self.$scope.utility.openPopup('errorDownloadPdf', { entityType: 'Sentinel event' });\r\n }\r\n }, function (errorResponse) {\r\n self.$scope.utility.openPopup('errorDownloadPdf', { entityType: 'Sentinel event', errorMessage: 'Error occured while downloading pdf' });\r\n })\r\n .finally(function () {\r\n self.$scope.notifyIsSavingChanged(false);\r\n });\r\n };\r\n $scope.cancelForm = function () {\r\n self.cancelForm();\r\n };\r\n $scope.getSECategoryAtTheTimeOfNotification = function () {\r\n return _this.getSENotificationCategory();\r\n };\r\n $scope.notifyCommentsAdded = function (actionCode) {\r\n var notificationChoice = null;\r\n return notificationChoice;\r\n };\r\n $scope.submissionExtensionDateOfRequest = function () {\r\n var status = $scope.status;\r\n var stage = $scope.stage;\r\n if ((status === 2 && stage === 1) || (status === 1 && stage === 0)) {\r\n var date = new Date();\r\n return moment(date).tz('Australia/Melbourne').format('YYYY-MM-DD');\r\n }\r\n else {\r\n var submissionExtensionRequestDueDate = $scope.responses['16-1'][0].submissionExtensionDetails[0].submissionExtensionDateOfRequest;\r\n if (submissionExtensionRequestDueDate != '') {\r\n return moment(submissionExtensionRequestDueDate).tz('Australia/Melbourne').format('YYYY-MM-DD');\r\n }\r\n return submissionExtensionRequestDueDate;\r\n }\r\n };\r\n $scope.updateTheCategoryInReportsSection = function () {\r\n _this.updateCategoryInReportsSection();\r\n };\r\n $scope.updateSuspectedOrConfirmedHarmInReportsSection = function () {\r\n return _this.updateSuspectedOrConfirmedPatientHarmInReportsSection();\r\n };\r\n $scope.updateCategoryAndSubCategoryInRelatedFields = function () {\r\n var reportPageId = constants.sentinelConstants.reportBPageId;\r\n var reportSectionCode = constants.sentinelConstants.reportSectionCode;\r\n var reportEventCategory = constants.sentinelConstants.reportEventCategory;\r\n var reportEventSubCategory = constants.sentinelConstants.reportEventSubCategory;\r\n var reportBIsCategoryCorrectQCode = constants.sentinelConstants.reportBIsCategoryCorrectQCode;\r\n if ($scope.responses[reportPageId][0] && $scope.responses[reportPageId][0][reportSectionCode]\r\n && $scope.responses[reportPageId][0][reportSectionCode][0]) {\r\n if (self.$scope.responses[reportPageId][0][reportSectionCode][0][reportBIsCategoryCorrectQCode] == 'yes') {\r\n self.$scope.responses[reportPageId][0][reportSectionCode][0][reportEventCategory] =\r\n _this.getSENotificationCategoryCode();\r\n self.$scope.responses[reportPageId][0][reportSectionCode][0][reportEventSubCategory] =\r\n _this.getSENotificationSubCategoryCode();\r\n }\r\n else {\r\n self.$scope.responses[reportPageId][0][reportSectionCode][0][reportEventCategory] = '';\r\n self.$scope.responses[reportPageId][0][reportSectionCode][0][reportEventSubCategory] = '';\r\n }\r\n }\r\n };\r\n $scope.catSixElevenRule = function () {\r\n var displayQuestion = false;\r\n var reportPageId = constants.sentinelConstants.eventDetailPageId;\r\n var reportSectionCode = constants.sentinelConstants.eventDetailSectionCode;\r\n var reportEventCategory = constants.sentinelConstants.eventCategoryQCode;\r\n var reportEventSubCategory = constants.sentinelConstants.eventSubCategoryQCode;\r\n if ($scope.responses[reportPageId][0] && $scope.responses[reportPageId][0][reportSectionCode]\r\n && $scope.responses[reportPageId][0][reportSectionCode][0]) {\r\n var category = $scope.responses[reportPageId][0][reportSectionCode][0][reportEventCategory];\r\n var subCategory = $scope.responses[reportPageId][0][reportSectionCode][0][reportEventSubCategory];\r\n if ((category == 6) || (category == 11 && subCategory == 4)) {\r\n displayQuestion = true;\r\n }\r\n }\r\n return displayQuestion;\r\n };\r\n $scope.setReportBotherFindingsValue = function (params) {\r\n self.setReportBotherFindingsValueForSection(params['sIndex']);\r\n };\r\n $scope.getNumberOfFindingsAndLearnings = function (findingOrLearning) {\r\n return self.getNumberOfFindingsAndLearnings(findingOrLearning);\r\n };\r\n $scope.cancelFormChanges = function (nextPageUrl) {\r\n self.cancelFormChanges(nextPageUrl);\r\n };\r\n $scope.getApiLookUpValues = function (keyword, lookUpQuestionCode, pIndex, page, sIndex, section) {\r\n return self.getApiLookUpValues(keyword, lookUpQuestionCode, pIndex, page, sIndex, section);\r\n };\r\n $scope.canManageSentinelEvents = function () {\r\n return self.dataServices.userProfile.canManageSentinelEvents;\r\n };\r\n $scope.getStatusOfApplication = function () {\r\n return self.$scope.statusText;\r\n };\r\n $scope.getEventNumber = function () {\r\n return self.$scope.sentinelEventRef;\r\n };\r\n $scope.getStageOfApplication = function () {\r\n return self.$scope.stageText;\r\n };\r\n $scope.isNotificationSubmitted = function () {\r\n var isNotificationSubmitted = false;\r\n if ((self.$scope.status == formApp.SentinelEventStatus.Draft\r\n || self.$scope.status == formApp.SentinelEventStatus.ResubmissionRequested)\r\n && self.$scope.stage == formApp.SentinelEventStage.Notification) {\r\n isNotificationSubmitted = false;\r\n }\r\n else {\r\n isNotificationSubmitted = true;\r\n }\r\n return isNotificationSubmitted;\r\n };\r\n $scope.computeServiceAwareFieldDisplayCondition = function () {\r\n var displayField = false;\r\n var dateFormat = _this.constants.responseDateFormat;\r\n var eventDateString = $scope.responses['1-3'][0]['event'][0]['eventDate'];\r\n var eventDate = moment(eventDateString, dateFormat, true);\r\n var serviceBecameAwareOfIncidentDateString = $scope.responses['1-3'][0]['event'][0]['eventServiceAwareIncidentDate'];\r\n var serviceBecameAwareOfIncidentDate = moment(serviceBecameAwareOfIncidentDateString, dateFormat, true);\r\n if (eventDate.add(3, 'days') < serviceBecameAwareOfIncidentDate) {\r\n displayField = true;\r\n }\r\n return displayField;\r\n };\r\n $scope.serviceAwareIncidentNotifyDelayReasonFieldDisplayCondition = function () {\r\n _this.serviceBecameAwareCondition();\r\n };\r\n $scope.checkConsumerRepresentative = function () {\r\n var consumerRepresentative = self.$scope.valueOfQuestion(null, self.constants.sentinelConstants.reportAconsumerRepMemberQCode, self.constants.sentinelConstants.reportAconsumerSectionCode, 0, 0, self.constants.sentinelConstants.reportAPageId);\r\n if (consumerRepresentative == 'no') {\r\n self.$scope.utility.openPopup('reportABconsumerRepMemberNotAvailable');\r\n }\r\n };\r\n $scope.hasCommitteeReviewBeenConducted = function () {\r\n return _this.hasCommitteeReviewBeenConducted();\r\n };\r\n $scope.isReportAandBSubmitted = function () {\r\n var isReportAandBSubmitted = false;\r\n if (self.$scope.stage == formApp.SentinelEventStage.PartC && self.$scope.status == formApp.SentinelEventStatus.MinorResubmissionRequested) {\r\n return false;\r\n }\r\n if (self.$scope.stage > formApp.SentinelEventStage.PartAandB && self.$scope.stage != formApp.SentinelEventStage.ExtensionRequest) {\r\n return true;\r\n }\r\n if ((self.$scope.status != formApp.SentinelEventStatus.Pending\r\n && self.$scope.status != formApp.SentinelEventStatus.ResubmissionRequested\r\n && self.$scope.status != formApp.SentinelEventStatus.Overdue)\r\n && self.$scope.stage == formApp.SentinelEventStage.PartAandB) {\r\n isReportAandBSubmitted = true;\r\n }\r\n return isReportAandBSubmitted;\r\n };\r\n $scope.isFindingLearningsReadOnly = function () {\r\n var isReportAandBSubmitted = false;\r\n if (self.$scope.stage > formApp.SentinelEventStage.PartAandB && self.$scope.stage != formApp.SentinelEventStage.ExtensionRequest) {\r\n return true;\r\n }\r\n if ((self.$scope.status != formApp.SentinelEventStatus.Pending\r\n && self.$scope.status != formApp.SentinelEventStatus.Overdue\r\n && self.$scope.status != formApp.SentinelEventStatus.ResubmissionRequested)\r\n && self.$scope.stage == formApp.SentinelEventStage.PartAandB) {\r\n isReportAandBSubmitted = true;\r\n }\r\n return isReportAandBSubmitted;\r\n };\r\n $scope.isReportCSubmitted = function () {\r\n var isReportCSubmitted = false;\r\n if (self.$scope.stage > formApp.SentinelEventStage.PartC) {\r\n return true;\r\n }\r\n if ((self.$scope.status != formApp.SentinelEventStatus.Pending\r\n && self.$scope.status != formApp.SentinelEventStatus.ResubmissionRequested\r\n && self.$scope.status != formApp.SentinelEventStatus.Overdue\r\n && self.$scope.status != formApp.SentinelEventStatus.MinorResubmissionRequested)\r\n && self.$scope.stage == formApp.SentinelEventStage.PartC) {\r\n isReportCSubmitted = true;\r\n }\r\n return isReportCSubmitted;\r\n };\r\n $scope.isReportD6Submitted = function () {\r\n var isReportDSubmitted = false;\r\n if (self.$scope.stage == formApp.SentinelEventStage.PartD12m || self.$scope.stage == formApp.SentinelEventStage.FullReport) {\r\n return true;\r\n }\r\n if ((self.$scope.status != formApp.SentinelEventStatus.Pending)\r\n && (self.$scope.status != formApp.SentinelEventStatus.Overdue)\r\n && (self.$scope.status != formApp.SentinelEventStatus.ResubmissionRequested)\r\n && self.$scope.stage == formApp.SentinelEventStage.PartD6m) {\r\n isReportDSubmitted = true;\r\n }\r\n return isReportDSubmitted;\r\n };\r\n $scope.isReportD12Submitted = function () {\r\n var isReportDSubmitted = false;\r\n if (self.$scope.stage == formApp.SentinelEventStage.FullReport) {\r\n return true;\r\n }\r\n if ((self.$scope.status != formApp.SentinelEventStatus.Pending)\r\n && (self.$scope.status != formApp.SentinelEventStatus.Overdue)\r\n && (self.$scope.status != formApp.SentinelEventStatus.ResubmissionRequested)\r\n && self.$scope.stage == formApp.SentinelEventStage.PartD12m) {\r\n isReportDSubmitted = true;\r\n }\r\n return isReportDSubmitted;\r\n };\r\n this.populateDueAndSubmissionDates();\r\n $scope.saveNewSectionItem = function (pIndex, sIndex, sCode) {\r\n self.saveNewSectionItem(pIndex, sIndex, sCode);\r\n };\r\n $scope.saveExistingSectionItem = function (pIndex, sIndex, sCode) {\r\n self.saveExistingSectionItem(pIndex, sIndex, sCode);\r\n };\r\n $scope.focusOnEndorsementSection = function () {\r\n self.utilityServices.focus('endorsement');\r\n };\r\n $scope.init = function (sectionCode) {\r\n self.init(sectionCode);\r\n };\r\n self.baseGetQuestionOptions = $scope.getQuestionOptions;\r\n $scope.getQuestionOptions = function (question, pIndex, sIndex, sCode) {\r\n return self.getQuestionOptions(question, pIndex, sIndex, sCode);\r\n };\r\n $scope.ellipsifyActionComment = function (comment) {\r\n return self.utilityServices.ellipsify(comment, 225, ' ...');\r\n };\r\n if ($routeParams.actionId && $scope.navTabNum === formApp.EntityActionMapping.sentinelEventAction.navTabNo) {\r\n $scope.openScrollToPageItemById($routeParams.actionId);\r\n }\r\n $scope.setRecommendationStrengthBasedOnCategory = function () {\r\n var reportCPageId = constants.sentinelConstants.reportCPageId;\r\n var reportCSectionCode = constants.sentinelConstants.reportCSectionCode;\r\n var reportCCategoryQCode = constants.sentinelConstants.reportCCategoryQCode;\r\n var reportCRecommendationStrengthQCode = constants.sentinelConstants.reportCRecommendationStrengthQCode;\r\n var strongRecommendation = constants.recommendationCategoryMap['Strong'];\r\n var weakRecommendation = constants.recommendationCategoryMap['Weak'];\r\n var moderateRecommendation = constants.recommendationCategoryMap['Moderate'];\r\n var categoryText = '';\r\n if ($scope.responses[reportCPageId] &&\r\n $scope.responses[reportCPageId][0] &&\r\n $scope.responses[reportCPageId][0][reportCSectionCode]\r\n && $scope.responses[reportCPageId][0][reportCSectionCode][0]) {\r\n var sectionIndex = $scope.responses[reportCPageId][0][reportCSectionCode].length - 1;\r\n var categoryCode = $scope.responses[reportCPageId][0][reportCSectionCode][sectionIndex][reportCCategoryQCode];\r\n categoryText = self.$scope.utility.getOptionSetItemByCode('recommendationcategory', categoryCode).text;\r\n var recommendationStrengthMap = {\r\n 'Architectural/physical changes in surroundings': strongRecommendation,\r\n 'New devices with usability testing': strongRecommendation,\r\n 'Engineering control (forcing functions which force the user to complete the action)': strongRecommendation,\r\n 'Simplify process and remove unnecessary steps': strongRecommendation,\r\n 'Tangible involvement by leadership, Redundancy': strongRecommendation,\r\n 'Redundancy': moderateRecommendation,\r\n 'Increase in staffing/decrease in workload': moderateRecommendation,\r\n 'Software enhancements or modifications': moderateRecommendation,\r\n 'Eliminate/reduce distractions': moderateRecommendation,\r\n 'Education using simulation-based training with periodic refresher sessions/observations': moderateRecommendation,\r\n 'Checklist/cognitive aids': moderateRecommendation,\r\n 'Eliminate look- and sound-alikes': moderateRecommendation,\r\n 'Standardised communication tools': moderateRecommendation,\r\n 'Standardise process': moderateRecommendation,\r\n 'Double checks': weakRecommendation,\r\n 'Warnings': weakRecommendation,\r\n 'New procedure/memorandum/policy': weakRecommendation,\r\n 'Training': weakRecommendation,\r\n 'Share Outcomes / educational reference': weakRecommendation,\r\n 'Further review or develop an action plan': weakRecommendation\r\n };\r\n $scope.responses[reportCPageId][0][reportCSectionCode][sectionIndex][reportCRecommendationStrengthQCode] = recommendationStrengthMap[categoryText];\r\n }\r\n };\r\n $scope.calcPercentageHumanError = function (that) {\r\n self.calcPercentageHumanError(that);\r\n };\r\n $scope.canSubmitReports = function () {\r\n return (self.$scope.role != self.constants.sentinelRoleMap.HSSEReportAuthor\r\n && self.$scope.role != self.constants.sentinelRoleMap.SEReportReviewer);\r\n };\r\n $scope.isExtensionRequestSubmitted = function () {\r\n var isExtensionRequestSubmitted = false;\r\n if ((self.$scope.status != formApp.SentinelEventStatus.AcceptedABPending)\r\n && (self.$scope.status != formApp.SentinelEventStatus.NotAcceptedABPending)\r\n && self.$scope.stage == formApp.SentinelEventStage.ExtensionRequest) {\r\n isExtensionRequestSubmitted = true;\r\n }\r\n return isExtensionRequestSubmitted;\r\n };\r\n $scope.isReadOnlyHSUser = function () {\r\n return ($scope.role == self.constants.sentinelRoleMap.HSAdministrator\r\n || $scope.role == self.constants.sentinelRoleMap.HSInterestedParty);\r\n };\r\n $scope.isReadOnlySCVUser = function () {\r\n return ($scope.role == self.constants.sentinelRoleMap.SCVInternalNotificationAlert\r\n || $scope.role == self.constants.sentinelRoleMap.SCVInterestedParty);\r\n };\r\n $scope.isFindingLearningsReadOnly = function () {\r\n var isReportAandBSubmitted = false;\r\n if (self.$scope.stage > formApp.SentinelEventStage.PartAandB && self.$scope.stage != formApp.SentinelEventStage.ExtensionRequest) {\r\n return true;\r\n }\r\n if ((self.$scope.status != formApp.SentinelEventStatus.Pending\r\n && self.$scope.status != formApp.SentinelEventStatus.ReviewPending\r\n && self.$scope.status != formApp.SentinelEventStatus.Overdue\r\n && self.$scope.status != formApp.SentinelEventStatus.ResubmissionRequested)\r\n && self.$scope.stage == formApp.SentinelEventStage.PartAandB) {\r\n isReportAandBSubmitted = true;\r\n }\r\n return isReportAandBSubmitted;\r\n };\r\n self.updateSharedCommentAccess();\r\n }\r\n Object.defineProperty(SentinelEventFormController.prototype, \"manageUrl\", {\r\n get: function () {\r\n return this.dataServices.currentManagePageUrl || this.constants.Url.manageSentinelEvents;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n SentinelEventFormController.prototype.serviceBecameAwareCondition = function () {\r\n var self = this;\r\n try {\r\n var displayField = false;\r\n var dateFormat = this.constants.responseDateFormat;\r\n if (!self.$scope.pageUrl.includes('signoff')) {\r\n self.$scope.buildDateString('eventServiceAwareIncidentDate', 0, 0, 'event');\r\n }\r\n var serviceBecameAwareOfIncidentDateString = self.$scope.responses['1-3'][0]['event'][0]['eventServiceAwareIncidentDate'];\r\n var serviceBecameAwareOfIncidentDate = moment(serviceBecameAwareOfIncidentDateString, dateFormat, true);\r\n var notifierDateString = self.$scope.responses['1-1'][0]['notifier'][0]['notifierDate'];\r\n var notifierDate = moment(notifierDateString, dateFormat, true).startOf('day');\r\n if (serviceBecameAwareOfIncidentDate.isValid()) {\r\n self.dataServices.getDueDate(serviceBecameAwareOfIncidentDateString)\r\n .then(function (response) {\r\n if (response) {\r\n var dueDate = moment(response).startOf('day');\r\n if (dueDate < notifierDate) {\r\n displayField = true;\r\n }\r\n }\r\n }, function (response) {\r\n if (response) {\r\n displayField = false;\r\n self.dataServices.trackEventsWithGA('Error occured during GetDueDate calculation ' + self.$scope.pageUrl, 'serviceAwareIncidentNotifyDelayReasonFieldDisplayCondition', 'Failed to get due date');\r\n }\r\n })\r\n .finally(function () {\r\n self.$scope.displayServiceAwareIncidentNotifyDelayReason = displayField;\r\n });\r\n }\r\n }\r\n catch (ex) {\r\n self.$scope.displayServiceAwareIncidentNotifyDelayReason = false;\r\n }\r\n };\r\n SentinelEventFormController.prototype.populatePartDSixMonthRecommendations = function () {\r\n var self = this;\r\n self.$scope.initialisePageResponse();\r\n if (self.$scope.responses['6-1'] != undefined &&\r\n self.$scope.responses['6-1'][0] != undefined &&\r\n self.$scope.responses['6-1'][0]['partcrecommendations'] != undefined &&\r\n self.$scope.responses['6-1'][0]['partcrecommendations'].length >= 1) {\r\n if (!self.$scope.responses['10-1']) {\r\n self.$scope.responses['10-1'] = [];\r\n self.$scope.responses['10-1']['partdsixmonthreviewrecommendation'] = {};\r\n }\r\n if (!self.$scope.responses['10-1'][0]['partdsixmonthreviewrecommendation']) {\r\n self.$scope.responses['10-1'][0]['partdsixmonthreviewrecommendation'] = [];\r\n }\r\n if (self.$scope.responses['10-1'][0]['partdsixmonthreviewrecommendation'].length == 0) {\r\n _.forEach(self.$scope.responses['6-1'][0]['partcrecommendations'], function (item, index) {\r\n self.$scope.addSectionItem(0, 'partdsixmonthreviewrecommendation', false);\r\n self.$scope.responses['10-1'][0]['partdsixmonthreviewrecommendation'][index]['partdsixmonthreviewrecommendationRecNumber']\r\n = item['partCRecommendationNumber'];\r\n self.$scope.responses['10-1'][0]['partdsixmonthreviewrecommendation'][index]['partdsixmonthreviewrecommendationDetail']\r\n = item['partCRecommendationDetail'];\r\n self.$scope.responses['10-1'][0]['partdsixmonthreviewrecommendation'][index]['partdsixmonthreviewrecommendationActionsRequired']\r\n = item['partCRecommendationActions'];\r\n self.$scope.setSectionItemState(0, parseInt(index), 'partdsixmonthreviewrecommendation', self.constants.RepeatingItemState.viewing);\r\n });\r\n }\r\n }\r\n if (this.hasCommitteeReviewBeenConducted()) {\r\n this.populatePartD6MonthCommitteeReviewFields();\r\n }\r\n };\r\n SentinelEventFormController.prototype.populatePartDTwelveMonthRecommendations = function () {\r\n var self = this;\r\n self.$scope.initialisePageResponse();\r\n if (self.$scope.responses['10-1'] && self.$scope.responses['10-1'][0] &&\r\n self.$scope.responses['10-1'][0]['partdsixmonthreviewrecommendation'] &&\r\n self.$scope.responses['10-1'][0]['partdsixmonthreviewrecommendation'].length) {\r\n if (!self.$scope.responses['12-1']) {\r\n self.$scope.responses['12-1'] = [];\r\n }\r\n if (!self.$scope.responses['12-1'][0]['partdtwelvemonthreviewrecommendation']) {\r\n self.$scope.responses['12-1'][0]['partdtwelvemonthreviewrecommendation'] = [];\r\n }\r\n if (!self.$scope.responses['12-1'][0]['partdtwelvemonthreviewrecommendation'].length) {\r\n var index = 0;\r\n _.forEach(self.$scope.responses['10-1'][0]['partdsixmonthreviewrecommendation'], function (item) {\r\n if (item['partdsixmonthreviewrecommendationStatus'] == '2'\r\n || item['partdsixmonthreviewrecommendationStatus'] == '3'\r\n || item['partdsixmonthreviewrecommendationStatus'] == '4'\r\n || item['partdsixmonthreviewrecommendationStatus'] == '5') {\r\n self.$scope.addSectionItem(0, 'partdtwelvemonthreviewrecommendation', false);\r\n self.$scope.responses['12-1'][0]['partdtwelvemonthreviewrecommendation'][index]['partdtwelvemonthreviewrecommendationRecNumber']\r\n = item['partdsixmonthreviewrecommendationRecNumber'];\r\n self.$scope.responses['12-1'][0]['partdtwelvemonthreviewrecommendation'][index]['partdtwelvemonthreviewrecommendationDetail']\r\n = item['partdsixmonthreviewrecommendationDetail'];\r\n self.$scope.responses['12-1'][0]['partdtwelvemonthreviewrecommendation'][index]['partdtwelvemonthreviewrecommendationActionsRequired']\r\n = item['partdsixmonthreviewrecommendationActionsRequired'];\r\n self.$scope.setSectionItemState(0, index, 'partdtwelvemonthreviewrecommendation', self.constants.RepeatingItemState.viewing);\r\n index++;\r\n }\r\n });\r\n }\r\n }\r\n if (this.hasCommitteeReviewBeenConducted()) {\r\n this.populatePartD12MonthCommitteeReviewFields();\r\n }\r\n };\r\n SentinelEventFormController.prototype.updateCommitteeReviewAutoPopulatedFields = function () {\r\n var self = this;\r\n var committeeReviewHSSectionCode = self.constants.sentinelConstants.committeeReviewHSSectionCode;\r\n var notificationHealthServiceSectionCode = self.constants.sentinelConstants.notificationHealthServiceSectionCode;\r\n var notificationHealthServiceQCode = self.constants.sentinelConstants.notificationHealthServiceQCode;\r\n var notificationHealthServicePageId = self.constants.sentinelConstants.notificationHealthServicePageId;\r\n var committeeReviewHSQCode = self.constants.sentinelConstants.committeeReviewHSQCode;\r\n var committeereviewDateOfSubmissionQCode = self.constants.sentinelConstants.committeereviewDateOfSubmissionQCode;\r\n if (!self.$scope.responses[self.constants.sentinelConstants.committeeReviewPageId]) {\r\n self.$scope.responses[self.constants.sentinelConstants.committeeReviewPageId] = [];\r\n }\r\n if (!self.$scope.responses[self.constants.sentinelConstants.committeeReviewPageId][0]) {\r\n self.$scope.responses[self.constants.sentinelConstants.committeeReviewPageId][0] = {};\r\n }\r\n if (!self.$scope.responses[self.constants.sentinelConstants.committeeReviewPageId][0][committeeReviewHSSectionCode]) {\r\n self.$scope.responses[self.constants.sentinelConstants.committeeReviewPageId][0][committeeReviewHSSectionCode] = [];\r\n self.$scope.responses[self.constants.sentinelConstants.committeeReviewPageId][0][committeeReviewHSSectionCode][0] = {};\r\n }\r\n var userOrganisation = self.$scope.responses[notificationHealthServicePageId][0][notificationHealthServiceSectionCode][0][notificationHealthServiceQCode];\r\n self.$scope.responses[self.constants.sentinelConstants.committeeReviewPageId][0][committeeReviewHSSectionCode][0][committeeReviewHSQCode] =\r\n self.$scope.utility.getOptionSetItemByCode('organisation', userOrganisation).text;\r\n self.$scope.setQuestionValueFromCodeAndType(committeereviewDateOfSubmissionQCode, 'date', self.$scope.utility.getSystemDate(), self.$scope.responses[self.constants.sentinelConstants.committeeReviewPageId][0][committeeReviewHSSectionCode][0]);\r\n };\r\n SentinelEventFormController.prototype.hasCommitteeReviewBeenConducted = function () {\r\n var self = this;\r\n var committeeReviewConducted = self.dataServices.responseInfo.committeeReviewAction != null;\r\n return committeeReviewConducted;\r\n };\r\n SentinelEventFormController.prototype.populatePartD6MonthCommitteeReviewFields = function () {\r\n var self = this;\r\n var partD6MPageId = self.constants.sentinelConstants.partD6MPageId;\r\n var partD6MCommitteeReviewSectionCode = self.constants.sentinelConstants.partD6MCommitteeReviewSectionCode;\r\n if (self.dataServices.responseInfo.committeeReviewAction) {\r\n var value = self.$scope.utility.getOptionSetItemByCode('healthserviceaction', self.dataServices.responseInfo.committeeReviewAction).text;\r\n this.updateField(partD6MPageId, partD6MCommitteeReviewSectionCode, 'partdsixmonthreviewcommitteereviewAction', value);\r\n }\r\n };\r\n SentinelEventFormController.prototype.populatePartD12MonthCommitteeReviewFields = function () {\r\n var self = this;\r\n if (self.dataServices.responseInfo.committeeReviewAction) {\r\n var value = self.$scope.utility.getOptionSetItemByCode('healthserviceaction', self.dataServices.responseInfo.committeeReviewAction).text;\r\n this.updateField('12-1', 'partdtwelvemonthreviewcommitteereview', 'partdtwelvemonthreviewcommitteereviewAction', value);\r\n }\r\n };\r\n SentinelEventFormController.prototype.updateHiddenOrganisationFieldInPartC = function () {\r\n var self = this;\r\n var reportCPageId = self.constants.sentinelConstants.reportCPageId;\r\n var reportCSectionCode = self.constants.sentinelConstants.reportCSectionCode;\r\n var reportCHiddenOrganisationQCode = self.constants.sentinelConstants.reportCHiddenOrganisationQCode;\r\n var notificationHealthServicePageId = self.constants.sentinelConstants.notificationHealthServicePageId;\r\n var notificationHealthServiceSectionCode = self.constants.sentinelConstants.notificationHealthServiceSectionCode;\r\n var notificationHealthServiceQCode = self.constants.sentinelConstants.notificationHealthServiceQCode;\r\n var reportCRecommendationNumberQCode = self.constants.sentinelConstants.reportCRecommendationNumberQCode;\r\n if (!self.$scope.responses[reportCPageId]) {\r\n self.$scope.responses[reportCPageId] = [];\r\n }\r\n if (!self.$scope.responses[reportCPageId][0]) {\r\n self.$scope.responses[reportCPageId][0] = {};\r\n }\r\n if (!self.$scope.responses[reportCPageId][0][reportCSectionCode]) {\r\n self.$scope.responses[reportCPageId][0][reportCSectionCode] = [];\r\n self.$scope.responses[reportCPageId][0][reportCSectionCode][0] = {};\r\n }\r\n var userOrganisation = self.$scope.responses[notificationHealthServicePageId][0][notificationHealthServiceSectionCode][0][notificationHealthServiceQCode];\r\n if (!self.$scope.responses[reportCPageId][0][reportCSectionCode][0]) {\r\n self.$scope.responses[reportCPageId][0][reportCSectionCode][0] = {};\r\n }\r\n self.$scope.responses[reportCPageId][0][reportCSectionCode][0][reportCHiddenOrganisationQCode] =\r\n self.$scope.utility.getOptionSetItemByCode('organisation', userOrganisation).code;\r\n };\r\n SentinelEventFormController.prototype.updateNumberOfRecs = function () {\r\n var self = this;\r\n var reportCMSQCPageId = self.constants.sentinelConstants.reportCMSQCPageId;\r\n var reportCMSQCRecommendationsSectionCode = self.constants.sentinelConstants.reportCMSQCRecommendationsSectionCode;\r\n var reportCMSQCRecommendationsQCode = self.constants.sentinelConstants.reportCMSQCRecommendationsQCode;\r\n var reportCPageId = self.constants.sentinelConstants.reportCPageId;\r\n var reportCSectionCode = self.constants.sentinelConstants.reportCSectionCode;\r\n var sectionIndex = 0;\r\n if (self.$scope.responses[reportCPageId] != null\r\n && self.$scope.responses[reportCPageId][0] != null\r\n && self.$scope.responses[reportCPageId][0][reportCSectionCode] != null\r\n && self.$scope.responses[reportCPageId][0][reportCSectionCode][0] != null) {\r\n sectionIndex = self.$scope.responses[reportCPageId][0][reportCSectionCode].length;\r\n }\r\n if (!self.$scope.responses[reportCMSQCPageId]) {\r\n self.$scope.responses[reportCMSQCPageId] = [];\r\n }\r\n if (!self.$scope.responses[reportCMSQCPageId][0]) {\r\n self.$scope.responses[reportCMSQCPageId][0] = {};\r\n }\r\n if (!self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode]) {\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode] = [];\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode][0] = {};\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode][0][reportCMSQCRecommendationsQCode] = {};\r\n }\r\n if (self.$scope.responses[reportCMSQCPageId] != null\r\n && self.$scope.responses[reportCMSQCPageId][0] != null\r\n && self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode] != null\r\n && self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode][0] != null) {\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode][0][reportCMSQCRecommendationsQCode] = sectionIndex;\r\n }\r\n };\r\n SentinelEventFormController.prototype.populateActionRequired = function () {\r\n var self = this;\r\n var reportCMSQCOutcomePageId = self.constants.sentinelConstants.reportCMSQCOutcomePageId;\r\n var reportCMSQCOutcomeActionSectionCode = self.constants.sentinelConstants.reportCMSQCOutcomeActionSectionCode;\r\n var reportCMSQCOutcomeActionQCode = self.constants.sentinelConstants.reportCMSQCOutcomeActionQCode;\r\n var reportCMSQCQAOutcomeSectionCode = self.constants.sentinelConstants.reportCMSQCQAOutcomeSectionCode;\r\n var reportCMSQCPageId = self.constants.sentinelConstants.reportCMSQCPageId;\r\n var reportCMSQCQAOutcomeActionRequiredQCode = self.constants.sentinelConstants.reportCMSQCQAOutcomeActionRequiredQCode;\r\n if (self.$scope.responses\r\n && self.$scope.responses[reportCMSQCOutcomePageId]\r\n && self.$scope.responses[reportCMSQCOutcomePageId][0]\r\n && self.$scope.responses[reportCMSQCOutcomePageId][0][reportCMSQCOutcomeActionSectionCode]\r\n && self.$scope.responses[reportCMSQCOutcomePageId][0][reportCMSQCOutcomeActionSectionCode][0]) {\r\n var actionRequired = self.$scope.responses[reportCMSQCOutcomePageId][0][reportCMSQCOutcomeActionSectionCode][0][reportCMSQCOutcomeActionQCode];\r\n if (self.$scope.responses\r\n && self.$scope.responses[reportCMSQCPageId]\r\n && self.$scope.responses[reportCMSQCPageId][0]\r\n && self.$scope.responses[reportCMSQCPageId][0][reportCMSQCQAOutcomeSectionCode]\r\n && self.$scope.responses[reportCMSQCPageId][0][reportCMSQCQAOutcomeSectionCode][0]) {\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCQAOutcomeSectionCode][0][reportCMSQCQAOutcomeActionRequiredQCode] = actionRequired;\r\n }\r\n }\r\n };\r\n SentinelEventFormController.prototype.updateFindingsAndLearnings = function () {\r\n var self = this;\r\n var reportCMSQCPageId = self.constants.sentinelConstants.reportCMSQCPageId;\r\n var reportCMSQCRecommendationsSectionCode = self.constants.sentinelConstants.reportCMSQCRecommendationsSectionCode;\r\n var reportCMSQCFindingsQCode = self.constants.sentinelConstants.reportCMSQCFindingsQCode;\r\n var reportCMSQCLearningsQCode = self.constants.sentinelConstants.reportCMSQCLearningsQCode;\r\n if (!self.$scope.responses[reportCMSQCPageId]) {\r\n self.$scope.responses[reportCMSQCPageId] = [];\r\n }\r\n if (!self.$scope.responses[reportCMSQCPageId][0]) {\r\n self.$scope.responses[reportCMSQCPageId][0] = {};\r\n }\r\n if (!self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode]) {\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode] = [];\r\n }\r\n if (!self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode][0]) {\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode][0] = {};\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode][0][reportCMSQCFindingsQCode] = {};\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode][0][reportCMSQCLearningsQCode] = {};\r\n }\r\n if (self.$scope.responses\r\n && self.$scope.responses[reportCMSQCPageId]\r\n && self.$scope.responses[reportCMSQCPageId][0]\r\n && self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode]\r\n && self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode][0]) {\r\n var findingsCount = this.getNumberOfFindingsAndLearnings('f');\r\n var learningsCount = this.getNumberOfFindingsAndLearnings('l');\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode][0][reportCMSQCFindingsQCode] = findingsCount;\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode][0][reportCMSQCLearningsQCode] = learningsCount;\r\n }\r\n };\r\n SentinelEventFormController.prototype.updateRecommendationCategoryAndOtherDetails = function () {\r\n var self = this;\r\n var reportCMSQCPageId = self.constants.sentinelConstants.reportCMSQCPageId;\r\n var reportCMSQCRecommendationsSectionCode = self.constants.sentinelConstants.reportCMSQCRecommendationsSectionCode;\r\n var reportCMSQCWeakRecsQCode = self.constants.sentinelConstants.reportCMSQCWeakRecsQCode;\r\n var reportCMSQCModerateRecsQCode = self.constants.sentinelConstants.reportCMSQCModerateRecsQCode;\r\n var reportCMSQCStrongRecsQCode = self.constants.sentinelConstants.reportCMSQCStrongRecsQCode;\r\n var reportCSmartRecQCode = self.constants.sentinelConstants.reportCSmartRecQCode;\r\n var reportCMSQCPageId = self.constants.sentinelConstants.reportCMSQCPageId;\r\n var reportCMSQCRecommendationsSectionCode = self.constants.sentinelConstants.reportCMSQCRecommendationsSectionCode;\r\n var reportCPageId = self.constants.sentinelConstants.reportCPageId;\r\n var reportCSectionCode = self.constants.sentinelConstants.reportCSectionCode;\r\n var reportCRecommendationStrengthQCode = self.constants.sentinelConstants.reportCRecommendationStrengthQCode;\r\n var reportCMSQCSmartRecQCode = self.constants.sentinelConstants.reportCMSQCSmartRecQCode;\r\n var weakRecsCount = 0;\r\n var moderateRecsCount = 0;\r\n var strongRecsCount = 0;\r\n var smartRecsCount = 0;\r\n var strongRecommendation = self.constants.recommendationCategoryMap['Strong'];\r\n var weakRecommendation = self.constants.recommendationCategoryMap['Weak'];\r\n var moderateRecommendation = self.constants.recommendationCategoryMap['Moderate'];\r\n var reportCSharedLearningSectionCode = self.constants.sentinelConstants.reportCSharedLearningSectionCode;\r\n var reportCSharedLearningInternalQCode = self.constants.sentinelConstants.reportCSharedLearningInternalQCode;\r\n var reportCSharedLearningExternalQCode = self.constants.sentinelConstants.reportCSharedLearningExternalQCode;\r\n var reportCMSQCSmartRecSharedLearningSectionCode = self.constants.sentinelConstants.reportCMSQCSmartRecSharedLearningSectionCode;\r\n var reportCMSQCSmartRecInternalQCode = self.constants.sentinelConstants.reportCMSQCSmartRecInternalQCode;\r\n var reportCMSQCSmartRecExternalQCode = self.constants.sentinelConstants.reportCMSQCSmartRecExternalQCode;\r\n var reportCMSQCHealthServiceSectionCode = self.constants.sentinelConstants.reportCMSQCHealthServiceSectionCode;\r\n var reportCMSQCHealthServiceQCode = self.constants.sentinelConstants.reportCMSQCHealthServiceQCode;\r\n var notificationHealthServicePageId = self.constants.sentinelConstants.notificationHealthServicePageId;\r\n var notificationHealthServiceSectionCode = self.constants.sentinelConstants.notificationHealthServiceSectionCode;\r\n var notificationHealthServiceQCode = self.constants.sentinelConstants.notificationHealthServiceQCode;\r\n if (self.$scope.responses[reportCPageId] != null\r\n && self.$scope.responses[reportCPageId][0] != null\r\n && self.$scope.responses[reportCPageId][0][reportCSectionCode] != null\r\n && self.$scope.responses[reportCPageId][0][reportCSectionCode][0] != null) {\r\n var strongRecFilteredArray = self.$scope.responses[reportCPageId][0][reportCSectionCode].filter(function (item) { return item[reportCRecommendationStrengthQCode] == strongRecommendation; });\r\n strongRecsCount = strongRecFilteredArray.length;\r\n var weakRecFilteredArray = self.$scope.responses[reportCPageId][0][reportCSectionCode].filter(function (item) { return item[reportCRecommendationStrengthQCode] == weakRecommendation; });\r\n weakRecsCount = weakRecFilteredArray.length;\r\n var moderateRecFilteredArray = self.$scope.responses[reportCPageId][0][reportCSectionCode].filter(function (item) { return item[reportCRecommendationStrengthQCode] == moderateRecommendation; });\r\n moderateRecsCount = moderateRecFilteredArray.length;\r\n var smartRecFilteredArray = self.$scope.responses[reportCPageId][0][reportCSectionCode].filter(function (item) { return item[reportCSmartRecQCode] == 'yes'; });\r\n smartRecsCount = smartRecFilteredArray.length;\r\n }\r\n if (!self.$scope.responses[reportCMSQCPageId]) {\r\n self.$scope.responses[reportCMSQCPageId] = [];\r\n }\r\n if (!self.$scope.responses[reportCMSQCPageId][0]) {\r\n self.$scope.responses[reportCMSQCPageId][0] = {};\r\n }\r\n if (!self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode]) {\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode] = [];\r\n }\r\n if (!self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode][0]) {\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode][0] = {};\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode][0][reportCMSQCWeakRecsQCode] = {};\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode][0][reportCMSQCStrongRecsQCode] = {};\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode][0][reportCMSQCModerateRecsQCode] = {};\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode][0][reportCMSQCSmartRecQCode] = {};\r\n }\r\n if (!self.$scope.responses[reportCMSQCPageId][0][reportCMSQCSmartRecSharedLearningSectionCode]) {\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCSmartRecSharedLearningSectionCode] = [];\r\n }\r\n if (!self.$scope.responses[reportCMSQCPageId][0][reportCMSQCSmartRecSharedLearningSectionCode][0]) {\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCSmartRecSharedLearningSectionCode][0] = {};\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCSmartRecSharedLearningSectionCode][0][reportCMSQCSmartRecInternalQCode] = {};\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCSmartRecSharedLearningSectionCode][0][reportCMSQCSmartRecExternalQCode] = {};\r\n }\r\n if (!self.$scope.responses[reportCMSQCPageId][0][reportCMSQCHealthServiceSectionCode]) {\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCHealthServiceSectionCode] = [];\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCHealthServiceSectionCode][0] = {};\r\n var userOrganisation = self.$scope.responses[notificationHealthServicePageId][0][notificationHealthServiceSectionCode][0][notificationHealthServiceQCode];\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCHealthServiceSectionCode][0][reportCMSQCHealthServiceQCode] = userOrganisation;\r\n }\r\n if (!self.$scope.responses[reportCMSQCPageId][0][reportCMSQCHealthServiceSectionCode][0]) {\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCHealthServiceSectionCode][0] = {};\r\n }\r\n if (self.$scope.responses\r\n && self.$scope.responses[reportCMSQCPageId]\r\n && self.$scope.responses[reportCMSQCPageId][0]\r\n && self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode]\r\n && self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode][0]) {\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode][0][reportCMSQCWeakRecsQCode] = weakRecsCount;\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode][0][reportCMSQCStrongRecsQCode] = strongRecsCount;\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode][0][reportCMSQCModerateRecsQCode] = moderateRecsCount;\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCRecommendationsSectionCode][0][reportCMSQCSmartRecQCode] = smartRecsCount;\r\n }\r\n var partCInternalResponse = '';\r\n var partCExternalResponse = '';\r\n if (self.$scope.responses[reportCPageId] != null\r\n && self.$scope.responses[reportCPageId][0] != null\r\n && self.$scope.responses[reportCPageId][0][reportCSharedLearningSectionCode] != null\r\n && self.$scope.responses[reportCPageId][0][reportCSharedLearningSectionCode][0] != null) {\r\n partCInternalResponse = self.$scope.responses[reportCPageId][0][reportCSharedLearningSectionCode][0][reportCSharedLearningInternalQCode];\r\n partCExternalResponse = self.$scope.responses[reportCPageId][0][reportCSharedLearningSectionCode][0][reportCSharedLearningExternalQCode];\r\n }\r\n if (self.$scope.responses[reportCMSQCPageId] != null\r\n && self.$scope.responses[reportCMSQCPageId][0] != null\r\n && self.$scope.responses[reportCMSQCPageId][0][reportCMSQCSmartRecSharedLearningSectionCode] != null\r\n && self.$scope.responses[reportCMSQCPageId][0][reportCMSQCSmartRecSharedLearningSectionCode][0] != null) {\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCSmartRecSharedLearningSectionCode][0][reportCMSQCSmartRecInternalQCode] = partCInternalResponse;\r\n self.$scope.responses[reportCMSQCPageId][0][reportCMSQCSmartRecSharedLearningSectionCode][0][reportCMSQCSmartRecExternalQCode] = partCExternalResponse;\r\n }\r\n };\r\n SentinelEventFormController.prototype.updateCategoryInReportsSection = function () {\r\n var self = this;\r\n var reportPageId = self.constants.sentinelConstants.reportBPageId;\r\n var reportSectionCode = self.constants.sentinelConstants.reportSectionCode;\r\n var notificationEventCategoryQCode = self.constants.sentinelConstants.notificationEventCategoryQCode;\r\n var reportEventCategory = self.constants.sentinelConstants.reportEventCategory;\r\n var reportBIsCategoryCorrectQCode = self.constants.sentinelConstants.reportBIsCategoryCorrectQCode;\r\n if (!self.$scope.responses[reportPageId]) {\r\n self.$scope.responses[reportPageId] = [];\r\n self.$scope.responses[reportPageId][0] = {};\r\n }\r\n if (!self.$scope.responses[reportPageId][0][reportSectionCode]) {\r\n self.$scope.responses[reportPageId][0][reportSectionCode] = [];\r\n self.$scope.responses[reportPageId][0][reportSectionCode][0] = {};\r\n self.$scope.responses[reportPageId][0][reportSectionCode][0][notificationEventCategoryQCode] = {};\r\n self.$scope.responses[reportPageId][0][reportSectionCode][0][reportEventCategory] = {};\r\n }\r\n self.$scope.responses[reportPageId][0][reportSectionCode][0][notificationEventCategoryQCode] =\r\n this.getSENotificationCategory();\r\n if (self.$scope.responses[reportPageId][0][reportSectionCode][0][reportBIsCategoryCorrectQCode] == 'yes') {\r\n self.$scope.responses[reportPageId][0][reportSectionCode][0][reportEventCategory] =\r\n this.getSENotificationCategoryCode();\r\n }\r\n };\r\n SentinelEventFormController.prototype.getSENotificationCategory = function () {\r\n var self = this;\r\n var code = self.getNotificationCategoryFromResponse();\r\n if (code != null) {\r\n return self.$scope.utility.getOptionSetItemByCode('eventcategory', code).text;\r\n }\r\n return '';\r\n };\r\n SentinelEventFormController.prototype.getSENotificationSubCategoryCode = function () {\r\n var self = this;\r\n var code = self.getNotificationSubCategoryFromResponse();\r\n if (code != null) {\r\n return self.$scope.utility.getOptionSetItemByCode('eventcategoryother', code).code;\r\n }\r\n return '';\r\n };\r\n SentinelEventFormController.prototype.getNotificationSubCategoryFromResponse = function () {\r\n var self = this;\r\n var code = null;\r\n var eventDetailPageId = self.constants.sentinelConstants.eventDetailPageId;\r\n var eventDetailSectionCode = self.constants.sentinelConstants.eventDetailSectionCode;\r\n var eventSubCategoryQCode = self.constants.sentinelConstants.eventSubCategoryQCode;\r\n if (self.$scope.responses[eventDetailPageId] != null\r\n && self.$scope.responses[eventDetailPageId][0] != null\r\n && self.$scope.responses[eventDetailPageId][0][eventDetailSectionCode] != null\r\n && self.$scope.responses[eventDetailPageId][0][eventDetailSectionCode][0] != null) {\r\n code = self.$scope.responses[eventDetailPageId][0][eventDetailSectionCode][0][eventSubCategoryQCode];\r\n }\r\n return code;\r\n };\r\n SentinelEventFormController.prototype.getNotificationCategoryFromResponse = function () {\r\n var self = this;\r\n var code = null;\r\n var eventDetailPageId = self.constants.sentinelConstants.eventDetailPageId;\r\n var eventDetailSectionCode = self.constants.sentinelConstants.eventDetailSectionCode;\r\n var eventCategoryQCode = self.constants.sentinelConstants.eventCategoryQCode;\r\n if (self.$scope.responses[eventDetailPageId] != null\r\n && self.$scope.responses[eventDetailPageId][0] != null\r\n && self.$scope.responses[eventDetailPageId][0][eventDetailSectionCode] != null\r\n && self.$scope.responses[eventDetailPageId][0][eventDetailSectionCode][0] != null) {\r\n code = self.$scope.responses[eventDetailPageId][0][eventDetailSectionCode][0][eventCategoryQCode];\r\n }\r\n return code;\r\n };\r\n SentinelEventFormController.prototype.getSENotificationCategoryCode = function () {\r\n var self = this;\r\n var code = self.getNotificationCategoryFromResponse();\r\n if (code != null) {\r\n return self.$scope.utility.getOptionSetItemByCode('eventcategory', code).code;\r\n }\r\n return '';\r\n };\r\n SentinelEventFormController.prototype.updateSuspectedOrConfirmedPatientHarmInReportsSection = function () {\r\n var self = this;\r\n var reportPageId = self.constants.sentinelConstants.reportBPageId;\r\n var reportSectionCode = self.constants.sentinelConstants.reportSectionCode;\r\n var suspectedOrConfirmedPatientQCode = self.constants.sentinelConstants.suspectedOrConfirmedPatientQCode;\r\n var eventDetailPageId = self.constants.sentinelConstants.eventDetailPageId;\r\n var eventDetailSectionCode = self.constants.sentinelConstants.eventDetailSectionCode;\r\n var suspectedOrConfirmedHarmQCode = self.constants.sentinelConstants.suspectedOrConfirmedHarmQCode;\r\n if (!self.$scope.responses[reportPageId]) {\r\n self.$scope.responses[reportPageId] = [];\r\n self.$scope.responses[reportPageId][0] = {};\r\n }\r\n if (!self.$scope.responses[reportPageId][0][reportSectionCode]) {\r\n self.$scope.responses[reportPageId][0][reportSectionCode] = [];\r\n self.$scope.responses[reportPageId][0][reportSectionCode][0] = {};\r\n self.$scope.responses[reportPageId][0][reportSectionCode][0][suspectedOrConfirmedPatientQCode] = {};\r\n }\r\n var code = null;\r\n if (self.$scope.responses[eventDetailPageId] != null\r\n && self.$scope.responses[eventDetailPageId][0] != null\r\n && self.$scope.responses[eventDetailPageId][0][eventDetailSectionCode] != null\r\n && self.$scope.responses[eventDetailPageId][0][eventDetailSectionCode][0] != null) {\r\n code = self.$scope.responses[eventDetailPageId][0][eventDetailSectionCode][0][suspectedOrConfirmedHarmQCode];\r\n }\r\n if (code != null) {\r\n self.$scope.responses[reportPageId][0][reportSectionCode][0][suspectedOrConfirmedPatientQCode] =\r\n self.$scope.utility.getOptionSetItemByCode('edegreeofsuspectedorconfirmedharm', code).text;\r\n }\r\n return self.$scope.responses[reportPageId][0][reportSectionCode][0][suspectedOrConfirmedPatientQCode];\r\n };\r\n SentinelEventFormController.prototype.updateMethodologyInReportsSection = function () {\r\n var self = this;\r\n var partBmsqcPageId = self.constants.sentinelConstants.reportBMSQCPageId;\r\n var reportBMSQCSectionCode = self.constants.sentinelConstants.reportBMSQCSectionCode;\r\n var reportBMSQCMethodologyQCode = self.constants.sentinelConstants.reportBMSQCMethodologyQCode;\r\n if (!self.$scope.responses[partBmsqcPageId]) {\r\n self.$scope.responses[partBmsqcPageId] = [];\r\n self.$scope.responses[partBmsqcPageId][0] = {};\r\n }\r\n if (!self.$scope.responses[partBmsqcPageId][0][reportBMSQCSectionCode]) {\r\n self.$scope.responses[partBmsqcPageId][0][reportBMSQCSectionCode] = [];\r\n self.$scope.responses[partBmsqcPageId][0][reportBMSQCSectionCode][0] = {};\r\n self.$scope.responses[partBmsqcPageId][0][reportBMSQCSectionCode][0][reportBMSQCMethodologyQCode] = {};\r\n }\r\n self.$scope.responses[partBmsqcPageId][0][reportBMSQCSectionCode][0][reportBMSQCMethodologyQCode] =\r\n this.getMethodology();\r\n };\r\n SentinelEventFormController.prototype.getMethodology = function () {\r\n var self = this;\r\n var code = null;\r\n var reportBPageId = self.constants.sentinelConstants.reportBPageId;\r\n var reportSectionCode = self.constants.sentinelConstants.reportSectionCode;\r\n var reportBmethodologyQCode = self.constants.sentinelConstants.reportBmethodologyQCode;\r\n if (self.$scope.responses[reportBPageId] != null\r\n && self.$scope.responses[reportBPageId][0] != null\r\n && self.$scope.responses[reportBPageId][0][reportSectionCode] != null\r\n && self.$scope.responses[reportBPageId][0][reportSectionCode][0] != null) {\r\n code = self.$scope.responses[reportBPageId][0][reportSectionCode][0][reportBmethodologyQCode];\r\n }\r\n if (code != null) {\r\n return code;\r\n }\r\n return '';\r\n };\r\n SentinelEventFormController.prototype.updateFieldsMSQCpartB = function () {\r\n var self = this;\r\n var value = this.getFieldValue(self.constants.sentinelConstants.reportBPageId, self.constants.sentinelConstants.reportSectionCode, self.constants.sentinelConstants.reportBmethodologyQCode, self.constants.sentinelConstants.reportBMethodologyOptionSet);\r\n this.updateField(self.constants.sentinelConstants.reportBMSQCPageId, self.constants.sentinelConstants.reportBMSQCSectionCode, self.constants.sentinelConstants.reportBMSQCMethodologyQCode, value);\r\n var value = this.getFieldValue(self.constants.sentinelConstants.reportBPageId, self.constants.sentinelConstants.reportSectionCode, self.constants.sentinelConstants.reportBwasSafetyRiskAlertQCode, self.constants.sentinelConstants.reportBYesNoOptionSet);\r\n this.updateField(self.constants.sentinelConstants.reportBMSQCPageId, self.constants.sentinelConstants.reportBMSQCSectionCode, self.constants.sentinelConstants.reportBMSQCSafetyRiskIdentifiedQCode, value);\r\n var value = this.getSectionLength(self.constants.sentinelConstants.reportAPageId, self.constants.sentinelConstants.reportASectionCode);\r\n this.updateField(self.constants.sentinelConstants.reportBMSQCPageId, 'partbmsqcRCA', self.constants.sentinelConstants.reportBMSQCNumberOfPanelMembersQCode, value);\r\n var value = this.getSectionLength(self.constants.sentinelConstants.reportAPageId, self.constants.sentinelConstants.reportAconsumerSectionCode);\r\n var consumerSectionLength = parseInt(value);\r\n if (consumerSectionLength > 0) {\r\n var consumerReviewer = self.$scope.responses[self.constants.sentinelConstants.reportAPageId][0][self.constants.sentinelConstants.reportAconsumerSectionCode]\r\n .filter(function (item) { return item[self.constants.sentinelConstants.reportAconsumerRepMemberQCode] == 'yes' || item[self.constants.sentinelConstants.reportAconsumerRepMemberQCode] == 'yessourcedfrompeer'; });\r\n if (consumerReviewer.length > 0) {\r\n value = 'Yes';\r\n }\r\n else {\r\n value = 'No';\r\n }\r\n }\r\n else {\r\n value = 'No';\r\n }\r\n this.updateField(self.constants.sentinelConstants.reportBMSQCPageId, 'partbmsqcRCA', self.constants.sentinelConstants.reportBMSQCConsumerRepOnPanelQCode, value);\r\n var value = this.getSectionLength(self.constants.sentinelConstants.reportAPageId, self.constants.sentinelConstants.reportASectionCode);\r\n var sectionLength = parseInt(value);\r\n if (sectionLength > 0) {\r\n var externalExpert = self.$scope.responses[self.constants.sentinelConstants.reportAPageId][0][self.constants.sentinelConstants.reportAexternalteammemberSectionCode]\r\n .filter(function (item) { return item[self.constants.sentinelConstants.reportABExternalTeamMemberQCode] == 'yes' || item[self.constants.sentinelConstants.reportABExternalTeamMemberQCode] == 'yessourcedfrompeer'; });\r\n if (externalExpert.length > 0) {\r\n value = 'Yes';\r\n }\r\n else {\r\n value = 'No';\r\n }\r\n }\r\n else {\r\n value = 'No';\r\n }\r\n this.updateField(self.constants.sentinelConstants.reportBMSQCPageId, 'partbmsqcRCA', self.constants.sentinelConstants.reportBMSQCExternalExpertOnPanelQCode, value);\r\n this.calcPercentageHumanError(null);\r\n var value = this.getFieldValue(self.constants.sentinelConstants.reportAPageId, 'outcome', self.constants.sentinelConstants.reportAfollowingTheReviewCode, self.constants.sentinelConstants.reportAfollowingTheReviewOptionSet);\r\n this.updateField(self.constants.sentinelConstants.reportBMSQCPageId, 'partbmsqcOutcome', self.constants.sentinelConstants.reportBMSQCOutcomeOfReviewQCode, value);\r\n var value = this.getFieldValue(self.constants.sentinelConstants.reportAPageId, 'outcome', self.constants.sentinelConstants.reportApatientFamilyCarerReviewQCode, self.constants.sentinelConstants.reportBYesNoOptionSet);\r\n this.updateField(self.constants.sentinelConstants.reportBMSQCPageId, 'partbmsqcPatientFamily', self.constants.sentinelConstants.reportBMSQCPatientFamilyContributeQCode, value);\r\n var value = this.getFieldValue(self.constants.sentinelConstants.reportAPageId, 'outcome', self.constants.sentinelConstants.reportAreasonsNonContributionQCode, null);\r\n this.updateField(self.constants.sentinelConstants.reportBMSQCPageId, 'partbmsqcPatientFamily', self.constants.sentinelConstants.reportBMSQCPatientFamilyContributeNoQCode, value);\r\n var value = this.getSectionLength(self.constants.sentinelConstants.partBFindingsAndLearningsPageId, self.constants.sentinelConstants.partBFindingsAndLearningsSectionCode);\r\n var sectionLength = parseInt(value);\r\n if (sectionLength > 0) {\r\n var partBFindingsAndLearningsPageId = self.constants.sentinelConstants.partBFindingsAndLearningsPageId;\r\n var partBFindingsAndLearningsSectionCode = self.constants.sentinelConstants.partBFindingsAndLearningsSectionCode;\r\n var reportBFindingQCode = self.constants.sentinelConstants.reportBFindingQCode;\r\n var findings = self.$scope.responses[partBFindingsAndLearningsPageId][0][partBFindingsAndLearningsSectionCode].filter(function (item) { return item[reportBFindingQCode].startsWith('F'); });\r\n if (findings.length > 0) {\r\n value = findings.length;\r\n }\r\n else {\r\n value = '0';\r\n }\r\n }\r\n else {\r\n value = '0';\r\n }\r\n this.updateField(self.constants.sentinelConstants.reportBMSQCPageId, 'partbmsqcFindings', self.constants.sentinelConstants.reportBMSQCNumberOfFindingsQCode, value);\r\n var value = this.getSectionLength(self.constants.sentinelConstants.partBFindingsAndLearningsPageId, self.constants.sentinelConstants.partBFindingsAndLearningsSectionCode);\r\n var sectionLength = parseInt(value);\r\n if (sectionLength > 0) {\r\n var partBFindingsAndLearningsPageId = self.constants.sentinelConstants.partBFindingsAndLearningsPageId;\r\n var partBFindingsAndLearningsSectionCode = self.constants.sentinelConstants.partBFindingsAndLearningsSectionCode;\r\n var reportBFindingQCode = self.constants.sentinelConstants.reportBFindingQCode;\r\n var findings = self.$scope.responses[partBFindingsAndLearningsPageId][0][partBFindingsAndLearningsSectionCode].filter(function (item) { return item[reportBFindingQCode].startsWith('L'); });\r\n if (findings.length > 0) {\r\n value = findings.length;\r\n }\r\n else {\r\n value = '0';\r\n }\r\n }\r\n else {\r\n value = '0';\r\n }\r\n this.updateField(self.constants.sentinelConstants.reportBMSQCPageId, 'partbmsqcLearnings', 'partbmsqcHowManyLearningsInclReport', value);\r\n var notificationHealthServicePageId = self.constants.sentinelConstants.notificationHealthServicePageId;\r\n var notificationHealthServiceSectionCode = self.constants.sentinelConstants.notificationHealthServiceSectionCode;\r\n var notificationHealthServiceQCode = self.constants.sentinelConstants.notificationHealthServiceQCode;\r\n var value = this.getFieldValue(notificationHealthServicePageId, notificationHealthServiceSectionCode, notificationHealthServiceQCode, null);\r\n this.updateField(self.constants.sentinelConstants.reportBMSQCPageId, 'partbmsqc', 'partbmsqcHealthService', value);\r\n };\r\n SentinelEventFormController.prototype.updateField = function (pageId, sectionCode, qCode, value, sectionIndex) {\r\n if (sectionIndex === void 0) { sectionIndex = 0; }\r\n var self = this;\r\n if (!self.$scope.responses[pageId]) {\r\n self.$scope.responses[pageId] = [];\r\n self.$scope.responses[pageId][sectionIndex] = {};\r\n }\r\n if (!self.$scope.responses[pageId][0][sectionCode]) {\r\n self.$scope.responses[pageId][0][sectionCode] = [];\r\n self.$scope.responses[pageId][0][sectionCode][sectionIndex] = {};\r\n self.$scope.responses[pageId][0][sectionCode][sectionIndex][qCode] = {};\r\n }\r\n if (pageId == '16-1' && sectionCode == 'submissionExtensionDetails' && qCode == 'submissionExtensionDateOfRequest' && self.$scope.responses[pageId][0][sectionCode][sectionIndex] != undefined && self.$scope.responses[pageId][0][sectionCode][sectionIndex][qCode] != undefined) {\r\n value = self.$scope.responses[pageId][0][sectionCode][0].submissionExtensionDateOfRequest;\r\n }\r\n self.$scope.responses[pageId][0][sectionCode][sectionIndex][qCode] =\r\n value;\r\n };\r\n SentinelEventFormController.prototype.getFieldValue = function (pageId, sectionCode, qCode, optionSetName) {\r\n var self = this;\r\n var code = null;\r\n if (self.$scope.responses[pageId] != null\r\n && self.$scope.responses[pageId][0] != null\r\n && self.$scope.responses[pageId][0][sectionCode] != null\r\n && self.$scope.responses[pageId][0][sectionCode][0] != null) {\r\n code = self.$scope.responses[pageId][0][sectionCode][0][qCode];\r\n }\r\n if (optionSetName == null || optionSetName == '') {\r\n return code;\r\n }\r\n if (code != null) {\r\n return self.$scope.utility.getOptionSetItemByCode(optionSetName, code).text;\r\n }\r\n return '';\r\n };\r\n SentinelEventFormController.prototype.getSectionLength = function (pageId, sectionCode) {\r\n var self = this;\r\n var sectionIndex = null;\r\n if (self.$scope.responses[pageId] != null\r\n && self.$scope.responses[pageId][0] != null\r\n && self.$scope.responses[pageId][0][sectionCode] != null\r\n && self.$scope.responses[pageId][0][sectionCode][0] != null) {\r\n sectionIndex = self.$scope.responses[pageId][0][sectionCode].length;\r\n }\r\n if (sectionIndex != null) {\r\n return sectionIndex;\r\n }\r\n return '';\r\n };\r\n SentinelEventFormController.prototype.calcPercentageHumanError = function (that) {\r\n var self = this;\r\n var howManyHumanError = self.$scope.valueOfQuestion(null, 'partbmsqcHowManyRChumanError', 'partbmsqcFindings', 0, 0, '5-1');\r\n if (howManyHumanError) {\r\n howManyHumanError = self.$scope.responses['5-1'][0].partbmsqcFindings[0].partbmsqcHowManyRChumanError;\r\n howManyHumanError = parseInt(howManyHumanError);\r\n }\r\n else {\r\n howManyHumanError = 0;\r\n }\r\n if (howManyHumanError > 0) {\r\n var value = this.getSectionLength(self.constants.sentinelConstants.partBFindingsAndLearningsPageId, self.constants.sentinelConstants.partBFindingsAndLearningsSectionCode);\r\n var sectionLength = parseInt(value);\r\n if (sectionLength > 0) {\r\n var partBFindingsAndLearningsPageId = self.constants.sentinelConstants.partBFindingsAndLearningsPageId;\r\n var partBFindingsAndLearningsSectionCode = self.constants.sentinelConstants.partBFindingsAndLearningsSectionCode;\r\n var reportBFindingQCode = self.constants.sentinelConstants.reportBFindingQCode;\r\n var findings = self.$scope.responses[partBFindingsAndLearningsPageId][0][partBFindingsAndLearningsSectionCode].filter(function (item) { return item[reportBFindingQCode].startsWith('F'); });\r\n if (findings.length > 0 && (findings.length >= howManyHumanError)) {\r\n value = ((howManyHumanError / findings.length) * 100).toString();\r\n }\r\n else {\r\n value = '0';\r\n }\r\n }\r\n else {\r\n value = '0';\r\n }\r\n }\r\n else {\r\n value = '0';\r\n }\r\n this.updateField(self.constants.sentinelConstants.reportBMSQCPageId, 'partbmsqcFindings', 'partbmsqcHowManyRChumanErrorPercentage', value);\r\n };\r\n SentinelEventFormController.prototype.init = function (sectionCode) {\r\n var self = this;\r\n if (self.$scope.pageUrl == 'sentinelpartcsignoff') {\r\n sectionCode = 'signoffpartc';\r\n }\r\n else if (self.$scope.pageUrl == 'sentinelrcasignoff') {\r\n sectionCode = 'signoffrca';\r\n }\r\n else if (self.$scope.pageUrl == 'sentinelnotificationsignoff') {\r\n sectionCode = 'signoff';\r\n }\r\n else if (self.$scope.pageUrl == 'sentinelpartdsixmonthreviewsignoff') {\r\n sectionCode = 'signoffpartdsix';\r\n }\r\n else if (self.$scope.pageUrl == 'sentinelpartdtwelvemonthreviewsignoff') {\r\n sectionCode = 'signoffpartdtwelve';\r\n }\r\n self.$scope.sectionCode = sectionCode;\r\n self.$scope.section = _.find(self.$scope.page.sections, function (o) { return o.code == sectionCode; });\r\n self.$scope.pIndex = 0;\r\n self.$scope.pItem = _.find(self.$scope.responses[self.$scope.pageId], function (sectionResponse) { return self.$scope.section.code in sectionResponse; });\r\n };\r\n SentinelEventFormController.prototype.populateSentinelEventFindingsAndLearningsOptionSet = function () {\r\n var self = this;\r\n self.findingsAndLearningsOptionSet = self.$scope.configData.optionSets['findingsandlearningsforselectedevent'] || [];\r\n };\r\n SentinelEventFormController.prototype.populateDueAndSubmissionDates = function () {\r\n var self = this;\r\n var reportAPageId = self.constants.sentinelConstants.reportAPageId;\r\n var reportAandBDueDateSectionCode = self.constants.sentinelConstants.reportAandBDueDateSectionCode;\r\n var reportAandBDueDateQCode = self.constants.sentinelConstants.reportAandBDueDateQCode;\r\n var reportCPageId = self.constants.sentinelConstants.reportCPageId;\r\n var reportCDueDateSectionCode = self.constants.sentinelConstants.reportCDateSectionCode;\r\n var reportCDueDateQCode = self.constants.sentinelConstants.reportCDueDateQCode;\r\n var reportCSubmissionDateQCode = self.constants.sentinelConstants.reportCSubmissionDateQCode;\r\n var reportAandBSubmissionDateQCode = self.constants.sentinelConstants.reportAandBSubmissionDateQCode;\r\n var partD6MPageId = self.constants.sentinelConstants.partD6MPageId;\r\n var partD6MDateSectionCode = self.constants.sentinelConstants.partD6MDateSectionCode;\r\n var partD6MSubmittedDateQCode = self.constants.sentinelConstants.partD6MSubmittedDateQCode;\r\n var partD12MPageId = self.constants.sentinelConstants.partD12MPageId;\r\n var partD12MDateSectionCode = self.constants.sentinelConstants.partD12MDateSectionCode;\r\n var partD12MSubmittedDateQCode = self.constants.sentinelConstants.partD12MSubmittedDateQCode;\r\n var extensionRequestPageId = self.constants.sentinelConstants.extensionRequestPageId;\r\n var extensionRequestDateSectionCode = self.constants.sentinelConstants.extensionRequestDateSectionCode;\r\n var extensionRequestDateQCode = self.constants.sentinelConstants.extensionRequestDateQCode;\r\n var extensionRequestDateOfRequestQCode = self.constants.sentinelConstants.extensionRequestDateOfRequestQCode;\r\n if (self.dataServices.responseInfo.sentinelEventId) {\r\n this.updateField('1-1', 'notifier', 'notifierDate', '');\r\n if (self.$scope.stage == formApp.SentinelEventStage.Notification\r\n && self.$scope.status == formApp.SentinelEventStatus.Draft) {\r\n self.$scope.setQuestionValueFromCodeAndType('notifierDate', 'date', self.$scope.utility.getSystemDate(), self.$scope.responses['1-1'][0]['notifier'][0]);\r\n }\r\n else {\r\n if (self.dataServices.responseInfo.sentinelEventDate) {\r\n self.$scope.setQuestionValueFromCodeAndType('notifierDate', 'date', self.dataServices.responseInfo.sentinelEventDate, self.$scope.responses['1-1'][0]['notifier'][0]);\r\n }\r\n }\r\n }\r\n if (!self.$scope.isReportAandBSubmitted()) {\r\n this.updateField(reportAPageId, reportAandBDueDateSectionCode, reportAandBDueDateQCode, '');\r\n if (self.dataServices.responseInfo.reportAandBDueDate) {\r\n self.$scope.setQuestionValueFromCodeAndType(reportAandBDueDateQCode, 'date', self.dataServices.responseInfo.reportAandBDueDate, self.$scope.responses[reportAPageId][0][reportAandBDueDateSectionCode][0]);\r\n }\r\n this.updateField(reportAPageId, reportAandBDueDateSectionCode, reportAandBSubmissionDateQCode, '');\r\n self.$scope.setQuestionValueFromCodeAndType(reportAandBSubmissionDateQCode, 'date', self.$scope.utility.getSystemDate(), self.$scope.responses[reportAPageId][0][reportAandBDueDateSectionCode][0]);\r\n this.updateField(extensionRequestPageId, extensionRequestDateSectionCode, extensionRequestDateQCode, '');\r\n if (self.dataServices.responseInfo.reportAandBDueDate) {\r\n self.$scope.setQuestionValueFromCodeAndType(extensionRequestDateQCode, 'date', self.dataServices.responseInfo.reportAandBDueDate, self.$scope.responses[extensionRequestPageId][0][extensionRequestDateSectionCode][0]);\r\n }\r\n this.updateField(extensionRequestPageId, extensionRequestDateSectionCode, extensionRequestDateOfRequestQCode, '');\r\n self.$scope.setQuestionValueFromCodeAndType(extensionRequestDateOfRequestQCode, 'date', self.$scope.submissionExtensionDateOfRequest(), self.$scope.responses[extensionRequestPageId][0][extensionRequestDateSectionCode][0]);\r\n }\r\n if (!self.$scope.isReportCSubmitted()) {\r\n this.updateField(reportCPageId, reportCDueDateSectionCode, reportCDueDateQCode, '');\r\n if (self.dataServices.responseInfo.reportCDueDate) {\r\n self.$scope.setQuestionValueFromCodeAndType(reportCDueDateQCode, 'date', self.dataServices.responseInfo.reportCDueDate, self.$scope.responses[reportCPageId][0][reportCDueDateSectionCode][0]);\r\n }\r\n this.updateField(reportCPageId, reportCDueDateSectionCode, reportCSubmissionDateQCode, '');\r\n self.$scope.setQuestionValueFromCodeAndType(reportCSubmissionDateQCode, 'date', self.$scope.utility.getSystemDate(), self.$scope.responses[reportCPageId][0][reportCDueDateSectionCode][0]);\r\n }\r\n if (!self.$scope.isReportD6Submitted()) {\r\n this.updateField(partD6MPageId, partD6MDateSectionCode, partD6MSubmittedDateQCode, '');\r\n self.$scope.setQuestionValueFromCodeAndType(partD6MSubmittedDateQCode, 'date', self.$scope.utility.getSystemDate(), self.$scope.responses[partD6MPageId][0][partD6MDateSectionCode][0]);\r\n }\r\n if (!self.$scope.isReportD12Submitted()) {\r\n this.updateField(partD12MPageId, partD12MDateSectionCode, partD12MSubmittedDateQCode, '');\r\n self.$scope.setQuestionValueFromCodeAndType(partD12MSubmittedDateQCode, 'date', self.$scope.utility.getSystemDate(), self.$scope.responses[partD12MPageId][0][partD12MDateSectionCode][0]);\r\n }\r\n };\r\n SentinelEventFormController.prototype.setDocumentAccess = function () {\r\n var self = this;\r\n if ((self.$scope.pageUrl == 'sentinelreportaandbdocuments' &&\r\n (self.dataServices.responseInfo.stage == 0 ||\r\n (self.dataServices.responseInfo.stage == 1 &&\r\n (self.dataServices.responseInfo.status == 2 ||\r\n self.dataServices.responseInfo.status == 3 ||\r\n self.dataServices.responseInfo.status == 5 ||\r\n self.dataServices.responseInfo.status == 7)) ||\r\n (self.dataServices.responseInfo.stage == 2 &&\r\n (self.dataServices.responseInfo.status == 1 ||\r\n self.dataServices.responseInfo.status == 9)))) ||\r\n self.$scope.pageUrl == 'sentinelhsdocuments') {\r\n self.dataServices.responseInfo.access = {\r\n canSaveFile: self.utilityServices.isFormEditable(),\r\n canViewFile: true,\r\n canDeleteFile: self.$scope.role == self.constants.sentinelRoleMap.HSAdministrator ||\r\n self.$scope.role == self.constants.sentinelRoleMap.QualityRiskManager ||\r\n self.$scope.role == self.constants.sentinelRoleMap.HSSEReportAuthor\r\n };\r\n }\r\n else {\r\n self.dataServices.responseInfo.access = {\r\n canSaveFile: self.utilityServices.isFormEditable(),\r\n canViewFile: true,\r\n canDeleteFile: self.$scope.role == self.constants.sentinelRoleMap.SCVAdministrator\r\n };\r\n }\r\n };\r\n SentinelEventFormController.prototype.updateSharedCommentAccess = function () {\r\n var self = this;\r\n if (self.$scope.pageUrl.includes('comment') && self.$scope.isSCVUser && !self.doesSCVUserHaveAccessToAddSharedComments()) {\r\n self.$scope.$on('$viewContentLoaded', function () {\r\n var result = false;\r\n var config = { childList: true, attributes: false, subtree: true };\r\n var observer = new MutationObserver(function (mutations) {\r\n mutations.every(function (mutation) {\r\n if (!result) {\r\n result = self.setSCVSharedCommentAccess();\r\n }\r\n return !result;\r\n });\r\n if (result) {\r\n observer.disconnect();\r\n }\r\n });\r\n observer.observe(document, config);\r\n });\r\n }\r\n };\r\n SentinelEventFormController.prototype.setSCVSharedCommentAccess = function () {\r\n var self = this;\r\n var hasAddButtonBeenRemoved = true;\r\n if ((self.$scope.isSCVUser && !self.doesSCVUserHaveAccessToAddSharedComments())) {\r\n hasAddButtonBeenRemoved = false;\r\n var notificationSharedCommentAddButton = document.getElementById('sectionAddNewButton-0-notificationCommentShared');\r\n var partAandBSharedCommentAddButton = document.getElementById('sectionAddNewButton-0-partAandBCommentShared');\r\n var partCSharedCommentAddButton = document.getElementById('sectionAddNewButton-0-partCCommentShared');\r\n var partD6mSharedCommentAddButton = document.getElementById('sectionAddNewButton-0-partDCommentShared');\r\n var partD12mSharedCommentAddButton = document.getElementById('sectionAddNewButton-0-partDTwelveMonthCommentShared');\r\n if (notificationSharedCommentAddButton) {\r\n angular.element(notificationSharedCommentAddButton).remove();\r\n hasAddButtonBeenRemoved = true;\r\n }\r\n if (partAandBSharedCommentAddButton) {\r\n angular.element(partAandBSharedCommentAddButton).remove();\r\n hasAddButtonBeenRemoved = true;\r\n }\r\n if (partCSharedCommentAddButton) {\r\n angular.element(partCSharedCommentAddButton).remove();\r\n hasAddButtonBeenRemoved = true;\r\n }\r\n if (partD6mSharedCommentAddButton) {\r\n angular.element(partD6mSharedCommentAddButton).remove();\r\n hasAddButtonBeenRemoved = true;\r\n }\r\n if (partD12mSharedCommentAddButton) {\r\n angular.element(partD12mSharedCommentAddButton).remove();\r\n hasAddButtonBeenRemoved = true;\r\n }\r\n }\r\n return hasAddButtonBeenRemoved;\r\n };\r\n SentinelEventFormController.prototype.getDefaultLineManager = function () {\r\n var self = this;\r\n var defaultLineManager;\r\n if (self.lineManagerOptionSets.length > 0) {\r\n var reporterLineManagers = self.lineManagerOptionSets.filter(function (m) { return m.tags.indexOf(' myLineManager') !== -1; });\r\n defaultLineManager = (reporterLineManagers.length === 1)\r\n ? reporterLineManagers[0].code\r\n : null;\r\n }\r\n return defaultLineManager;\r\n };\r\n SentinelEventFormController.prototype.cancelForm = function () {\r\n var self = this;\r\n if (self.$scope.hasUnsavedChanges()) {\r\n self.dataServices.userAction = self.constants.userActions.cancel;\r\n self.cancelFormChanges(self.manageUrl);\r\n }\r\n else {\r\n self.$scope.returnToDashboard();\r\n }\r\n };\r\n SentinelEventFormController.prototype.getApiLookUpValues = function (keyword, lookUpQuestionCode, pIndex, page, sIndex, section) {\r\n var self = this;\r\n var orgId = self.dataServices.userProfile.selectedOrganisationId;\r\n var currentSection = self.$scope.responses[page.pageId][pIndex][section.code][sIndex];\r\n var isExternalUserLookupQCode = page.sections[0].code + 'IsExternalUserLookup';\r\n var userLookupOrganisationQCode = page.sections[0].code + 'UserLookupOrganisation';\r\n if (currentSection[isExternalUserLookupQCode]) {\r\n orgId = currentSection[userLookupOrganisationQCode];\r\n }\r\n var userCodeList = self.getAssignedUserListForCurrentSentinelEvent();\r\n userCodeList.push(self.dataServices.userProfile.userId.toString());\r\n var requestData = {\r\n organisationId: orgId,\r\n searchTerm: keyword\r\n };\r\n return self.dataServices.getLookupList(requestData, formApp.ApiLookupType.SentinelEventUsers)\r\n .then(function (response) {\r\n var userList = response.lookupList;\r\n userList = userList.filter(function (u) {\r\n return userCodeList.indexOf(u.code) < 0;\r\n });\r\n return userList;\r\n });\r\n };\r\n SentinelEventFormController.prototype.getAssignedUserListForCurrentSentinelEvent = function () {\r\n var self = this;\r\n var actionInfo = formApp.EntityActionMapping.sentinelEventAction;\r\n var userCodeList = [];\r\n actionInfo.actionTypes.forEach(function (actionType) {\r\n var pageResponse = self.dataServices.responseInfo.responses[actionInfo.navTabNo + \"-\" + actionType.pageNo];\r\n if (pageResponse && pageResponse.length > 0) {\r\n pageResponse.forEach(function (page) {\r\n var sectionResponse = page[actionType.assigneeSectionCode];\r\n if (sectionResponse && sectionResponse.length > 0) {\r\n sectionResponse.forEach(function (section) {\r\n var questionResponse = section[actionType.userLookupQuestionCode];\r\n if (questionResponse && questionResponse.code) {\r\n userCodeList.push(questionResponse.code);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n return userCodeList;\r\n };\r\n SentinelEventFormController.prototype.setReportBotherFindingsValueForSection = function (sectionIndex) {\r\n if (sectionIndex === void 0) { sectionIndex = 0; }\r\n var self = this;\r\n var partBFindingsAndLearningsPageId = self.constants.sentinelConstants.partBFindingsAndLearningsPageId;\r\n var partBFindingsAndLearningsSectionCode = self.constants.sentinelConstants.partBFindingsAndLearningsSectionCode;\r\n var partBFindingsAndLearningsQCode = self.constants.sentinelConstants.partBFindingsAndLearningsQCode;\r\n var reportBFindingQCode = self.constants.sentinelConstants.reportBFindingQCode;\r\n var sIndex = sectionIndex;\r\n var selectedFinding = self.$scope.responses[partBFindingsAndLearningsPageId][0][partBFindingsAndLearningsSectionCode][sIndex][partBFindingsAndLearningsQCode];\r\n var filteredArray = self.$scope.responses[partBFindingsAndLearningsPageId][0][partBFindingsAndLearningsSectionCode].filter(function (item) { return item[partBFindingsAndLearningsQCode] == selectedFinding; });\r\n var code = selectedFinding.toUpperCase() + filteredArray.length;\r\n var arrayWithComputedCode = self.$scope.responses[partBFindingsAndLearningsPageId][0][partBFindingsAndLearningsSectionCode].filter(function (item) { return item['reportBFindingCode'] == code; });\r\n while (arrayWithComputedCode.length > 0) {\r\n code = selectedFinding.toUpperCase() + (filteredArray.length + 1);\r\n arrayWithComputedCode = self.$scope.responses[partBFindingsAndLearningsPageId][0][partBFindingsAndLearningsSectionCode].filter(function (item) { return item['reportBFindingCode'] == code; });\r\n }\r\n self.$scope.responses[partBFindingsAndLearningsPageId][0][partBFindingsAndLearningsSectionCode][sIndex][reportBFindingQCode] = code;\r\n };\r\n SentinelEventFormController.prototype.getNumberOfFindingsAndLearnings = function (findingOrLearning) {\r\n var self = this;\r\n var partBFindingsAndLearningsPageId = self.constants.sentinelConstants.partBFindingsAndLearningsPageId;\r\n var partBFindingsAndLearningsSectionCode = self.constants.sentinelConstants.partBFindingsAndLearningsSectionCode;\r\n var partBFindingsAndLearningsQCode = self.constants.sentinelConstants.partBFindingsAndLearningsQCode;\r\n if (self.$scope.responses[partBFindingsAndLearningsPageId]\r\n && self.$scope.responses[partBFindingsAndLearningsPageId][0]\r\n && self.$scope.responses[partBFindingsAndLearningsPageId][0][partBFindingsAndLearningsSectionCode]) {\r\n var filteredArray = self.$scope.responses[partBFindingsAndLearningsPageId][0][partBFindingsAndLearningsSectionCode].filter(function (item) { return item[partBFindingsAndLearningsQCode] == findingOrLearning; });\r\n return filteredArray.length;\r\n }\r\n else {\r\n return '0';\r\n }\r\n };\r\n SentinelEventFormController.prototype.cancelFormChanges = function (nextPageUrl) {\r\n var popupCode;\r\n var self = this;\r\n self.$scope.utility.openPopup('warnUserBeforeCancelRegisteredUser').result\r\n .then(function (data) {\r\n if (data.result == 'thirdButtonClick') {\r\n var NotificationCommentResult_1 = self.GetNotificationCommentResult();\r\n if (!self.$scope.isSCVUser && (NotificationCommentResult_1.notificationType != null || NotificationCommentResult_1.notificationHSType != null)) {\r\n if (NotificationCommentResult_1.notificationType == 'confirmSentinelEventHSSharedCommentEmail') {\r\n popupCode = 'confirmSentinelEventHSSharedCommentEmail';\r\n self.$scope.utility.openPopup(popupCode).result\r\n .then(function (data) {\r\n NotificationCommentResult_1.notificationChoice = data.result;\r\n NotificationCommentResult_1.notificationType = 'confirmSentinelEventHSSharedCommentEmail';\r\n NotificationCommentResult_1.notificationCommentAddedBy = NotificationCommentResult_1.notificationCommentAddedBy;\r\n NotificationCommentResult_1.notificationHSChoice = data.result;\r\n NotificationCommentResult_1.notificationHSType = NotificationCommentResult_1.notificationHSType;\r\n self.saveSentinelEventChanges(formApp.SentinelSaveOperation.Save, NotificationCommentResult_1)\r\n .then(function (saveResult) {\r\n if (saveResult.status === formApp.ResultStatusCode.Success) {\r\n self.$rootScope.allowFormNavigation = false;\r\n self.$location.path(nextPageUrl);\r\n }\r\n })\r\n .catch(function (error) {\r\n self.$scope.utility.openPopup('errorSave', error);\r\n });\r\n }, function (result) {\r\n if (popupCode === 'confirmSentinelEventHSSharedCommentEmail') {\r\n NotificationCommentResult_1.notificationChoice = result;\r\n NotificationCommentResult_1.notificationType = 'confirmSentinelEventHSSharedCommentEmail';\r\n NotificationCommentResult_1.notificationCommentAddedBy = NotificationCommentResult_1.notificationCommentAddedBy;\r\n }\r\n self.saveSentinelEventChanges(formApp.SentinelSaveOperation.Save, NotificationCommentResult_1)\r\n .then(function (saveResult) {\r\n if (saveResult.status === formApp.ResultStatusCode.Success) {\r\n self.$rootScope.allowFormNavigation = false;\r\n self.$location.path(nextPageUrl);\r\n }\r\n })\r\n .catch(function (error) {\r\n self.$scope.utility.openPopup('errorSave', error);\r\n });\r\n });\r\n }\r\n else if (NotificationCommentResult_1.notificationHSType == 'confirmSentinelEventHSOnlyCommentEmail') {\r\n popupCode = 'confirmSentinelEventHSOnlyCommentEmail';\r\n self.$scope.utility.openPopup(popupCode).result\r\n .then(function (data) {\r\n NotificationCommentResult_1.notificationHSChoice = data.result;\r\n NotificationCommentResult_1.notificationHSType = 'confirmSentinelEventHSOnlyCommentEmail';\r\n NotificationCommentResult_1.notificationCommentAddedBy = NotificationCommentResult_1.notificationCommentAddedBy;\r\n NotificationCommentResult_1.notificationChoice = data.result;\r\n NotificationCommentResult_1.notificationType = NotificationCommentResult_1.notificationChoice;\r\n self.saveSentinelEventChanges(formApp.SentinelSaveOperation.Save, NotificationCommentResult_1)\r\n .then(function (saveResult) {\r\n if (saveResult.status === formApp.ResultStatusCode.Success) {\r\n self.$rootScope.allowFormNavigation = false;\r\n self.$location.path(nextPageUrl);\r\n }\r\n })\r\n .catch(function (error) {\r\n self.$scope.utility.openPopup('errorSave', error);\r\n });\r\n }, function (result) {\r\n self.saveSentinelEventChanges(formApp.SentinelSaveOperation.Save, null)\r\n .then(function (saveResult) {\r\n if (saveResult.status === formApp.ResultStatusCode.Success) {\r\n self.$rootScope.allowFormNavigation = false;\r\n self.$location.path(nextPageUrl);\r\n }\r\n })\r\n .catch(function (error) {\r\n self.$scope.utility.openPopup('errorSave', error);\r\n });\r\n });\r\n }\r\n }\r\n if (self.$scope.isSCVUser) {\r\n if (self.$scope.role == 'SCVInterestedParty'\r\n || self.$scope.role == 'SCVSEReviewer'\r\n || self.$scope.role == 'SCVInternalNotificationAlert') {\r\n if (NotificationCommentResult_1.notificationType == 'confirmSentinelEventScvSharedCommentEmail') {\r\n popupCode = 'confirmSentinelEventScvSharedCommentEmail';\r\n self.$scope.utility.openPopup(popupCode).result.then(function (data) {\r\n NotificationCommentResult_1.notificationChoice = data.result;\r\n NotificationCommentResult_1.notificationType = 'confirmSentinelEventScvSharedCommentEmail';\r\n NotificationCommentResult_1.notificationCommentAddedBy = NotificationCommentResult_1.notificationCommentAddedBy;\r\n self.saveSentinelEventChanges(formApp.SentinelSaveOperation.Save, NotificationCommentResult_1)\r\n .then(function (saveResult) {\r\n if (saveResult.status === formApp.ResultStatusCode.Success) {\r\n self.$rootScope.allowFormNavigation = false;\r\n self.$location.path(nextPageUrl);\r\n }\r\n })\r\n .catch(function (error) {\r\n self.$scope.utility.openPopup('errorSave', error);\r\n });\r\n }, function (result) {\r\n self.saveSentinelEventChanges(formApp.SentinelSaveOperation.Save, null)\r\n .then(function (saveResult) {\r\n if (saveResult.status === formApp.ResultStatusCode.Success) {\r\n self.$rootScope.allowFormNavigation = false;\r\n self.$location.path(nextPageUrl);\r\n }\r\n })\r\n .catch(function (error) {\r\n self.$scope.utility.openPopup('errorSave', error);\r\n });\r\n });\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n self.$rootScope.allowFormNavigation = false;\r\n self.$scope.clearDirty();\r\n self.$location.path(nextPageUrl);\r\n }\r\n })\r\n .catch(function () {\r\n });\r\n };\r\n SentinelEventFormController.prototype.updateStatusBarInformation = function (saveResult) {\r\n var self = this;\r\n self.dataServices.responseInfo.sentinelEventId = saveResult.id;\r\n self.dataServices.responseInfo.sentinelEventRef = saveResult.ref;\r\n self.dataServices.responseInfo.status = saveResult.sentinelEventStatus;\r\n self.dataServices.responseInfo.statusText = saveResult.sentinelEventStatusText;\r\n self.dataServices.responseInfo.stage = saveResult.sentinelEventStage;\r\n self.dataServices.responseInfo.stageText = saveResult.sentinelEventStageText;\r\n self.$scope.clearDirty();\r\n self.dataServices.originalResponse = angular.copy(self.$scope.responses);\r\n self.$scope.sentinelEventId = self.dataServices.responseInfo.sentinelEventId;\r\n self.$scope.sentinelEventRef = self.dataServices.responseInfo.sentinelEventRef;\r\n self.$scope.status = self.dataServices.responseInfo.status;\r\n self.$scope.statusText = self.dataServices.responseInfo.statusText;\r\n self.$scope.stage = self.dataServices.responseInfo.stage;\r\n self.$scope.stageText = self.dataServices.responseInfo.stageText;\r\n self.$scope.lastUpdatedTime = self.dataServices.responseInfo.lastUpdatedTime;\r\n };\r\n SentinelEventFormController.prototype.canSaveSentinelEvent = function (saveOperation) {\r\n var self = this;\r\n var canSave = true;\r\n if (self.$scope.isSCVUser && !self.$scope.pageUrl.includes('outcome') && !self.$scope.pageUrl.includes('msqc')) {\r\n return true;\r\n }\r\n if (saveOperation != null) {\r\n if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, null, null, null, 'inline') === false) {\r\n if (saveOperation == formApp.SentinelSaveOperation.Save) {\r\n canSave = self.utilityServices.hasOnlyMandatoryValidationErrors(self.$scope.validationErrors);\r\n }\r\n else {\r\n canSave = false;\r\n }\r\n }\r\n if (!self.$scope.checkPageItemsAreSaved()) {\r\n canSave = false;\r\n }\r\n }\r\n else {\r\n canSave = false;\r\n }\r\n return canSave;\r\n };\r\n SentinelEventFormController.prototype.saveSentinelEvent = function (saveOperationString) {\r\n var _this = this;\r\n var self = this;\r\n var saveOperation;\r\n var notificationChoice = null;\r\n var notificationtype = null;\r\n var notificationtypeHS = null;\r\n var sharedCommentNotificationPopupCode = null;\r\n var commentAddedBy = null;\r\n var internalCommentHSsharedCommentNotificationPopupCode = null;\r\n var NotificationCommentResult = {\r\n notificationType: null,\r\n notificationHSType: null,\r\n notificationChoice: null,\r\n notificationHSChoice: null,\r\n notificationCommentAddedBy: null\r\n };\r\n var notificationComment = {\r\n notificationType: null,\r\n notificationHSType: null,\r\n notificationChoice: null,\r\n notificationHSChoice: null,\r\n notificationCommentAddedBy: null\r\n };\r\n switch (saveOperationString) {\r\n case 'Save':\r\n saveOperation = formApp.SentinelSaveOperation.Save;\r\n break;\r\n case 'ApproveNotification':\r\n saveOperation = formApp.SentinelSaveOperation.ApproveNotification;\r\n break;\r\n case 'RejectNotification':\r\n saveOperation = formApp.SentinelSaveOperation.RejectNotification;\r\n break;\r\n case 'ResubmissionRequestedNotification':\r\n saveOperation = formApp.SentinelSaveOperation.ResubmissionRequestedNotification;\r\n break;\r\n case 'SubmitNotification':\r\n saveOperation = formApp.SentinelSaveOperation.SubmitNotification;\r\n var validationErrors = self.$scope.validationErrors.filter(function (item) { return item.pageNo.startsWith('1') || item.pageNo.startsWith('2'); });\r\n if (validationErrors.length > 0) {\r\n self.$scope.utility.openPopup('sentinelValidationErrors');\r\n return;\r\n }\r\n if (self.$scope.displayServiceAwareIncidentNotifyDelayReason) {\r\n if (self.$scope.responses['1-3'][0]['event'][0]['eServiceAwareIncidentNotifyDelayReason'] == undefined) {\r\n self.$scope.utility.openPopup('eServiceAwareIncidentNotifyDelayReasonValidationError');\r\n return;\r\n }\r\n }\r\n break;\r\n case 'SubmitReportAandB':\r\n saveOperation = formApp.SentinelSaveOperation.SubmitReportAandB;\r\n var validationErrors = self.$scope.validationErrors.filter(function (item) { return item.pageNo.startsWith('3') || item.pageNo.startsWith('4'); });\r\n if (validationErrors.length > 0) {\r\n self.$scope.utility.openPopup('sentinelValidationErrors');\r\n return;\r\n }\r\n break;\r\n case 'ApproveReportAandB':\r\n saveOperation = formApp.SentinelSaveOperation.ApproveReportAandB;\r\n var pageInformation = [\r\n {\r\n navTabNum: 5,\r\n pageUrl: 'partbmsqc',\r\n pageId: '5-1'\r\n },\r\n {\r\n navTabNum: 5,\r\n pageUrl: 'partboutcome',\r\n pageId: '5-2'\r\n }\r\n ];\r\n this.validatePages(pageInformation);\r\n var validationErrors = self.$scope.validationErrors.filter(function (item) { return item.pageNo.startsWith('5') || item.pageNo.startsWith('3'); });\r\n if (validationErrors.length > 0) {\r\n self.$scope.utility.openPopup('sentinelPartBMSQCValidationErrors');\r\n return;\r\n }\r\n break;\r\n case 'ReportAandBReviewPending':\r\n saveOperation = formApp.SentinelSaveOperation.ReportAandBReviewPending;\r\n break;\r\n case 'ResubmissionRequestedAandB':\r\n saveOperation = formApp.SentinelSaveOperation.ResubmissionRequestedAandB;\r\n break;\r\n case 'SubmitReportC':\r\n saveOperation = formApp.SentinelSaveOperation.SubmitReportC;\r\n var validationErrors = self.$scope.validationErrors.filter(function (item) { return item.pageNo.startsWith('6'); });\r\n if (validationErrors.length > 0) {\r\n self.$scope.utility.openPopup('sentinelValidationErrors');\r\n return;\r\n }\r\n break;\r\n case 'ApproveReportC':\r\n saveOperation = formApp.SentinelSaveOperation.ApproveReportC;\r\n var pageInformation = [\r\n {\r\n navTabNum: 6,\r\n pageUrl: 'partc',\r\n pageId: '6-1'\r\n },\r\n {\r\n navTabNum: 8,\r\n pageUrl: 'partcmsqc',\r\n pageId: '8-1'\r\n },\r\n {\r\n navTabNum: 8,\r\n pageUrl: 'partcoutcome',\r\n pageId: '8-2'\r\n }\r\n ];\r\n this.validatePages(pageInformation);\r\n var validationErrors = self.$scope.validationErrors.filter(function (item) { return item.pageNo.startsWith('6') || item.pageNo.startsWith('8'); });\r\n if (validationErrors.length > 0) {\r\n self.$scope.utility.openPopup('sentinelPartCMSQCValidationErrors');\r\n return;\r\n }\r\n break;\r\n case 'ReportCReviewPending':\r\n saveOperation = formApp.SentinelSaveOperation.ReportCReviewPending;\r\n break;\r\n case 'CommitteeReviewComplete':\r\n var pageInformation = [\r\n {\r\n navTabNum: 9,\r\n pageUrl: 'committeereview',\r\n pageId: '9-1'\r\n }\r\n ];\r\n this.validatePages(pageInformation);\r\n var validationErrors = self.$scope.validationErrors.filter(function (item) { return item.pageNo.startsWith('9'); });\r\n if (validationErrors.length > 0) {\r\n self.$scope.utility.openPopup('sentinelValidationErrors');\r\n return;\r\n }\r\n saveOperation = formApp.SentinelSaveOperation.CommitteeReviewComplete;\r\n break;\r\n case 'ResubmissionRequestedC':\r\n saveOperation = formApp.SentinelSaveOperation.ResubmissionRequestedC;\r\n _.forEach(self.$scope.responses['6-1'][0]['partcrecommendations'], function (item, index) {\r\n _this.updateField('6-1', 'partcrecommendations', 'partCRecommendationFindingsAndLearnings', '', parseInt(index));\r\n });\r\n break;\r\n case 'MinorResubmissionRequestedC':\r\n saveOperation = formApp.SentinelSaveOperation.MinorResubmissionRequestedC;\r\n break;\r\n case 'CommitteeReview':\r\n var pageInformation = [\r\n {\r\n navTabNum: 6,\r\n pageUrl: 'partc',\r\n pageId: '6-1'\r\n },\r\n {\r\n navTabNum: 8,\r\n pageUrl: 'partcmsqc',\r\n pageId: '8-1'\r\n },\r\n {\r\n navTabNum: 8,\r\n pageUrl: 'partcoutcome',\r\n pageId: '8-2'\r\n }\r\n ];\r\n this.validatePages(pageInformation);\r\n var validationErrors = self.$scope.validationErrors.filter(function (item) { return item.pageNo.startsWith('6') || item.pageNo.startsWith('8'); });\r\n if (validationErrors.length > 0) {\r\n self.$scope.utility.openPopup('sentinelPartCMSQCValidationErrors');\r\n return;\r\n }\r\n saveOperation = formApp.SentinelSaveOperation.CommitteeReview;\r\n break;\r\n case 'SubmitPartDSixMonth':\r\n saveOperation = formApp.SentinelSaveOperation.SubmitPartDSixMonth;\r\n var validationErrors = self.$scope.validationErrors.filter(function (item) { return item.pageNo.startsWith('10'); });\r\n if (validationErrors.length > 0) {\r\n self.$scope.utility.openPopup('sentinelValidationErrors');\r\n return;\r\n }\r\n break;\r\n case 'ApprovePartDSixMonth':\r\n saveOperation = formApp.SentinelSaveOperation.ApprovePartDSixMonth;\r\n break;\r\n case 'TwelveMonthUpdateRequiredPartDSixMonth':\r\n saveOperation = formApp.SentinelSaveOperation.TwelveMonthUpdateRequiredPartDSixMonth;\r\n break;\r\n case 'ResubmissionRequestedPartDSixMonth':\r\n saveOperation = formApp.SentinelSaveOperation.ResubmissionRequestedPartDSixMonth;\r\n break;\r\n case 'ApprovePartDTwelveMonth':\r\n saveOperation = formApp.SentinelSaveOperation.ApprovePartDTwelveMonth;\r\n break;\r\n case 'ResubmissionRequestedPartDTwelveMonth':\r\n saveOperation = formApp.SentinelSaveOperation.ResubmissionRequestedPartDTwelveMonth;\r\n break;\r\n case 'SubmitPartDTwelveMonth':\r\n saveOperation = formApp.SentinelSaveOperation.SubmitPartDTwelveMonth;\r\n var validationErrors = self.$scope.validationErrors.filter(function (item) { return item.pageNo.startsWith('12'); });\r\n if (validationErrors.length > 0) {\r\n self.$scope.utility.openPopup('sentinelValidationErrors');\r\n return;\r\n }\r\n break;\r\n case 'ExtensionRequestSubmitted':\r\n saveOperation = formApp.SentinelSaveOperation.ExtensionRequestSubmitted;\r\n var validationErrors = self.$scope.validationErrors.filter(function (item) { return item.pageNo.startsWith('16'); });\r\n if (validationErrors.length > 0) {\r\n self.$scope.utility.openPopup('sentinelValidationErrors');\r\n return;\r\n }\r\n var date = new Date();\r\n this.updateField('16-1', 'submissionExtensionDetails', 'submissionExtensionDateOfRequest', moment(date).tz('Australia/Melbourne').format('YYYY-MM-DD'));\r\n self.$scope.setQuestionValueFromCodeAndType('submissionExtensionDateOfRequest', 'date', moment(date).tz('Australia/Melbourne').format('YYYY-MM-DD'), self.$scope.responses['16-1'][0]['submissionExtensionDetails'][0]);\r\n break;\r\n case 'ExtensionRequestApproveReject':\r\n var extensionAccepted = self.$scope.responses['16-1'][0]['submissionExtensionScvFunction'][0]['submissionExtensionAccepted'];\r\n if (extensionAccepted == 1) {\r\n saveOperation = formApp.SentinelSaveOperation.ExtensionRequestApproved;\r\n }\r\n else if (extensionAccepted == 2) {\r\n saveOperation = formApp.SentinelSaveOperation.ExtensionRequestApprovedPartial;\r\n }\r\n else if (extensionAccepted == 3) {\r\n saveOperation = formApp.SentinelSaveOperation.ExtensionRequestRefused;\r\n }\r\n var validationErrors = self.$scope.validationErrors.filter(function (item) { return item.pageNo.startsWith('16'); });\r\n if (validationErrors.length > 0) {\r\n self.$scope.utility.openPopup('sentinelValidationErrors');\r\n return;\r\n }\r\n break;\r\n default:\r\n saveOperation = formApp.SentinelSaveOperation.Save;\r\n break;\r\n }\r\n self.GetPartCSmartRecommendation();\r\n NotificationCommentResult = self.GetNotificationCommentResult();\r\n if (self.canSaveSentinelEvent(saveOperation)) {\r\n self.$scope.currentLoadSaveMessage = 'Saving sentinel event';\r\n if (saveOperation != formApp.SentinelSaveOperation.Save || self.$scope.hasUnsavedChanges()) {\r\n if (self.$scope.isSCVUser) {\r\n var popupCode;\r\n switch (saveOperation) {\r\n case formApp.SentinelSaveOperation.ApproveNotification:\r\n popupCode = 'confirmSentinelEventApproval';\r\n break;\r\n case formApp.SentinelSaveOperation.ResubmissionRequestedNotification:\r\n popupCode = 'confirmSentinelEventResubmission';\r\n break;\r\n case formApp.SentinelSaveOperation.RejectNotification:\r\n popupCode = 'confirmSentinelEventRejection';\r\n break;\r\n case formApp.SentinelSaveOperation.ResubmissionRequestedAandB:\r\n popupCode = 'confirmAandBResubmission';\r\n break;\r\n case formApp.SentinelSaveOperation.ResubmissionRequestedC:\r\n popupCode = 'confirmCResubmission';\r\n break;\r\n case formApp.SentinelSaveOperation.MinorResubmissionRequestedC:\r\n popupCode = 'confirmCMinorResubmission';\r\n break;\r\n case formApp.SentinelSaveOperation.ApprovePartDSixMonth:\r\n popupCode = 'confirmD6Approval';\r\n break;\r\n case formApp.SentinelSaveOperation.TwelveMonthUpdateRequiredPartDSixMonth:\r\n popupCode = 'confirmD6Approval';\r\n break;\r\n case formApp.SentinelSaveOperation.ResubmissionRequestedPartDSixMonth:\r\n popupCode = 'confirmD6Resubmission';\r\n break;\r\n case formApp.SentinelSaveOperation.ApprovePartDTwelveMonth:\r\n popupCode = 'confirmD12Approval';\r\n break;\r\n case formApp.SentinelSaveOperation.ResubmissionRequestedPartDTwelveMonth:\r\n popupCode = 'confirmD12Resubmission';\r\n break;\r\n case formApp.SentinelSaveOperation.Save:\r\n if (self.$scope.role == 'SCVInterestedParty'\r\n || self.$scope.role == 'SCVSEReviewer'\r\n || self.$scope.role == 'SCVInternalNotificationAlert') {\r\n if (NotificationCommentResult.notificationType == 'confirmSentinelEventScvSharedCommentEmail') {\r\n popupCode = 'confirmSentinelEventScvSharedCommentEmail';\r\n break;\r\n }\r\n }\r\n if (popupCode == undefined) {\r\n popupCode = 'confirmSentinelEventReviewAction';\r\n }\r\n break;\r\n default:\r\n popupCode = 'confirmSentinelEventReviewAction';\r\n break;\r\n }\r\n var dueDate = null;\r\n var popupParams = {\r\n dueDate: '',\r\n };\r\n if (popupCode == 'confirmAandBResubmission') {\r\n popupParams.dueDate = self.utilityServices.getSentinelEventDueDate(formApp.SentinelEventStage.PartAandB);\r\n }\r\n else if (popupCode == 'confirmCResubmission') {\r\n popupParams.dueDate = self.utilityServices.getSentinelEventDueDate(formApp.SentinelEventStage.PartC);\r\n popupParams.dueDate = moment(popupParams.dueDate).format('DD-MM-YYYY');\r\n }\r\n else if (popupCode == 'confirmD6Resubmission') {\r\n popupParams.dueDate = self.utilityServices.getSentinelEventDueDate(formApp.SentinelEventStage.PartD6m);\r\n }\r\n self.$scope.utility.openPopup(popupCode, popupParams).result.then(function (result) {\r\n if (popupCode == 'confirmSentinelEventResubmission') {\r\n _this.clearSignOffSection(formApp.SentinelEventStage.Notification);\r\n }\r\n if (popupCode == 'confirmAandBResubmission') {\r\n var response = result.outParams;\r\n dueDate = response.dueDate;\r\n _this.clearSignOffSection(formApp.SentinelEventStage.PartAandB);\r\n }\r\n else if (popupCode == 'confirmCResubmission') {\r\n var response = result.outParams;\r\n dueDate = response.dueDatePartC;\r\n _this.clearSignOffSection(formApp.SentinelEventStage.PartAandB);\r\n _this.clearSignOffSection(formApp.SentinelEventStage.PartC);\r\n }\r\n else if (popupCode == 'confirmCMinorResubmission') {\r\n _this.clearSignOffSection(formApp.SentinelEventStage.PartC);\r\n }\r\n else if (popupCode == 'confirmD6Resubmission') {\r\n var response = result.outParams;\r\n dueDate = response.dueDatePartD6M;\r\n _this.clearSignOffSection(formApp.SentinelEventStage.PartD6m);\r\n }\r\n else if (popupCode == 'confirmD12Resubmission') {\r\n var response = result.outParams;\r\n dueDate = response.dueDatePartD12M;\r\n _this.clearSignOffSection(formApp.SentinelEventStage.PartD12m);\r\n }\r\n else if (popupCode == 'confirmSentinelEventScvSharedCommentEmail') {\r\n notificationComment.notificationChoice = result.result;\r\n notificationComment.notificationType = 'confirmSentinelEventScvSharedCommentEmail';\r\n notificationComment.notificationCommentAddedBy = NotificationCommentResult.notificationCommentAddedBy;\r\n }\r\n self.saveSentinelEventChanges(saveOperation, notificationComment, dueDate)\r\n .then(function (saveResult) {\r\n if (saveResult.status === formApp.ResultStatusCode.Success) {\r\n self.$scope.returnToDashboard();\r\n }\r\n })\r\n .catch(function (error) {\r\n self.$scope.utility.openPopup('errorSave', error);\r\n });\r\n }, function (result) {\r\n if (popupCode === 'confirmSentinelEventScvSharedCommentEmail') {\r\n self.saveSentinelEventChanges(saveOperation, null, dueDate)\r\n .then(function (saveResult) {\r\n if (saveResult.status === formApp.ResultStatusCode.Success) {\r\n self.$scope.returnToDashboard();\r\n }\r\n })\r\n .catch(function (error) {\r\n self.$scope.utility.openPopup('errorSave', error);\r\n });\r\n }\r\n });\r\n }\r\n else if (!self.$scope.isSCVUser && (NotificationCommentResult.notificationType != null || NotificationCommentResult.notificationHSType != null)) {\r\n var popupCode;\r\n if (saveOperation === formApp.SentinelSaveOperation.Save ||\r\n saveOperation === formApp.SentinelSaveOperation.SubmitNotification ||\r\n saveOperation === formApp.SentinelSaveOperation.SubmitReportAandB ||\r\n saveOperation === formApp.SentinelSaveOperation.SubmitReportC ||\r\n saveOperation === formApp.SentinelSaveOperation.SubmitPartDSixMonth ||\r\n saveOperation === formApp.SentinelSaveOperation.SubmitPartDTwelveMonth ||\r\n saveOperation === formApp.SentinelSaveOperation.ExtensionRequestSubmitted ||\r\n saveOperation === formApp.SentinelSaveOperation.ResubmissionRequestedAandB ||\r\n saveOperation === formApp.SentinelSaveOperation.ResubmissionRequestedC ||\r\n saveOperation === formApp.SentinelSaveOperation.ResubmissionRequestedPartDSixMonth ||\r\n saveOperation === formApp.SentinelSaveOperation.ResubmissionRequestedPartDTwelveMonth ||\r\n saveOperation === formApp.SentinelSaveOperation.MinorResubmissionRequestedC ||\r\n saveOperation === formApp.SentinelSaveOperation.ResubmissionRequestedNotification) {\r\n if (NotificationCommentResult.notificationType == 'confirmSentinelEventHSSharedCommentEmail') {\r\n popupCode = 'confirmSentinelEventHSSharedCommentEmail';\r\n }\r\n else if (NotificationCommentResult.notificationHSType == 'confirmSentinelEventHSOnlyCommentEmail') {\r\n popupCode = 'confirmSentinelEventHSOnlyCommentEmail';\r\n }\r\n }\r\n var dueDate = null;\r\n var popupParams = {};\r\n self.$scope.utility.openPopup(popupCode, popupParams).result.then(function (result) {\r\n if (popupCode === 'confirmSentinelEventHSSharedCommentEmail') {\r\n notificationComment.notificationChoice = result.result;\r\n notificationComment.notificationType = 'confirmSentinelEventHSSharedCommentEmail';\r\n notificationComment.notificationCommentAddedBy = NotificationCommentResult.notificationCommentAddedBy;\r\n notificationComment.notificationHSChoice = result.result;\r\n notificationComment.notificationHSType = NotificationCommentResult.notificationHSType;\r\n }\r\n else if (popupCode === 'confirmSentinelEventHSOnlyCommentEmail') {\r\n notificationComment.notificationHSChoice = result.result;\r\n notificationComment.notificationHSType = 'confirmSentinelEventHSOnlyCommentEmail';\r\n notificationComment.notificationCommentAddedBy = NotificationCommentResult.notificationCommentAddedBy;\r\n notificationComment.notificationChoice = result.result;\r\n notificationComment.notificationType = NotificationCommentResult.notificationChoice;\r\n }\r\n self.saveSentinelEventChanges(saveOperation, notificationComment, dueDate)\r\n .then(function (saveResult) {\r\n if (saveResult.status === formApp.ResultStatusCode.Success) {\r\n self.$scope.returnToDashboard();\r\n }\r\n })\r\n .catch(function (error) {\r\n self.$scope.utility.openPopup('errorSave', error);\r\n });\r\n }, function (result) {\r\n if (popupCode === 'confirmSentinelEventHSSharedCommentEmail') {\r\n notificationComment.notificationChoice = result;\r\n notificationComment.notificationType = 'confirmSentinelEventHSSharedCommentEmail';\r\n notificationComment.notificationCommentAddedBy = NotificationCommentResult.notificationCommentAddedBy;\r\n }\r\n self.saveSentinelEventChanges(saveOperation, notificationComment, dueDate)\r\n .then(function (saveResult) {\r\n if (saveResult.status === formApp.ResultStatusCode.Success) {\r\n self.$scope.returnToDashboard();\r\n }\r\n })\r\n .catch(function (error) {\r\n self.$scope.utility.openPopup('errorSave', error);\r\n });\r\n });\r\n }\r\n else {\r\n self.GetPartCSmartRecommendation();\r\n self.saveSentinelEventChanges(saveOperation, notificationComment, null)\r\n .then(function (saveResult) {\r\n if (saveResult.status === formApp.ResultStatusCode.Success) {\r\n self.$scope.returnToDashboard();\r\n }\r\n })\r\n .catch(function (error) {\r\n self.$scope.utility.openPopup('errorSave', error);\r\n });\r\n }\r\n }\r\n else {\r\n self.$scope.returnToDashboard();\r\n }\r\n }\r\n else {\r\n self.$scope.alertFirstError();\r\n }\r\n };\r\n SentinelEventFormController.prototype.validatePages = function (pagesToBeValidated) {\r\n var self = this;\r\n var isValid = true;\r\n var scopePageId = self.$scope.pageId;\r\n _.forEach(pagesToBeValidated, function (item, index) {\r\n self.$scope.pageId = item['pageId'];\r\n if (!self.$scope.responses[item['pageId']]) {\r\n var currentPage = self.$scope.page;\r\n self.$scope.page = self.utilityServices.getPage(self.$scope.configData, item['navTabNum'], item['pageUrl']);\r\n self.$scope.initialisePageResponse();\r\n self.$scope.page = currentPage;\r\n }\r\n var sections = _.find(_.find(self.$scope.configData.navigationTabs, function (o) { return o.number == item['navTabNum']; }).pages, function (p) { return p.url == item['pageUrl']; }).sections;\r\n if (sections) {\r\n if (self.$scope.responses[item['pageId']]) {\r\n for (var pi = 0; pi < self.$scope.responses[item['pageId']].length; pi++) {\r\n for (var s = 0; s < sections.length; s++) {\r\n var section = sections[s];\r\n if (self.$scope.responses[item['pageId']][pi][section.code]) {\r\n for (var si = 0; si < self.$scope.responses[item['pageId']][pi][section.code].length; si++) {\r\n if (!section.condition || self.$scope.$eval(section.condition, { p$: self.$scope.setQuestionParams(pi, 0, section.code) }) === true) {\r\n $.each(section.questions, function () {\r\n isValid = self.$scope.validatePageQuestions('inline', this, pi, si, section.code, false) && isValid;\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n self.dataServices.validationErrors = self.$scope.validationErrors;\r\n self.$scope.pageId = scopePageId;\r\n };\r\n SentinelEventFormController.prototype.saveSentinelEventChanges = function (saveOperation, notificationCommentResult, dueDate) {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n var canSave = self.canSaveSentinelEvent(saveOperation);\r\n if (canSave) {\r\n var isInsert_1 = !self.dataServices.responseInfo.sentinelEventRef;\r\n var savedSentinelEventRef_1;\r\n self.$scope.notifyIsSavingChanged(true);\r\n self.dataServices.saveSentinelEvent(saveOperation, notificationCommentResult, dueDate)\r\n .then(function (response) {\r\n if (response.data) {\r\n if (response.data.status === formApp.ResultStatusCode.UpdatedSinceReadTime) {\r\n self.$scope.utility.openPopup('savedElsewhere');\r\n }\r\n else if (response.data.status === formApp.ResultStatusCode.Success) {\r\n savedSentinelEventRef_1 = response.data.ref;\r\n self.dataServices.trackEventsWithGA('Save action in ' + self.$scope.pageUrl, 'Save Sentinel Event', 'Successfully Saved Sentinel Event');\r\n self.updateStatusBarInformation(response.data);\r\n }\r\n else {\r\n self.$scope.utility.openPopup('errorSave', formApp.ErrorInfo.fromCustomError('Save Sentinel Event', '', response.data.status));\r\n }\r\n deferred.resolve(response.data);\r\n }\r\n else {\r\n deferred.reject(formApp.ErrorInfo.fromCustomError('Save Sentinel Event', 'Failed to return data'));\r\n }\r\n }, function (response) {\r\n self.dataServices.trackEventsWithGA('Error occured during Save in ' + self.$scope.pageUrl, 'Save Sentinel Event', 'Failed to Save Sentinel Event');\r\n deferred.reject(formApp.ErrorInfo.fromHttpResponse(response));\r\n })\r\n .finally(function () {\r\n self.$scope.notifyIsSavingChanged(false);\r\n if (isInsert_1 && savedSentinelEventRef_1) {\r\n self.utilityServices.showNotification(true, 'recordCreatedSuccessfully', { entityType: 'Sentinel event', entityName: '' });\r\n }\r\n });\r\n }\r\n else {\r\n deferred.reject(formApp.ErrorInfo.fromCustomError('Save Sentiel Event', 'Unable to save, validation errors'));\r\n }\r\n return deferred.promise;\r\n };\r\n SentinelEventFormController.prototype.saveNewSectionItem = function (pIndex, sIndex, sCode) {\r\n var self = this;\r\n if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, pIndex, sCode, sIndex, 'inline')) {\r\n self.checkSectionItemsUnique(self.$scope.pageId, pIndex, sIndex, sCode)\r\n .then(function (isUnique) {\r\n if (isUnique) {\r\n self.$scope.setSectionItemState(pIndex, sIndex, sCode, self.constants.RepeatingItemState.viewing);\r\n if (!self.$scope.shadowResponse[pIndex]) {\r\n self.$scope.shadowResponse[pIndex] = [];\r\n }\r\n if (!self.$scope.shadowResponse[pIndex][sCode]) {\r\n self.$scope.shadowResponse[pIndex][sCode] = [];\r\n }\r\n self.$scope.shadowResponse[pIndex][sCode][sIndex] = angular.copy(self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex]);\r\n self.$scope.utility.focus('sectionAddNewButton-' + pIndex + '-' + sCode);\r\n }\r\n });\r\n }\r\n else {\r\n self.$scope.alertFirstError();\r\n }\r\n };\r\n SentinelEventFormController.prototype.saveExistingSectionItem = function (pIndex, sIndex, sCode) {\r\n var self = this;\r\n if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, pIndex, sCode, sIndex, 'inline')) {\r\n self.checkSectionItemsUnique(self.$scope.pageId, pIndex, sIndex, sCode)\r\n .then(function (isUnique) {\r\n if (isUnique) {\r\n self.$scope.setSectionItemState(pIndex, sIndex, sCode, self.constants.RepeatingItemState.viewing);\r\n self.$scope.shadowResponse[pIndex][sCode][sIndex] = angular.copy(self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex]);\r\n self.$scope.utility.focus('sectionAddNewButton-' + pIndex + '-' + sCode);\r\n }\r\n });\r\n }\r\n else {\r\n self.$scope.alertFirstError();\r\n }\r\n };\r\n SentinelEventFormController.prototype.clearSignOffSection = function (stage) {\r\n var self = this;\r\n switch (stage) {\r\n case formApp.SentinelEventStage.Notification:\r\n this.updateField('2-1', 'signoff', 'signOffLeadReviewer', '');\r\n this.updateField('2-1', 'signoff', 'signOffCEO', '');\r\n self.$scope.setQuestionValueFromCodeAndType('signOffLeadReviewerDate', 'date', '', self.$scope.responses['2-1'][0]['signoff'][0]);\r\n self.$scope.setQuestionValueFromCodeAndType('signOffCEODate', 'date', '', self.$scope.responses['2-1'][0]['signoff'][0]);\r\n break;\r\n case formApp.SentinelEventStage.PartAandB:\r\n this.updateField('4-1', 'signoffrca', 'signOffRcaLeadReviewer', '');\r\n this.updateField('4-1', 'signoffrca', 'signOffRcaCEO', '');\r\n self.$scope.setQuestionValueFromCodeAndType('signOffRcaLeadReviewerDate', 'date', '', self.$scope.responses['4-1'][0]['signoffrca'][0]);\r\n self.$scope.setQuestionValueFromCodeAndType('signOffRcaCEODate', 'date', '', self.$scope.responses['4-1'][0]['signoffrca'][0]);\r\n break;\r\n case formApp.SentinelEventStage.PartC:\r\n this.updateField('7-1', 'signoffpartc', 'signOffPartCLeadReviewer', '');\r\n this.updateField('7-1', 'signoffpartc', 'signOffPartCCEO', '');\r\n self.$scope.setQuestionValueFromCodeAndType('signOffPartCLeadReviewerDate', 'date', '', self.$scope.responses['7-1'][0]['signoffpartc'][0]);\r\n self.$scope.setQuestionValueFromCodeAndType('signOffPartCCEODate', 'date', '', self.$scope.responses['7-1'][0]['signoffpartc'][0]);\r\n break;\r\n case formApp.SentinelEventStage.PartD6m:\r\n this.updateField('11-1', 'signoffpartdsix', 'signOffPartDSixMonthLeadReviewer', '');\r\n this.updateField('11-1', 'signoffpartdsix', 'signOffPartDSixMonthCEO', '');\r\n self.$scope.setQuestionValueFromCodeAndType('signOffPartDSixMonthLeadReviewerDate', 'date', '', self.$scope.responses['11-1'][0]['signoffpartdsix'][0]);\r\n self.$scope.setQuestionValueFromCodeAndType('signOffPartDSixMonthCEODate', 'date', '', self.$scope.responses['11-1'][0]['signoffpartdsix'][0]);\r\n break;\r\n case formApp.SentinelEventStage.PartD12m:\r\n this.updateField('13-1', 'signoffpartdtwelve', 'signOffPartDTwelveMonthLeadReviewer', '');\r\n this.updateField('13-1', 'signoffpartdtwelve', 'signOffPartDTwelveMonthCEO', '');\r\n self.$scope.setQuestionValueFromCodeAndType('signOffPartDTwelveMonthLeadReviewerDate', 'date', '', self.$scope.responses['13-1'][0]['signoffpartdtwelve'][0]);\r\n self.$scope.setQuestionValueFromCodeAndType('signOffPartDTwelveMonthCEODate', 'date', '', self.$scope.responses['13-1'][0]['signoffpartdtwelve'][0]);\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n SentinelEventFormController.prototype.checkSectionItemsUnique = function (pageId, pIndex, sIndex, sCode) {\r\n var self = this;\r\n if (formApp.ActionAssignee.isAssigneeSectionCode(sCode)) {\r\n return self.checkActionAssigneesUnique(pageId, pIndex, sIndex, sCode);\r\n }\r\n else {\r\n var deferred = self.$q.defer();\r\n deferred.resolve(true);\r\n return deferred.promise;\r\n }\r\n };\r\n SentinelEventFormController.prototype.checkActionAssigneesUnique = function (pageId, pIndex, sIndex, sCode) {\r\n var self = this;\r\n return self.$scope.handleDuplicateSectionItems(pageId, pIndex, sIndex, sCode, function (s1, s2) { return formApp.ActionAssignee.areSameSections(sCode, s1, s2); }, 'duplicateActionAssignees');\r\n };\r\n SentinelEventFormController.prototype.getQuestionOptions = function (question, pIndex, sIndex, sCode) {\r\n var self = this;\r\n return self.baseGetQuestionOptions(question, pIndex, sIndex, sCode);\r\n };\r\n SentinelEventFormController.prototype.getSelectedOptionSets = function (question, qCode, sCode) {\r\n var self = this;\r\n var valOfPQuestion = self.$scope.valueOfQuestion(null, qCode, sCode, 0, 0, '2-1');\r\n if (valOfPQuestion && valOfPQuestion.length > 0) {\r\n var optionSets = self.$scope.configData.optionSets[question.options];\r\n var selectedOptionSetsInClassificationPage = _.filter(optionSets, function (item) {\r\n return valOfPQuestion.indexOf(item.code) != -1;\r\n });\r\n var diff = _.difference(selectedOptionSetsInClassificationPage, self.selectedOptionSets);\r\n if (diff && diff.length > 0) {\r\n self.selectedOptionSets = selectedOptionSetsInClassificationPage;\r\n }\r\n }\r\n else {\r\n self.selectedOptionSets.length = 0;\r\n }\r\n return self.selectedOptionSets;\r\n };\r\n SentinelEventFormController.prototype.GetPartCSmartRecommendation = function () {\r\n var self = this;\r\n if (self.dataServices.responseInfo.partcrecommendationsList != null) {\r\n var partcrecommendationsList = JSON.parse(self.dataServices.responseInfo.partcrecommendationsList);\r\n if (self.$scope.responses['6-1'] != undefined &&\r\n self.$scope.responses['6-1'][0].partcrecommendations != undefined &&\r\n partcrecommendationsList[0] != undefined &&\r\n partcrecommendationsList[0].partcrecommendations != undefined &&\r\n partcrecommendationsList[0].partcrecommendations.length > 0) {\r\n var length = self.dataServices.originalResponse['6-1'][0].partcrecommendations.length;\r\n for (var i = 0; i < length; i++) {\r\n if (partcrecommendationsList[0].partcrecommendations[i].partCRecommendationScvRecAnalysis != undefined) {\r\n self.$scope.responses['6-1'][0].partcrecommendations[i].partCRecommendationScvRecAnalysis = partcrecommendationsList[0].partcrecommendations[i].partCRecommendationScvRecAnalysis;\r\n }\r\n }\r\n }\r\n }\r\n };\r\n SentinelEventFormController.prototype.GetSharedHSCommentNotificationCommentDetails = function (NotificationCommentResult) {\r\n var self = this;\r\n if (self.$scope.responses['1-4'] != undefined &&\r\n self.$scope.responses['1-4'][0].notificationCommentShared != undefined) {\r\n if (self.$scope.responses['1-4'][0].notificationCommentShared.length > 0 &&\r\n self.dataServices.originalResponse['1-4'] == undefined) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventHSSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['1-4'][0].notificationCommentShared[0].notificationCommentSharedUser;\r\n }\r\n else if (self.$scope.responses['1-4'][0].notificationCommentShared.length > 0 &&\r\n self.dataServices.originalResponse['1-4'] != undefined &&\r\n self.dataServices.originalResponse['1-4'][0].notificationCommentShared == undefined) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventHSSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['1-4'][0].notificationCommentShared[0].notificationCommentSharedUser;\r\n }\r\n else if (self.dataServices.originalResponse['1-4'] != undefined && self.dataServices.originalResponse['1-4'][0].notificationCommentShared != undefined) {\r\n if (self.$scope.responses['1-4'][0].notificationCommentShared.length > self.dataServices.originalResponse['1-4'][0].notificationCommentShared.length) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventHSSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['1-4'][0].notificationCommentShared[self.$scope.responses['1-4'][0].notificationCommentShared.length - 1].notificationCommentSharedUser;\r\n }\r\n }\r\n }\r\n return NotificationCommentResult;\r\n };\r\n SentinelEventFormController.prototype.GetSharedHSPartABCommentDetails = function (NotificationCommentResult) {\r\n var self = this;\r\n if (self.$scope.responses['3-8'] != undefined &&\r\n self.$scope.responses['3-8'][0].partAandBCommentShared != undefined) {\r\n if (self.$scope.responses['3-8'][0].partAandBCommentShared.length > 0 &&\r\n self.dataServices.originalResponse['3-8'] == undefined) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventHSSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['3-8'][0].partAandBCommentShared[0].partAandBCommentSharedUser;\r\n }\r\n else if (self.$scope.responses['3-8'][0].partAandBCommentShared.length > 0 &&\r\n self.dataServices.originalResponse['3-8'] != undefined &&\r\n self.dataServices.originalResponse['3-8'][0].partAandBCommentShared == undefined) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventHSSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['3-8'][0].partAandBCommentShared[0].partAandBCommentSharedUser;\r\n }\r\n else if (self.dataServices.originalResponse['3-8'] != undefined && self.dataServices.originalResponse['3-8'][0].partAandBCommentShared != undefined) {\r\n if (self.$scope.responses['3-8'][0].partAandBCommentShared.length > self.dataServices.originalResponse['3-8'][0].partAandBCommentShared.length) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventHSSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['3-8'][0].partAandBCommentShared[self.$scope.responses['3-8'][0].partAandBCommentShared.length - 1].partAandBCommentSharedUser;\r\n }\r\n }\r\n }\r\n return NotificationCommentResult;\r\n };\r\n SentinelEventFormController.prototype.GetSharedHSPartCCommentDetails = function (NotificationCommentResult) {\r\n var self = this;\r\n if (self.$scope.responses['6-2'] != undefined &&\r\n self.$scope.responses['6-2'][0].partCCommentShared != undefined) {\r\n if (self.$scope.responses['6-2'][0].partCCommentShared.length > 0 &&\r\n self.dataServices.originalResponse['6-2'] == undefined) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventHSSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['6-2'][0].partCCommentShared[0].partCCommentSharedUser;\r\n }\r\n else if (self.$scope.responses['6-2'][0].partCCommentShared.length > 0 &&\r\n self.dataServices.originalResponse['6-2'] != undefined &&\r\n self.dataServices.originalResponse['6-2'][0].partCCommentShared == undefined) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventHSSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['6-2'][0].partCCommentShared[0].partCCommentSharedUser;\r\n }\r\n else if (self.dataServices.originalResponse['6-2'] != undefined && self.dataServices.originalResponse['6-2'][0].partCCommentShared != undefined) {\r\n if (self.$scope.responses['6-2'][0].partCCommentShared.length > self.dataServices.originalResponse['6-2'][0].partCCommentShared.length) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventHSSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['6-2'][0].partCCommentShared[self.$scope.responses['6-2'][0].partCCommentShared.length - 1].partCCommentSharedUser;\r\n }\r\n }\r\n }\r\n return NotificationCommentResult;\r\n };\r\n SentinelEventFormController.prototype.GetSharedHSPartD6MCommentDetails = function (NotificationCommentResult) {\r\n var self = this;\r\n if (self.$scope.responses['10-2'] != undefined &&\r\n self.$scope.responses['10-2'][0].partDCommentShared != undefined) {\r\n if (self.$scope.responses['10-2'][0].partDCommentShared.length > 0 &&\r\n self.dataServices.originalResponse['10-2'] == undefined) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventHSSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['10-2'][0].partDCommentShared[0].partDCommentSharedUser;\r\n }\r\n else if (self.$scope.responses['10-2'][0].partDCommentShared.length > 0 &&\r\n self.dataServices.originalResponse['10-2'] != undefined &&\r\n self.dataServices.originalResponse['10-2'][0].partDCommentShared == undefined) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventHSSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['10-2'][0].partDCommentShared[0].partDCommentSharedUser;\r\n }\r\n else if (self.dataServices.originalResponse['10-2'] != undefined && self.dataServices.originalResponse['10-2'][0].partDCommentShared != undefined) {\r\n if (self.$scope.responses['10-2'][0].partDCommentShared.length > self.dataServices.originalResponse['10-2'][0].partDCommentShared.length) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventHSSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['10-2'][0].partDCommentShared[self.$scope.responses['10-2'][0].partDCommentShared.length - 1].partDCommentSharedUser;\r\n }\r\n }\r\n }\r\n return NotificationCommentResult;\r\n };\r\n SentinelEventFormController.prototype.GetSharedHSPartD12MCommentDetails = function (NotificationCommentResult) {\r\n var self = this;\r\n if (self.$scope.responses['12-2'] != undefined &&\r\n self.$scope.responses['12-2'][0].partDTwelveMonthCommentShared != undefined) {\r\n if (self.$scope.responses['12-2'][0].partDTwelveMonthCommentShared.length > 0 &&\r\n self.dataServices.originalResponse['12-2'] == undefined) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventHSSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['12-2'][0].partDTwelveMonthCommentShared[0].partDTwelveMonthCommentSharedUser;\r\n }\r\n else if (self.$scope.responses['12-2'][0].partDTwelveMonthCommentShared.length > 0 &&\r\n self.dataServices.originalResponse['12-2'] != undefined &&\r\n self.dataServices.originalResponse['12-2'][0].partDTwelveMonthCommentShared == undefined) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventHSSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['12-2'][0].partDTwelveMonthCommentShared[0].partDTwelveMonthCommentSharedUser;\r\n }\r\n else if (self.dataServices.originalResponse['12-2'] != undefined && self.dataServices.originalResponse['12-2'][0].partDTwelveMonthCommentShared != undefined) {\r\n if (self.$scope.responses['12-2'][0].partDTwelveMonthCommentShared.length > self.dataServices.originalResponse['12-2'][0].partDTwelveMonthCommentShared.length) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventHSSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['12-2'][0].partDTwelveMonthCommentShared[self.$scope.responses['12-2'][0].partDTwelveMonthCommentShared.length - 1].partDTwelveMonthCommentSharedUser;\r\n }\r\n }\r\n }\r\n return NotificationCommentResult;\r\n };\r\n SentinelEventFormController.prototype.GetInternalHSNotificationCommentDetails = function (NotificationCommentResult) {\r\n var self = this;\r\n if (self.$scope.responses['1-4'] != undefined &&\r\n self.$scope.responses['1-4'][0].notificationCommentHs != undefined) {\r\n if (self.$scope.responses['1-4'][0].notificationCommentHs.length > 0 &&\r\n self.dataServices.originalResponse['1-4'] == undefined) {\r\n NotificationCommentResult.notificationHSType = 'confirmSentinelEventHSOnlyCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['1-4'][0].notificationCommentHs[0].notificationCommentHsUser;\r\n }\r\n else if (self.$scope.responses['1-4'][0].notificationCommentHs.length > 0 &&\r\n self.dataServices.originalResponse['1-4'] != undefined &&\r\n self.dataServices.originalResponse['1-4'][0].notificationCommentHs == undefined) {\r\n NotificationCommentResult.notificationHSType = 'confirmSentinelEventHSOnlyCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['1-4'][0].notificationCommentHs[0].notificationCommentHsUser;\r\n }\r\n else if (self.dataServices.originalResponse['1-4'] != undefined && self.dataServices.originalResponse['1-4'][0].notificationCommentHs != undefined) {\r\n if (self.$scope.responses['1-4'][0].notificationCommentHs.length > self.dataServices.originalResponse['1-4'][0].notificationCommentHs.length) {\r\n NotificationCommentResult.notificationHSType = 'confirmSentinelEventHSOnlyCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['1-4'][0].notificationCommentHs[self.$scope.responses['1-4'][0].notificationCommentHs.length - 1].notificationCommentHsUser;\r\n }\r\n }\r\n }\r\n return NotificationCommentResult;\r\n };\r\n SentinelEventFormController.prototype.GetInternalHSPartABCommentDetails = function (NotificationCommentResult) {\r\n var self = this;\r\n if (self.$scope.responses['3-8'] != undefined &&\r\n self.$scope.responses['3-8'][0].partAandBCommentHs != undefined) {\r\n if (self.$scope.responses['3-8'][0].partAandBCommentHs.length > 0 &&\r\n self.dataServices.originalResponse['3-8'] == undefined) {\r\n NotificationCommentResult.notificationHSType = 'confirmSentinelEventHSOnlyCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['3-8'][0].partAandBCommentHs[0].partAandBCommentHsUser;\r\n }\r\n else if (self.$scope.responses['3-8'][0].partAandBCommentHs.length > 0 &&\r\n self.dataServices.originalResponse['3-8'] != undefined &&\r\n self.dataServices.originalResponse['3-8'][0].partAandBCommentHs == undefined) {\r\n NotificationCommentResult.notificationHSType = 'confirmSentinelEventHSOnlyCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['3-8'][0].partAandBCommentHs[0].partAandBCommentHsUser;\r\n }\r\n else if (self.dataServices.originalResponse['3-8'] != undefined && self.dataServices.originalResponse['3-8'][0].partAandBCommentHs != undefined) {\r\n if (self.$scope.responses['3-8'][0].partAandBCommentHs.length > self.dataServices.originalResponse['3-8'][0].partAandBCommentHs.length) {\r\n NotificationCommentResult.notificationHSType = 'confirmSentinelEventHSOnlyCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['3-8'][0].partAandBCommentHs[self.$scope.responses['3-8'][0].partAandBCommentHs.length - 1].partAandBCommentHsUser;\r\n }\r\n }\r\n }\r\n return NotificationCommentResult;\r\n };\r\n SentinelEventFormController.prototype.GetInternalHSPartCCommentDetails = function (NotificationCommentResult) {\r\n var self = this;\r\n if (self.$scope.responses['6-2'] != undefined &&\r\n self.$scope.responses['6-2'][0].partCCommentHs != undefined) {\r\n if (self.$scope.responses['6-2'][0].partCCommentHs.length > 0 &&\r\n self.dataServices.originalResponse['6-2'] == undefined) {\r\n NotificationCommentResult.notificationHSType = 'confirmSentinelEventHSOnlyCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['6-2'][0].partCCommentHs[0].partCCommentHsUser;\r\n }\r\n else if (self.$scope.responses['6-2'][0].partCCommentHs.length > 0 &&\r\n self.dataServices.originalResponse['6-2'] != undefined &&\r\n self.dataServices.originalResponse['6-2'][0].partCCommentHs == undefined) {\r\n NotificationCommentResult.notificationHSType = 'confirmSentinelEventHSOnlyCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['6-2'][0].partCCommentHs[0].partCCommentHsUser;\r\n }\r\n else if (self.dataServices.originalResponse['6-2'] != undefined && self.dataServices.originalResponse['6-2'][0].partCCommentHs != undefined) {\r\n if (self.$scope.responses['6-2'][0].partCCommentHs.length > self.dataServices.originalResponse['6-2'][0].partCCommentHs.length) {\r\n NotificationCommentResult.notificationHSType = 'confirmSentinelEventHSOnlyCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['6-2'][0].partCCommentHs[self.$scope.responses['6-2'][0].partCCommentHs.length - 1].partCCommentHsUser;\r\n }\r\n }\r\n }\r\n return NotificationCommentResult;\r\n };\r\n SentinelEventFormController.prototype.GetInternalHSPartD6MCommentDetails = function (NotificationCommentResult) {\r\n var self = this;\r\n if (self.$scope.responses['10-2'] != undefined &&\r\n self.$scope.responses['10-2'][0].partDCommentHs != undefined) {\r\n if (self.$scope.responses['10-2'][0].partDCommentHs.length > 0 &&\r\n self.dataServices.originalResponse['10-2'] == undefined) {\r\n NotificationCommentResult.notificationHSType = 'confirmSentinelEventHSOnlyCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['10-2'][0].partDCommentHs[0].partDCommentHsUser;\r\n }\r\n else if (self.$scope.responses['10-2'][0].partDCommentHs.length > 0 &&\r\n self.dataServices.originalResponse['10-2'] != undefined &&\r\n self.dataServices.originalResponse['10-2'][0].partDCommentHs == undefined) {\r\n NotificationCommentResult.notificationHSType = 'confirmSentinelEventHSOnlyCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['10-2'][0].partDCommentHs[0].partDCommentHsUser;\r\n }\r\n else if (self.dataServices.originalResponse['10-2'] != undefined && self.dataServices.originalResponse['10-2'][0].partDCommentHs != undefined) {\r\n if (self.$scope.responses['10-2'][0].partDCommentHs.length > self.dataServices.originalResponse['10-2'][0].partDCommentHs.length) {\r\n NotificationCommentResult.notificationHSType = 'confirmSentinelEventHSOnlyCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['10-2'][0].partDCommentHs[self.$scope.responses['10-2'][0].partDCommentHs.length - 1].partDCommentHsUser;\r\n }\r\n }\r\n }\r\n return NotificationCommentResult;\r\n };\r\n SentinelEventFormController.prototype.GetInternalHSPartD12MCommentDetails = function (NotificationCommentResult) {\r\n var self = this;\r\n if (self.$scope.responses['12-2'] != undefined &&\r\n self.$scope.responses['12-2'][0].partDTwelveMonthCommentHs != undefined) {\r\n if (self.$scope.responses['12-2'][0].partDTwelveMonthCommentHs.length > 0 &&\r\n self.dataServices.originalResponse['12-2'] == undefined) {\r\n NotificationCommentResult.notificationHSType = 'confirmSentinelEventHSOnlyCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['12-2'][0].partDTwelveMonthCommentHs[0].partDTwelveMonthCommentHsUser;\r\n }\r\n else if (self.$scope.responses['12-2'][0].partDTwelveMonthCommentHs.length > 0 &&\r\n self.dataServices.originalResponse['12-2'] != undefined &&\r\n self.dataServices.originalResponse['12-2'][0].partDTwelveMonthCommentHs == undefined) {\r\n NotificationCommentResult.notificationHSType = 'confirmSentinelEventHSOnlyCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['12-2'][0].partDTwelveMonthCommentHs[0].partDTwelveMonthCommentHsUser;\r\n }\r\n else if (self.dataServices.originalResponse['12-2'] != undefined && self.dataServices.originalResponse['12-2'][0].partDTwelveMonthCommentHs != undefined) {\r\n if (self.$scope.responses['12-2'][0].partDTwelveMonthCommentHs.length > self.dataServices.originalResponse['12-2'][0].partDTwelveMonthCommentHs.length) {\r\n NotificationCommentResult.notificationHSType = 'confirmSentinelEventHSOnlyCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['12-2'][0].partDTwelveMonthCommentHs[self.$scope.responses['12-2'][0].partDTwelveMonthCommentHs.length - 1].partDTwelveMonthCommentHsUser;\r\n }\r\n }\r\n }\r\n return NotificationCommentResult;\r\n };\r\n SentinelEventFormController.prototype.GetInternalSCVNotificationCommentDetails = function (NotificationCommentResult) {\r\n var self = this;\r\n if (self.$scope.responses['1-4'] != undefined &&\r\n self.$scope.responses['1-4'][0].notificationCommentScv != undefined) {\r\n if (self.$scope.responses['1-4'][0].notificationCommentScv.length > 0 &&\r\n self.dataServices.originalResponse['1-4'] == undefined) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventScvSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['1-4'][0].notificationCommentScv[0].notificationCommentScvUser;\r\n }\r\n else if (self.$scope.responses['1-4'][0].notificationCommentScv.length > 0 &&\r\n self.dataServices.originalResponse['1-4'] != undefined &&\r\n self.dataServices.originalResponse['1-4'][0].notificationCommentScv == undefined) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventScvSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['1-4'][0].notificationCommentScv[0].notificationCommentScvUser;\r\n }\r\n else if (self.dataServices.originalResponse['1-4'] != undefined && self.dataServices.originalResponse['1-4'][0].notificationCommentScv != undefined) {\r\n if (self.$scope.responses['1-4'][0].notificationCommentScv.length > self.dataServices.originalResponse['1-4'][0].notificationCommentScv.length) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventScvSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['1-4'][0].notificationCommentScv[self.$scope.responses['1-4'][0].notificationCommentScv.length - 1].notificationCommentScvUser;\r\n }\r\n }\r\n }\r\n return NotificationCommentResult;\r\n };\r\n SentinelEventFormController.prototype.GetInternalSCVPartAndBCommentDetails = function (NotificationCommentResult) {\r\n var self = this;\r\n if (self.$scope.responses['3-8'] != undefined &&\r\n self.$scope.responses['3-8'][0].partAandBCommentScv != undefined) {\r\n if (self.$scope.responses['3-8'][0].partAandBCommentScv.length > 0 &&\r\n self.dataServices.originalResponse['3-8'] == undefined) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventScvSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['3-8'][0].partAandBCommentScv[0].partAandBCommentScvUser;\r\n }\r\n else if (self.$scope.responses['3-8'][0].partAandBCommentScv.length > 0 &&\r\n self.dataServices.originalResponse['3-8'] != undefined &&\r\n self.dataServices.originalResponse['3-8'][0].partAandBCommentScv == undefined) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventScvSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['3-8'][0].partAandBCommentScv[0].partAandBCommentScvUser;\r\n }\r\n else if (self.dataServices.originalResponse['3-8'] != undefined && self.dataServices.originalResponse['3-8'][0].partAandBCommentScv != undefined) {\r\n if (self.$scope.responses['3-8'][0].partAandBCommentScv.length > self.dataServices.originalResponse['3-8'][0].partAandBCommentScv.length) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventScvSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['3-8'][0].partAandBCommentScv[self.$scope.responses['3-8'][0].partAandBCommentScv.length - 1].partAandBCommentScvUser;\r\n }\r\n }\r\n }\r\n return NotificationCommentResult;\r\n };\r\n SentinelEventFormController.prototype.GetInternalSCVPartCCommentDetails = function (NotificationCommentResult) {\r\n var self = this;\r\n if (self.$scope.responses['6-2'] != undefined &&\r\n self.$scope.responses['6-2'][0].partCCommentScv != undefined) {\r\n if (self.$scope.responses['6-2'][0].partCCommentScv.length > 0 &&\r\n self.dataServices.originalResponse['6-2'] == undefined) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventScvSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['6-2'][0].partCCommentScv[0].partCCommentScvUser;\r\n }\r\n else if (self.$scope.responses['6-2'][0].partCCommentScv.length > 0 &&\r\n self.dataServices.originalResponse['6-2'] != undefined &&\r\n self.dataServices.originalResponse['6-2'][0].partCCommentScv == undefined) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventScvSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['6-2'][0].partCCommentScv[0].partCCommentScvUser;\r\n }\r\n else if (self.dataServices.originalResponse['6-2'] != undefined && self.dataServices.originalResponse['6-2'][0].partCCommentScv != undefined) {\r\n if (self.$scope.responses['6-2'][0].partCCommentScv.length > self.dataServices.originalResponse['6-2'][0].partCCommentScv.length) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventScvSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['6-2'][0].partCCommentScv[self.$scope.responses['6-2'][0].partCCommentScv.length - 1].partCCommentScvUser;\r\n }\r\n }\r\n }\r\n return NotificationCommentResult;\r\n };\r\n SentinelEventFormController.prototype.GetInternalSCVPartD6MCommentDetails = function (NotificationCommentResult) {\r\n var self = this;\r\n if (self.$scope.responses['10-2'] != undefined &&\r\n self.$scope.responses['10-2'][0].partDCommentScv != undefined) {\r\n if (self.$scope.responses['10-2'][0].partDCommentScv.length > 0 &&\r\n self.dataServices.originalResponse['10-2'] == undefined) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventScvSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['10-2'][0].partDCommentScv[0].partDCommentScvUser;\r\n }\r\n else if (self.$scope.responses['10-2'][0].partDCommentScv.length > 0 &&\r\n self.dataServices.originalResponse['10-2'] != undefined &&\r\n self.dataServices.originalResponse['10-2'][0].partDCommentScv == undefined) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventScvSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['10-2'][0].partDCommentScv[0].partDCommentScvUser;\r\n }\r\n else if (self.dataServices.originalResponse['10-2'] != undefined && self.dataServices.originalResponse['10-2'][0].partDCommentScv != undefined) {\r\n if (self.$scope.responses['10-2'][0].partDCommentScv.length > self.dataServices.originalResponse['10-2'][0].partDCommentScv.length) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventScvSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['10-2'][0].partDCommentScv[self.$scope.responses['10-2'][0].partDCommentScv.length - 1].partDCommentScvUser;\r\n }\r\n }\r\n }\r\n return NotificationCommentResult;\r\n };\r\n SentinelEventFormController.prototype.GetInternalSCVPartD12MCommentDetails = function (NotificationCommentResult) {\r\n var self = this;\r\n if (self.$scope.responses['12-2'] != undefined &&\r\n self.$scope.responses['12-2'][0].partDTwelveMonthCommentScv != undefined) {\r\n if (self.$scope.responses['12-2'][0].partDTwelveMonthCommentScv.length > 0 &&\r\n self.dataServices.originalResponse['12-2'] == undefined) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventScvSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['12-2'][0].partDTwelveMonthCommentScv[0].partDTwelveMonthCommentScvUser;\r\n }\r\n else if (self.$scope.responses['12-2'][0].partDTwelveMonthCommentScv.length > 0 &&\r\n self.dataServices.originalResponse['12-2'] != undefined &&\r\n self.dataServices.originalResponse['12-2'][0].partDTwelveMonthCommentScv == undefined) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventScvSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['12-2'][0].partDTwelveMonthCommentScv[0].partDTwelveMonthCommentScvUser;\r\n }\r\n else if (self.dataServices.originalResponse['12-2'] != undefined && self.dataServices.originalResponse['12-2'][0].partDTwelveMonthCommentScv != undefined) {\r\n if (self.$scope.responses['12-2'][0].partDTwelveMonthCommentScv.length > self.dataServices.originalResponse['12-2'][0].partDTwelveMonthCommentScv.length) {\r\n NotificationCommentResult.notificationType = 'confirmSentinelEventScvSharedCommentEmail';\r\n NotificationCommentResult.notificationCommentAddedBy = self.$scope.responses['12-2'][0].partDTwelveMonthCommentScv[self.$scope.responses['12-2'][0].partDTwelveMonthCommentScv.length - 1].partDTwelveMonthCommentScvUser;\r\n }\r\n }\r\n }\r\n return NotificationCommentResult;\r\n };\r\n SentinelEventFormController.prototype.GetNotificationCommentResult = function () {\r\n var self = this;\r\n var NotificationCommentResult = {\r\n notificationType: null,\r\n notificationHSType: null,\r\n notificationChoice: null,\r\n notificationHSChoice: null,\r\n notificationCommentAddedBy: null\r\n };\r\n if (!self.$scope.isSCVUser) {\r\n NotificationCommentResult =\r\n NotificationCommentResult.notificationType === null ?\r\n self.GetSharedHSCommentNotificationCommentDetails(NotificationCommentResult) :\r\n NotificationCommentResult;\r\n NotificationCommentResult =\r\n NotificationCommentResult.notificationType === null ?\r\n self.GetSharedHSPartABCommentDetails(NotificationCommentResult) :\r\n NotificationCommentResult;\r\n NotificationCommentResult =\r\n NotificationCommentResult.notificationType === null ?\r\n self.GetSharedHSPartCCommentDetails(NotificationCommentResult) :\r\n NotificationCommentResult;\r\n NotificationCommentResult =\r\n NotificationCommentResult.notificationType === null ?\r\n self.GetSharedHSPartD6MCommentDetails(NotificationCommentResult) :\r\n NotificationCommentResult;\r\n NotificationCommentResult =\r\n NotificationCommentResult.notificationType === null ?\r\n self.GetSharedHSPartD12MCommentDetails(NotificationCommentResult) :\r\n NotificationCommentResult;\r\n NotificationCommentResult =\r\n NotificationCommentResult.notificationHSType === null ?\r\n self.GetInternalHSNotificationCommentDetails(NotificationCommentResult) :\r\n NotificationCommentResult;\r\n NotificationCommentResult =\r\n NotificationCommentResult.notificationHSType === null ?\r\n self.GetInternalHSPartABCommentDetails(NotificationCommentResult) :\r\n NotificationCommentResult;\r\n NotificationCommentResult =\r\n NotificationCommentResult.notificationHSType === null ?\r\n self.GetInternalHSPartCCommentDetails(NotificationCommentResult) :\r\n NotificationCommentResult;\r\n NotificationCommentResult =\r\n NotificationCommentResult.notificationHSType === null ?\r\n self.GetInternalHSPartD6MCommentDetails(NotificationCommentResult) :\r\n NotificationCommentResult;\r\n NotificationCommentResult =\r\n NotificationCommentResult.notificationHSType === null ?\r\n self.GetInternalHSPartD12MCommentDetails(NotificationCommentResult) :\r\n NotificationCommentResult;\r\n }\r\n if (self.$scope.isSCVUser) {\r\n if (self.$scope.role == 'SCVInterestedParty'\r\n || self.$scope.role == 'SCVSEReviewer'\r\n || self.$scope.role == 'SCVInternalNotificationAlert') {\r\n NotificationCommentResult =\r\n NotificationCommentResult.notificationType === null ?\r\n self.GetInternalSCVNotificationCommentDetails(NotificationCommentResult) :\r\n NotificationCommentResult;\r\n NotificationCommentResult =\r\n NotificationCommentResult.notificationType === null ?\r\n self.GetInternalSCVPartAndBCommentDetails(NotificationCommentResult) :\r\n NotificationCommentResult;\r\n NotificationCommentResult =\r\n NotificationCommentResult.notificationType === null ?\r\n self.GetInternalSCVPartCCommentDetails(NotificationCommentResult) :\r\n NotificationCommentResult;\r\n NotificationCommentResult =\r\n NotificationCommentResult.notificationType === null ?\r\n self.GetInternalSCVPartD6MCommentDetails(NotificationCommentResult) :\r\n NotificationCommentResult;\r\n NotificationCommentResult =\r\n NotificationCommentResult.notificationType === null ?\r\n self.GetInternalSCVPartD12MCommentDetails(NotificationCommentResult) :\r\n NotificationCommentResult;\r\n }\r\n }\r\n return NotificationCommentResult;\r\n };\r\n SentinelEventFormController.$inject = [\r\n '$scope',\r\n '$http',\r\n '$controller',\r\n 'DataServices',\r\n 'PatientService',\r\n 'UtilityServices',\r\n 'ValidationService',\r\n '$log',\r\n '$location',\r\n '$routeParams',\r\n '$filter',\r\n '$anchorScroll',\r\n '$timeout',\r\n '$rootScope',\r\n 'Constants',\r\n '$q',\r\n '$route'\r\n ];\r\n return SentinelEventFormController;\r\n }());\r\n formApp.SentinelEventFormController = SentinelEventFormController;\r\n angular.module('formApp').controller('sentinelEventFormController', SentinelEventFormController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=sentinelEventFormController.js.map","var formApp;\r\n(function (formApp) {\r\n var SummaryFormController = (function () {\r\n function SummaryFormController($scope, $http, $controller, dataServices, utilityServices, validationService, $routeParams, $filter, $rootScope, constants, $q) {\r\n this.$scope = $scope;\r\n this.$http = $http;\r\n this.$controller = $controller;\r\n this.dataServices = dataServices;\r\n this.utilityServices = utilityServices;\r\n this.validationService = validationService;\r\n this.$routeParams = $routeParams;\r\n this.$filter = $filter;\r\n this.$rootScope = $rootScope;\r\n this.constants = constants;\r\n this.$q = $q;\r\n this.mapEntitySpecificVariables = {\r\n hazardsignoff: new formApp.entitySpecificVariables(undefined, this.constants.incidentSummary.hazardSummaryPageUrl),\r\n clinicalsignoff: new formApp.entitySpecificVariables(undefined, this.constants.incidentSummary.clinicalSummaryPageUrl),\r\n ohsstaffsignoff: new formApp.entitySpecificVariables(undefined, this.constants.incidentSummary.ohsstaffSummaryPageUrl),\r\n ohsvisitorsignoff: new formApp.entitySpecificVariables(undefined, this.constants.incidentSummary.ohsvisitorSummaryPageUrl),\r\n feedbacksignoff: new formApp.entitySpecificVariables(undefined, this.constants.feedbackSummary.feedbackSummaryPageUrl),\r\n sentineleventsignoff: new formApp.entitySpecificVariables(undefined, this.constants.sentinelEventSummary.sentinelEventNotificationSummaryPageUrl)\r\n };\r\n this.initiateCounterHash = function (key) {\r\n var self = this;\r\n self.$scope.counters = {};\r\n if (!self.$scope.counters.hasOwnProperty(key)) {\r\n self.$scope.counters[key] = {\r\n questions: 0,\r\n sections: 0\r\n };\r\n }\r\n };\r\n this.countSectionInPage = function (key) {\r\n var self = this;\r\n self.initiateCounterHash(key);\r\n self.$scope.counters[key].sections = self.$scope.counters[key].sections + 1;\r\n return self.$scope.counters[key].sections;\r\n };\r\n this.showMoreAnswers = function (key) {\r\n var self = this;\r\n return self.$scope.counters.hasOwnProperty(key) ? self.$scope.counters[key].questions > 6 || self.$scope.counters[key].sections > 2 : false;\r\n };\r\n this.countQuestionsInSection = function (key) {\r\n var self = this;\r\n self.initiateCounterHash(key);\r\n self.$scope.counters[key].questions = self.$scope.counters[key].questions + 1;\r\n return self.$scope.counters[key].questions;\r\n };\r\n $scope.registerForRouteChange = false;\r\n $controller('questionController', { $scope: $scope });\r\n $scope.page = _.find(_.find($scope.configData.navigationTabs, function (o) { return o.number == $scope.navTabNum; }).pages, function (p) { return p.url == $scope.pageUrl; });\r\n switch ($scope.pageUrl) {\r\n case constants.feedbackSummary.feedbackSummaryPageUrl: {\r\n $controller('feedbackFormController', { $scope: $scope });\r\n break;\r\n }\r\n case constants.sentinelEventSummary.sentinelEventNotificationSummaryPageUrl:\r\n case constants.sentinelEventSummary.sentinelEventRcaSummaryPageUrl:\r\n case constants.sentinelEventSummary.sentinelEventPartCSummaryPageUrl:\r\n case constants.sentinelEventSummary.sentinelEventPartDSixMonthReviewSummaryPageUrl:\r\n case constants.sentinelEventSummary.sentinelEventPartDTwelveMonthReviewSummaryPageUrl:\r\n {\r\n $controller('sentinelEventFormController', { $scope: $scope });\r\n break;\r\n }\r\n default: {\r\n $controller('incidentFormController', { $scope: $scope });\r\n break;\r\n }\r\n }\r\n var self = this;\r\n $scope.isPageValid = function (navTabNumber, pageNumber) {\r\n return self.isPageValid(navTabNumber, pageNumber);\r\n };\r\n $scope.setQuestionParamsForSummary = function (pIndex, sIndex, sCode, pageId) {\r\n return self.setQuestionParamsForSummary(pIndex, sIndex, sCode, pageId);\r\n };\r\n $scope.setQuestionParamsForSummaryDocuments = function (pIndex, sIndex, sCode, pageId, documentCount) {\r\n return self.setQuestionParamsForSummaryDocuments(pIndex, sIndex, sCode, pageId, documentCount);\r\n };\r\n $scope.getSectionItemCountForSummary = function (navTabNumber, pageNumber, pIndex, section) {\r\n return self.getSectionItemCountForSummary(navTabNumber, pageNumber, pIndex, section);\r\n };\r\n $scope.getPageItemCountForSummary = function (navTabNumber, pageNumber, isRepeating) {\r\n return self.getPageItemCountForSummary(navTabNumber, pageNumber, isRepeating);\r\n };\r\n $scope.isQuestionValid = function (question, navTabNumber, pageNumber, pIndex, sCode, sIndex) {\r\n return self.isQuestionValid(question, navTabNumber, pageNumber, pIndex, sCode, sIndex);\r\n };\r\n $scope.getQuestionError = function (question, navTabNumber, pageNumber, pIndex, sCode, sIndex) {\r\n return self.getQuestionError(question, navTabNumber, pageNumber, pIndex, sCode, sIndex);\r\n };\r\n $scope.validateApplication = function () {\r\n return self.validateApplication();\r\n };\r\n $scope.countSectionInPage = function (key) {\r\n return self.countSectionInPage(key);\r\n };\r\n $scope.showMoreAnswers = function (key) {\r\n return self.showMoreAnswers(key);\r\n };\r\n $scope.countQuestionsInSection = function (key) {\r\n return self.countQuestionsInSection(key);\r\n };\r\n $scope.getQuestionAnswer = function (question, navTabNumber, pageNumber, pIndex, sCode, sIndex) {\r\n return self.getQuestionAnswer(question, navTabNumber, pageNumber, pIndex, sCode, sIndex);\r\n };\r\n $scope.hasQuestions = function (section) {\r\n return self.hasQuestions(section);\r\n };\r\n $scope.shouldRenderPage = function (nav, page, summaryNav, summaryPage) {\r\n return self.shouldRenderPage(nav, page, summaryNav, summaryPage);\r\n };\r\n $scope.validatePage = function () {\r\n return true;\r\n };\r\n $scope.hasAnswer = function (question, navTabNumber, pageNumber, pIndex, sCode, sIndex) {\r\n return self.hasAnswer(question, navTabNumber, pageNumber, pIndex, sCode, sIndex);\r\n };\r\n $scope.showExtraInfo = function (key) {\r\n return self.showExtraInfo(key);\r\n };\r\n $scope.getPageError = function (page) {\r\n return self.getPageError(page);\r\n };\r\n $scope.valueOfQuestion = function (params, qCode, sCode, sIndex, pIndex, pageId) {\r\n return self.valueOfQuestion(params, qCode, sCode, sIndex, pIndex, pageId);\r\n };\r\n $scope.questionContains = function (params, qCode, qValue, sCode, sIndex, pIndex, pageId) {\r\n return self.questionContains(params, qCode, qValue, sCode, sIndex, pIndex, pageId);\r\n };\r\n $scope.navigateToFirstPageError = function () {\r\n if ($scope.validationErrors.length > 0) {\r\n $scope.scrollTo('editAnswers-' + $scope.validationErrors[0].pageNo);\r\n }\r\n };\r\n self.validateApplication();\r\n self.$scope.page = _.find(_.find(self.$scope.configData.navigationTabs, function (o) { return o.number == self.$scope.navTabNum; }).pages, function (p) { return p.url == $scope.pageUrl; });\r\n self.$scope.pageId = self.$scope.navTabNum + '-' + self.$scope.page.number;\r\n self.initiateCounterHash(null);\r\n $scope.init = function (entityType) {\r\n self.init(entityType);\r\n };\r\n $scope.$on('validateApplication', function (event, args) {\r\n self.validateApplication();\r\n });\r\n }\r\n SummaryFormController.prototype.init = function (entityType) {\r\n var self = this;\r\n if (self.utilityServices.isFeedback(entityType)) {\r\n var entityData = self.mapEntitySpecificVariables[entityType];\r\n self.$scope.navTabNum = entityData.navTabNum;\r\n self.$scope.pageUrl = entityData.pageUrl;\r\n self.$scope.templatePath = entityData.templatePath;\r\n }\r\n };\r\n SummaryFormController.prototype.isPageValid = function (navTabNumber, pageNumber) {\r\n var self = this;\r\n var errors = self.$filter('filter')(self.$scope.validationErrors, {\r\n 'pageNo': navTabNumber + '-' + pageNumber\r\n }, true);\r\n return (errors && errors.length > 0) == false;\r\n };\r\n SummaryFormController.prototype.setQuestionParamsForSummary = function (pIndex, sIndex, sCode, pageId) {\r\n return {\r\n 'pIndex': pIndex, 'sIndex': sIndex, 'sCode': sCode, 'pageId': pageId\r\n };\r\n };\r\n SummaryFormController.prototype.setQuestionParamsForSummaryDocuments = function (pIndex, sIndex, sCode, pageId, documentCount) {\r\n return {\r\n 'pIndex': pIndex, 'sIndex': sIndex, 'sCode': sCode, 'pageId': pageId, 'documentCount': documentCount\r\n };\r\n };\r\n SummaryFormController.prototype.getSectionItemCountForSummary = function (navTabNumber, pageNumber, pIndex, section) {\r\n var self = this;\r\n var pageId = navTabNumber + '-' + pageNumber;\r\n if (section.questions.length == 0) {\r\n return new Array(0);\r\n }\r\n if (self.$scope.responses[pageId] && self.$scope.responses[pageId][pIndex] && self.$scope.responses[pageId][pIndex][section.code]) {\r\n return new Array(self.$scope.responses[pageId][pIndex][section.code].length);\r\n }\r\n if (section.isRepeating) {\r\n return new Array(0);\r\n }\r\n else {\r\n return new Array(1);\r\n }\r\n };\r\n SummaryFormController.prototype.getPageItemCountForSummary = function (navTabNumber, pageNumber, isRepeating) {\r\n var self = this;\r\n var pageId = navTabNumber + '-' + pageNumber;\r\n if (self.$scope.responses[pageId]) {\r\n return new Array(self.$scope.responses[pageId].length);\r\n }\r\n if (isRepeating) {\r\n return new Array(0);\r\n }\r\n else {\r\n return new Array(1);\r\n }\r\n };\r\n SummaryFormController.prototype.isQuestionValid = function (question, navTabNumber, pageNumber, pIndex, sCode, sIndex) {\r\n var self = this;\r\n var errors = self.$filter('filter')(self.$scope.validationErrors, {\r\n 'pageNo': navTabNumber + '-' + pageNumber, 'questionCode': question.code, 'pageIndex': pIndex, 'sectionCode': sCode, 'sectionIndex': sIndex\r\n }, true);\r\n return (errors && errors.length > 0) == false;\r\n };\r\n SummaryFormController.prototype.getQuestionError = function (question, navTabNumber, pageNumber, pIndex, sCode, sIndex) {\r\n var self = this;\r\n var errors = self.$filter('filter')((self.$scope.validationErrors), {\r\n 'questionCode': question.code, 'pageIndex': pIndex, 'sectionCode': sCode, 'sectionIndex': sIndex\r\n }, true);\r\n if (errors && errors.length > 0) {\r\n return errors[0].summaryMessage;\r\n }\r\n return null;\r\n };\r\n SummaryFormController.prototype.validateApplication = function () {\r\n var self = this;\r\n self.$scope.validationErrors.length = 0;\r\n self.$scope.pageId = null;\r\n var isValid = true;\r\n var navTabs = self.$filter('filter')(self.$scope.configData.navigationTabs, { includeInProgress: true }, true);\r\n var navTabsToBeValidated = self.$scope.navTabNum == null ? navTabs.length : self.$scope.navTabNum;\r\n for (var nt = 0; nt < navTabsToBeValidated; nt++) {\r\n var pages = navTabs[nt].pages;\r\n for (var p = 0; p < pages.length; p++) {\r\n var page = pages[p];\r\n var pageId = navTabs[nt].number + '-' + page.number;\r\n var sections = page.sections;\r\n if (sections) {\r\n if (page.validation) {\r\n isValid = self.runPageLevelValidations(page, pageId) && isValid;\r\n }\r\n if (self.$scope.responses && self.$scope.responses[pageId] && self.$scope.responses[pageId].length > 0) {\r\n for (var pi = 0; pi < self.$scope.responses[pageId].length; pi++) {\r\n for (var s = 0; s < sections.length; s++) {\r\n var section = sections[s];\r\n if (self.$scope.responses[pageId][pi][section.code]) {\r\n for (var si = 0; si < self.$scope.responses[pageId][pi][section.code].length; si++) {\r\n if (!section.condition || self.$scope.$eval(section.condition, { p$: self.$scope.setQuestionParamsForSummary(pi, 0, section.code, pageId) }) == true) {\r\n $.each(section.questions, function () {\r\n isValid = self.validateQuestion('inline', this, pi, si, section.code, pageId) && isValid;\r\n });\r\n }\r\n }\r\n }\r\n else {\r\n if (!section.isRepeating) {\r\n if (!section.condition || self.$scope.$eval(section.condition, { p$: self.$scope.setQuestionParamsForSummary(pi, 0, section.code, pageId) }) == true) {\r\n $.each(section.questions, function () {\r\n isValid = self.validateQuestion('inline', this, pi, 0, section.code, pageId) && isValid;\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n self.$scope.pageId = pageId;\r\n self.$scope.page = _.find(_.find(self.$scope.configData.navigationTabs, function (o) { return o.number == navTabs[nt].number; }).pages, function (p) { return p.url == page.url; });\r\n self.$scope.initialisePageResponse();\r\n self.$scope.pageId = null;\r\n if (!page.isRepeating) {\r\n for (var s = 0; s < sections.length; s++) {\r\n var section = sections[s];\r\n if (!section.isRepeating) {\r\n if (!section.condition || self.$scope.$eval(section.condition, {\r\n p$: self.$scope.setQuestionParamsForSummary(0, 0, section.code, pageId)\r\n }) === true) {\r\n $.each(section.questions, function () {\r\n isValid = self.validateQuestion('inline', this, 0, 0, section.code, pageId) && isValid;\r\n });\r\n }\r\n }\r\n }\r\n }\r\n else if (page.isRepeating && page.validation) {\r\n isValid = self.runPageLevelValidations(page, pageId) && isValid;\r\n }\r\n }\r\n }\r\n else if (page.validation) {\r\n isValid = self.runPageLevelValidations(page, pageId) && isValid;\r\n }\r\n }\r\n }\r\n return isValid;\r\n };\r\n SummaryFormController.prototype.runPageLevelValidations = function (page, pageId) {\r\n var self = this;\r\n var validationParams = {\r\n p$: {\r\n page: page,\r\n pageId: pageId,\r\n summaryMessage: page.validation.summaryMessage,\r\n inlineMessage: page.validation.inlineMessage,\r\n thisResponse: self.$scope.responses[pageId],\r\n allResponses: self.$scope.responses\r\n }\r\n };\r\n return self.$scope.$eval(page.validation.rule, validationParams);\r\n };\r\n SummaryFormController.prototype.addValidationError = function (level, pageNo, pIndex, sIndex, sCode, qCode, popupMessageCode, shortQuestion, summaryMessage, inlineMessage) {\r\n var self = this;\r\n self.$scope.validationErrors.push({\r\n 'level': level,\r\n 'pageNo': pageNo,\r\n 'pageIndex': pIndex,\r\n 'sectionCode': sCode,\r\n 'sectionIndex': sIndex,\r\n 'questionCode': qCode,\r\n 'popupMessageCode': popupMessageCode,\r\n 'shortQuestion': shortQuestion,\r\n 'summaryMessage': summaryMessage,\r\n 'inlineMessage': inlineMessage\r\n });\r\n };\r\n SummaryFormController.prototype.addValidationErrors = function (validationErrors) {\r\n var self = this;\r\n if (validationErrors && angular.isArray(validationErrors) && validationErrors.length > 0) {\r\n for (var i = 0; i < validationErrors.length; i++) {\r\n var error = validationErrors[i];\r\n self.$scope.validationErrors.push(error);\r\n }\r\n return validationErrors.length > 0;\r\n }\r\n return false;\r\n };\r\n SummaryFormController.prototype.getQuestionAnswer = function (question, navTabNumber, pageNumber, pIndex, sCode, sIndex) {\r\n var self = this;\r\n var pageId = navTabNumber + '-' + pageNumber;\r\n if (self.$scope.responses[pageId] && self.$scope.responses[pageId][pIndex] && self.$scope.responses[pageId][pIndex][sCode] && self.$scope.responses[pageId][pIndex][sCode][sIndex]) {\r\n var response = self.$scope.responses[pageId][pIndex][sCode][sIndex][question.code];\r\n var dependentOnQuestionResponseCode = null;\r\n if (question.controlType === 'apiSelect') {\r\n var dependentOnQuestion = self.$scope.getQuestionFromCodes(null, navTabNumber, pageNumber, sCode, question.optionDependsOnQuestion, pIndex, sIndex);\r\n dependentOnQuestionResponseCode = self.$scope.valueOfQuestion(null, question.optionDependsOnQuestion, sCode, sIndex, pIndex, navTabNumber + '-' + pageNumber).code;\r\n }\r\n return self.$scope.utility.getAnswer(question, response, dependentOnQuestionResponseCode);\r\n }\r\n return null;\r\n };\r\n SummaryFormController.prototype.hasQuestions = function (section) {\r\n var self = this;\r\n if (section && section.questions) {\r\n var questionsWithText = _.filter(section.questions, function (q) {\r\n return q.question != null && q.question !== '';\r\n });\r\n return questionsWithText.length > 0;\r\n }\r\n return false;\r\n };\r\n SummaryFormController.prototype.shouldRenderPage = function (nav, page, summaryNav, summaryPage) {\r\n var self = this;\r\n if (nav.number < summaryNav.number || (nav.number == summaryNav.number && page.number < summaryPage.number)) {\r\n if ((!page.condition || self.$scope.$eval(page.condition, { p$: nav.number + '-' + page.number }) != false)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n SummaryFormController.prototype.hasAnswer = function (question, navTabNumber, pageNumber, pIndex, sCode, sIndex) {\r\n var self = this;\r\n var pageId = navTabNumber + '-' + pageNumber;\r\n if (self.$scope.responses[pageId] && self.$scope.responses[pageId][pIndex] && self.$scope.responses[pageId][pIndex][sCode] && self.$scope.responses[pageId][pIndex][sCode][sIndex]) {\r\n var response = self.$scope.responses[pageId][pIndex][sCode][sIndex][question.code];\r\n if (($.isArray(response) && response.length > 0) || (response && $.isArray(response) == false)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n SummaryFormController.prototype.showExtraInfo = function (key) {\r\n $('[data-key=\"' + key + '\"]')\r\n .toggleClass('summary__item-hidden summary__item-visible');\r\n $('#showbutton-' + key).toggleClass('hidden');\r\n $('#hidebutton-' + key).toggleClass('hidden');\r\n var anchortag = document.getElementById('anchor-' + key);\r\n if (anchortag) {\r\n if (anchortag.getAttribute('aria-expanded') === 'true') {\r\n $('#showbutton-' + key).focus();\r\n $(anchortag).attr('aria-expanded', 'false');\r\n $(anchortag).attr('aria-describedby', 'showbutton-' + key);\r\n }\r\n else {\r\n $('#hidebutton-' + key).focus();\r\n $(anchortag).attr('aria-expanded', 'true');\r\n $(anchortag).attr('aria-describedby', 'hidebutton-' + key);\r\n }\r\n }\r\n };\r\n SummaryFormController.prototype.getPageError = function (page) {\r\n var self = this;\r\n return page.validation && page.validation.message\r\n ? page.validation.message\r\n : '';\r\n };\r\n SummaryFormController.prototype.validateQuestion = function (level, question, pIndex, sIndex, sCode, pageId) {\r\n var self = this;\r\n var isValid = true;\r\n if (question.controlType != 'empty') {\r\n if (!question.condition || self.$scope.$eval(question.condition, {\r\n p$: self.$scope.setQuestionParamsForSummary(pIndex, sIndex, sCode, pageId)\r\n }) === true) {\r\n if (question.validations) {\r\n $.each(question.validations, function () {\r\n if (this.level == level.toLowerCase() || level.toLowerCase() == 'inline') {\r\n if (question.controlType == 'documents') {\r\n sCode = 'documents';\r\n var documentCount = parseInt(this.summaryMessage);\r\n if (documentCount == NaN) {\r\n documentCount = 1;\r\n }\r\n if (self.$scope.$eval(this.rule, { p$: self.$scope.setQuestionParamsForSummaryDocuments(pIndex, sIndex, sCode, pageId, documentCount) }) != true) {\r\n isValid = false;\r\n self.$scope.addValidationError('inline', pageId, pIndex, sIndex, sCode, question.code, this.popupMessageCode, question.shortQuestion ? question.shortQuestion : question.question, this.summaryMessage, this.inlineMessage, this.ruleType);\r\n return false;\r\n }\r\n }\r\n else {\r\n if (self.$scope.$eval(this.rule, { p$: self.$scope.setQuestionParamsForSummary(pIndex, sIndex, sCode, pageId) }) != true) {\r\n isValid = false;\r\n self.$scope.addValidationError('inline', pageId, pIndex, sIndex, sCode, question.code, this.popupMessageCode, question.shortQuestion ? question.shortQuestion : question.question, this.summaryMessage, this.inlineMessage, this.ruleType);\r\n return false;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n }\r\n return isValid;\r\n };\r\n SummaryFormController.prototype.valueOfQuestion = function (params, qCode, sCode, sIndex, pIndex, pageId) {\r\n var self = this;\r\n return self.validationService.val(params, self.$scope.responses, qCode, sCode, sIndex, pIndex, pageId);\r\n };\r\n SummaryFormController.prototype.questionContains = function (params, qCode, qValue, sCode, sIndex, pIndex, pageId) {\r\n var self = this;\r\n return self.validationService.questionContains(params, self.$scope.responses, qCode, qValue, sCode, sIndex, pIndex, pageId);\r\n };\r\n SummaryFormController.$inject = ['$scope', '$http', '$controller', 'DataServices', 'UtilityServices', 'ValidationService', '$routeParams', '$filter', '$rootScope', 'Constants', '$q'];\r\n return SummaryFormController;\r\n }());\r\n formApp.SummaryFormController = SummaryFormController;\r\n angular.module('formApp').controller('summaryFormController', SummaryFormController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=summaryFormController.js.map","var formApp;\r\n(function (formApp) {\r\n var TeamFormController = (function () {\r\n function TeamFormController($scope, $rootScope, $controller, $location, $q, dataServices, utilityServices, constants) {\r\n this.$scope = $scope;\r\n this.$rootScope = $rootScope;\r\n this.$controller = $controller;\r\n this.$location = $location;\r\n this.$q = $q;\r\n this.dataServices = dataServices;\r\n this.utilityServices = utilityServices;\r\n this.constants = constants;\r\n var self = this;\r\n $controller('questionController', { $scope: $scope });\r\n dataServices.getConfigurationUsingCache($scope.template, $scope.versionNumber, $scope.optionSetHash)\r\n .then(function (data) {\r\n $scope.setupTriggersAndDynamicValues();\r\n $scope.setSummaryErrorFocus();\r\n document.title = $scope.utility.getPageTitle($scope.navTabNum, $scope.pageUrl);\r\n });\r\n $scope.cancelForm = function () {\r\n self.cancelForm();\r\n };\r\n $scope.cancelFormChanges = function (nextPageUrl) {\r\n self.cancelFormChanges(nextPageUrl);\r\n };\r\n $scope.saveTeam = function () {\r\n self.saveTeam();\r\n };\r\n $scope.saveNewSectionItem = function (pIndex, sIndex, sCode) {\r\n self.saveNewSectionItem(pIndex, sIndex, sCode);\r\n };\r\n $scope.getApiLookUpValues = function (keyword, lookUpQuestionCode) {\r\n return self.getApiLookUpValues(keyword, lookUpQuestionCode);\r\n };\r\n $scope.getUserActiveStatus = function (userId) {\r\n return self.getUserActiveStatus(userId);\r\n };\r\n }\r\n Object.defineProperty(TeamFormController.prototype, \"manageUrl\", {\r\n get: function () {\r\n return this.dataServices.currentManagePageUrl || this.constants.Url.manageTeams;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n TeamFormController.prototype.returnToDashboard = function () {\r\n this.$rootScope.allowFormNavigation = false;\r\n this.$location.path(this.manageUrl);\r\n };\r\n TeamFormController.prototype.cancelForm = function () {\r\n if (this.$scope.hasUnsavedChanges()) {\r\n this.cancelFormChanges(this.manageUrl);\r\n }\r\n else {\r\n this.returnToDashboard();\r\n }\r\n };\r\n TeamFormController.prototype.cancelFormChanges = function (nextPageUrl) {\r\n var self = this;\r\n self.$scope.utility.openPopup('warnUserBeforeCancel').result\r\n .then(function (data) {\r\n if (data.result === 'thirdButtonClick') {\r\n self.saveFormChanges()\r\n .then(function (result) {\r\n if (result.status === formApp.ResultStatusCode.Success) {\r\n self.$rootScope.allowFormNavigation = false;\r\n self.$location.path(nextPageUrl);\r\n }\r\n }, function () { });\r\n }\r\n else {\r\n self.$rootScope.allowFormNavigation = false;\r\n self.$scope.clearDirty();\r\n self.$location.path(nextPageUrl);\r\n }\r\n })\r\n .catch(function () {\r\n });\r\n };\r\n TeamFormController.prototype.saveTeam = function () {\r\n var self = this;\r\n self.saveFormChanges()\r\n .then(function (saveResult) {\r\n if (saveResult.status === formApp.ResultStatusCode.Success) {\r\n self.returnToDashboard();\r\n }\r\n }, function () { });\r\n };\r\n TeamFormController.prototype.saveFormChanges = function () {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, null, null, null, 'inline') === true) {\r\n self.$scope.notifyIsSavingChanged(true);\r\n self.dataServices.saveTeam()\r\n .then(function (response) {\r\n if (response.data) {\r\n if (response.data.status === formApp.ResultStatusCode.UpdatedSinceReadTime) {\r\n self.utilityServices.openPopup('savedElsewhere', { typeDescription: 'team' });\r\n }\r\n else if (response.data.status === formApp.ResultStatusCode.DuplicateRow) {\r\n self.utilityServices.openPopup('duplicateTeam');\r\n }\r\n else if (response.data.status === formApp.ResultStatusCode.Success) {\r\n self.$scope.clearDirty();\r\n self.dataServices.originalResponse = angular.copy(self.$scope.responses);\r\n self.dataServices.trackEventsWithGA('Save action in ' + self.$scope.pageUrl, 'Click Save Team', 'Successfully Saved Team');\r\n }\r\n else {\r\n self.$scope.utility.openPopup('errorSave', formApp.ErrorInfo.fromCustomError('Save Team', '', response.data.status));\r\n }\r\n deferred.resolve(response.data);\r\n }\r\n else {\r\n self.utilityServices.openPopup('errorSave', formApp.ErrorInfo.fromCustomError('Save Team', 'Failed to return data'));\r\n deferred.reject('No response from save');\r\n }\r\n })\r\n .catch(function (reason) {\r\n self.utilityServices.openPopup('errorSave', formApp.ErrorInfo.fromHttpResponse(reason));\r\n deferred.reject('Error during save');\r\n })\r\n .finally(function () {\r\n self.$scope.notifyIsSavingChanged(false);\r\n });\r\n }\r\n else {\r\n self.$scope.alertFirstError();\r\n deferred.reject('Unable to save, validation errors');\r\n }\r\n return deferred.promise;\r\n };\r\n TeamFormController.prototype.saveNewSectionItem = function (pIndex, sIndex, sCode) {\r\n var self = this;\r\n if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, pIndex, sCode, sIndex)) {\r\n var selectedUserIds = self.getSelectedUserIds();\r\n var newUserId = self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex].username.code;\r\n if (selectedUserIds.indexOf(newUserId) === -1) {\r\n self.$scope.setSectionItemState(pIndex, sIndex, sCode, self.constants.RepeatingItemState.viewing);\r\n self.$scope.shadowResponse[pIndex][sCode][sIndex] = angular.copy(self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex]);\r\n self.$scope.utility.focus('sectionAddNewButton-' + pIndex + '-' + sCode);\r\n }\r\n else {\r\n self.utilityServices.openPopup('duplicateTeamMember');\r\n }\r\n }\r\n else {\r\n self.$scope.alertFirstError();\r\n }\r\n };\r\n TeamFormController.prototype.getApiLookUpValues = function (keyword, lookUpQuestionCode) {\r\n var self = this;\r\n var requestData = {\r\n organisationId: self.dataServices.userProfile.selectedOrganisationId,\r\n searchTerm: keyword\r\n };\r\n return self.dataServices.getLookupList(requestData, formApp.ApiLookupType.User)\r\n .then(function (response) {\r\n return self.filterApiLookupResult(lookUpQuestionCode, response.lookupList);\r\n });\r\n };\r\n TeamFormController.prototype.filterApiLookupResult = function (lookUpQuestionCode, options) {\r\n var selectedUserIds = this.getSelectedUserIds();\r\n return _.filter(options, function (option) {\r\n return selectedUserIds.indexOf(option.code) === -1;\r\n });\r\n };\r\n TeamFormController.prototype.getUserActiveStatus = function (userId) {\r\n var status = this.constants.activeStatus.active;\r\n if (this.dataServices.responseInfo.inactiveUserIds &&\r\n this.dataServices.responseInfo.inactiveUserIds.indexOf(parseInt(userId)) > -1) {\r\n status = this.constants.activeStatus.inactive;\r\n }\r\n return status;\r\n };\r\n TeamFormController.prototype.getSelectedUserIds = function () {\r\n var self = this;\r\n var teamMembers = self.utilityServices.getSectionResponse(self.$scope.responses, '1-1', 0, 'teammembers');\r\n return _.filter(teamMembers, function (member) {\r\n return member.$state === self.constants.RepeatingItemState.viewing;\r\n }).map(function (member) { return member.username.code; });\r\n };\r\n TeamFormController.$inject = [\r\n '$scope',\r\n '$rootScope',\r\n '$controller',\r\n '$location',\r\n '$q',\r\n 'DataServices',\r\n 'UtilityServices',\r\n 'Constants'\r\n ];\r\n return TeamFormController;\r\n }());\r\n formApp.TeamFormController = TeamFormController;\r\n angular.module('formApp').controller('teamFormController', TeamFormController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=teamFormController.js.map","var formApp;\r\n(function (formApp) {\r\n var UserFormController = (function () {\r\n function UserFormController($scope, $controller, dataServices, $location, $rootScope, $q, constants, utilityServices, validationService) {\r\n var _this = this;\r\n this.$scope = $scope;\r\n this.$controller = $controller;\r\n this.dataServices = dataServices;\r\n this.$location = $location;\r\n this.$rootScope = $rootScope;\r\n this.$q = $q;\r\n this.constants = constants;\r\n this.utilityServices = utilityServices;\r\n this.validationService = validationService;\r\n this.isDelegationReadOnly = function () {\r\n var self = _this;\r\n var originalDelegationLookUp = self.validationService.valueOfQuestion(null, self.dataServices.originalResponse, 'delegationLookUp', 'delegationdetails', 0, 0, self.$scope.pageId);\r\n var originalDelegationStartDate = self.validationService.valueOfQuestion(null, self.dataServices.originalResponse, 'startDate', 'delegationdetails', 0, 0, self.$scope.pageId);\r\n var newDelegationLookUp = self.validationService.valueOfQuestion(null, self.$scope.responses, 'delegationLookUp', 'delegationdetails', 0, 0, self.$scope.pageId);\r\n var newDelegationStartDate = self.validationService.valueOfQuestion(null, self.$scope.responses, 'startDate', 'delegationdetails', 0, 0, self.$scope.pageId);\r\n if (self.hasCurrentDelegation() && newDelegationLookUp && newDelegationStartDate &&\r\n originalDelegationLookUp.code === newDelegationLookUp.code &&\r\n originalDelegationStartDate === newDelegationStartDate) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n this.getValidationDelegationStartDate = function () {\r\n var self = _this;\r\n var validationDate = self.utilityServices.getSystemDate(self.constants.responseDateFormat);\r\n if (self.isDelegationReadOnly()) {\r\n var startDate = self.validationService.valueOfQuestion(null, self.dataServices.originalResponse, 'startDate', 'delegationdetails', 0, 0, self.$scope.pageId);\r\n validationDate = self.utilityServices.addDaysToDate(startDate, -1);\r\n }\r\n return validationDate;\r\n };\r\n this.hasCurrentDelegation = function () {\r\n var self = _this;\r\n var originalDelegationLookUp = self.validationService.valueOfQuestion(null, self.dataServices.originalResponse, 'delegationLookUp', 'delegationdetails', 0, 0, self.$scope.pageId);\r\n var originalDelegationStartDate = self.validationService.valueOfQuestion(null, self.dataServices.originalResponse, 'startDate', 'delegationdetails', 0, 0, self.$scope.pageId);\r\n if (originalDelegationLookUp && originalDelegationStartDate &&\r\n self.$scope.dateDifferenceInDays(moment(self.$scope.utility.getSystemDate(), 'YYYY-MM-DD', true), moment(originalDelegationStartDate, 'YYYY-MM-DD', true)) >= 0) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n var self = this;\r\n $controller('questionController', { $scope: $scope });\r\n if (self.dataServices.isValidResponse(self.dataServices.originalResponse) === false) {\r\n self.dataServices.originalResponse = angular.copy($scope.responses);\r\n }\r\n dataServices.getConfigurationUsingCache($scope.template, $scope.versionNumber, $scope.optionSetHash)\r\n .then(function (data) {\r\n $scope.setupTriggersAndDynamicValues();\r\n $scope.setSummaryErrorFocus();\r\n document.title = $scope.utility.getPageTitle($scope.navTabNum, $scope.pageUrl);\r\n });\r\n $scope.role = self.dataServices.responseInfo.role;\r\n $scope.configData = self.dataServices.configData;\r\n $scope.username = self.dataServices.responseInfo.userName;\r\n $scope.linkSourceUsers = self.dataServices.responseInfo.linkSourceUsers;\r\n $scope.delegationSourceUsers = self.dataServices.responseInfo.delegationSourceUsers;\r\n $scope.userTeams = self.dataServices.responseInfo.userTeams;\r\n $scope.allRoleMap = self.createRoleMap(self.dataServices.responseInfo.allRoles);\r\n $scope.getAccessCount = function () {\r\n return self.getAccessCount();\r\n };\r\n $scope.addAccessItem = function () {\r\n self.addAccessItem();\r\n };\r\n $scope.saveNewSectionItem = function (pIndex, sIndex, sCode) {\r\n self.saveNewSectionItem(pIndex, sIndex, sCode);\r\n };\r\n $scope.saveExistingSectionItem = function (pIndex, sIndex, sCode) {\r\n self.saveExistingSectionItem(pIndex, sIndex, sCode);\r\n };\r\n $scope.cancelForm = function () {\r\n self.cancelForm();\r\n };\r\n $scope.cancelFormChanges = function (nextPageUrl) {\r\n self.cancelFormChanges(nextPageUrl);\r\n };\r\n $scope.saveUser = function () {\r\n self.saveUser();\r\n };\r\n $scope.returnToDashboard = function () {\r\n $rootScope.allowFormNavigation = false;\r\n $location.path(self.manageUrl);\r\n };\r\n $scope.getApiLookUpValues = function (keyword, lookUpQuestionCode) {\r\n return self.getApiLookUpValues(keyword, lookUpQuestionCode);\r\n };\r\n $scope.getUserActiveStatus = function (userId) {\r\n return self.getUserActiveStatus(userId);\r\n };\r\n $scope.getActiveStatusDisplay = function (user) {\r\n return self.getActiveStatusDisplay(user);\r\n };\r\n $scope.hasLinkSourceUsers = function () {\r\n return $scope.linkSourceUsers != null && $scope.linkSourceUsers.length > 0;\r\n };\r\n $scope.canLinkToUser = function () {\r\n return true;\r\n };\r\n $scope.hasDelegationSourceUsers = function () {\r\n return $scope.delegationSourceUsers != null && $scope.delegationSourceUsers.length > 0;\r\n };\r\n $scope.canDelegateToUser = function () {\r\n return true;\r\n };\r\n $scope.isDelegationReadOnly = function () {\r\n return self.isDelegationReadOnly();\r\n };\r\n $scope.getValidationDelegationStartDate = function () {\r\n return self.getValidationDelegationStartDate();\r\n };\r\n $scope.hasTeamMembership = function () {\r\n return $scope.userTeams != null && $scope.userTeams.length > 0;\r\n };\r\n $scope.getTeamActiveStatusDisplay = function (team) {\r\n return self.getTeamActiveStatusDisplay(team);\r\n };\r\n $scope.getLineManagerDisplay = function (lineMgrOption) {\r\n return self.getLineManagerDisplay(lineMgrOption);\r\n };\r\n $scope.isRoleReadOnly = function () {\r\n return self.dataServices.userProfile.userId === self.dataServices.responseInfo.userId;\r\n };\r\n }\r\n Object.defineProperty(UserFormController.prototype, \"manageUrl\", {\r\n get: function () {\r\n return this.dataServices.currentManagePageUrl || this.constants.Url.manageUsers;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n UserFormController.prototype.createRoleMap = function (roles) {\r\n var map = {};\r\n if (roles && roles.length) {\r\n for (var i = 0; i < roles.length; i++) {\r\n var role = roles[i];\r\n map[role.id] = role;\r\n }\r\n }\r\n return map;\r\n };\r\n UserFormController.prototype.getAccessCount = function () {\r\n var self = this;\r\n var count = 0;\r\n if (self.$scope.responses[self.$scope.pageId] && self.$scope.responses[self.$scope.pageId][0][self.constants.accessSectionCode]) {\r\n count = self.$scope.responses[self.$scope.pageId][0][self.constants.accessSectionCode].length;\r\n }\r\n return count;\r\n };\r\n UserFormController.prototype.addAccessItem = function () {\r\n var self = this;\r\n if (self.getAccessCount() == 0) {\r\n self.$scope.addSectionItem(0, self.constants.accessSectionCode, true);\r\n }\r\n };\r\n UserFormController.prototype.saveSectionItem = function (pIndex, sIndex, sCode, editHtmlId) {\r\n var self = this;\r\n if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, pIndex, sCode, sIndex, 'inline')) {\r\n self.checkSectionItemsUnique(self.$scope.pageId, pIndex, sIndex, sCode)\r\n .then(function (isUnique) {\r\n if (isUnique) {\r\n self.$scope.setSectionItemState(pIndex, sIndex, sCode, self.constants.RepeatingItemState.viewing);\r\n self.$scope.shadowResponse[pIndex][sCode][sIndex] = angular.copy(self.$scope.responses[self.$scope.pageId][pIndex][sCode][sIndex]);\r\n self.$scope.utility.focus(editHtmlId);\r\n }\r\n });\r\n }\r\n else {\r\n self.$scope.alertFirstError();\r\n }\r\n };\r\n UserFormController.prototype.checkSectionItemsUnique = function (pageId, pIndex, sIndex, sCode) {\r\n var self = this;\r\n if (sCode === 'maintainmanagers') {\r\n return self.checkDuplicateManager(pageId, pIndex, sIndex, sCode);\r\n }\r\n else {\r\n var deferred = self.$q.defer();\r\n deferred.resolve(true);\r\n return deferred.promise;\r\n }\r\n };\r\n UserFormController.prototype.saveNewSectionItem = function (pIndex, sIndex, sCode) {\r\n var self = this;\r\n self.saveSectionItem(pIndex, sIndex, sCode, \"sectionAddNewButton-\" + pIndex + \"-\" + sCode);\r\n };\r\n UserFormController.prototype.saveExistingSectionItem = function (pIndex, sIndex, sCode) {\r\n var self = this;\r\n self.saveSectionItem(pIndex, sIndex, sCode, \"sectionEdit-\" + pIndex + \"-\" + sCode + \"-\" + sIndex);\r\n };\r\n UserFormController.prototype.checkDuplicateManager = function (pageId, pIndex, sIndex, sCode) {\r\n var self = this;\r\n return self.$scope.handleDuplicateSectionItems(pageId, pIndex, sIndex, sCode, function (s1, s2) { return s1 && s2 && s1.managerLookUp && s2.managerLookUp\r\n && s1.managerLookUp.code && s2.managerLookUp.code\r\n && s1.managerLookUp.code.toString() === s2.managerLookUp.code.toString(); }, 'duplicateManager');\r\n };\r\n UserFormController.prototype.cancelForm = function () {\r\n var self = this;\r\n if (self.$scope.hasUnsavedChanges()) {\r\n self.dataServices.userAction = self.constants.userActions.cancel;\r\n self.cancelFormChanges(self.manageUrl);\r\n }\r\n else {\r\n self.$scope.returnToDashboard();\r\n }\r\n };\r\n UserFormController.prototype.cancelFormChanges = function (nextPageUrl) {\r\n var self = this;\r\n self.$scope.utility.openPopup('warnUserBeforeCancelRegisteredUser').result\r\n .then(function (data) {\r\n if (data.result === 'thirdButtonClick') {\r\n self.saveFormChanges()\r\n .then(function (saveUserFormData) {\r\n if (saveUserFormData.success) {\r\n self.$rootScope.allowFormNavigation = false;\r\n self.$location.path(nextPageUrl);\r\n }\r\n }, function () { });\r\n }\r\n else {\r\n self.$rootScope.allowFormNavigation = false;\r\n self.$scope.clearDirty();\r\n self.$location.path(nextPageUrl);\r\n }\r\n })\r\n .catch(function () {\r\n });\r\n };\r\n UserFormController.prototype.saveFormChanges = function () {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n var saveUserFormData = { success: false, fullName: null };\r\n if (!self.$scope.checkSectionItemsAreSaved(self.constants.accessSectionCode)) {\r\n deferred.resolve(saveUserFormData);\r\n }\r\n else if (self.$scope.validatePage(self.$scope.navTabNum, self.$scope.pageUrl, null, null, null, 'inline') == true) {\r\n self.$scope.utility.showPageLoader(self.constants.pageLoaderFallBackTimeoutInMillisecondsExtended);\r\n self.dataServices.saveUser()\r\n .then(function (response) {\r\n if (response.data) {\r\n if (response.data.status == formApp.SaveUserResultCode.NoHsNetIdFound) {\r\n self.$scope.utility.openPopup('NoHSNetIdFound');\r\n }\r\n else if (response.data.status == formApp.SaveUserResultCode.UserUpdatedSinceReadTime) {\r\n self.$scope.utility.openPopup('savedUserElsewhere');\r\n }\r\n else if (response.data.status == formApp.SaveUserResultCode.DuplicateExternalId) {\r\n self.$scope.utility.openPopup('duplicateUser');\r\n }\r\n else if (response.data.status == formApp.SaveUserResultCode.InvalidRole) {\r\n self.$scope.utility.openPopup('invalidRole');\r\n }\r\n else if (response.data.status == formApp.SaveUserResultCode.Success) {\r\n self.dataServices.responseInfo.userId = response.data.user.id;\r\n self.$scope.clearDirty();\r\n self.dataServices.originalResponse = angular.copy(self.$scope.responses);\r\n saveUserFormData.success = true;\r\n saveUserFormData.fullName = response.data.user.firstname + \" \" + response.data.user.lastname;\r\n self.dataServices.trackEventsWithGA('Save action in ' + self.$scope.pageUrl, 'Click Save User', 'Successfully Saved User');\r\n }\r\n else {\r\n self.$scope.utility.openPopup('errorSave', formApp.ErrorInfo.fromCustomError('Save User', '', response.data.status));\r\n }\r\n deferred.resolve(saveUserFormData);\r\n }\r\n else {\r\n self.utilityServices.openPopup('errorSave', formApp.ErrorInfo.fromCustomError('Save User', 'Failed to return data'));\r\n deferred.reject('No response from save');\r\n }\r\n })\r\n .catch(function (reason) {\r\n self.dataServices.trackEventsWithGA('Error occured during Save in ' + self.$scope.pageUrl, 'Click Save User', 'Failed to Save User');\r\n self.utilityServices.openPopup('errorSave', formApp.ErrorInfo.fromHttpResponse(reason));\r\n deferred.reject('Error during save');\r\n })\r\n .finally(function () {\r\n self.$scope.utility.hidePageLoader();\r\n });\r\n }\r\n else {\r\n self.$scope.alertFirstError();\r\n deferred.reject('Unable to save, validation errors');\r\n }\r\n return deferred.promise;\r\n };\r\n UserFormController.prototype.saveUser = function () {\r\n var self = this;\r\n self.saveFormChanges()\r\n .then(function (saveUserFormData) {\r\n if (saveUserFormData.success) {\r\n self.$scope.returnToDashboard();\r\n }\r\n }, function () { });\r\n };\r\n UserFormController.prototype.getApiLookUpValues = function (keyword, lookUpQuestionCode) {\r\n var self = this;\r\n var requestData = {\r\n organisationId: self.dataServices.userProfile.selectedOrganisationId,\r\n searchTerm: keyword,\r\n userId: self.dataServices.responseInfo.userId\r\n };\r\n var lookUpType;\r\n switch (lookUpQuestionCode) {\r\n case 'managerLookUp':\r\n lookUpType = formApp.ApiLookupType.Manager;\r\n break;\r\n case 'linkAccountLookUp':\r\n lookUpType = formApp.ApiLookupType.Link;\r\n break;\r\n case 'delegationLookUp':\r\n lookUpType = formApp.ApiLookupType.Delegation;\r\n break;\r\n default:\r\n console.log('Unexpected type. Couldn\\'t load the list of users.');\r\n }\r\n if (angular.isDefined(lookUpType)) {\r\n return self.dataServices.getLookupList(requestData, lookUpType)\r\n .then(function (response) { return response.lookupList; });\r\n }\r\n };\r\n UserFormController.prototype.getUserActiveStatus = function (userId) {\r\n var self = this;\r\n var status = self.constants.activeStatus.active;\r\n if (self.dataServices.responseInfo.inactiveUserIds &&\r\n self.dataServices.responseInfo.inactiveUserIds.indexOf(parseInt(userId)) > -1) {\r\n status = self.constants.activeStatus.inactive;\r\n }\r\n return status;\r\n };\r\n UserFormController.prototype.getActiveStatusDisplay = function (user) {\r\n var self = this;\r\n return user.isActive ?\r\n self.constants.activeStatus.active :\r\n self.constants.activeStatus.inactive;\r\n };\r\n UserFormController.prototype.getTeamActiveStatusDisplay = function (team) {\r\n var self = this;\r\n return team.isActive ?\r\n self.constants.activeStatus.active :\r\n self.constants.activeStatus.inactive;\r\n };\r\n UserFormController.prototype.getLineManagerDisplay = function (lineMgrOption) {\r\n var self = this;\r\n var lineMgr = _.find(self.dataServices.responseInfo.lineManagersLatestInfo, function (item) { return item.code === lineMgrOption.code; }) || lineMgrOption;\r\n return lineMgr.text + \", (\" + lineMgr.tags + \")\";\r\n };\r\n UserFormController.$inject = [\r\n '$scope',\r\n '$controller',\r\n 'DataServices',\r\n '$location',\r\n '$rootScope',\r\n '$q',\r\n 'Constants',\r\n 'UtilityServices',\r\n 'ValidationService'\r\n ];\r\n return UserFormController;\r\n }());\r\n formApp.UserFormController = UserFormController;\r\n angular.module('formApp').controller('userFormController', UserFormController);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=userFormController.js.map","var formApp;\r\n(function (formApp) {\r\n var DataServices = (function () {\r\n function DataServices($http, $q, constants, adalAuthenticationService) {\r\n var _this = this;\r\n this.$http = $http;\r\n this.$q = $q;\r\n this.constants = constants;\r\n this.adalAuthenticationService = adalAuthenticationService;\r\n this.canSaveCase = false;\r\n this.saveCaseDeferred = null;\r\n this.pageShadowResponse = [];\r\n this.shadowResponse = [];\r\n this.validatedPages = [];\r\n this.userProfile = new formApp.UserProfileDto();\r\n this.adhocId = null;\r\n this.isFormEditable = true;\r\n this.miFilters = null;\r\n this.mfFilters = null;\r\n this.mseFilters = null;\r\n this.maFilters = null;\r\n this.muFilters = null;\r\n this.mtFilters = null;\r\n this.mnFilters = null;\r\n this.moFilters = null;\r\n this.mahFilters = null;\r\n this.activeEntityType = formApp.AuditEntity.Unknown;\r\n this.responseInfo = new formApp.ResponseInfo();\r\n this.caseResponseInfo = new formApp.CaseResponseInfo();\r\n this.configData = null;\r\n this.validationErrors = [];\r\n this.formConfigurationConfigCache = {};\r\n this.userProfileCache = {};\r\n this.isAdhocSubmissionUser = null;\r\n this.isSavingCase = false;\r\n this.urlForApiLookUp = {\r\n 1: this.constants.Url.getUserLookupListURL,\r\n 2: this.constants.Url.getCloUserLookupListURL,\r\n 3: this.constants.Url.getManagerLookupListURL,\r\n 4: this.constants.Url.getLinkUserLookupListURL,\r\n 5: this.constants.Url.getDelegationUserLookupListURL,\r\n 6: this.constants.Url.getAuthorisingOfficerLookupListURL,\r\n 7: this.constants.Url.getAuditUserLookupListURL,\r\n 8: this.constants.Url.getMedicationGenericLookupListURL,\r\n 9: this.constants.Url.getMedicationMedicationBrandLookupListURL,\r\n 10: this.constants.Url.getUserLookupListForSentinelEventsURL\r\n };\r\n this.urlForApiSelect = {\r\n 1: this.constants.Url.getUserLineManagerSelectListURL,\r\n 2: this.constants.Url.getMedicationGenericSelectListURL,\r\n 3: this.constants.Url.getMedicationBrandSelectListURL,\r\n 4: this.constants.Url.getMedicationClassSelectListURL\r\n };\r\n this.severityMapping = {\r\n isr: null,\r\n csr: null\r\n };\r\n this.getUserLoginDetails = function () {\r\n var self = _this;\r\n return new formApp.UserLoginInfo(self.userName(), self.userFullName(), self.userGivenName(), self.userFamilyName(), self.getDateTime(), self.getTokenExpiry(), self.isAuthenticated().toString(), self.loginError(), self.ipAddress());\r\n };\r\n var self = this;\r\n self.layoutConfig = new formApp.LayoutConfig(constants, formApp.win.__env.layoutVersion);\r\n self.saveCaseDeferred = self.$q.defer();\r\n }\r\n DataServices.prototype.login = function () {\r\n var self = this;\r\n self.adalAuthenticationService.login();\r\n };\r\n DataServices.prototype.logout = function () {\r\n var self = this;\r\n self.adalAuthenticationService.logOut();\r\n };\r\n DataServices.prototype.isAuthenticated = function () {\r\n var self = this;\r\n return !!self.adalAuthenticationService.userInfo && self.adalAuthenticationService.userInfo.isAuthenticated;\r\n };\r\n DataServices.prototype.userFullName = function () {\r\n var self = this;\r\n return self.adalAuthenticationService.userInfo &&\r\n self.adalAuthenticationService.userInfo.profile &&\r\n self.adalAuthenticationService.userInfo.profile.name;\r\n };\r\n DataServices.prototype.userInitials = function () {\r\n var self = this;\r\n return self.adalAuthenticationService.userInfo &&\r\n self.adalAuthenticationService.userInfo.profile &&\r\n self.adalAuthenticationService.userInfo.profile.given_name &&\r\n self.adalAuthenticationService.userInfo.profile.family_name &&\r\n (self.adalAuthenticationService.userInfo.profile.given_name[0] + self.adalAuthenticationService.userInfo.profile.family_name[0]);\r\n };\r\n DataServices.prototype.userGivenName = function () {\r\n var self = this;\r\n return self.adalAuthenticationService.userInfo &&\r\n self.adalAuthenticationService.userInfo.profile &&\r\n self.adalAuthenticationService.userInfo.profile.given_name;\r\n };\r\n DataServices.prototype.userFamilyName = function () {\r\n var self = this;\r\n return self.adalAuthenticationService.userInfo &&\r\n self.adalAuthenticationService.userInfo.profile &&\r\n self.adalAuthenticationService.userInfo.profile.family_name;\r\n };\r\n DataServices.prototype.userName = function () {\r\n var self = this;\r\n return self.adalAuthenticationService.userInfo &&\r\n self.adalAuthenticationService.userInfo.userName;\r\n };\r\n DataServices.prototype.loginError = function () {\r\n var self = this;\r\n return self.adalAuthenticationService.userInfo &&\r\n self.adalAuthenticationService.userInfo.loginError;\r\n };\r\n DataServices.prototype.ipAddress = function () {\r\n var self = this;\r\n return self.adalAuthenticationService.userInfo &&\r\n self.adalAuthenticationService.userInfo.profile.ipaddr;\r\n };\r\n DataServices.prototype.getTokenExpiry = function () {\r\n var self = this;\r\n return self.adalAuthenticationService.userInfo &&\r\n self.adalAuthenticationService.userInfo.profile &&\r\n self.getDateTime(self.adalAuthenticationService.userInfo.profile.exp);\r\n };\r\n DataServices.prototype.trackPageVisitWithGA = function (pageName) {\r\n (function (i, s, o, g, r, a, m) {\r\n i['GoogleAnalyticsObject'] = r;\r\n i[r] = i[r] || function () {\r\n (i[r].q = i[r].q || []).push(arguments);\r\n }, i[r].l = 1 * +new Date();\r\n a = s.createElement(o),\r\n m = s.getElementsByTagName(o)[0];\r\n a.async = 1;\r\n a.src = g;\r\n m.parentNode.insertBefore(a, m);\r\n })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');\r\n formApp.win.ga('WOVGprofileNumber.send', 'pageview', (formApp.win.dept + '/' + formApp.win.site + document.location.pathname + document.location.search).toLowerCase());\r\n formApp.win.ga('DEPTprofileNumber.send', 'pageview', (formApp.win.site + document.location.pathname + document.location.search).toLowerCase());\r\n formApp.win.ga('SITEprofileNumber.send', 'pageview', (document.location.pathname + document.location.search + document.location.hash).toLowerCase());\r\n };\r\n DataServices.prototype.trackEventsWithGA = function (category, action, label) {\r\n formApp.win.ga('SITEprofileNumber.send', 'event', {\r\n eventCategory: category,\r\n eventAction: action,\r\n eventLabel: label\r\n });\r\n };\r\n DataServices.prototype.getConfiguration = function (template, versionNumber, id, stage, status) {\r\n var self = this;\r\n if (!stage) {\r\n stage = 0;\r\n }\r\n if (!status) {\r\n status = 0;\r\n }\r\n if (self.isAuthenticated()) {\r\n var requestData = {\r\n template: template,\r\n versionNumber: versionNumber,\r\n id: id,\r\n stage: stage,\r\n status: status\r\n };\r\n return self.vhimsHttp(self.constants.Url.getConfigDataURL, requestData);\r\n }\r\n else {\r\n console.log('User is not authenticated - Cannot get configuration');\r\n return self.$q.reject();\r\n }\r\n };\r\n DataServices.prototype.getConfigurationUsingCacheAndOptionSet = function (template, versionNumber, optionSet, forceReload, id, stage, status) {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n var optionSetHash = self.hashCode(optionSet);\r\n if (forceReload) {\r\n self.removeFromConfigurationCache(template, versionNumber, optionSetHash);\r\n }\r\n var config = self.getCachedConfigData(template, versionNumber, optionSetHash);\r\n if (config) {\r\n deferred.resolve(config);\r\n }\r\n else {\r\n self.getConfiguration(template, versionNumber, id, stage, status)\r\n .then(function (response) {\r\n self.pushConfigData(template, versionNumber, optionSetHash, response.data);\r\n var config = self.getCachedConfigData(template, versionNumber, optionSetHash);\r\n if (optionSet) {\r\n config.configData.optionSets = JSON.parse(optionSet);\r\n }\r\n deferred.resolve(config);\r\n }, function (data) {\r\n deferred.reject(data);\r\n });\r\n }\r\n return deferred.promise;\r\n };\r\n DataServices.prototype.getConfigurationUsingCache = function (template, versionNumber, optionSetHash, forceReload, id, stage, status) {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n if (forceReload) {\r\n self.removeFromConfigurationCache(template, versionNumber, optionSetHash);\r\n }\r\n var config = self.getCachedConfigData(template, versionNumber, optionSetHash);\r\n if (config && config.role != null) {\r\n deferred.resolve(config);\r\n }\r\n else {\r\n self.getConfiguration(template, versionNumber, id, stage, status)\r\n .then(function (response) {\r\n self.pushConfigData(template, versionNumber, optionSetHash, response.data);\r\n var config = self.getCachedConfigData(template, versionNumber, optionSetHash);\r\n deferred.resolve(config);\r\n }, function (data) {\r\n deferred.reject(data);\r\n });\r\n }\r\n return deferred.promise;\r\n };\r\n DataServices.prototype.getCachedConfigData = function (template, versionNumber, optionSetHash) {\r\n var self = this;\r\n var configsByTemplateId = self.formConfigurationConfigCache[template];\r\n if (configsByTemplateId) {\r\n var version = versionNumber || -1;\r\n var configsByTemplateVersion = configsByTemplateId[version];\r\n if (configsByTemplateVersion) {\r\n var hash = optionSetHash || -1;\r\n var config = configsByTemplateVersion[hash];\r\n if (config) {\r\n self.configData = config.configData;\r\n self.responseInfo.template = config.template;\r\n self.responseInfo.versionNumber = config.versionNumber;\r\n self.responseInfo.optionSetHash = optionSetHash;\r\n self.responseInfo.role = config.role;\r\n return config;\r\n }\r\n }\r\n }\r\n return null;\r\n };\r\n DataServices.prototype.pushConfigData = function (template, versionNumber, optionSetHash, formConfig) {\r\n var self = this;\r\n self.configData = formConfig.configData;\r\n self.responseInfo.template = template;\r\n self.responseInfo.versionNumber = formConfig.versionNumber;\r\n self.responseInfo.optionSetHash = optionSetHash;\r\n self.responseInfo.role = formConfig.role;\r\n if (!angular.isDefined(self.formConfigurationConfigCache[template])) {\r\n self.formConfigurationConfigCache[template] = {};\r\n }\r\n var version = versionNumber || -1;\r\n if (!angular.isDefined(self.formConfigurationConfigCache[template][version])) {\r\n self.formConfigurationConfigCache[template][version] = {};\r\n }\r\n var hash = optionSetHash || -1;\r\n self.formConfigurationConfigCache[template][version][hash] = {\r\n configData: formConfig.configData,\r\n template: template,\r\n versionNumber: formConfig.versionNumber,\r\n optionSetHash: optionSetHash,\r\n role: formConfig.role\r\n };\r\n if (version === -1) {\r\n if (!angular.isDefined(self.formConfigurationConfigCache[template][formConfig.versionNumber])) {\r\n self.formConfigurationConfigCache[template][formConfig.versionNumber] = {};\r\n }\r\n self.formConfigurationConfigCache[template][formConfig.versionNumber][hash] = angular.copy(self.formConfigurationConfigCache[template][version][hash]);\r\n }\r\n };\r\n DataServices.prototype.removeFromConfigurationCache = function (template, versionNumber, optionSetHash) {\r\n var self = this;\r\n if (angular.isDefined(self.formConfigurationConfigCache[template])) {\r\n if (versionNumber && optionSetHash) {\r\n delete self.formConfigurationConfigCache[template][versionNumber][optionSetHash];\r\n }\r\n else if (versionNumber) {\r\n delete self.formConfigurationConfigCache[template][versionNumber];\r\n }\r\n else {\r\n delete self.formConfigurationConfigCache[template];\r\n }\r\n }\r\n };\r\n DataServices.prototype.hashCode = function (s) {\r\n var hash = 0;\r\n var length = (s || '').length;\r\n var i = 0;\r\n while (i < length) {\r\n hash = (hash << 5) - hash + s.charCodeAt(i++) | 0;\r\n }\r\n return hash;\r\n };\r\n DataServices.prototype.getUserProfileData = function () {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getUserProfileDataURL, null);\r\n };\r\n DataServices.prototype.getUserProfileDataUsingCache = function () {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n var userProfile = self.getUserProfileDataFromCache();\r\n if (userProfile) {\r\n deferred.resolve(userProfile);\r\n }\r\n else {\r\n self.getUserProfileData()\r\n .then(function (response) {\r\n userProfile = response.data;\r\n self.pushUserProfileDataToCache(userProfile);\r\n deferred.resolve(userProfile);\r\n }, function (data) {\r\n deferred.reject(data);\r\n });\r\n }\r\n return deferred.promise;\r\n };\r\n DataServices.prototype.getUserProfileDataFromCache = function () {\r\n var self = this;\r\n var userName = self.userName();\r\n var userProfile = userName && self.userProfileCache[userName];\r\n return userProfile ? userProfile : null;\r\n };\r\n DataServices.prototype.updateUserProfileData = function () {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n self.vhimsHttp(self.constants.Url.getUserProfileByOrgIdURL(self.userProfile.selectedOrganisationId), null)\r\n .then(function (response) {\r\n self.pushUserProfileDataToCache(response.data);\r\n self.userProfile.initialise(response.data);\r\n deferred.resolve(response.data);\r\n }, function (data) {\r\n deferred.reject(data);\r\n });\r\n return deferred.promise;\r\n };\r\n DataServices.prototype.getSelectedUserProfileData = function (organisationId) {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n self.vhimsHttp(self.constants.Url.getUserProfileByOrgIdURL(organisationId), null)\r\n .then(function (response) {\r\n self.pushUserProfileDataToCache(response.data);\r\n self.userProfile.initialise(response.data);\r\n deferred.resolve(response.data);\r\n }, function (data) {\r\n deferred.reject(data);\r\n });\r\n return deferred.promise;\r\n };\r\n DataServices.prototype.pushUserProfileDataToCache = function (userProfile) {\r\n var self = this;\r\n var userName = self.userName();\r\n if (userName) {\r\n self.userProfileCache[userName] = userProfile;\r\n }\r\n };\r\n DataServices.prototype.getIsrMapping = function () {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getIsrMappingURL, null);\r\n };\r\n DataServices.prototype.getIsrMappingUsingCache = function () {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n var isrMapping = self.getIsrMappingFromCache();\r\n if (isrMapping) {\r\n deferred.resolve(isrMapping);\r\n }\r\n else {\r\n self.getIsrMapping()\r\n .then(function (response) {\r\n self.pushIsrMappingToCache(response.data);\r\n var isrMapping = self.getIsrMappingFromCache();\r\n deferred.resolve(isrMapping);\r\n }, function (data) {\r\n deferred.reject(data);\r\n });\r\n }\r\n return deferred.promise;\r\n };\r\n DataServices.prototype.getIsrMappingFromCache = function () {\r\n var self = this;\r\n var isrMapping = self.severityMapping[self.constants.isrCacheKey];\r\n if (isrMapping) {\r\n return self.severityMapping[self.constants.isrCacheKey];\r\n }\r\n return null;\r\n };\r\n DataServices.prototype.pushIsrMappingToCache = function (isrMapping) {\r\n var self = this;\r\n self.severityMapping[self.constants.isrCacheKey] = isrMapping;\r\n };\r\n DataServices.prototype.getCsrMapping = function () {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getCsrMappingURL, null);\r\n };\r\n DataServices.prototype.getCsrMappingUsingCache = function () {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n var csrMapping = self.getCsrMappingFromCache();\r\n if (csrMapping) {\r\n deferred.resolve(csrMapping);\r\n }\r\n else {\r\n self.getCsrMapping()\r\n .then(function (response) {\r\n self.pushCsrMappingToCache(response.data);\r\n var csrMapping = self.getCsrMappingFromCache();\r\n deferred.resolve(csrMapping);\r\n }, function (data) {\r\n deferred.reject(data);\r\n });\r\n }\r\n return deferred.promise;\r\n };\r\n DataServices.prototype.getCsrMappingFromCache = function () {\r\n var self = this;\r\n var csrMapping = self.severityMapping[self.constants.csrCacheKey];\r\n if (csrMapping) {\r\n return self.severityMapping[self.constants.csrCacheKey];\r\n }\r\n return null;\r\n };\r\n DataServices.prototype.pushCsrMappingToCache = function (csrMapping) {\r\n var self = this;\r\n self.severityMapping[self.constants.csrCacheKey] = csrMapping;\r\n };\r\n DataServices.prototype.getDraftCaseIdIfExists = function (organisationId) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getDraftCaseIdIfExistsURL(organisationId), null);\r\n };\r\n DataServices.prototype.deactivateCase = function () {\r\n var self = this;\r\n var requestData = {\r\n caseId: self.responseInfo.caseIdByOrganisation[self.userProfile.selectedOrganisationId],\r\n Status: formApp.CaseStatus.Cancelled\r\n };\r\n return self.vhimsHttp(self.constants.Url.getChangeCaseStatusURL, requestData);\r\n };\r\n DataServices.prototype.getUsers = function (requestData) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getUsersURL, requestData).then(function (response) { return response.data; });\r\n };\r\n DataServices.prototype.getLookupList = function (requestData, lookupType) {\r\n var self = this;\r\n return self.vhimsHttp(self.urlForApiLookUp[lookupType], requestData).then(function (response) { return response.data; });\r\n };\r\n DataServices.prototype.getUserSubordinates = function (userId) {\r\n var self = this;\r\n var requestData = { userId: userId };\r\n return self.vhimsHttp(self.constants.Url.getUserSubordinatesURL, requestData).then(function (response) { return response.data; });\r\n };\r\n DataServices.prototype.getApiSelectOptionList = function (requestData, apiSelectType) {\r\n var self = this;\r\n return self.vhimsHttp(self.urlForApiSelect[apiSelectType], requestData).then(function (response) { return response.data.lookupList; });\r\n };\r\n DataServices.prototype.getSelectOptionList = function (requestData, apiSelectType) {\r\n var self = this;\r\n return self.vhimsHttp(self.urlForApiSelect[apiSelectType], requestData).then(function (response) { return response.data.lookupList; });\r\n };\r\n DataServices.prototype.getUserRoles = function () {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getUserRoles, null);\r\n };\r\n DataServices.prototype.getUserResponseAndConfigById = function () {\r\n var self = this;\r\n var requestData = {\r\n id: self.responseInfo.userId,\r\n includeInactive: true\r\n };\r\n return self.vhimsHttp(self.constants.Url.getUserResponseAndConfigByIdUrl, requestData);\r\n };\r\n DataServices.prototype.getUserDeactivationDetails = function (userId, isActive) {\r\n var self = this;\r\n var requestData = {\r\n userId: userId,\r\n isActive: isActive\r\n };\r\n return self.vhimsHttp(self.constants.Url.getUserDeactivationDetailsURL, requestData).then(function (response) { return response.data; });\r\n };\r\n DataServices.prototype.toggleUserActivation = function (userId, isActive) {\r\n var self = this;\r\n var requestData = {\r\n userId: userId,\r\n isActive: isActive\r\n };\r\n return self.vhimsHttp(self.constants.Url.getToggleUserActivationURL, requestData);\r\n };\r\n DataServices.prototype.checkUserFullName = function (userId) {\r\n var self = this;\r\n var requestData = {\r\n userId: userId\r\n };\r\n return self.vhimsHttp(self.constants.Url.getCheckUserFullNameURL, requestData);\r\n };\r\n DataServices.prototype.saveUser = function () {\r\n var self = this;\r\n var url = '';\r\n if (!self.responseInfo.userId) {\r\n url = self.constants.Url.getCreateUserURL;\r\n }\r\n else {\r\n url = self.constants.Url.getUpdateUserURL;\r\n }\r\n var requestData = {\r\n response: angular.toJson(self.responseInfo.responses),\r\n template: self.responseInfo.template,\r\n templateVersion: self.responseInfo.versionNumber,\r\n expectedLastUpdateTime: self.responseInfo.lastUpdatedTime,\r\n id: self.responseInfo.userId,\r\n includeInactive: true\r\n };\r\n return self.vhimsHttp(url, requestData);\r\n };\r\n DataServices.prototype.getIncidents = function (requestData) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getIncidentsURL, requestData).then(function (response) { return response.data; });\r\n };\r\n DataServices.prototype.getSentinelEvents = function (requestData) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getSentinelEventsURL, requestData).then(function (response) { return response.data; });\r\n };\r\n DataServices.prototype.getSentinelEventExtract = function (requestData) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getSentinelEventExtractURL, requestData, 'arraybuffer');\r\n };\r\n DataServices.prototype.getSentinelEventById = function (sentinelEventId) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getSentinelEventByIdURL(sentinelEventId), null).then(function (response) { return response.data; });\r\n };\r\n DataServices.prototype.removeSentinelEvent = function (sentinelEventId, isActive) {\r\n var self = this;\r\n var requestData = {\r\n sentinelEventId: sentinelEventId,\r\n isActive: isActive\r\n };\r\n return self.vhimsHttp(self.constants.Url.getRemoveSentinelEventURL, requestData);\r\n };\r\n DataServices.prototype.getIncidentExtract = function (requestData) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getIncidentExtractURL, requestData, 'arraybuffer');\r\n };\r\n DataServices.prototype.getIncidentById = function (incidentId) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getIncidentByIdURL(incidentId), null).then(function (response) { return response.data; });\r\n };\r\n DataServices.prototype.removeRestoreIncident = function (incidentId, isActive) {\r\n var self = this;\r\n var requestData = {\r\n incidentId: incidentId,\r\n isActive: isActive\r\n };\r\n return self.vhimsHttp(self.constants.Url.getRemoveRestoreIncidentURL, requestData);\r\n };\r\n DataServices.prototype.cloneIncident = function (incidentId, clonedIncidentPersonTypeId) {\r\n var self = this;\r\n var requestData = {\r\n incidentId: incidentId,\r\n clonedIncidentPersonTypeId: clonedIncidentPersonTypeId\r\n };\r\n return self.vhimsHttp(self.constants.Url.getCloneIncidentURL, requestData).then(function (response) { return response.data; });\r\n };\r\n DataServices.prototype.saveIncident = function (incidentType, personTypeId, saveOperation) {\r\n var self = this;\r\n var response = self.removeHistoryFromResponse();\r\n var requestData = {\r\n id: self.responseInfo.incidentId,\r\n response: angular.toJson(response),\r\n templateVersion: self.responseInfo.versionNumber,\r\n expectedLastUpdateTime: self.responseInfo.lastUpdatedTime,\r\n template: self.responseInfo.template,\r\n incidentType: incidentType,\r\n personTypeId: personTypeId,\r\n saveOperation: saveOperation\r\n };\r\n return self.vhimsHttp(self.constants.Url.getSaveIncidentURL, requestData)\r\n .then(function (response) {\r\n if (response && response.data && response.data.id) {\r\n self.responseInfo.incidentId = response.data.id;\r\n self.responseInfo.incidentRef = response.data.ref;\r\n self.responseInfo.lastUpdatedTime = response.data.allocatedLastUpdatedTime;\r\n self.responseInfo.statusText = response.data.incidentStatusText;\r\n }\r\n return response;\r\n });\r\n };\r\n DataServices.prototype.getCaseById = function (caseId) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getCaseByIdURL(caseId), null).then(function (response) { return response.data; });\r\n };\r\n DataServices.prototype.saveCase = function () {\r\n var self = this;\r\n if (self.canSaveCase === true && self.isSavingCase === false && self.isValidResponse(self.responseInfo.responses)) {\r\n self.saveCaseDeferred = self.$q.defer();\r\n self.isSavingCase = true;\r\n var requestData = {\r\n id: self.responseInfo.caseIdByOrganisation[self.userProfile.selectedOrganisationId],\r\n response: angular.toJson(self.responseInfo.responses),\r\n templateVersion: self.responseInfo.versionNumber,\r\n expectedLastUpdateTime: self.responseInfo.lastUpdatedTime,\r\n template: self.responseInfo.template,\r\n organisationId: self.userProfile.selectedOrganisationId\r\n };\r\n self.vhimsHttp(self.constants.Url.getSaveCaseURL, requestData)\r\n .then(function (response) {\r\n if (response && response.data && response.data.id) {\r\n self.responseInfo.incidentId = response.data.id;\r\n self.responseInfo.caseIdByOrganisation[self.userProfile.selectedOrganisationId] = response.data.id;\r\n self.responseInfo.lastUpdatedTime = response.data.allocatedLastUpdatedTime;\r\n }\r\n self.saveCaseDeferred.resolve(response);\r\n }, function (response) {\r\n self.saveCaseDeferred.reject(response);\r\n })\r\n .finally(function () {\r\n self.isSavingCase = false;\r\n });\r\n }\r\n return self.saveCaseDeferred.promise;\r\n };\r\n DataServices.prototype.submitCase = function () {\r\n var self = this;\r\n var requestData = {\r\n id: self.responseInfo.caseIdByOrganisation[self.userProfile.selectedOrganisationId],\r\n response: angular.toJson(self.responseInfo.responses),\r\n templateVersion: self.responseInfo.versionNumber,\r\n expectedLastUpdateTime: self.responseInfo.lastUpdatedTime,\r\n template: self.responseInfo.template,\r\n organisationId: self.userProfile.selectedOrganisationId\r\n };\r\n self.canSaveCase = false;\r\n return self.vhimsHttp(self.constants.Url.getSubmitCaseURL, requestData).then(function (response) {\r\n if (response && response.data && response.data.id) {\r\n self.responseInfo.incidentId = response.data.id;\r\n self.responseInfo.lastUpdatedTime = response.data.allocatedLastUpdatedTime;\r\n self.responseInfo.createdIncidents = response.data.createdIncidents;\r\n self.responseInfo.notifyUsers = response.data.notifyUsers;\r\n }\r\n return response;\r\n });\r\n };\r\n DataServices.prototype.getIncidentDocument = function (documentId) {\r\n var self = this;\r\n var requestData = {\r\n documentId: documentId\r\n };\r\n return self.vhimsHttp(self.constants.Url.getGetIncidentDocumentURL, requestData, 'arraybuffer');\r\n };\r\n DataServices.prototype.deleteIncidentDocument = function (documentId) {\r\n var self = this;\r\n var requestData = {\r\n documentId: documentId\r\n };\r\n return self.vhimsHttp(self.constants.Url.getDeleteIncidentDocumentURL, requestData);\r\n };\r\n DataServices.prototype.getIncidentFullDataExtract = function (requestData) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getGetIncidentFullDataExtractURL, requestData, 'arraybuffer');\r\n };\r\n DataServices.prototype.getFeedbackDocument = function (documentId) {\r\n var self = this;\r\n var requestData = {\r\n documentId: documentId\r\n };\r\n return self.vhimsHttp(self.constants.Url.getGetFeedbackDocumentURL, requestData, 'arraybuffer');\r\n };\r\n DataServices.prototype.deleteFeedbackDocument = function (documentId) {\r\n var self = this;\r\n var requestData = {\r\n documentId: documentId\r\n };\r\n return self.vhimsHttp(self.constants.Url.getDeleteFeedbackDocumentURL, requestData);\r\n };\r\n DataServices.prototype.getFeedbackFullDataExtract = function (requestData) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getGetFeedbackFullDataExtractURL, requestData, 'arraybuffer');\r\n };\r\n DataServices.prototype.getSentinelEventDocument = function (documentId) {\r\n var self = this;\r\n var requestData = {\r\n documentId: documentId\r\n };\r\n return self.vhimsHttp(self.constants.Url.getGetSentinelEventDocumentURL, requestData, 'arraybuffer');\r\n };\r\n DataServices.prototype.deleteSentinelEventDocument = function (documentId) {\r\n var self = this;\r\n var requestData = {\r\n documentId: documentId\r\n };\r\n return self.vhimsHttp(self.constants.Url.getDeleteSentinelEventDocumentURL, requestData);\r\n };\r\n DataServices.prototype.getIncidentPdf = function (incidentId) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getIncidentPdfURL(incidentId), null, 'arraybuffer');\r\n };\r\n DataServices.prototype.getFeedbackPdf = function (feedbackId) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getFeedbackPdfURL(feedbackId), null, 'arraybuffer');\r\n };\r\n DataServices.prototype.getSentinelEventExecSummaryPdf = function (sentinelEventId, role) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getSentinelEventExecSummaryPdfURL(sentinelEventId, role), null, 'arraybuffer');\r\n };\r\n DataServices.prototype.getSentinelEventPdf = function (sentinelEventId, role, pdfchoice) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getSentinelEventPdfURL(sentinelEventId, role, pdfchoice), null, 'arraybuffer');\r\n };\r\n DataServices.prototype.getSentinelEventQAPdf = function (requestData) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getSentinelEventQAPdfURL, requestData, 'arraybuffer');\r\n };\r\n DataServices.prototype.resetResponseInfo = function () {\r\n var self = this;\r\n self.responseInfo.reset();\r\n self.caseResponseInfo.reset();\r\n };\r\n DataServices.prototype.determineValidatedPages = function (response) {\r\n var responseJsonObj = angular.fromJson(response);\r\n var validatedPages = [];\r\n for (var key in responseJsonObj) {\r\n validatedPages.push(key);\r\n }\r\n return validatedPages;\r\n };\r\n DataServices.prototype.getFeedbacks = function (requestData) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getFeedbacksURL, requestData).then(function (feedbackResponse) { return feedbackResponse.data; });\r\n };\r\n DataServices.prototype.getFeedbackExtract = function (requestData) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getFeedbackExtractURL, requestData, 'arraybuffer');\r\n };\r\n DataServices.prototype.getActions = function (requestData) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getActionsURL, requestData).then(function (actionResponse) { return actionResponse.data; });\r\n };\r\n DataServices.prototype.getActionExtract = function (requestData) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getActionExtractURL, requestData, 'arraybuffer');\r\n };\r\n DataServices.prototype.isValidResponse = function (response) {\r\n var isValid = false;\r\n var propCount = 0;\r\n if (response && typeof response === 'object') {\r\n for (var prop in response) {\r\n if (response.hasOwnProperty(prop))\r\n propCount++;\r\n }\r\n isValid = propCount >= 1;\r\n }\r\n return isValid;\r\n };\r\n DataServices.prototype.getFeedbackById = function (feedbackId) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getFeedbackByIdURL(feedbackId), null).then(function (feedbackResponse) { return feedbackResponse.data; });\r\n };\r\n DataServices.prototype.removeRestoreFeedback = function (feedbackId, isActive) {\r\n var self = this;\r\n var requestData = {\r\n feedbackId: feedbackId,\r\n isActive: isActive\r\n };\r\n return self.vhimsHttp(self.constants.Url.getRemoveRestoreFeedbackURL, requestData);\r\n };\r\n DataServices.prototype.saveFeedback = function (saveOperation) {\r\n var self = this;\r\n var response = self.removeHistoryFromResponse();\r\n var requestData = {\r\n id: self.responseInfo.feedbackId,\r\n response: angular.toJson(response),\r\n templateVersion: self.responseInfo.versionNumber,\r\n expectedLastUpdateTime: self.responseInfo.lastUpdatedTime,\r\n template: self.responseInfo.template,\r\n organisationId: self.userProfile.selectedOrganisationId,\r\n saveOperation: saveOperation\r\n };\r\n return self.vhimsHttp(self.constants.Url.getSaveFeedbackURL, requestData)\r\n .then(function (response) {\r\n if (response && response.data && response.data.id) {\r\n self.responseInfo.feedbackId = response.data.id;\r\n self.responseInfo.feedbackRef = response.data.ref;\r\n self.responseInfo.lastUpdatedTime = response.data.allocatedLastUpdatedTime;\r\n self.responseInfo.statusText = response.data.feedbackStatusText;\r\n }\r\n return response;\r\n });\r\n };\r\n DataServices.prototype.getDueDate = function (serviceBecameAwareOfIncidentDate) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getDueDateURL(serviceBecameAwareOfIncidentDate, 3), null).then(function (response) { return response.data; });\r\n };\r\n DataServices.prototype.saveSentinelEvent = function (saveOperation, notificationCommentResult, dueDate) {\r\n var self = this;\r\n var response = self.removeHistoryFromResponse();\r\n var requestData = {\r\n id: self.responseInfo.sentinelEventId,\r\n response: angular.toJson(response),\r\n templateVersion: self.responseInfo.versionNumber,\r\n expectedLastUpdateTime: self.responseInfo.lastUpdatedTime,\r\n template: self.responseInfo.template,\r\n organisationId: self.userProfile.selectedOrganisationId,\r\n saveOperation: saveOperation,\r\n dueDate: dueDate,\r\n commentNotificationChoice: notificationCommentResult !== null ? notificationCommentResult.notificationChoice : null,\r\n commentHSNotificationType: notificationCommentResult !== null ? notificationCommentResult.notificationHSType : null,\r\n commentNotificationType: notificationCommentResult !== null ? notificationCommentResult.notificationType : null,\r\n commentHSNotificationChoice: notificationCommentResult !== null ? notificationCommentResult.notificationHSChoice : null,\r\n commentAddedBy: notificationCommentResult !== null ? notificationCommentResult.notificationCommentAddedBy : null\r\n };\r\n return self.vhimsHttp(self.constants.Url.getSaveSentinelEventURL, requestData)\r\n .then(function (response) {\r\n if (response && response.data && response.data.id) {\r\n self.responseInfo.sentinelEventId = response.data.id;\r\n self.responseInfo.sentinelEventRef = response.data.ref;\r\n self.responseInfo.lastUpdatedTime = response.data.allocatedLastUpdatedTime;\r\n self.responseInfo.statusText = response.data.sentinelEventStatusText;\r\n }\r\n return response;\r\n });\r\n };\r\n DataServices.prototype.getAuditHistory = function (request) {\r\n var self = this;\r\n request.auditEntity = self.activeEntityType;\r\n switch (self.activeEntityType) {\r\n case formApp.AuditEntity.Feedback:\r\n request.id = self.responseInfo.feedbackId;\r\n break;\r\n case formApp.AuditEntity.Incident:\r\n request.id = self.responseInfo.incidentId;\r\n break;\r\n case formApp.AuditEntity.SentinelEvent:\r\n request.id = self.responseInfo.sentinelEventId;\r\n break;\r\n default:\r\n request.id = null;\r\n }\r\n if (request.id) {\r\n return self.vhimsHttp(self.constants.Url.getAuditHistoryURL, request).then(function (response) { return response.data; });\r\n }\r\n else {\r\n return self.$q.resolve(null);\r\n }\r\n };\r\n DataServices.prototype.saveReadUnreadIncidents = function (isReadMap) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getSaveReadUnreadIncidentsURL, isReadMap).then(function (response) { return response.data; });\r\n };\r\n DataServices.prototype.saveReadUnreadFeedbacks = function (isReadMap) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getSaveReadUnreadFeedbacksURL, isReadMap).then(function (response) { return response.data; });\r\n };\r\n DataServices.prototype.saveReadUnreadActions = function (isReadMap) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getSaveReadUnreadActionsURL, isReadMap).then(function (response) { return response.data; });\r\n };\r\n DataServices.prototype.getReport = function (request) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getReportURL, request).then(function (response) { return response.data; });\r\n };\r\n DataServices.prototype.getPatient = function (request) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getPatientURL, request).then(function (response) { return response.data; });\r\n };\r\n DataServices.prototype.setCurrentModule = function (module) {\r\n var self = this;\r\n self.layoutConfig.module = module;\r\n var activeNavigationItem = self.layoutConfig.activeNavigationItem;\r\n for (var i = 0; i < self.layoutConfig.navigationItems.length; i++) {\r\n if (self.layoutConfig.navigationItems[i].isActive(module)) {\r\n activeNavigationItem = self.layoutConfig.navigationItems[i];\r\n }\r\n }\r\n self.layoutConfig.activeNavigationItem = activeNavigationItem;\r\n };\r\n DataServices.prototype.formatUrl = function (url) {\r\n return url + '?cacheBreaker=' + (new Date()).getTime();\r\n };\r\n DataServices.prototype.removeHistoryFromResponse = function () {\r\n var self = this;\r\n var responses = null;\r\n if (self.responseInfo.responses) {\r\n for (var pageId in self.responseInfo.responses) {\r\n if (self.responseInfo.responses[pageId][0] !== undefined &&\r\n self.responseInfo.responses[pageId][0]['history'] !== undefined) {\r\n responses = angular.copy(self.responseInfo.responses);\r\n delete responses[pageId];\r\n break;\r\n }\r\n }\r\n }\r\n return responses === null ? self.responseInfo.responses : responses;\r\n };\r\n DataServices.prototype.transferSubordinates = function (request) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getTransferSubordinatesURL, request).then(function (response) { return response.data; });\r\n };\r\n DataServices.prototype.getTeamById = function (teamId) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getTeamByIdURL(teamId), null);\r\n };\r\n DataServices.prototype.getTeams = function (requestData) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getTeamsURL, requestData).then(function (response) { return response.data; });\r\n };\r\n DataServices.prototype.toggleTeamActivation = function (teamId, isActive) {\r\n var self = this;\r\n var requestData = {\r\n teamId: teamId,\r\n isActive: isActive\r\n };\r\n return self.vhimsHttp(self.constants.Url.getToggleTeamActivationURL, requestData);\r\n };\r\n DataServices.prototype.saveTeam = function () {\r\n var self = this;\r\n var requestData = {\r\n id: self.responseInfo.teamId,\r\n response: angular.toJson(self.responseInfo.responses),\r\n expectedLastUpdateTime: self.responseInfo.lastUpdatedTime,\r\n template: self.responseInfo.template,\r\n templateVersion: self.responseInfo.versionNumber\r\n };\r\n return self.vhimsHttp(self.constants.Url.getSaveTeamURL, requestData);\r\n };\r\n DataServices.prototype.getNotificationById = function (notificationId, isFeedbackNotification) {\r\n var self = this;\r\n if (isFeedbackNotification) {\r\n return self.vhimsHttp(self.constants.Url.getFeedbackNotificationByIdURL(notificationId), null);\r\n }\r\n return self.vhimsHttp(self.constants.Url.getNotificationByIdURL(notificationId), null);\r\n };\r\n DataServices.prototype.getNotifications = function (requestData) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getNotificationsURL, requestData).then(function (response) { return response.data; });\r\n };\r\n DataServices.prototype.toggleNotificationActivation = function (notificationId, isFeedbackNotification, isActive) {\r\n var self = this;\r\n var requestData = {\r\n teamAccessId: notificationId,\r\n isActive: isActive\r\n };\r\n if (isFeedbackNotification) {\r\n return self.vhimsHttp(self.constants.Url.getToggleFeedbackNotificationActivationURL, requestData);\r\n }\r\n return self.vhimsHttp(self.constants.Url.getToggleNotificationActivationURL, requestData);\r\n };\r\n DataServices.prototype.saveNotification = function () {\r\n var self = this;\r\n var requestData = {\r\n id: self.responseInfo.notificationId,\r\n response: angular.toJson(self.responseInfo.responses),\r\n expectedLastUpdateTime: self.responseInfo.lastUpdatedTime,\r\n template: self.responseInfo.template,\r\n templateVersion: self.responseInfo.versionNumber\r\n };\r\n return self.vhimsHttp(self.constants.Url.getSaveNotificationURL, requestData);\r\n };\r\n DataServices.prototype.saveFeedbackNotification = function () {\r\n var self = this;\r\n var requestData = {\r\n id: self.responseInfo.notificationId,\r\n response: angular.toJson(self.responseInfo.responses),\r\n expectedLastUpdateTime: self.responseInfo.lastUpdatedTime,\r\n template: self.responseInfo.template,\r\n templateVersion: self.responseInfo.versionNumber\r\n };\r\n return self.vhimsHttp(self.constants.Url.getSaveFeedbackNotificationURL, requestData);\r\n };\r\n DataServices.prototype.getOrganisationById = function (organisationId) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getOrganisationByIdURL(organisationId), null);\r\n };\r\n DataServices.prototype.getOrganisations = function (requestData) {\r\n var self = this;\r\n return self.vhimsHttp(self.constants.Url.getOrganisationsURL, requestData).then(function (response) { return response.data; });\r\n };\r\n DataServices.prototype.saveOrganisation = function () {\r\n var self = this;\r\n var requestData = {\r\n id: self.responseInfo.organisationId,\r\n response: angular.toJson(self.responseInfo.responses),\r\n expectedLastUpdateTime: self.responseInfo.lastUpdatedTime,\r\n template: self.responseInfo.template,\r\n templateVersion: self.responseInfo.versionNumber\r\n };\r\n return self.vhimsHttp(self.constants.Url.getSaveOrganisationURL, requestData);\r\n };\r\n DataServices.prototype.formatHttpHeaders = function (headers) {\r\n var self = this;\r\n headers['Organisation-Guid'] = self.userProfile.selectedOrganisationGuid;\r\n return headers;\r\n };\r\n DataServices.prototype.getDateTime = function (unixTime) {\r\n var t = unixTime ? new Date(unixTime * 1000) : new Date();\r\n var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n var year = t.getFullYear();\r\n var month = months[t.getMonth()];\r\n var date = t.getDate();\r\n var hour = t.getHours();\r\n var min = '0' + t.getMinutes();\r\n var sec = '0' + t.getSeconds();\r\n return date + ' ' + month + ' ' + year + ' - ' + hour + ':' + min.slice(-2) + ':' + sec.slice(-2);\r\n };\r\n DataServices.prototype.vhimsHttp = function (link, data, responseType) {\r\n if (responseType === void 0) { responseType = null; }\r\n var self = this;\r\n var config = {\r\n method: 'POST',\r\n url: self.formatUrl(link),\r\n data: angular.toJson(data),\r\n headers: self.formatHttpHeaders({ 'Content-Type': 'application/json' })\r\n };\r\n if (responseType) {\r\n config.responseType = responseType;\r\n }\r\n return self.$http(config);\r\n };\r\n DataServices.$inject = ['$http', '$q', 'Constants', 'adalAuthenticationService'];\r\n return DataServices;\r\n }());\r\n formApp.DataServices = DataServices;\r\n angular.module('formApp').factory('DataServices', [\r\n '$http', '$q', 'Constants', 'adalAuthenticationService',\r\n function ($http, $q, constants, adalAuthenticationService) { return new DataServices($http, $q, constants, adalAuthenticationService); }\r\n ]);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=dataService.js.map","var formApp;\r\n(function (formApp) {\r\n var FullDataExtractService = (function () {\r\n function FullDataExtractService(constants, dataServices, utilityServices) {\r\n this.constants = constants;\r\n this.dataServices = dataServices;\r\n this.utilityServices = utilityServices;\r\n var self = this;\r\n }\r\n FullDataExtractService.prototype.downloadIncidentFullDataExtract = function () {\r\n var self = this;\r\n self.downloadFullDataExtract('Incident', function (request) { return self.dataServices.getIncidentFullDataExtract(request); }, 'errorDownloadIncidentFullDataExtract');\r\n };\r\n FullDataExtractService.prototype.downloadFeedbackFullDataExtract = function () {\r\n var self = this;\r\n self.downloadFullDataExtract('Feedback', function (request) { return self.dataServices.getFeedbackFullDataExtract(request); }, 'errorDownloadFeedbackFullDataExtract');\r\n };\r\n FullDataExtractService.prototype.downloadFullDataExtract = function (entityType, getFullDataExtract, errorPopupCode) {\r\n var self = this;\r\n var fileName = \"VHIMS-\" + entityType + \"-Extract.zip\";\r\n var operationName = \"Download \" + entityType + \" Extract\";\r\n var request = {\r\n organisationId: self.dataServices.userProfile.selectedOrganisationId\r\n };\r\n self.utilityServices.showPageLoader(self.constants.pageLoaderFallBackTimeoutInMillisecondsExtended);\r\n getFullDataExtract(request)\r\n .then(function (response) {\r\n var data = response && response.data;\r\n try {\r\n var file = new formApp.win.Blob([data], { type: 'application/zip' }, { name: fileName });\r\n formApp.win.saveAs(file, fileName);\r\n }\r\n catch (e) {\r\n self.utilityServices.openPopup(errorPopupCode, formApp.ErrorInfo.fromCustomError(operationName, e));\r\n }\r\n }, function (error) {\r\n self.utilityServices.openPopup(errorPopupCode, formApp.ErrorInfo.fromHttpResponse(error, true));\r\n })\r\n .finally(function () {\r\n self.utilityServices.hidePageLoader();\r\n });\r\n };\r\n ;\r\n FullDataExtractService.$inject = [\r\n 'Constants',\r\n 'DataServices',\r\n 'UtilityServices'\r\n ];\r\n return FullDataExtractService;\r\n }());\r\n formApp.FullDataExtractService = FullDataExtractService;\r\n angular.module('formApp').factory('FullDataExtractService', [\r\n 'Constants',\r\n 'DataServices',\r\n 'UtilityServices',\r\n function (constants, dataServices, utilityServices) { return new FullDataExtractService(constants, dataServices, utilityServices); }\r\n ]);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=fullDataExtractService.js.map","var formApp;\r\n(function (formApp) {\r\n var Patient = (function () {\r\n function Patient(questionSet, questionScope, dataServices, utilityServices) {\r\n this.questionSet = questionSet;\r\n this.questionScope = questionScope;\r\n this.dataServices = dataServices;\r\n this.utilityServices = utilityServices;\r\n var self = this;\r\n self.organisationQuestionValue = dataServices.userProfile.selectedOrganisationId.toString();\r\n self.apiEnabledCampusIds = self\r\n .getDependentOptionSetFromConfiguration(questionSet.campusOptionSetName, questionSet.organisationQuestionCode, self.organisationQuestionValue)\r\n .filter(function (campus) { return campus.tags === 'true'; })\r\n .map(function (campus) { return parseInt(campus.code); });\r\n self.isAnyCampusApiEnabled = self.apiEnabledCampusIds.length > 0;\r\n self.trySearchPatientWithDebounce = _.debounce(function (params) {\r\n self.trySearchPatient(params);\r\n self.questionScope.$apply();\r\n }, 750);\r\n }\r\n Patient.prototype.onChangePatientCampus = function (params) {\r\n var self = this;\r\n self.addPageIdToQuestionParams(params);\r\n if (self.isSelectedCampusApiEnabled(params)) {\r\n self.trySearchPatient(params);\r\n }\r\n else {\r\n self.clearPatientDetails(params);\r\n }\r\n };\r\n Patient.prototype.onChangePatientUrNumber = function (params) {\r\n var self = this;\r\n self.addPageIdToQuestionParams(params);\r\n if (self.isSelectedCampusApiEnabled(params)) {\r\n self.trySearchPatientWithDebounce(params);\r\n }\r\n };\r\n Patient.prototype.onChangePatientNotFound = function (params) {\r\n var self = this;\r\n self.addPageIdToQuestionParams(params);\r\n self.setOrganisationQuestionValue(params);\r\n if (self.isPatientSearchSelected(params)) {\r\n self.clearPatientDetails(params);\r\n }\r\n };\r\n Patient.prototype.arePatientDetailsReadOnly = function (params) {\r\n var self = this;\r\n self.addPageIdToQuestionParams(params);\r\n return self.isPatientSearchAvailable(params) && self.isPatientSearchSelected(params);\r\n };\r\n Patient.prototype.displayPatientOrganisation = function (params) {\r\n var self = this;\r\n self.addPageIdToQuestionParams(params);\r\n var display = self.displayOrganisationAndCampus(params);\r\n if (display && !self.getSelectedOrganisationId(params)) {\r\n self.setOrganisationQuestionValue(params);\r\n }\r\n return display;\r\n };\r\n Patient.prototype.displayPatientCampus = function (params) {\r\n var self = this;\r\n self.addPageIdToQuestionParams(params);\r\n return self.displayOrganisationAndCampus(params);\r\n };\r\n Patient.prototype.displayPatientNotFound = function (params) {\r\n var self = this;\r\n self.addPageIdToQuestionParams(params);\r\n return self.isPatientSearchAvailable(params);\r\n };\r\n Patient.prototype.setOrganisationQuestion = function (params) {\r\n var self = this;\r\n self.addPageIdToQuestionParams(params);\r\n if (self.displayOrganisationAndCampus(params)) {\r\n self.setOrganisationQuestionValue(params);\r\n }\r\n };\r\n Patient.prototype.trySearchPatient = function (params) {\r\n var self = this;\r\n var selectedCampusId = self.getSelectedCampusId(params);\r\n var selectedUrNumber = self.getSelectedUrNumber(params);\r\n if (selectedCampusId && selectedUrNumber) {\r\n self.searchPatientDetails(params, selectedCampusId, selectedUrNumber);\r\n }\r\n else {\r\n self.clearPatientDetails(params);\r\n }\r\n };\r\n Patient.prototype.searchPatientDetails = function (params, campusId, urNumber) {\r\n var self = this;\r\n var patientRequest = {\r\n campusId: campusId,\r\n patientUrNumber: urNumber\r\n };\r\n self.utilityServices.showPageLoader();\r\n self.dataServices.getPatient(patientRequest)\r\n .then(function (patientResponse) {\r\n self.processPatientDetailsSearchResult(params, patientResponse);\r\n })\r\n .catch(function (error) {\r\n self.showNotification(formApp.PatientResultCode.ServerError);\r\n })\r\n .finally(function () {\r\n self.utilityServices.hidePageLoader();\r\n });\r\n };\r\n Patient.prototype.processPatientDetailsSearchResult = function (params, patientResponse) {\r\n var self = this;\r\n switch (patientResponse.resultCode) {\r\n case formApp.PatientResultCode.Ok:\r\n self.setPatientDetails(params, patientResponse);\r\n self.hideAllNotifications();\r\n break;\r\n case formApp.PatientResultCode.CampusNotFound:\r\n case formApp.PatientResultCode.PatientNotFound:\r\n case formApp.PatientResultCode.ServerError:\r\n self.clearPatientDetails(params);\r\n self.showNotification(patientResponse.resultCode);\r\n break;\r\n }\r\n };\r\n Patient.prototype.hideAllNotifications = function () {\r\n var self = this;\r\n self.toggleNotification(false, formApp.PatientResultCode.CampusNotFound);\r\n self.toggleNotification(false, formApp.PatientResultCode.PatientNotFound);\r\n self.toggleNotification(false, formApp.PatientResultCode.ServerError);\r\n };\r\n Patient.prototype.showNotification = function (resultCode) {\r\n var self = this;\r\n self.toggleNotification(true, resultCode);\r\n };\r\n Patient.prototype.getNotificationCode = function (resultCode) {\r\n var self = this;\r\n switch (resultCode) {\r\n case formApp.PatientResultCode.CampusNotFound: return 'patientApiCampusNotFound';\r\n case formApp.PatientResultCode.PatientNotFound: return 'patientApiPatientNotFound';\r\n case formApp.PatientResultCode.ServerError: return 'patientApiServerError';\r\n }\r\n };\r\n Patient.prototype.displayOrganisationAndCampus = function (params) {\r\n var self = this;\r\n return self.isAnyCampusApiEnabled && self.isPatientSearchSelected(params);\r\n };\r\n Patient.prototype.isPatientSearchAvailable = function (params) {\r\n var self = this;\r\n return self.isAnyCampusApiEnabled && (!self.isAnyCampusSelected(params) || self.isSelectedCampusApiEnabled(params));\r\n };\r\n Patient.prototype.isPatientSearchSelected = function (params) {\r\n var self = this;\r\n return !self.getSelectedNotFound(params);\r\n };\r\n Patient.prototype.isAnyCampusSelected = function (params) {\r\n var self = this;\r\n return !!self.getSelectedCampusId(params);\r\n };\r\n Patient.prototype.isSelectedCampusApiEnabled = function (params) {\r\n var self = this;\r\n var selectedCampusId = self.getSelectedCampusId(params);\r\n return self.apiEnabledCampusIds.some(function (campusId) { return selectedCampusId === campusId; });\r\n };\r\n Patient.prototype.setOrganisationQuestionValue = function (params) {\r\n var self = this;\r\n self.setValueOfQuestion(params, self.questionSet.organisationQuestionCode, formApp.PatientQuestionSet.OrganisationQuestionType, self.organisationQuestionValue);\r\n };\r\n Patient.prototype.clearPatientDetails = function (params) {\r\n var self = this;\r\n self.clearValueOfQuestion(params, self.questionSet.firstNameQuestionCode, formApp.PatientQuestionSet.FirstNameQuestionType);\r\n self.clearValueOfQuestion(params, self.questionSet.lastNameQuestionCode, formApp.PatientQuestionSet.LastNameQuestionType);\r\n self.clearValueOfQuestion(params, self.questionSet.genderQuestionCode, formApp.PatientQuestionSet.GenderQuestionType);\r\n self.clearValueOfQuestion(params, self.questionSet.dateOfBirthQuestionCode, formApp.PatientQuestionSet.DateOfBirthQuestionType);\r\n self.clearValidationErrorsForSearchResults(params);\r\n };\r\n Patient.prototype.setPatientDetails = function (params, details) {\r\n var self = this;\r\n self.setValueOfQuestion(params, self.questionSet.firstNameQuestionCode, formApp.PatientQuestionSet.FirstNameQuestionType, details.firstName);\r\n self.setValueOfQuestion(params, self.questionSet.lastNameQuestionCode, formApp.PatientQuestionSet.LastNameQuestionType, details.lastName);\r\n self.setValueOfQuestion(params, self.questionSet.genderQuestionCode, formApp.PatientQuestionSet.GenderQuestionType, details.genderString);\r\n self.setValueOfQuestion(params, self.questionSet.dateOfBirthQuestionCode, formApp.PatientQuestionSet.DateOfBirthQuestionType, details.dateOfBirthString);\r\n self.clearValidationErrorsForSearchResults(params);\r\n };\r\n Patient.prototype.clearValidationErrorsForSearchResults = function (params) {\r\n var self = this;\r\n self.clearValidationErrors(params, self.questionSet.firstNameQuestionCode);\r\n self.clearValidationErrors(params, self.questionSet.lastNameQuestionCode);\r\n self.clearValidationErrors(params, self.questionSet.genderQuestionCode);\r\n self.clearValidationErrors(params, self.questionSet.dateOfBirthQuestionCode);\r\n };\r\n Patient.prototype.getSelectedOrganisationId = function (params) {\r\n var self = this;\r\n return parseInt(self.getValueOfQuestion(params, self.questionSet.organisationQuestionCode));\r\n };\r\n Patient.prototype.getSelectedCampusId = function (params) {\r\n var self = this;\r\n return parseInt(self.getValueOfQuestion(params, self.questionSet.campusQuestionCode));\r\n };\r\n Patient.prototype.getSelectedUrNumber = function (params) {\r\n var self = this;\r\n return (self.getValueOfQuestion(params, self.questionSet.urNumberQuestionCode) || '').trim();\r\n };\r\n Patient.prototype.getSelectedNotFound = function (params) {\r\n var self = this;\r\n return self.getValueOfQuestion(params, self.questionSet.notFoundQuestionCode);\r\n };\r\n Patient.prototype.addPageIdToQuestionParams = function (params) {\r\n var self = this;\r\n params.pageId = params.pageId || self.questionScope.pageId;\r\n };\r\n Patient.prototype.setValueOfQuestion = function (params, questionCode, questionType, newValue) {\r\n var self = this;\r\n var response = self.dataServices.responseInfo.responses[params.pageId][params.pIndex][params.sCode][params.sIndex];\r\n self.questionScope.setQuestionValueFromCodeAndType(questionCode, questionType, newValue, response);\r\n };\r\n Patient.prototype.clearValueOfQuestion = function (params, questionCode, questionType) {\r\n var self = this;\r\n self.questionScope.clearQuestionValue(params, questionCode, questionType);\r\n };\r\n Patient.prototype.getValueOfQuestion = function (params, questionCode) {\r\n var self = this;\r\n return self.questionScope.valueOfQuestion(params, questionCode);\r\n };\r\n Patient.prototype.getDependentOptionSetFromConfiguration = function (optionSetName, dependentQuestionCode, dependentQuestionValue) {\r\n var self = this;\r\n return self.utilityServices.getDependentOptionSetFromConfiguration(optionSetName, dependentQuestionCode, dependentQuestionValue) || [];\r\n };\r\n Patient.prototype.clearValidationErrors = function (params, questionCode) {\r\n var self = this;\r\n self.utilityServices.removeFromValidationErrors(null, params.pageId, params.pIndex, params.sCode, params.sIndex, questionCode);\r\n };\r\n Patient.prototype.toggleNotification = function (visible, resultCode) {\r\n var self = this;\r\n self.utilityServices.showNotification(visible, self.getNotificationCode(resultCode));\r\n };\r\n return Patient;\r\n }());\r\n formApp.Patient = Patient;\r\n var PatientService = (function () {\r\n function PatientService(dataServices, utilityServices) {\r\n this.dataServices = dataServices;\r\n this.utilityServices = utilityServices;\r\n }\r\n PatientService.prototype.createPatientInstance = function (questionSet, questionScope) {\r\n var self = this;\r\n return new Patient(questionSet, questionScope, self.dataServices, self.utilityServices);\r\n };\r\n PatientService.$inject = [\r\n 'DataServices',\r\n 'UtilityServices'\r\n ];\r\n return PatientService;\r\n }());\r\n formApp.PatientService = PatientService;\r\n angular.module('formApp').factory('PatientService', [\r\n 'DataServices',\r\n 'UtilityServices',\r\n function (dataServices, utilityServices) { return new PatientService(dataServices, utilityServices); }\r\n ]);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=patientService.js.map","var formApp;\r\n(function (formApp) {\r\n var PopupQuestionService = (function () {\r\n function PopupQuestionService(dataServices, constants) {\r\n this.dataServices = dataServices;\r\n this.constants = constants;\r\n }\r\n PopupQuestionService.prototype.getLookupType = function (questionCode) {\r\n switch (questionCode) {\r\n case 'fromManager':\r\n case 'toManager':\r\n return formApp.ApiLookupType.Manager;\r\n default:\r\n throw Error(\"No lookup type configured for question code \" + questionCode);\r\n }\r\n };\r\n PopupQuestionService.prototype.filterApiLookupResult = function (lookUpQuestionCode, options) {\r\n return options;\r\n };\r\n PopupQuestionService.prototype.getSubordinates = function (params) {\r\n var self = this;\r\n if (params.response['fromManager']) {\r\n var userId = parseInt(params.response['fromManager'].code);\r\n self.dataServices.getUserSubordinates(userId)\r\n .then(function (result) {\r\n self.dataServices.configData.optionSets['subordinates'] = result.subordinates;\r\n params.response['subordinates'] = [];\r\n });\r\n }\r\n else {\r\n self.dataServices.configData.optionSets['subordinates'] = [];\r\n params.response['subordinates'] = [];\r\n }\r\n };\r\n PopupQuestionService.prototype.toggleAllSelection = function (params) {\r\n var self = this;\r\n if (params.questionCode === 'selectAll') {\r\n if (params.response['selectAll']) {\r\n params.response['subordinates'] = self.dataServices.configData.optionSets['subordinates'].map(function (opt) { return opt.code; });\r\n }\r\n else {\r\n params.response['subordinates'] = [];\r\n }\r\n }\r\n };\r\n PopupQuestionService.$inject = [\r\n 'DataServices',\r\n 'Constants'\r\n ];\r\n return PopupQuestionService;\r\n }());\r\n formApp.PopupQuestionService = PopupQuestionService;\r\n angular.module('formApp')\r\n .factory('PopupQuestionService', ['DataServices', 'Constants',\r\n function (DataServices, Constants) {\r\n return new PopupQuestionService(DataServices, Constants);\r\n }]);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=popupQuestionService.js.map","var formApp;\r\n(function (formApp) {\r\n var ReadUnreadEntity = (function () {\r\n function ReadUnreadEntity(saveOnServer, isEnabled, getGridOptions, controllerScope, constants, utilityServices, $q, $interval) {\r\n this.saveOnServer = saveOnServer;\r\n this.isEnabled = isEnabled;\r\n this.getGridOptions = getGridOptions;\r\n this.controllerScope = controllerScope;\r\n this.constants = constants;\r\n this.utilityServices = utilityServices;\r\n this.$q = $q;\r\n this.$interval = $interval;\r\n var self = this;\r\n self.lastSaveTimeMs = self.nowMs() - constants.readUnreadEntitySaveIntervalTimeMs;\r\n self.isReadMap = {};\r\n self.isSaveInProgress = false;\r\n self.iosOrMobile = utilityServices.checkIfIOSOrMobile();\r\n var saveIntervalPromise = $interval(function () { return self.updateOnServer(false); }, constants.readUnreadEntitySaveIntervalTimeMs);\r\n controllerScope.$on('$destroy', function () { return $interval.cancel(saveIntervalPromise); });\r\n controllerScope.$on('$routeChangeStart', function () { return self.updateOnServer(true); });\r\n }\r\n ReadUnreadEntity.prototype.markAllAsRead = function () {\r\n var self = this;\r\n self.markAllAsReadUnRead('confirmMarkAllAsRead', true);\r\n };\r\n ReadUnreadEntity.prototype.markAllAsUnread = function () {\r\n var self = this;\r\n self.markAllAsReadUnRead('confirmMarkAllAsUnread', false);\r\n };\r\n ReadUnreadEntity.prototype.getReadUnreadCellAppearance = function (isRead) {\r\n var self = this;\r\n if (!self.isEnabled()) {\r\n isRead = true;\r\n }\r\n return {\r\n icon: isRead ? 'fa-folder-open' : 'fa-folder',\r\n label: isRead ? 'Mark as Unread' : 'Mark as Read',\r\n style: isRead ? '' : 'bold'\r\n };\r\n };\r\n ReadUnreadEntity.prototype.getReadUnreadCellHeader = function () {\r\n return 'V';\r\n };\r\n ReadUnreadEntity.prototype.getReadUnreadCellTemplate = function (thisInstanceName) {\r\n return '
    ' +\r\n '
    ' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '
    ' +\r\n '
    ';\r\n };\r\n ReadUnreadEntity.prototype.onReadUnreadCellClick = function (entity) {\r\n var self = this;\r\n if (!self.iosOrMobile) {\r\n self.toggleOnClient(entity);\r\n }\r\n };\r\n ReadUnreadEntity.prototype.onReadUnreadCellTouchend = function (entity) {\r\n var self = this;\r\n self.toggleOnClient(entity);\r\n };\r\n ReadUnreadEntity.prototype.updateOnClient = function (entity, isRead) {\r\n var self = this;\r\n entity.isRead = isRead;\r\n entity.readUnreadCellAppearance = self.getReadUnreadCellAppearance(isRead);\r\n self.queueUpdate(entity.id, isRead);\r\n };\r\n ReadUnreadEntity.prototype.updateOnServer = function (saveImmediately) {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n if (!saveImmediately && !self.itIsTimeToSave()) {\r\n deferred.resolve();\r\n }\r\n else if (self.isQueueEmpty()) {\r\n self.markAsSaved();\r\n deferred.resolve();\r\n }\r\n else if (!saveImmediately && self.isSaveInProgress) {\r\n deferred.resolve();\r\n }\r\n else {\r\n self.isSaveInProgress = true;\r\n self.saveOnServer(self.isReadMap)\r\n .then(function () {\r\n self.markAsSaved();\r\n deferred.resolve();\r\n })\r\n .catch(function () {\r\n deferred.reject();\r\n })\r\n .finally(function () {\r\n self.isSaveInProgress = false;\r\n });\r\n }\r\n return deferred.promise;\r\n };\r\n ReadUnreadEntity.prototype.markAllAsReadUnRead = function (confirmPopupCode, isRead) {\r\n var self = this;\r\n self.utilityServices.openPopup(confirmPopupCode).result.then(function () {\r\n var gridOptions = self.getGridOptions();\r\n var entities = (gridOptions && gridOptions.data) || [];\r\n angular.forEach(entities, function (entity) { return self.updateOnClient(entity, isRead); });\r\n }, function () { });\r\n };\r\n ReadUnreadEntity.prototype.toggleOnClient = function (entity) {\r\n var self = this;\r\n self.updateOnClient(entity, !entity.isRead);\r\n };\r\n ReadUnreadEntity.prototype.queueUpdate = function (entityId, isRead) {\r\n var self = this;\r\n self.isReadMap[entityId] = isRead;\r\n };\r\n ReadUnreadEntity.prototype.isQueueEmpty = function () {\r\n var self = this;\r\n return Object.keys(self.isReadMap).length === 0;\r\n };\r\n ReadUnreadEntity.prototype.itIsTimeToSave = function () {\r\n var self = this;\r\n return self.nowMs() - self.lastSaveTimeMs > self.constants.readUnreadEntitySaveIntervalTimeMs;\r\n };\r\n ReadUnreadEntity.prototype.markAsSaved = function () {\r\n var self = this;\r\n self.lastSaveTimeMs = self.nowMs();\r\n self.isReadMap = {};\r\n };\r\n ReadUnreadEntity.prototype.nowMs = function () {\r\n return Date.now();\r\n };\r\n return ReadUnreadEntity;\r\n }());\r\n formApp.ReadUnreadEntity = ReadUnreadEntity;\r\n var ReadUnreadEntityService = (function () {\r\n function ReadUnreadEntityService(constants, utilityServices, $q, $interval) {\r\n this.constants = constants;\r\n this.utilityServices = utilityServices;\r\n this.$q = $q;\r\n this.$interval = $interval;\r\n }\r\n ReadUnreadEntityService.prototype.createReadUnreadEntityInstance = function (saveOnServer, isEnabled, getGridOptions, controllerScope) {\r\n var self = this;\r\n return new ReadUnreadEntity(saveOnServer, isEnabled, getGridOptions, controllerScope, self.constants, self.utilityServices, self.$q, self.$interval);\r\n };\r\n ReadUnreadEntityService.$inject = [\r\n 'Constants',\r\n 'UtilityServices',\r\n '$q',\r\n '$interval'\r\n ];\r\n return ReadUnreadEntityService;\r\n }());\r\n formApp.ReadUnreadEntityService = ReadUnreadEntityService;\r\n angular.module('formApp').factory('ReadUnreadEntityService', [\r\n 'Constants',\r\n 'UtilityServices',\r\n '$q',\r\n '$interval',\r\n function (constants, utilityServices, $q, $interval) { return new ReadUnreadEntityService(constants, utilityServices, $q, $interval); }\r\n ]);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=readUnreadEntityService.js.map","var formApp;\r\n(function (formApp) {\r\n var ReportingService = (function () {\r\n function ReportingService($q, $window, $location, dataServices, utilityServices) {\r\n this.$q = $q;\r\n this.$window = $window;\r\n this.$location = $location;\r\n this.dataServices = dataServices;\r\n this.utilityServices = utilityServices;\r\n var self = this;\r\n }\r\n ReportingService.prototype.openReportWindow = function (reportingRouteUri, reportId) {\r\n var self = this;\r\n var url = self.utilityServices.formatAbsoluteUriFromAngularRoute(reportingRouteUri);\r\n var organisationId = self.dataServices.userProfile.selectedOrganisationId.toString();\r\n var parameters = {};\r\n if (reportId) {\r\n parameters['reportId'] = reportId;\r\n }\r\n if (organisationId) {\r\n parameters['oid'] = organisationId;\r\n }\r\n var queryString = self.utilityServices.formatQueryString(parameters);\r\n self.$window.open(\"\" + url + queryString);\r\n };\r\n ReportingService.prototype.getReportIdFromQueryString = function () {\r\n var self = this;\r\n return self.$location.search().reportId;\r\n };\r\n ReportingService.prototype.loadReport = function (htmlElement, reportingRouteUri, reportId) {\r\n var self = this;\r\n return self.getReport(reportId)\r\n .then(function (getReportResponseDto) {\r\n return self.renderReport(htmlElement, getReportResponseDto, reportId ? null : reportingRouteUri);\r\n });\r\n };\r\n ReportingService.prototype.handleError = function (errorInfo) {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n var popupCode = errorInfo.code === '403 - TokenExpired' ? 'reportSessionExpired' : 'errorLoadReport';\r\n self.utilityServices.openPopup(popupCode, errorInfo)\r\n .closed\r\n .then(function () {\r\n self.$window.close();\r\n deferred.resolve();\r\n });\r\n return deferred.promise;\r\n };\r\n ReportingService.prototype.getReport = function (reportId) {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n var getReportRequestDto = { reportId: reportId ? reportId : null };\r\n self.dataServices.getReport(getReportRequestDto)\r\n .then(function (getReportResponseDto) {\r\n deferred.resolve(getReportResponseDto);\r\n })\r\n .catch(function (error) {\r\n deferred.reject(formApp.ErrorInfo.fromHttpResponse(error));\r\n });\r\n return deferred.promise;\r\n };\r\n ReportingService.prototype.renderReport = function (htmlElement, getReportResponseDto, reportingRouteUri) {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n var configuration = {\r\n accessToken: getReportResponseDto.accessToken,\r\n embedUrl: getReportResponseDto.embedUrl,\r\n type: reportingRouteUri ? 'dashboard' : 'report',\r\n tokenType: pbi.models.TokenType.Embed\r\n };\r\n var powerbi = self.$window.powerbi;\r\n var report = powerbi.embed(htmlElement, configuration);\r\n report.on('loaded', function () {\r\n self.setTokenTimeout(getReportResponseDto, htmlElement);\r\n report.off('loaded');\r\n deferred.resolve();\r\n });\r\n report.on('error', function (event) {\r\n report.off('error');\r\n var detail = (event && event.detail) || {};\r\n deferred.reject(formApp.ErrorInfo.fromCustomError('Render Report', detail.detailedMessage, detail.errorCode + \" - \" + detail.message));\r\n });\r\n if (reportingRouteUri) {\r\n report.on('tileClicked', function (event) {\r\n var reportId = self.getReportIdFromEmbedUrl(event.detail.reportEmbedUrl);\r\n self.openReportWindow(reportingRouteUri, reportId);\r\n });\r\n }\r\n return deferred.promise;\r\n };\r\n ReportingService.prototype.getReportIdFromEmbedUrl = function (embedUrl) {\r\n var self = this;\r\n var embedUrlQueryString = embedUrl.substring(embedUrl.indexOf('?'));\r\n var embedUrlQueryStringObject = self.utilityServices.parseQueryString(embedUrlQueryString);\r\n return embedUrlQueryStringObject.reportId;\r\n };\r\n ReportingService.prototype.setTokenTimeout = function (getReportResponseDto, htmlElement) {\r\n var self = this;\r\n if (getReportResponseDto.tokenExpiration) {\r\n console.log('Token Expired: ' + new Date(getReportResponseDto.tokenExpiration).toLocaleString());\r\n setTimeout(function () { self.updateToken(htmlElement); }, getReportResponseDto.minutesToRefresh * 60 * 1000);\r\n console.log('Report Embed Token will be updated in ' + getReportResponseDto.minutesToRefresh + ' minutes.');\r\n }\r\n };\r\n ReportingService.prototype.updateToken = function (htmlElement) {\r\n var self = this;\r\n var reportId = self.getReportIdFromEmbedUrl(self.$window.location.href);\r\n self.getReport(reportId).then(function (getReportResponseDto) {\r\n var powerbi = self.$window.powerbi;\r\n var report = powerbi.get(htmlElement);\r\n report.setAccessToken(getReportResponseDto.accessToken).then(function () {\r\n self.setTokenTimeout(getReportResponseDto, htmlElement);\r\n });\r\n });\r\n };\r\n ReportingService.$inject = [\r\n '$q',\r\n '$window',\r\n '$location',\r\n 'DataServices',\r\n 'UtilityServices'\r\n ];\r\n return ReportingService;\r\n }());\r\n formApp.ReportingService = ReportingService;\r\n angular.module('formApp').factory('ReportingService', [\r\n '$q',\r\n '$window',\r\n '$location',\r\n 'DataServices',\r\n 'UtilityServices',\r\n function ($q, $window, $location, dataServices, utilityServices) { return new ReportingService($q, $window, $location, dataServices, utilityServices); }\r\n ]);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=reportingService.js.map","var formApp;\r\n(function (formApp) {\r\n var UtilityServices = (function () {\r\n function UtilityServices($filter, $uibModal, $window, $timeout, $interpolate, $location, $route, dataServices, constants, $q, notifications) {\r\n var _this = this;\r\n this.$filter = $filter;\r\n this.$uibModal = $uibModal;\r\n this.$window = $window;\r\n this.$timeout = $timeout;\r\n this.$interpolate = $interpolate;\r\n this.$location = $location;\r\n this.$route = $route;\r\n this.dataServices = dataServices;\r\n this.constants = constants;\r\n this.$q = $q;\r\n this.notifications = notifications;\r\n this.getOptionSetItemByIndex = function (optionSetName, index) {\r\n var self = _this;\r\n var optionSet = self.dataServices.configData.optionSets[optionSetName];\r\n return optionSet && optionSet[index];\r\n };\r\n this.getOptionSetItemByCode = function (optionSetName, code) {\r\n var self = _this;\r\n var optionSet = self.dataServices.configData.optionSets[optionSetName];\r\n return optionSet && optionSet.filter(function (item) { return item.code == code; }).length > 0\r\n && optionSet.filter(function (item) { return item.code == code; })[0];\r\n };\r\n this.getSentinelEventDueDate = function (stage) {\r\n var dueDate = '';\r\n switch (stage) {\r\n case 0:\r\n case 1:\r\n case 2:\r\n dueDate = _this.dataServices.responseInfo.reportAandBDueDate;\r\n break;\r\n case 3:\r\n dueDate = _this.dataServices.responseInfo.reportCDueDate;\r\n break;\r\n case 4:\r\n dueDate = _this.dataServices.responseInfo.reportDDueDate;\r\n break;\r\n default:\r\n dueDate = _this.dataServices.responseInfo.reportAandBDueDate;\r\n break;\r\n }\r\n return dueDate;\r\n };\r\n this.isScvUser = function (scvRoles, userRoles) {\r\n var arrScvRoles = scvRoles.map(function (element) { return element.text; });\r\n var scvRolesAssignedToUser = _.intersection(arrScvRoles, userRoles);\r\n return scvRolesAssignedToUser.length > 0;\r\n };\r\n }\r\n UtilityServices.prototype.warnBeforeWindowUnload = function (controllerScope, hasUnsavedChanges) {\r\n var self = this;\r\n var onBeforeUnload = function (e) {\r\n if (hasUnsavedChanges()) {\r\n e.preventDefault();\r\n e.returnValue = '';\r\n }\r\n else {\r\n delete e.returnValue;\r\n }\r\n };\r\n self.$window.addEventListener('beforeunload', onBeforeUnload);\r\n controllerScope.$on('$destroy', function () { return self.$window.removeEventListener('beforeunload', onBeforeUnload); });\r\n };\r\n UtilityServices.prototype.checkIfIOS = function () {\r\n var userAgent = window.navigator.userAgent.toLowerCase();\r\n var ios = /iphone|ipod|ipad/.test(userAgent);\r\n return (ios);\r\n };\r\n UtilityServices.prototype.checkIfIOSOrMobile = function () {\r\n return /iphone|ipod|ipad|mobile/.test(window.navigator.userAgent.toLowerCase());\r\n };\r\n UtilityServices.prototype.isRunningInExtraSmallScreen = function () {\r\n return $(document).width() < 768;\r\n };\r\n UtilityServices.prototype.isUiGridColumnVisible = function (columnDef) {\r\n return !(columnDef.width === 0 || columnDef.width === '0' || columnDef.width === '0%');\r\n };\r\n UtilityServices.prototype.featureNotImplemented = function () {\r\n alert('Feature not implemented yet');\r\n throw new Error('Feature not implemented yet');\r\n };\r\n UtilityServices.prototype.toggleClass = function (target, remove, className) {\r\n if (target) {\r\n if (remove) {\r\n target.removeClass(className);\r\n }\r\n else {\r\n target.addClass(className);\r\n }\r\n }\r\n };\r\n UtilityServices.prototype.showPageLoader = function (fallBackTimeoutInMilliSeconds) {\r\n var self = this;\r\n if (self.constants.pageLoaderOnTransition) {\r\n self.setElementVisibility('pageLoad', true);\r\n self.pageLoaderTimerHandle = setTimeout(function () {\r\n self.setElementVisibility('pageLoad', false);\r\n }, fallBackTimeoutInMilliSeconds || self.constants.pageLoaderFallBackTimeoutInMilliSeconds);\r\n }\r\n };\r\n UtilityServices.prototype.hidePageLoader = function () {\r\n var self = this;\r\n if (self.constants.pageLoaderOnTransition) {\r\n clearTimeout(self.pageLoaderTimerHandle);\r\n self.pageLoaderTimerHandle = 0;\r\n self.setElementVisibility('pageLoad', false);\r\n }\r\n };\r\n UtilityServices.prototype.setElementVisibility = function (id, show) {\r\n var self = this;\r\n self.toggleClass($('#' + id), show, 'hidden');\r\n };\r\n UtilityServices.prototype.forceNavigateToRoute = function (route) {\r\n var self = this;\r\n if (self.$location.path() === route) {\r\n self.$route.reload();\r\n }\r\n else {\r\n self.$location.path(route);\r\n }\r\n };\r\n UtilityServices.prototype.parseQueryString = function (queryString) {\r\n var self = this;\r\n var result = {};\r\n if (queryString && queryString[0] === '?') {\r\n var query = queryString.substring(1);\r\n var pairs = query.split('&');\r\n for (var i = 0; i < pairs.length; i++) {\r\n var pair = pairs[i].split('=');\r\n result[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\r\n }\r\n }\r\n return result;\r\n };\r\n UtilityServices.prototype.formatQueryString = function (parameters) {\r\n var self = this;\r\n var result = '';\r\n var pairs = [];\r\n for (var key in parameters) {\r\n pairs.push(encodeURIComponent(key) + \"=\" + encodeURIComponent(parameters[key]));\r\n }\r\n if (pairs.length > 0) {\r\n result = \"?\" + pairs.join('&');\r\n }\r\n return result;\r\n };\r\n UtilityServices.prototype.formatAbsoluteUriFromAngularRoute = function (angularRoute) {\r\n var self = this;\r\n var baseUri = self.$window.__env.AzureADSettings.redirectUri;\r\n return baseUri + \"#\" + angularRoute;\r\n };\r\n UtilityServices.prototype.ellipsify = function (s, maxSize, ellipses) {\r\n s = s || '';\r\n maxSize = maxSize || 80;\r\n ellipses = ellipses || ' ...';\r\n var truncatedSize = maxSize - ellipses.length;\r\n return s.length <= maxSize\r\n ? s\r\n : \"\" + s.substring(0, truncatedSize) + ellipses;\r\n };\r\n UtilityServices.prototype.hideMenu = function () {\r\n var self = this;\r\n self.setElementVisibility('manageIncidents', false);\r\n self.setElementVisibility('manageFeedback', false);\r\n self.setElementVisibility('manageSentinelEvents', false);\r\n self.setElementVisibility('manageActions', false);\r\n self.setElementVisibility('manageUsers', false);\r\n self.setElementVisibility('manageTeams', false);\r\n self.setElementVisibility('manageNotifications', false);\r\n self.setElementVisibility('manageOrganisations', false);\r\n self.setElementVisibility('reports', false);\r\n self.setElementVisibility('menu-report-divider', false);\r\n self.setElementVisibility('incident-full-data-extract', false);\r\n self.setElementVisibility('menu-incident-full-data-extract-divider', false);\r\n self.setElementVisibility('feedback-full-data-extract', false);\r\n self.setElementVisibility('menu-feedback-full-data-extract-divider', false);\r\n self.setElementVisibility('logout', false);\r\n };\r\n UtilityServices.prototype.setMenuVisibility = function () {\r\n var self = this;\r\n if (self.dataServices.isAuthenticated()) {\r\n var canAccessUsersOrOwnUser = self.dataServices.userProfile.canAccessUsers || self.dataServices.userProfile.canAccessOwnUser;\r\n if (canAccessUsersOrOwnUser) {\r\n var match = _.find(self.dataServices.layoutConfig.navigationItems, function (navItem) { return navItem.id == self.constants.Modules.user.identifier; });\r\n if (match) {\r\n match.title = self.dataServices.userProfile.canAccessUsers ? self.constants.Modules.user.label : self.constants.Modules.user.alternativeLabel;\r\n }\r\n }\r\n self.setElementVisibility('manageIncidents', self.dataServices.userProfile.canAccessIncidents);\r\n self.setElementVisibility('manageFeedback', self.dataServices.userProfile.canAccessFeedbacks);\r\n self.setElementVisibility('manageActions', self.dataServices.userProfile.canAccessActions);\r\n self.setElementVisibility('manageUsers', canAccessUsersOrOwnUser);\r\n self.setElementVisibility('manageTeams', self.dataServices.userProfile.canAccessTeams);\r\n self.setElementVisibility('manageNotifications', self.dataServices.userProfile.canAccessNotifications);\r\n self.setElementVisibility('manageOrganisations', self.dataServices.userProfile.canAccessOrganisations);\r\n self.setElementVisibility('manageSentinelEvents', self.dataServices.userProfile.canAccessSentinelEvents);\r\n self.setElementVisibility('reports', self.dataServices.userProfile.canAccessReports);\r\n self.setElementVisibility('menu-report-divider', self.dataServices.userProfile.canAccessReports);\r\n self.setElementVisibility('incident-full-data-extract', self.dataServices.userProfile.canAccessIncidentFullDataExtract);\r\n self.setElementVisibility('menu-incident-full-data-extract-divider', self.dataServices.userProfile.canAccessIncidentFullDataExtract);\r\n self.setElementVisibility('feedback-full-data-extract', self.dataServices.userProfile.canAccessFeedbackFullDataExtract);\r\n self.setElementVisibility('menu-feedback-full-data-extract-divider', self.dataServices.userProfile.canAccessFeedbackFullDataExtract);\r\n self.setElementVisibility('logout', true);\r\n }\r\n else {\r\n self.hideMenu();\r\n }\r\n };\r\n UtilityServices.prototype.hasDraft = function () {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n if (self.dataServices.isAuthenticated()) {\r\n self.dataServices.getDraftCaseIdIfExists(self.dataServices.userProfile.selectedOrganisationId)\r\n .then(function (draftInfo) {\r\n if (angular.isDefined(draftInfo.data.caseId) && draftInfo.data.caseId > 0) {\r\n self.dataServices.responseInfo.caseIdByOrganisation[self.dataServices.userProfile.selectedOrganisationId] = draftInfo.data.caseId;\r\n deferred.resolve(true);\r\n }\r\n else {\r\n deferred.resolve(false);\r\n }\r\n }, function (data) {\r\n deferred.resolve(false);\r\n });\r\n }\r\n else {\r\n deferred.resolve(false);\r\n }\r\n return deferred.promise;\r\n };\r\n UtilityServices.prototype.handleSessionTimeOut = function (errorInfo) {\r\n var self = this;\r\n self.openPopup('sessionTimeout', errorInfo).closed.then(function () {\r\n self.dataServices.login();\r\n });\r\n };\r\n UtilityServices.prototype.handleError = function (errorInfo) {\r\n var self = this;\r\n self.dataServices.errorInfo = errorInfo;\r\n self.$location.path(self.constants.Url.error);\r\n };\r\n UtilityServices.prototype.showNotification = function (visible, notificationCode, params, returnAsPromise, dismissNotificationDelayInMilliSeconds) {\r\n var self = this;\r\n var deferred = self.$q.defer();\r\n var notification = self.dataServices.configData &&\r\n self.$filter('filter')(self.dataServices.configData.notifications, { code: notificationCode }, true);\r\n if (!notification || notification.length === 0) {\r\n notification = self.$filter('filter')(self.notifications.commonNotifications, { code: notificationCode }, true);\r\n }\r\n if (notification && notification[0]) {\r\n var notifyType = null;\r\n if (notification[0].type === 'error') {\r\n notifyType = self.constants.NotifyType.error;\r\n if (returnAsPromise) {\r\n deferred.reject();\r\n }\r\n }\r\n else {\r\n if (returnAsPromise) {\r\n deferred.resolve();\r\n }\r\n }\r\n if (notification[0].type === 'notification') {\r\n notifyType = self.constants.NotifyType.notification;\r\n }\r\n var message = null;\r\n if (params) {\r\n message = self.$interpolate(notification[0].message)(params);\r\n }\r\n else {\r\n message = notification[0].message;\r\n }\r\n if (notifyType && message) {\r\n var target_1 = $('#notify');\r\n if (target_1) {\r\n target_1.addClass('hidden');\r\n if (visible) {\r\n target_1.find('span').removeClass().addClass(notifyType.css).find(':nth-child(1)').attr('xlink:href', notifyType.icon).next().html(message);\r\n self.$timeout(function () {\r\n target_1.removeClass('hidden');\r\n }, 0);\r\n if (dismissNotificationDelayInMilliSeconds && dismissNotificationDelayInMilliSeconds > 0) {\r\n self.$timeout(function () {\r\n target_1.addClass('hidden');\r\n }, dismissNotificationDelayInMilliSeconds);\r\n }\r\n }\r\n else {\r\n target_1.addClass('hidden');\r\n }\r\n }\r\n }\r\n }\r\n if (returnAsPromise) {\r\n return deferred.promise;\r\n }\r\n };\r\n UtilityServices.prototype.setQuestionErrorState = function (id, status) {\r\n var self = this;\r\n var input = $('#' + id);\r\n var input2;\r\n var input3;\r\n if ($('#' + id + '-month')) {\r\n input2 = $('#' + id + '-month');\r\n input3 = $('#' + id + '-year');\r\n }\r\n var fieldset = $('#' + id + '-fieldset');\r\n if (input && fieldset) {\r\n if (status === true) {\r\n fieldset.addClass('has-error');\r\n input.attr('aria-invalid', status.toString());\r\n input.attr('aria-describedby', id + '-error');\r\n if (input2 && input3) {\r\n input2.attr('aria-invalid', status.toString());\r\n input2.attr('aria-describedby', id + '-error');\r\n input3.attr('aria-invalid', status.toString());\r\n input3.attr('aria-describedby', id + '-error');\r\n }\r\n }\r\n else {\r\n fieldset.removeClass('has-error');\r\n var describeByValue = input.attr('data-describeBy');\r\n if (describeByValue)\r\n input.attr('aria-describedby', describeByValue);\r\n input.removeAttr('aria-invalid');\r\n if (input2 && input3) {\r\n input2.removeAttr('aria-describedby');\r\n input2.removeAttr('aria-invalid');\r\n input3.removeAttr('aria-describedby');\r\n input3.removeAttr('aria-invalid');\r\n }\r\n }\r\n }\r\n };\r\n UtilityServices.prototype.getOptionSetText = function (optionSetName, responseCode) {\r\n var self = this;\r\n if (!optionSetName || optionSetName.length == 0 || !responseCode || responseCode.length == 0) {\r\n return '';\r\n }\r\n var value = (self.$filter('filter')(self.dataServices.configData.optionSets[optionSetName], { 'code': responseCode }, true));\r\n if (!value || value.length == 0) {\r\n return '';\r\n }\r\n return value[0].text;\r\n };\r\n UtilityServices.prototype.getOptionSetData = function (optionSetName, responseCode) {\r\n var self = this;\r\n if (!optionSetName || optionSetName.length == 0 || !responseCode || responseCode.length == 0) {\r\n return '';\r\n }\r\n var value = (self.$filter('filter')(self.dataServices.configData.optionSets[optionSetName], { 'code': responseCode }, true));\r\n if (!value || value.length == 0) {\r\n return '';\r\n }\r\n return value[0].data;\r\n };\r\n UtilityServices.prototype.setAriaDescribedByAttribute = function (controlType, id) {\r\n var self = this;\r\n var attrValue = null;\r\n if (controlType == 'address')\r\n attrValue = 'addressAutoComplete';\r\n if (controlType == 'typeahead')\r\n attrValue = 'typeAheadAutoComplete';\r\n if (attrValue)\r\n $('#' + id).attr('aria-describedby', attrValue);\r\n };\r\n UtilityServices.prototype.getAnswer = function (question, response, dependentOnAnswer) {\r\n var self = this;\r\n if (!response || ($.isArray(response) && response.length == 0)) {\r\n return null;\r\n }\r\n switch (question.controlType) {\r\n case 'text':\r\n case 'textarea':\r\n case 'textarealarge':\r\n case 'address':\r\n case 'time':\r\n return response;\r\n case 'singleCheckbox':\r\n if (response) {\r\n if (response == true) {\r\n return 'Yes';\r\n }\r\n else {\r\n return 'No';\r\n }\r\n }\r\n return null;\r\n case 'radio':\r\n case 'select':\r\n case 'singleSelect':\r\n if ((typeof question.options) === 'string') {\r\n return (self.$filter('filter')(self.dataServices.configData.optionSets[question.options], { 'code': response }, true))[0].text;\r\n }\r\n else {\r\n return (self.$filter('filter')(question.options, { 'code': response }, true))[0].text;\r\n }\r\n case 'date':\r\n return self.$filter('date')(response, 'dd/MM/yyyy');\r\n case 'multiFilterSelect':\r\n var multiFilterOutput = [];\r\n for (var i = 0; i < response.length; i++) {\r\n multiFilterOutput.push((self.$filter('filter')(self.dataServices.configData.optionSets[question.options], { 'code': response[i].code }, true))[0].text);\r\n }\r\n return multiFilterOutput;\r\n case 'multiSelect':\r\n case 'checkbox':\r\n var output = [];\r\n for (var i = 0; i < response.length; i++) {\r\n if ((typeof question.options) === 'string') {\r\n var item = (self.$filter('filter')(self.dataServices.configData.optionSets[question.options], { 'code': response[i] }, true))[0];\r\n if (item) {\r\n output.push(item.text);\r\n }\r\n else {\r\n output.push(undefined);\r\n }\r\n }\r\n else {\r\n output.push((self.$filter('filter')(question.options, { 'code': response[i] }, true))[0].text);\r\n }\r\n }\r\n return output;\r\n case 'typeahead':\r\n case 'filterSelect':\r\n case 'apiLookUp':\r\n return response.text;\r\n case 'apiSelect':\r\n if (dependentOnAnswer != null && dependentOnAnswer !== '') {\r\n var match = _.find(self.dataServices.responseInfo.apiSelectOptionLists, function (apiSelectOptionList) {\r\n return apiSelectOptionList.dependantOnId.toString() === dependentOnAnswer;\r\n });\r\n return _.find(match.optionSets, function (optionSet) {\r\n return optionSet.code === response.code;\r\n }).text;\r\n }\r\n return null;\r\n default:\r\n return null;\r\n }\r\n };\r\n UtilityServices.prototype.getAge = function (birthYear, birthMonth, birthDay) {\r\n var curDate = moment();\r\n var curYear = curDate.year();\r\n var curMonth = curDate.month();\r\n var curDay = curDate.date();\r\n var age = curYear - birthYear;\r\n if (curMonth < (birthMonth - 1)) {\r\n age--;\r\n }\r\n if ((birthMonth - 1) == curMonth && curDay < birthDay) {\r\n age--;\r\n }\r\n return age;\r\n };\r\n UtilityServices.prototype.getSystemDate = function (format) {\r\n var date = new Date();\r\n if (!format) {\r\n format = 'YYYY-MM-DD';\r\n }\r\n return moment(date.getTime()).tz('Australia/Melbourne').format(format);\r\n };\r\n UtilityServices.prototype.addDaysToDate = function (date, days, format) {\r\n var dateFormat = format || this.constants.responseDateFormat;\r\n var newDate = moment(date, dateFormat, true);\r\n return newDate.add(days, 'days').format(dateFormat);\r\n };\r\n UtilityServices.prototype.getCurrentUserFullName = function () {\r\n var self = this;\r\n return self.dataServices.userFullName();\r\n };\r\n UtilityServices.prototype.getMinimumDate = function () {\r\n var self = this;\r\n var minDate = moment(self.constants.minimumDate).format('YYYY-MM-DD');\r\n return minDate;\r\n };\r\n UtilityServices.prototype.isAdult = function (year, month, day) {\r\n var self = this;\r\n if (self.getAge(year, month, day) >= 18) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n UtilityServices.prototype.getPageTitle = function (navTabNum, pageUrl) {\r\n var self = this;\r\n var title = '';\r\n if (navTabNum && pageUrl) {\r\n var tabIncludedInProgress = _.find(self.dataServices.configData.navigationTabs, function (o) { return o.number == navTabNum && o.includeInProgress == true; });\r\n if (tabIncludedInProgress) {\r\n title = tabIncludedInProgress.title + ' tab and ' + _.find(_.find(self.dataServices.configData.navigationTabs, function (o) { return o.number == navTabNum; }).pages, function (p) { return p.url == pageUrl; }).docTitle + ' page';\r\n }\r\n else {\r\n title = _.find(_.find(self.dataServices.configData.navigationTabs, function (o) { return o.number == navTabNum; }).pages, function (p) { return p.url == pageUrl; }).docTitle;\r\n }\r\n }\r\n return title;\r\n };\r\n UtilityServices.prototype.openPopup = function (popupCode, popupParams) {\r\n var self = this;\r\n return self.$uibModal.open({\r\n animation: false,\r\n backdrop: 'static',\r\n ariaLabelledBy: 'modal-title',\r\n ariaDescribedBy: 'modal-body',\r\n templateUrl: 'app/partials/core/modalPopup.html',\r\n controller: 'modalPopupController',\r\n windowTemplateUrl: 'app/partials/core/modalPopupWindow.html',\r\n resolve: {\r\n popupCode: function () { return popupCode; },\r\n popupParams: function () { return popupParams; }\r\n }\r\n });\r\n };\r\n UtilityServices.prototype.focus = function (id) {\r\n var self = this;\r\n self.$timeout(function () {\r\n var element = id ? document.getElementById(id) : null;\r\n if (element) {\r\n element.tabIndex = 0;\r\n element.focus();\r\n }\r\n }, 100);\r\n };\r\n UtilityServices.prototype.scrollElementIntoView = function (id) {\r\n this.$timeout(function () {\r\n var element = id ? document.getElementById(id) : null;\r\n if (element) {\r\n element.scrollIntoView(true);\r\n }\r\n }, 100);\r\n };\r\n UtilityServices.prototype.matchEmailRegx = function (email) {\r\n var regx = /(?:[\\w'\"!#$%&*+/=?^_`{|}~-]+(?:\\.[\\w'\"!#$%&*^\"\\\\+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?\\.)+[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9]){?|}|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[A-Za-z0-9-]*[A-Za-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])/;\r\n var match = email.match(regx);\r\n if (match && match.length > 0) {\r\n return (email === match[0]);\r\n }\r\n return false;\r\n };\r\n UtilityServices.prototype.removeFromValidationErrors = function (level, pageId, pageIndex, sectionCode, sectionIndex, questionCode) {\r\n var self = this;\r\n var toRemove = [];\r\n for (var i = 0; i < self.dataServices.validationErrors.length; i++) {\r\n if ((!level || self.dataServices.validationErrors[i].level == level) &&\r\n (!pageId || self.dataServices.validationErrors[i].pageNo == pageId) &&\r\n (!pageIndex || self.dataServices.validationErrors[i].pageIndex == pageIndex) &&\r\n (!sectionCode || self.dataServices.validationErrors[i].sectionCode == sectionCode) &&\r\n (!sectionIndex || self.dataServices.validationErrors[i].sectionIndex == sectionIndex) &&\r\n (!questionCode || self.dataServices.validationErrors[i].questionCode == questionCode)) {\r\n toRemove.push(i);\r\n }\r\n }\r\n for (var i = toRemove.length; i > 0; i--) {\r\n self.dataServices.validationErrors.splice(toRemove[i - 1], 1);\r\n }\r\n };\r\n UtilityServices.prototype.hasOnlyMandatoryValidationErrors = function (validationErrors) {\r\n var self = this;\r\n var result = (_.filter(validationErrors, function (valErr) {\r\n return valErr.ruleType.toLowerCase() !== 'mandatory';\r\n }).length === 0);\r\n return result;\r\n };\r\n UtilityServices.prototype.getOptionSetFromConfiguration = function (optionsetName) {\r\n var self = this;\r\n var optionSet = [];\r\n if (self.dataServices.configData) {\r\n optionSet = self.dataServices.configData.optionSets[optionsetName];\r\n }\r\n return optionSet;\r\n };\r\n UtilityServices.prototype.getDependentOptionSetFromConfiguration = function (optionsetName, dependentQuestionCode, dependentQuestionValue) {\r\n var dependentOptionsetName = optionsetName + \"-\" + dependentQuestionCode + \"-\" + dependentQuestionValue;\r\n return this.getOptionSetFromConfiguration(dependentOptionsetName);\r\n };\r\n UtilityServices.prototype.getAllDependentOptionSetsOfDependentOptionSetFromConfiguration = function (dependentOptionSetName, dependentQuestionCode, dependentQuestionValue, dependentOfDependentOptionSetName, dependentOfDependentQuestionCode) {\r\n var self = this;\r\n var getOptionSet = function (os, dqc, dqv) { return self.getDependentOptionSetFromConfiguration(os, dqc, dqv) || []; };\r\n var optionSet = getOptionSet(dependentOptionSetName, dependentQuestionCode, dependentQuestionValue);\r\n var result = [];\r\n for (var i = 0; i < optionSet.length; i++) {\r\n result = result.concat(getOptionSet(dependentOfDependentOptionSetName, dependentOfDependentQuestionCode, optionSet[i].code));\r\n }\r\n result.sort(function (item1, item2) { return item1.text > item2.text ? 1 : (item1.text < item2.text ? -1 : 0); });\r\n return result;\r\n };\r\n UtilityServices.prototype.getOptionSetDecodeMap = function (optionSet) {\r\n var decodeMap = {};\r\n for (var i = 0; i < (optionSet && optionSet.length) || 0; i++) {\r\n var item = optionSet[i];\r\n decodeMap[item.code] = item.text;\r\n }\r\n return decodeMap;\r\n };\r\n UtilityServices.prototype.setFormAsEditable = function (isEditable) {\r\n var self = this;\r\n self.dataServices.isFormEditable = isEditable;\r\n };\r\n UtilityServices.prototype.isFormEditable = function () {\r\n var self = this;\r\n return self.dataServices.isFormEditable;\r\n };\r\n UtilityServices.prototype.getDocument = function (documentId, documentPageUrl) {\r\n var self = this;\r\n var entityType = self.getEntityTypeByDocumentUrl(documentPageUrl);\r\n if (entityType == formApp.EntityType.Feedback) {\r\n return self.dataServices.getFeedbackDocument(documentId);\r\n }\r\n else if (entityType == formApp.EntityType.SentinelEvent) {\r\n return self.dataServices.getSentinelEventDocument(documentId);\r\n }\r\n else {\r\n return self.dataServices.getIncidentDocument(documentId);\r\n }\r\n };\r\n UtilityServices.prototype.deleteDocument = function (documentId, documentPageUrl) {\r\n var self = this;\r\n var entityType = self.getEntityTypeByDocumentUrl(documentPageUrl);\r\n if (entityType == formApp.EntityType.Feedback) {\r\n return self.dataServices.deleteFeedbackDocument(documentId);\r\n }\r\n else if (entityType == formApp.EntityType.SentinelEvent) {\r\n return self.dataServices.deleteSentinelEventDocument(documentId);\r\n }\r\n else {\r\n return self.dataServices.deleteIncidentDocument(documentId);\r\n }\r\n };\r\n UtilityServices.prototype.isFeedback = function (pageUrl) {\r\n return pageUrl.indexOf('feedback') != -1 ? true : false;\r\n };\r\n UtilityServices.prototype.getEnityType = function (pageUrl) {\r\n var self = this;\r\n var entityType = formApp.EntityType.Incident;\r\n switch (pageUrl) {\r\n case self.constants.feedbackSummary.feedbackSummaryPageUrl: {\r\n entityType = formApp.EntityType.Feedback;\r\n break;\r\n }\r\n case self.constants.sentinelEventSummary.sentinelEventNotificationSummaryPageUrl:\r\n case self.constants.sentinelEventSummary.sentinelEventRcaSummaryPageUrl:\r\n case self.constants.sentinelEventSummary.sentinelEventPartCSummaryPageUrl:\r\n case self.constants.sentinelEventSummary.sentinelEventPartDSixMonthReviewSummaryPageUrl:\r\n case self.constants.sentinelEventSummary.sentinelEventPartDTwelveMonthReviewSummaryPageUrl:\r\n {\r\n entityType = formApp.EntityType.SentinelEvent;\r\n break;\r\n }\r\n default: {\r\n entityType = formApp.EntityType.Incident;\r\n break;\r\n }\r\n }\r\n return entityType;\r\n };\r\n UtilityServices.prototype.isFeedbackRoute = function (route) {\r\n var isFeedback = false;\r\n if (route) {\r\n isFeedback = route.current.module === this.constants.Modules.feedback.name;\r\n return isFeedback;\r\n }\r\n };\r\n UtilityServices.prototype.getEntityTypeByRoute = function (route) {\r\n var entityType = formApp.EntityType.Incident;\r\n switch (route.current.module) {\r\n case this.constants.Modules.feedback.name: {\r\n entityType = formApp.EntityType.Feedback;\r\n break;\r\n }\r\n case this.constants.Modules.incident.name: {\r\n entityType = formApp.EntityType.Incident;\r\n break;\r\n }\r\n case this.constants.Modules.sentinelEvent.name: {\r\n entityType = formApp.EntityType.SentinelEvent;\r\n break;\r\n }\r\n default: {\r\n entityType = formApp.EntityType.Incident;\r\n break;\r\n }\r\n }\r\n return entityType;\r\n };\r\n UtilityServices.prototype.getParentId = function (documentPageUrl) {\r\n var self = this;\r\n var entityType = self.getEntityTypeByDocumentUrl(documentPageUrl);\r\n if (entityType == formApp.EntityType.Feedback) {\r\n return self.dataServices.responseInfo.feedbackId;\r\n }\r\n else if (entityType == formApp.EntityType.SentinelEvent) {\r\n return self.dataServices.responseInfo.sentinelEventId;\r\n }\r\n else {\r\n return self.dataServices.responseInfo.incidentId;\r\n }\r\n };\r\n UtilityServices.prototype.getDocumentUrl = function (documentPageUrl) {\r\n var self = this;\r\n var entityType = self.getEntityTypeByDocumentUrl(documentPageUrl);\r\n if (entityType == formApp.EntityType.Feedback) {\r\n return self.constants.Url.getSaveFeedbackDocumentURL;\r\n }\r\n else if (entityType == formApp.EntityType.SentinelEvent) {\r\n return self.constants.Url.getSaveSentinelEventDocumentURL;\r\n }\r\n else {\r\n return self.constants.Url.getSaveIncidentDocumentURL;\r\n }\r\n };\r\n UtilityServices.prototype.isDocumentUploadValid = function (pageUrl) {\r\n var self = this;\r\n var parentId = null;\r\n var entityType = self.getEntityTypeByDocumentUrl(pageUrl);\r\n if (entityType == formApp.EntityType.Feedback) {\r\n parentId = self.dataServices.responseInfo.feedbackId;\r\n }\r\n else if (entityType == formApp.EntityType.SentinelEvent) {\r\n parentId = self.dataServices.responseInfo.sentinelEventId;\r\n }\r\n else {\r\n parentId = self.dataServices.responseInfo.incidentId;\r\n }\r\n return !!parentId;\r\n };\r\n UtilityServices.prototype.getEntityTypeByDocumentUrl = function (documentPageUrl) {\r\n var entityType = formApp.EntityType.Incident;\r\n if (documentPageUrl.indexOf('feedback') != -1) {\r\n entityType = formApp.EntityType.Feedback;\r\n }\r\n else if (documentPageUrl.indexOf('sentinel') != -1) {\r\n entityType = formApp.EntityType.SentinelEvent;\r\n }\r\n else {\r\n entityType = formApp.EntityType.Incident;\r\n }\r\n return entityType;\r\n };\r\n UtilityServices.prototype.isAuthenticated = function () {\r\n var self = this;\r\n return self.dataServices.isAuthenticated();\r\n };\r\n UtilityServices.prototype.generateGuid = function () {\r\n function s4() {\r\n return Math.floor((1 + Math.random()) * 0x10000)\r\n .toString(16)\r\n .substring(1);\r\n }\r\n return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();\r\n };\r\n UtilityServices.prototype.formateDate = function (date) {\r\n var self = this;\r\n return self.$filter('date')(date, 'dd/MM/yyyy');\r\n };\r\n UtilityServices.prototype.hasSelectedEventType = function (pageResponse, eventTypeSectionInfo, eventTypeId) {\r\n var self = this;\r\n var isSelected = false;\r\n if (pageResponse &&\r\n pageResponse[eventTypeSectionInfo.nonRepeatingSectionCode] &&\r\n pageResponse[eventTypeSectionInfo.nonRepeatingSectionCode][0][eventTypeSectionInfo.nonRepeatingQcode]) {\r\n var match = _.find(pageResponse[eventTypeSectionInfo.nonRepeatingSectionCode][0][eventTypeSectionInfo.nonRepeatingQcode], function (event) {\r\n return event.code === eventTypeId;\r\n });\r\n if (match !== undefined) {\r\n isSelected = true;\r\n }\r\n }\r\n if (isSelected === false &&\r\n pageResponse &&\r\n pageResponse[eventTypeSectionInfo.sectionCode]) {\r\n var index = _.findIndex(pageResponse[eventTypeSectionInfo.sectionCode], function (section) {\r\n return section['$state'] !== self.constants.RepeatingItemState.adding &&\r\n section[eventTypeSectionInfo.qCode] &&\r\n section[eventTypeSectionInfo.qCode].code === eventTypeId;\r\n });\r\n isSelected = (index > -1);\r\n }\r\n return isSelected;\r\n };\r\n UtilityServices.prototype.getDefaultIncidentUrl = function (personType) {\r\n var defaultUrl = null;\r\n switch (personType) {\r\n case formApp.PersonType.None:\r\n defaultUrl = this.constants.Url.firstHazardIncidentFormPage;\r\n break;\r\n case formApp.PersonType.Patient:\r\n defaultUrl = this.constants.Url.firstClinicalIncidentFormPage;\r\n break;\r\n case formApp.PersonType.Staff:\r\n defaultUrl = this.constants.Url.firstOhsStaffIncidentFormPage;\r\n break;\r\n case formApp.PersonType.Visitor:\r\n defaultUrl = this.constants.Url.firstOhsVisitorIncidentFormPage;\r\n break;\r\n default:\r\n break;\r\n }\r\n return defaultUrl;\r\n };\r\n UtilityServices.prototype.getIncidentActionUrl = function (response, personTypeId, actionId, defaultActionTypeId) {\r\n var self = this;\r\n var defaultUrl = self.getDefaultIncidentUrl(personTypeId);\r\n var actionInfo = formApp.EntityActionMapping.incidentAction[personTypeId];\r\n var actionTypeInfo = _.find(actionInfo.actionTypes, function (actionType) {\r\n var pageResponse = response[actionInfo.navTabNo + \"-\" + actionType.pageNo];\r\n return self.getJsonItemById(pageResponse, actionId) !== undefined;\r\n });\r\n if (actionTypeInfo) {\r\n return self.generateActionUrl(actionId, actionInfo, actionTypeInfo, defaultUrl);\r\n }\r\n else {\r\n var defaultActionTypeInfo = _.find(actionInfo.actionTypes, function (actionType) {\r\n return actionType.actionTypeId === defaultActionTypeId;\r\n });\r\n return self.generateActionUrl(null, actionInfo, defaultActionTypeInfo, defaultUrl);\r\n }\r\n };\r\n UtilityServices.prototype.getFeedbackActionUrl = function (response, actionId, defaultActionTypeId) {\r\n var self = this;\r\n var actionInfo = formApp.EntityActionMapping.feedbackAction;\r\n var actionTypeInfo = _.find(actionInfo.actionTypes, function (actionType) {\r\n var pageResponse = response[actionInfo.navTabNo + \"-\" + actionType.pageNo];\r\n return self.getJsonItemById(pageResponse, actionId) !== undefined;\r\n });\r\n if (actionTypeInfo) {\r\n return self.generateActionUrl(actionId, actionInfo, actionTypeInfo, self.constants.Url.firstFeedbackFormPage);\r\n }\r\n else {\r\n var defaultActionTypeInfo = _.find(actionInfo.actionTypes, function (actionType) {\r\n return actionType.actionTypeId === defaultActionTypeId;\r\n });\r\n return self.generateActionUrl(null, actionInfo, defaultActionTypeInfo, self.constants.Url.firstFeedbackFormPage);\r\n }\r\n };\r\n UtilityServices.prototype.getSentinelEventActionUrl = function (response, actionId, defaultActionTypeId) {\r\n var self = this;\r\n var actionInfo = formApp.EntityActionMapping.sentinelEventAction;\r\n var actionTypeInfo = _.find(actionInfo.actionTypes, function (actionType) {\r\n var pageResponse = response[actionInfo.navTabNo + \"-\" + actionType.pageNo];\r\n return self.getJsonItemById(pageResponse, actionId) !== undefined;\r\n });\r\n if (actionTypeInfo) {\r\n return self.generateActionUrl(actionId, actionInfo, actionTypeInfo, self.constants.Url.firstSentinelFormPage);\r\n }\r\n else {\r\n var defaultActionTypeInfo = _.find(actionInfo.actionTypes, function (actionType) {\r\n return actionType.actionTypeId === defaultActionTypeId;\r\n });\r\n return self.generateActionUrl(null, actionInfo, defaultActionTypeInfo, self.constants.Url.firstSentinelFormPage);\r\n }\r\n };\r\n UtilityServices.prototype.isFormUrl = function (url) {\r\n return _.some(this.constants.pageUrls, function (formUrlPart) {\r\n return url.indexOf(formUrlPart) > -1;\r\n });\r\n };\r\n UtilityServices.prototype.getBreadcrumbs = function (route, allRoutes) {\r\n var self = this;\r\n var crumbs = [];\r\n var routeNameParts = route.name.split('.');\r\n var parts = [];\r\n var _loop_1 = function (i) {\r\n parts.push(routeNameParts[i]);\r\n var routeName = parts.join('.');\r\n var routeConfig = _.find(allRoutes, function (rc) { return rc.name === routeName; });\r\n var url = self.getRouteUrlForBreadcrumb(routeNameParts[i], routeConfig.originalPath, route.params);\r\n var name_1 = self.getRouteNameForBreadcrumb(routeNameParts[i], route.params);\r\n var isCurrent = routeName === route.name;\r\n crumbs.push(new formApp.Breadcrumb(name_1, url, isCurrent));\r\n };\r\n for (var i = 0; i < routeNameParts.length; i++) {\r\n _loop_1(i);\r\n }\r\n return crumbs;\r\n };\r\n UtilityServices.prototype.getNavTab = function (configData, navTabNum) {\r\n return _.find(configData.navigationTabs, function (tab) {\r\n return tab.number == navTabNum;\r\n });\r\n };\r\n UtilityServices.prototype.getPage = function (configData, navTabNum, pageUrl) {\r\n var navTab = this.getNavTab(configData, navTabNum);\r\n return _.find(navTab.pages, function (p) { return p.url == pageUrl; });\r\n };\r\n UtilityServices.prototype.getPageById = function (configData, pageId) {\r\n var pageIdParts = pageId.split('-');\r\n var navTabNum = +pageIdParts[0];\r\n var navTab = this.getNavTab(configData, navTabNum);\r\n var pageNumber = +pageIdParts[1];\r\n return _.find(navTab.pages, function (p) { return p.number == pageNumber; });\r\n };\r\n UtilityServices.prototype.getSection = function (configData, navTabNum, pageUrl, sectionCode) {\r\n var page = this.getPage(configData, navTabNum, pageUrl);\r\n return _.find(page.sections, function (s) { return s.code == sectionCode; });\r\n };\r\n UtilityServices.prototype.getCountCssClass = function (id, className) {\r\n return $(\"#\" + id + \" .\" + className).length;\r\n };\r\n UtilityServices.prototype.getJsonItemById = function (jsonArray, id) {\r\n if (jsonArray !== undefined && jsonArray !== null) {\r\n return _.find(jsonArray, function (item) { return item.id === id; });\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n UtilityServices.prototype.getJsonItemIndexById = function (jsonArray, id) {\r\n return _.findIndex(jsonArray, function (item) { return item.id === id; });\r\n };\r\n UtilityServices.prototype.buildRoutePath = function (routePathTemplate, routeParams) {\r\n var path = routePathTemplate;\r\n if (routeParams) {\r\n _.forEach(Object.keys(routeParams), function (paramKey) {\r\n path = path.replace(\":\" + paramKey, routeParams[paramKey]);\r\n });\r\n }\r\n return path;\r\n };\r\n UtilityServices.prototype.getRouteType = function (route) {\r\n var routeName = route.name.toLowerCase();\r\n if (routeName.endsWith(this.constants.routeNameSuffix.dashboard)) {\r\n return formApp.RouteType.Dashboard;\r\n }\r\n else if (routeName.endsWith(this.constants.routeNameSuffix.navTab)) {\r\n return formApp.RouteType.NavTab;\r\n }\r\n else if (routeName.endsWith(this.constants.routeNameSuffix.pageTab) ||\r\n routeName.endsWith(this.constants.routeNameSuffix.signoff) ||\r\n routeName.endsWith(this.constants.routeNameSuffix.history)) {\r\n return formApp.RouteType.Page;\r\n }\r\n else if (routeName.endsWith(this.constants.routeNameSuffix.section)) {\r\n return formApp.RouteType.Section;\r\n }\r\n else {\r\n return formApp.RouteType.Unknown;\r\n }\r\n };\r\n UtilityServices.prototype.getSectionResponse = function (response, pageId, pIndex, sectionCode) {\r\n if (response &&\r\n response[pageId] &&\r\n response[pageId][pIndex] &&\r\n response[pageId][pIndex][sectionCode]) {\r\n return response[pageId][pIndex][sectionCode];\r\n }\r\n else {\r\n return null;\r\n }\r\n };\r\n UtilityServices.prototype.getRouteUrlForBreadcrumb = function (routePartName, routePathTemplate, routeParams) {\r\n var urlTemplate = routePathTemplate;\r\n var partNameLowerCase = routePartName.toLowerCase();\r\n if (partNameLowerCase.endsWith(this.constants.routeNameSuffix.dashboard) && this.dataServices.currentManagePageUrl) {\r\n urlTemplate = this.dataServices.currentManagePageUrl.replace('#', '');\r\n }\r\n return '#' + this.buildRoutePath(urlTemplate, routeParams);\r\n };\r\n UtilityServices.prototype.getRouteNameForBreadcrumb = function (routePartName, routeParams) {\r\n var partNameLowerCase = routePartName.toLowerCase();\r\n var name = partNameLowerCase;\r\n var navTab = this.getNavTab(this.dataServices.configData, parseInt(routeParams.navTabNum));\r\n var page = null;\r\n switch (true) {\r\n case partNameLowerCase.endsWith(this.constants.routeNameSuffix.dashboard):\r\n name = 'Back to Dashboard';\r\n break;\r\n case partNameLowerCase.endsWith(this.constants.routeNameSuffix.navTab):\r\n name = navTab.title;\r\n break;\r\n case partNameLowerCase.endsWith(this.constants.routeNameSuffix.pageTab):\r\n case partNameLowerCase.endsWith(this.constants.routeNameSuffix.signoff):\r\n case partNameLowerCase.endsWith(this.constants.routeNameSuffix.history):\r\n var _pageUrl = routeParams.pageUrl;\r\n if (_pageUrl === undefined) {\r\n _pageUrl = navTab.pages[0].url;\r\n }\r\n page = this.getPage(this.dataServices.configData, parseInt(routeParams.navTabNum), _pageUrl);\r\n name = page.title;\r\n break;\r\n case partNameLowerCase.endsWith(this.constants.routeNameSuffix.section):\r\n var section = this.getSection(this.dataServices.configData, parseInt(routeParams.navTabNum), routeParams.pageUrl, routeParams.sectionCode);\r\n name = section.heading;\r\n break;\r\n }\r\n return name;\r\n };\r\n UtilityServices.prototype.generateActionUrl = function (actionId, actionInfo, actionTypeInfo, defaultUrl) {\r\n if (actionInfo && actionTypeInfo) {\r\n var url = \"/\" + actionInfo.entityType + \"/\" + actionInfo.navTabNo + \"/\" + actionTypeInfo.pageUrl;\r\n if (actionId) {\r\n url += \"/\" + actionId;\r\n }\r\n return url;\r\n }\r\n else {\r\n return defaultUrl;\r\n }\r\n };\r\n UtilityServices.$inject = [\r\n '$filter',\r\n '$uibModal',\r\n '$window',\r\n '$timeout',\r\n '$interpolate',\r\n '$location',\r\n '$route',\r\n 'DataServices',\r\n 'Constants',\r\n '$q',\r\n 'Notifications'\r\n ];\r\n return UtilityServices;\r\n }());\r\n formApp.UtilityServices = UtilityServices;\r\n angular.module('formApp').factory('UtilityServices', [\r\n '$filter',\r\n '$uibModal',\r\n '$window',\r\n '$timeout',\r\n '$interpolate',\r\n '$location',\r\n '$route',\r\n 'DataServices',\r\n 'Constants',\r\n '$q',\r\n 'Notifications',\r\n function ($filter, $uibModal, $window, $timeout, $interpolate, $location, $route, DataServices, Constants, $q, notifications) { return new UtilityServices($filter, $uibModal, $window, $timeout, $interpolate, $location, $route, DataServices, Constants, $q, notifications); }\r\n ]);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=utilityService.js.map","var formApp;\r\n(function (formApp) {\r\n var ValidationService = (function () {\r\n function ValidationService(utilityServices, constants) {\r\n this.utilityServices = utilityServices;\r\n this.constants = constants;\r\n this.val = this.valueOfQuestion;\r\n }\r\n ValidationService.prototype.valueOfQuestion = function (params, responses, qCode, sCode, sIndex, pIndex, pageId) {\r\n if (params) {\r\n if (!pIndex && params['pIndex'] != undefined)\r\n pIndex = params['pIndex'];\r\n if (!sIndex && params['sIndex'] != undefined)\r\n sIndex = params['sIndex'];\r\n if (!sCode && params['sCode'] != undefined)\r\n sCode = params['sCode'];\r\n if (!pageId && params['pageId'] != undefined)\r\n pageId = params['pageId'];\r\n }\r\n if (responses &&\r\n pageId &&\r\n responses[pageId] &&\r\n responses[pageId][pIndex] &&\r\n responses[pageId][pIndex][sCode]) {\r\n if (sCode == 'documents') {\r\n var documentCount = params['documentCount'];\r\n var responseDocumentArray = responses[pageId][pIndex][sCode];\r\n if (responseDocumentArray.length >= documentCount) {\r\n return true;\r\n }\r\n }\r\n else {\r\n var response = responses[pageId][pIndex][sCode][sIndex];\r\n if (response) {\r\n for (var responseKey in response) {\r\n if (response.hasOwnProperty(responseKey)) {\r\n if (responseKey == qCode) {\r\n return response[responseKey];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return undefined;\r\n }\r\n };\r\n ValidationService.prototype.questionContains = function (params, responses, qCode, qValue, sCode, sIndex, pIndex, pageId) {\r\n var self = this;\r\n var val = self.valueOfQuestion(params, responses, qCode, sCode, sIndex, pIndex, pageId);\r\n if (!val || ($.isArray(val) && val.length == 0)) {\r\n return false;\r\n }\r\n return val.indexOf(qValue) > -1;\r\n };\r\n ValidationService.prototype.notEmpty = function (params, responses, qCode, sCode, sIndex, pIndex, pageId) {\r\n var self = this;\r\n var val = self.valueOfQuestion(params, responses, qCode, sCode, sIndex, pIndex, pageId);\r\n if (!val || ($.isArray(val) && val.length == 0)) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n ValidationService.prototype.validLength = function (params, responses, qCode, maxLength, sCode, sIndex, pIndex, pageId) {\r\n var self = this;\r\n if (!qCode || !maxLength) {\r\n return false;\r\n }\r\n var target = self.valueOfQuestion(params, responses, qCode, sCode, sIndex, pIndex, pageId);\r\n if (!target) {\r\n return true;\r\n }\r\n return target.length <= maxLength;\r\n };\r\n ValidationService.prototype.validNumeric = function (params, responses, qCode, maxNumericLength, minNumericLength, sCode, sIndex, pIndex, pageId) {\r\n var self = this;\r\n if (!minNumericLength) {\r\n minNumericLength = 1;\r\n }\r\n if (!qCode || !maxNumericLength || maxNumericLength < minNumericLength) {\r\n return false;\r\n }\r\n var target = self.valueOfQuestion(params, responses, qCode, sCode, sIndex, pIndex, pageId);\r\n if (!target) {\r\n return true;\r\n }\r\n var regx = new RegExp('^[0-9]{' + minNumericLength + ',' + maxNumericLength + '}$');\r\n return regx.test(target);\r\n };\r\n ValidationService.prototype.validDecimal = function (params, responses, qCode, maxNumericLength, minNumericLength, sCode, sIndex, pIndex, pageId) {\r\n var self = this;\r\n if (!minNumericLength) {\r\n minNumericLength = 1;\r\n }\r\n if (!qCode || !maxNumericLength || maxNumericLength < minNumericLength) {\r\n return false;\r\n }\r\n var target = self.valueOfQuestion(params, responses, qCode, sCode, sIndex, pIndex, pageId);\r\n if (!target) {\r\n return true;\r\n }\r\n var pattern = /^(\\d+\\.?\\d{0,2}|\\.\\d{0,2})$/;\r\n var regx = new RegExp(pattern);\r\n return regx.test(target);\r\n };\r\n ValidationService.prototype.validAlphabetic = function (params, responses, qCode, sCode, sIndex, pIndex, pageId) {\r\n var self = this;\r\n if (!qCode) {\r\n return false;\r\n }\r\n var target = self.valueOfQuestion(params, responses, qCode, sCode, sIndex, pIndex, pageId);\r\n if (!target) {\r\n return true;\r\n }\r\n var regx = new RegExp('^[a-zA-Z]+$');\r\n return regx.test(target);\r\n };\r\n ValidationService.prototype.validEmailAddress = function (params, responses, qCode, sCode, sIndex, pIndex, pageId) {\r\n var self = this;\r\n if (!qCode) {\r\n return false;\r\n }\r\n var target = this.valueOfQuestion(params, responses, qCode, sCode, sIndex, pIndex, pageId);\r\n if (!target) {\r\n return true;\r\n }\r\n return self.utilityServices.matchEmailRegx(target);\r\n };\r\n ValidationService.prototype.validDate = function (params, responses, qCode, sCode, sIndex, pIndex, pageId) {\r\n var self = this;\r\n if (!qCode) {\r\n return false;\r\n }\r\n var day = self.notEmpty(params, responses, qCode + '-day', sCode, sIndex, pIndex, pageId);\r\n var month = self.notEmpty(params, responses, qCode + '-month', sCode, sIndex, pIndex, pageId);\r\n var year = self.notEmpty(params, responses, qCode + '-year', sCode, sIndex, pIndex, pageId);\r\n var target;\r\n if (day || month || year) {\r\n target = self.valueOfQuestion(params, responses, qCode, sCode, sIndex, pIndex, pageId);\r\n }\r\n else {\r\n return true;\r\n }\r\n var isValidDate = moment(target, 'YYYY-MM-DD', true).isValid();\r\n if (qCode !== undefined\r\n && (qCode === 'partdsixmonthreviewrecommendationDateCompleted'\r\n || qCode === 'partdsixmonthreviewrecommendationEstimatedCompletionDate'\r\n || qCode === 'partdsixmonthreviewopendisclosureHasOpenDisclosureCompletionDate'\r\n || qCode === 'partdsixmonthreviewopendisclosureHasOpenDisclosureOccuredDate'\r\n || qCode === 'partdtwelvemonthreviewrecommendationEstimatedCompletionDate')\r\n && responses['12-1'] != null && responses['12-1'][0] != null) {\r\n return true;\r\n }\r\n if (isValidDate) {\r\n var minDate = moment(self.constants.minimumDate).format('YYYY-MM-DD');\r\n return (self.dateDifferenceInDays(target, minDate) >= 0 ? true : false);\r\n }\r\n return isValidDate;\r\n };\r\n ValidationService.prototype.isDateSameOrAfter = function (params, responses, qCode, minYear, sCode, sIndex, pIndex, pageId) {\r\n var self = this;\r\n if (!qCode || isNaN(minYear)) {\r\n return false;\r\n }\r\n var target = self.valueOfQuestion(params, responses, qCode, sCode, sIndex, pIndex, pageId);\r\n if (!target) {\r\n return true;\r\n }\r\n var dateMoment = moment(target, 'YYYY-MM-DD', true);\r\n return (dateMoment.isValid() && dateMoment.isSameOrAfter(minYear.toString() + '-01-01'));\r\n };\r\n ValidationService.prototype.dateDifferenceInDays = function (sDate, tDate) {\r\n var daysDifference = null;\r\n var sourceDate = moment(sDate, 'YYYY-MM-DD', true);\r\n var targetDate = moment(tDate, 'YYYY-MM-DD', true);\r\n if (sourceDate.isValid() && targetDate.isValid()) {\r\n daysDifference = sourceDate.diff(targetDate, 'days');\r\n }\r\n else {\r\n return null;\r\n }\r\n return daysDifference;\r\n };\r\n ValidationService.prototype.validDateRange = function (params, responses, qCode, sCode, sIndex, pIndex, pageId) {\r\n var self = this;\r\n if (!self.validDate(params, responses, qCode, sCode, sIndex, pIndex, pageId)) {\r\n return 'invalid';\r\n }\r\n var target = self.valueOfQuestion(params, responses, qCode, sCode, sIndex, pIndex, pageId);\r\n var date = moment(target, 'YYYY-MM-DD', true);\r\n if (moment().isBefore(date, 'day')) {\r\n return 'future';\r\n }\r\n if (moment().isSame(date, 'day')) {\r\n return 'today';\r\n }\r\n if (moment().isAfter(date, 'day')) {\r\n return 'past';\r\n }\r\n return '';\r\n };\r\n ValidationService.prototype.validTime = function (params, responses, qCode, sCode, sIndex, pIndex, pageId) {\r\n var self = this;\r\n if (!qCode) {\r\n return false;\r\n }\r\n var hour = self.notEmpty(params, responses, qCode + '-hour', sCode, sIndex, pIndex, pageId);\r\n var minute = self.notEmpty(params, responses, qCode + '-minute', sCode, sIndex, pIndex, pageId);\r\n var target;\r\n if (hour || minute) {\r\n target = self.valueOfQuestion(params, responses, qCode, sCode, sIndex, pIndex, pageId);\r\n }\r\n else {\r\n return true;\r\n }\r\n var isValidTime = moment(target, 'HH:mm', true).isValid() && target !== '24:00';\r\n return isValidTime;\r\n };\r\n ValidationService.prototype.isAdult = function (params, responses, qCode, sCode, sIndex, pIndex, pageId) {\r\n var self = this;\r\n if (!qCode) {\r\n return false;\r\n }\r\n var target = self.valueOfQuestion(params, responses, qCode, sCode, sIndex, pIndex, pageId);\r\n if (!target) {\r\n return false;\r\n }\r\n var date = moment(target, 'YYYY-MM-DD', true);\r\n if (date.isValid()) {\r\n return self.utilityServices.isAdult(date.year(), (date.month() + 1), date.date());\r\n }\r\n return false;\r\n };\r\n ValidationService.$inject = [\r\n 'UtilityServices',\r\n 'Constants'\r\n ];\r\n return ValidationService;\r\n }());\r\n formApp.ValidationService = ValidationService;\r\n angular.module('formApp').factory('ValidationService', [\r\n 'UtilityServices', 'Constants',\r\n function (utilityServices, constants) {\r\n return new ValidationService(utilityServices, constants);\r\n }\r\n ]);\r\n})(formApp || (formApp = {}));\r\n//# sourceMappingURL=validationService.js.map"]}