{"version":3,"sources":["./src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/distribute-team-members.component.html","./src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/comments/classification-comments.component.ts","./src/formio-custom-components/src/lib/custom-component/components/master-details-resource-wrapper/add-edit-dialog/add-edit-dialog.component.html","./src/formio-custom-components/src/lib/shared/utility/user.ts","./src/formio-custom-components/src/lib/custom-component/components/org-wrapper/org-wrapper.formio.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/components/member-length-icon/member-length-icon.component.html","./src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/question-content/question-content.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/executive-plan/add-edit-executive-plan/add-edit-executive-plan.dialog.ts","./src/app/shared/components/notifications/notification-options/notification-options.component.ts","./src/formio-custom-components/src/lib/custom-component/components/table-tree-wrapper/add-edit-dialog/add-edit-dialog.component.html","./src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/comments/classification-comments.component.html","./src/formio-custom-components/src/lib/shared/components/delete-dialog/delete-dialog.module.ts","./src/formio-custom-components/src/lib/custom-component/components/html-editor-wrapper/html-editor-wrapper.component.ts","./src/app/shared/components/not-found/not-found.component.ts","./src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/status/classification-indicator-status.component.ts","./util.inspect (ignored)","./src/formio-custom-components/src/lib/custom-component/components/reviewing-evaluation-wrapper/reviewing-evaluation-wrapper.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/masar-criterion-preview.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-decision/question-decision/masar-question-decision.component.html","./src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/components/sessions-tab/sessions-tab.component.html","zlib (ignored)","./src/formio-custom-components/src/lib/custom-component/components/table-tree-wrapper/table-tree-wrapper.formio.ts","./src/formio-custom-components/src/lib/custom-component/components/map-wrapper/map-wrapper.component.html","./src/formio-custom-components/src/lib/custom-component/components/org-wrapper/reject-reason-org-item/reject-reason-org-item.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/criteria-preview/total-statistic-preview/masar-total-statistic-preview.component.html","./src/formio-custom-components/src/lib/custom-component/components/master-details-resource-wrapper/master-details-resource-wrapper.component.html","./src/formio-custom-components/src/lib/custom-component/dialogs/confirmation-dialog/confirmation-dialog.component.ts","fs (ignored)","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/decision-summary/add-edit-response/masar-add-edit-response.dialog.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/members-selector/members-selector.component.html","./src/formio-custom-components/src/lib/custom-component/components/master-details-resource-wrapper/master-details-resource-wrapper.formio.ts","./src/formio-custom-components/src/lib/custom-component/components/master-details-resource-wrapper/master-details-resource-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/decision-summary/masar-decision-summary.component.html","./src/formio-custom-components/src/lib/custom-component/dialogs/bottom-sheet-overview/bottom-sheet-overview.component.ts","http (ignored)","./src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/category-card/category-card.component.ts","./src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/indicator/classification-indicator.component.ts","https (ignored)","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/index.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/distribute-common-questions.wrapper.ts","./src/formio-custom-components/src/lib/custom-component/components/form-key-wrapper/form-key-wrapper.component.html","./src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/control/assessment-control.component.html","./src/app/shared/material.module.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/questions-resource-list/questions-resource-list.component.html","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/questions-list/questions-list.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/executive-plan/add-edit-executive-plan/masar-add-edit-executive-plan.dialog.html","url (ignored)","./src/app/shared/components/notifications/notifications-modal/notifications-modal.component.html","./src/formio-custom-components/src/lib/custom-component/components/template-wrapper/template-process/services/template-objects.service.ts","./src/formio-custom-components/src/lib/custom-component/components/dynamic-chart-wrapper/dynamic-chart-wrapper.component.html","./src/formio-custom-components/src/lib/custom-component/components/table-tree-wrapper/table-tree-wrapper.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/services/criterions.service.ts","./src/formio-custom-components/src/lib/custom-component/dialogs/formio-dialog/formio-dialog.component.ts","./src/app/shared/directives/has-role.directive.ts","./src/formio-custom-components/src/lib/custom-component/dialogs/bottom-sheet-overview/bottom-sheet-overview.component.html","crypto (ignored)","./src/formio-custom-components/src/lib/custom-component/components/comments-history-wrapper/comments-history-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/add-edit-summary/add-edit-summary.dialog.ts","./src/formio-custom-components/src/lib/custom-component/components/table-view-wrapper/table-view-wrapper.formio.ts","./src/app/shared/components/notifications/notifications-modal/notifications-modal.component.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/components/criterions-tree/criterions-tree.component.html","./src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/total-statistic/total-statistic.component.html","./src/formio-custom-components/src/lib/custom-component/components/indicators-wrapper/indicator/indicator.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/question-preview/question-preview.component.ts","./src/formio-custom-components/src/lib/custom-component/components/event-tree-wrapper/event-tree-wrapper.formio.ts","./src/formio-custom-components/src/lib/shared/pipes/render-template.pipe.ts","./src/app/core/services/account.service.ts","./src/formio-custom-components/src/lib/custom-component/components/card-wrapper/card-wrapper.formio.ts","./src/formio-custom-components/src/lib/custom-component/components/proccess-requirments-wrapper/proccess-requirments-wrapper.formio.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/criteria-preview/masar-criteria-preview.component.html","./src/app/modules/requests/dashlet-filter.adapter.ts","./src/formio-custom-components/src/lib/custom-component/components/custom-select/models/custom-options.ts","./src/app/shared/components/not-found/not-found.component.html","./src/formio-custom-components/src/lib/custom-component/components/org-wrapper/view-form/view-form.component.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/components/sessions-tab/sessions-tab.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/executive-plan/executive-plan.component.html","./src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/components/criterions-tab/criterions-tab.component.html","./src/environments/environment.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/pipes/localized-date.pipe.ts","./src/formio-custom-components/src/lib/custom-component/components/calendar-wrapper/calendar-wrapper.formio.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/question-item/question-item.component.ts","./src/formio-custom-components/src/lib/custom-component/components/form-key-wrapper/form-by-key/form-by-key.component.html","./src/formio-custom-components/src/lib/custom-component/components/template-wrapper/template-wrapper.formio.ts","./src/formio-custom-components/src/lib/custom-component/components/reviewing-evaluation-wrapper/criterion-evaluation/criterion-evaluation.component.ts","./src/formio-custom-components/src/lib/custom-component/components/grouped-table-wrapper/grouped-table-wrapper.component.ts","./src/formio-custom-components/src/lib/shared/utility/index.ts","./src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/tooltip-dialog/tooltip-dialog.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/copy-decision/copy-decision.component.html","./src/formio-custom-components/src/lib/custom-component/components/resource-autocomplete-wrapper/resource-autocomplete-wrapper.formio.ts","./src/formio-custom-components/src/lib/custom-component/components/template-wrapper/template-wrapper.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/question-preview/question-preview.component.html","./src/formio-custom-components/src/lib/shared/pipes/sort.pipe.ts","./src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/classification-indicators-wrapper.formio.ts","./src/app/core/interceptors/license.interceptor.ts","./src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/status/assessment-status.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criteria-preview/optional-inputs-preview/optional-inputs-preview.component.ts","./src/formio-custom-components/src/lib/custom-component/components/calendar-wrapper/schedule-dialog/schedule-dialog.component.html","./src/formio-custom-components/src/lib/custom-component/components/custom-select/custom-select.module.ts","./src/formio-custom-components/src/lib/custom-component/components/reviewing-evaluation-wrapper/general-report/general-report.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/base.component.ts","./src/app/shared/pipes/time-ago.pipe.ts","./src/formio-custom-components/src/lib/material.module.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/services/index.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/question-preview/masar-question-preview.component.html","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/base/base.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/models/visit-metadata.model.ts","./src/formio-custom-components/src/lib/custom-dynamic-components.module.ts","./src/formio-custom-components/src/lib/custom-component/components/table-view-wrapper/table-view-wrapper.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-decision/masar-criterion-decision.component.html","./src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/status/assessment-status.component.html","./src/formio-custom-components/src/lib/custom-component/components/form-key-wrapper/form-key-wrapper.formio.ts","./src/app/shared/components/page/page.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/executive-plan/executive-plan.component.ts","./src/app/core/helpers/translate-loader.helper.ts","./src/app/core/helpers/formio-enviroment.helper.ts","./src/formio-custom-components/src/lib/custom-component/components/org-wrapper/org-reviewer-filter/org-reviewer-filter.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/services/masar-criterions.service.ts","./src/app/shared/components/section/section.component.html","./src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/classification-indicators-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/comments-history-wrapper/comments-history-dialog/comments-history-dialog.component.ts","./src/formio-custom-components/src/lib/custom-component/components/charts-wrapper/chart/chart.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/executive-plan/masar-executive-plan.component.ts","./src/formio-custom-components/src/lib/custom-component/components/custom-select/models/index.ts","./src/formio-custom-components/src/lib/custom-component/components/html-editor-wrapper/html-editor-wrapper.formio.ts","./src/formio-custom-components/src/lib/custom-component/components/custom-select/custom-select.wrapper.ts","./src/formio-custom-components/src/lib/custom-component/components/redirection-button-wrapper/redirection-button-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/grouped-table-wrapper/grouped-table-wrapper.component.html","./src/app/shared/components/notifications/notification-item/notification-item.component.html","./src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/distribute-team-members.component.ts","./src/formio-custom-components/src/lib/custom-component/components/map-wrapper/map-wrapper.formio.ts","./src/formio-custom-components/src/lib/custom-component/components/stepper-wrapper/stepper-wrapper.component.html","./src/formio-custom-components/src/lib/custom-component/components/template-wrapper/edit-template-dialog/edit-template-dialog.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/pipes/evaluation-score-message.pipe.ts","./src/formio-custom-components/src/lib/shared/pipes/time-ago.pipe.ts","./src/formio-custom-components/src/lib/shared/pipes/calculated-row-total.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/decision-summary.component.html","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/services/questions-store.service.ts","./src/formio-custom-components/src/lib/custom-component/components/stepper-wrapper/stepper-wrapper.formio.ts","./src/formio-custom-components/src/lib/custom-component/components/calendar-wrapper/schedule-dialog/schedule-dialog.component.ts","./src/app/modules/pages/pages.component.html","./src/formio-custom-components/src/lib/custom-component/helpers/json.helper.ts","./src/formio-custom-components/src/lib/custom-component/components/map-wrapper/geo-location.service.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/add-edit-response/add-edit-response.dialog.html","./src/app/shared/components/request-feedback/request-feedback.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/decision-summary/add-edit-response/masar-add-edit-response.dialog.ts","./src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/classification-indicators-wrapper.component.html","./src/formio-custom-components/src/lib/formio-custom-component.module.ts","./src/formio-custom-components/src/lib/custom-component/components/number-counter-wrapper/number-counter-wrapper.component.html","./src/formio-custom-components/src/lib/custom-component/components/indicators-wrapper/indicator/indicator.component.ts","./src/app/core/guards/auth.guard.ts","./src/formio-custom-components/src/lib/custom-component/components/custom-select/custom-select.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/executive-plan/add-edit-executive-plan/masar-add-edit-executive-plan.dialog.ts","./src/app/core/services/title.service.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/questions-list/questions-list.component.ts","./src/app/shared/components/section/section.component.ts","./src/app/shared/components/not-allowed/not-allowed.component.ts","./src/formio-custom-components/src/lib/custom-component/components/map-wrapper/map-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-decision/criterion-decision.component.html","./src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/distribute-team-members.module.ts","./src/formio-custom-components/src/lib/custom-component/components/redirection-button-wrapper/redirection-button-wrapper.component.html","./src/formio-custom-components/src/lib/custom-component/components/resource-autocomplete-wrapper/pipe/css-class-display.pipe.ts","./src/app/core/services/logger.service.ts","./src/formio-custom-components/src/lib/custom-component/dialogs/extra-form-dialog/extra-form-dialog.component.ts","./src/formio-custom-components/src/lib/custom-component/components/event-tree-wrapper/add-edit-event-item/add-edit-event-item.component.html","./src/app/shared/shared.module.ts","./src/formio-custom-components/src/lib/custom-component/components/editgrid-resource-wrapper/add-edit-editgrid-content/add-edit-editgrid-content.component.html","./src/formio-custom-components/src/lib/custom-component/components/toast.helper.ts","./src/formio-custom-components/src/lib/custom-component/components/editgrid-resource-wrapper/editgrid-resource-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/hijri-date-wrapper/hijri-date.component.ts","./src/app/shared/components/not-allowed/not-allowed.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/criteria-preview/optional-inputs-preview/masar-optional-inputs-preview.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/add-edit-summary/add-edit-summary.dialog.html","./src/formio-custom-components/src/lib/custom-component/components/resource-dropdown-wrapper/resource-dropdown-wrapper.formio.ts","./src/formio-custom-components/src/lib/custom-component/components/indicators-wrapper/indicators-wrapper.component.html","./src/formio-custom-components/src/lib/custom-component/components/form-key-wrapper/form-by-key/form-by-key.component.ts","./src/formio-custom-components/src/lib/custom-component/components/charts-wrapper/charts-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/tooltip-dialog/tooltip-dialog.component.ts","./src/formio-custom-components/src/lib/shared/directives/safeHtml.directive.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criteria-preview/criteria-preview.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-decision/question-decision/question-decision.component.html","./src/formio-custom-components/src/lib/custom-component/components/reviewing-evaluation-wrapper/criterion-evaluation/criterion-evaluation.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-decision/question-decision/question-decision.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/criteria-preview/masar-criteria-preview.component.ts","./node_modules/moment/locale sync ^\\.\\/.*$","./src/formio-custom-components/src/lib/custom-component/components/org-wrapper/reject-reason-org-item/reject-reason-org-item.component.ts","./src/app/modules/formio-demo/formio-demo.component.ts","./src/formio-custom-components/src/lib/shared/pipes/display-time.ts","./src/formio-custom-components/src/lib/custom-component/components/indicators-wrapper/indicators-wrappe.formio.ts","./src/formio-custom-components/src/lib/shared/directives/split-area.directive.ts","./src/app/app.component.ts","./src/formio-custom-components/src/lib/custom-component/dialogs/formio-dialog/formio-dialog.component.html","./src/formio-custom-components/src/lib/custom-component/components/calendar-wrapper/calendar.options.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/masar-criterion-preview.component.html","./src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/question-card/question-card.component.ts","./src/formio-custom-components/src/lib/custom-component/components/rating-wrapper/rating-wrapper.component.html","./src/formio-custom-components/src/lib/custom-component/components/calendar-wrapper/calendar-wrapper.component.html","./src/formio-custom-components/src/lib/custom-component/components/dynamic-chart-wrapper/dynamic-chart-wrapper.formio.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/models/executive-plan.model.ts","./src/formio-custom-components/src/lib/custom-component/components/editgrid-resource-wrapper/editgrid-resource-wrapper.component.html","./src/formio-custom-components/src/lib/shared/components/skeleton/skeleton.module.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-decision/masar-criterion-decision.component.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/index.ts","./src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/question-content/question-content.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/directive/allowed-summary-type.directive.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/distribute-common-questions.component.ts","./src/app/shared/components/footer/footer.component.html","./src/app/shared/components/header/header.component.html","./src/formio-custom-components/src/lib/custom-component/components/redirection-button-wrapper/redirection-button-wrapper.formio.ts","./src/formio-custom-components/src/lib/custom-component/components/hijri-date-wrapper/hijri-date.component.html","./src/formio-custom-components/src/lib/custom-component/components/comments-history-wrapper/comments-history-wrapper.component.html","./src/formio-custom-components/src/lib/shared/directives/count-up.directive.ts","./src/formio-custom-components/src/lib/shared/pipes/formio-pipes.module.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/index.ts","./src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/control/assessment-control.component.ts","./src/app/modules/notifications/notifications.service.ts","./src/app/modules/requests/requests.service.ts","./src/formio-custom-components/src/lib/custom-component/components/event-tree-wrapper/add-edit-event-item/add-edit-event-item.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/mistake-list/masar-mistake-list.component.ts","./src/formio-custom-components/src/lib/custom-component/components/number-counter-wrapper/number-counter-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/table-tree-wrapper/add-edit-dialog/add-edit-dialog.component.ts","./src/formio-custom-components/src/lib/custom-component/components/resource-autocomplete-wrapper/resource-autocomplete-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criteria-preview/total-statistic-preview/total-statistic-preview.component.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/distribute-common-questions.component.html","./src/formio-custom-components/src/lib/custom-component/components/rating-wrapper/rating-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/decision-summary.component.ts","./src/app/core/guards/role.guard.ts","./src/formio-custom-components/src/lib/custom-component/components/stepper-wrapper/stepper-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/reviewing-evaluation-wrapper/general-report/general-report.component.html","./src/app/app.module.ts","./src/formio-custom-components/src/lib/custom-component/components/charts-wrapper/charts-wrapper.formio.ts","./src/app/modules/formio-demo/formio-demo.component.html","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/questions-container/questions-container.component.html","./src/formio-custom-components/src/lib/custom-component/components/dynamic-chart-wrapper/dynamic-chart-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/services/itimad-criterions.service.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/questions-resource-list/questions-resource-list.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/mistake-list/add-edit-mistake/add-edit-mistake.dialog.ts","./src/formio-custom-components/src/lib/custom-component/components/comments-history-wrapper/comments-history-wrapper.formio.ts","./src/app/shared/components/footer/footer.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/pipes/display-order-pattern.pipe.ts","./src/app/core/helpers/initializer.helper.ts","./src/app/shared/components/header/header.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/mistake-list/masar-mistake-list.component.html","./src/formio-custom-components/src/lib/custom-component/components/indicators-wrapper/models/indicator.model.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/const/index.ts","./src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/assessment-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/total-statistic/total-statistic.component.ts","./src/formio-custom-components/src/lib/custom-component/components/custom-select/custom-select.component.ts","./src/formio-custom-components/src/lib/custom-component/components/template-wrapper/edit-template-dialog/edit-template-dialog.component.ts","./src/formio-custom-components/src/lib/custom-component/components/pdf-wrapper/pdf-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/reviewing-evaluation-wrapper/reviewing-evaluation-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/calendar-wrapper/calendar-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/org-wrapper/org.service.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/members-selector/members-selector.component.ts","./src/formio-custom-components/src/lib/custom-component/components/org-wrapper/add-edit-org-item/add-edit-org-item.component.html","./src/formio-custom-components/src/lib/custom-component/components/template-wrapper/template-process/document-editor-sidebar/document-editor-sidebar.component.html","./src/app/core/helpers/external-service.helper.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/distribute-team-members.wrapper.ts","./src/formio-custom-components/src/lib/custom-component/components/indicators-wrapper/question/indicator-question.component.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/components/team-members/team-members.component.html","./src/formio-custom-components/src/lib/custom-component/components/number-counter-wrapper/number-counter-wrapper.formio.ts","./src/formio-custom-components/src/lib/custom-component/components/table-tree-wrapper/table-tree-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/pipes/members-length.pipe.ts","./src/formio-custom-components/src/lib/shared/observables/destroy.ts","./src/formio-custom-components/src/lib/custom-component/components/html-editor-wrapper/html-editor-wrapper.component.html","./src/formio-custom-components/src/lib/custom-component/components/org-wrapper/org-wrapper.component.html","./src/formio-custom-components/src/lib/custom-component/components/template-wrapper/template-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/table-view-wrapper/table-view-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/card-wrapper/card-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/reviewing-evaluation-wrapper/reviewing-evaluation-wrapper.formio.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/validators.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criteria-preview/total-statistic-preview/total-statistic-preview.component.html","./src/formio-custom-components/src/lib/custom-component/components/pdf-wrapper/pdf-wrapper.formio.ts","./src/formio-custom-components/src/lib/custom-component/helpers/sort.helper.ts","./src/formio-custom-components/src/lib/custom-component/dialogs/extra-form-dialog/extra-form-dialog.component.html","./src/formio-custom-components/src/lib/custom-component/components/pdf-wrapper/pdf-wrapper.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-decision/question-decision/masar-question-decision.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/executive-plan/add-edit-executive-plan/add-edit-executive-plan.dialog.html","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/distribute-common-questions.module.ts","./src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/status/classification-indicator-status.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criterion-preview.component.html","./src/app/core/consts/index.ts","./src/formio-custom-components/src/lib/custom-component/components/hijri-date-wrapper/hijri-date-wrapper.formio.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/models/execute-visit-result.model.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/components/criterions-tree/criterions-tree.component.ts","./src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/category-card/category-card.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criteria-preview/optional-inputs-preview/optional-inputs-preview.component.html","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/base/index.ts","./src/formio-custom-components/src/lib/custom-component/components/org-wrapper/org-reviewer-filter/org-reviewer-filter.component.html","./src/formio-custom-components/src/lib/shared/directives/display-external-actions.directive.ts","./src/app/core/services/config.service.ts","./src/formio-custom-components/src/lib/shared/pipes/get-value.pipe.ts","./node_modules/@ionic/core/dist/esm lazy ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criteria-preview/criteria-preview.component.ts","./src/formio-custom-components/src/lib/custom-component/components/visit-schedule/visit-schedule.component.html","./src/formio-custom-components/src/lib/shared/pipes/calculated-ratio.ts","./src/formio-custom-components/src/lib/custom-component/components/custom-select/services/custom-select.service.ts","./src/formio-custom-components/src/lib/custom-component/components/org-wrapper/add-edit-org-item/add-edit-org-item.component.ts","./src/formio-custom-components/src/lib/custom-component/components/visit-schedule/visit-schedule.formio.ts","./src/app/shared/components/page/page.component.ts","./src/formio-custom-components/src/lib/shared/directives/split-handle.directive.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/question-item/question-item.component.html","./src/formio-custom-components/src/lib/custom-component/components/resource-autocomplete-wrapper/pipe/evaluation-display.pipe.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterions-tree.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criterion-preview.component.ts","./src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/optional-inputs/optional-inputs.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/mistake-list/add-edit-mistake/add-edit-mistake.dialog.html","./src/formio-custom-components/src/lib/custom-component/components/editgrid-resource-wrapper/add-edit-editgrid-content/add-edit-editgrid-content.component.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/services/distribute.service.ts","./src/formio-custom-components/src/lib/custom-component/components/proccess-requirments-wrapper/proccess-requirments-wrapper.component.html","./src/formio-custom-components/src/lib/custom-component/components/charts-wrapper/chart/chart.component.html","./src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/assessment-wrapper.formio.ts","./src/formio-custom-components/src/lib/shared/utility/object.ts","./src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/question/classification-indicator-question.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/masar-criterions-tree.component.ts","./src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/optional-inputs/optional-inputs.component.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/services/common-questions.service.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/models/execute-visit.model.ts","./src/formio-custom-components/src/lib/shared/components/delete-dialog/delete-dialog/delete-dialog.component.ts","./src/app/core/consts/config.const.ts","./src/formio-custom-components/src/lib/custom-component/components/event-tree-wrapper/event-tree-wrapper.component.html","./src/formio-custom-components/src/lib/shared/pipes/get-member-name.pipe.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/add-edit-response/add-edit-response.dialog.ts","./src/app/modules/services-catalog/life-cycle-service.config.js","./src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/models/config.model.ts","./src/app/shared/components/notifications/notification-item/notification-item.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/masar-criterions-tree.component.html","./src/app/shared/components/base.component.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/questions-container/questions-container-side.component.ts.QuestionsContainerSideComponent.html","./src/formio-custom-components/src/lib/custom-component/components/org-wrapper/org-wrapper.component.ts","./src/app/core/helpers/logger.helper.ts","./src/formio-custom-components/src/lib/custom-component/components/charts-wrapper/charts-wrapper.component.html","./src/formio-custom-components/src/lib/custom-component/components/form-key-wrapper/form-key-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/assessment-wrapper.component.html","./src/formio-custom-components/src/lib/shared/model/roles.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/execute-visit-wrapper.formio.ts","./src/app/core/core.module.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/components/member-length-icon/member-length-icon.component.ts","./src/formio-custom-components/src/lib/custom-component/components/indicators-wrapper/indicators-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/custom-select/services/index.ts","./src/environments/environmentLoader.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/question-preview/masar-question-preview.component.ts","./src/app/shared/components/request-feedback/request-feedback.component.ts","./src/app/modules/dynamic-qr/dynamic-qr.component.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/directives/scroll-retainer.directive.ts","./src/app/core/services/session.service.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/models/copy.model.ts","./src/formio-custom-components/src/lib/custom-component/components/master-details-resource-wrapper/add-edit-dialog/add-edit-dialog.component.ts","./src/app/shared/components/notifications/notification-options/notification-options.component.html","./src/formio-custom-components/src/lib/custom-component/components/template-wrapper/template-process/document-editor-sidebar/document-editor-sidebar.component.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/questions-container/questions-container.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-decision/criteria-decision/masar-criteria-decision.component.html","./src/formio-custom-components/src/lib/shared/directives/split.directive.ts","./src/formio-custom-components/src/lib/custom-component/components/grouped-table-wrapper/grouped-table-wrapper.formio.ts","./src/formio-custom-components/src/lib/shared/components/skeleton/skeleton.component.ts.FormIOSkeletonComponent.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/execute-visit-wrapper.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-decision/criteria-decision/criteria-decision.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-decision/criteria-decision/criteria-decision.component.ts","./src/app/core/services/switch-lang.service.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/summary-filter/summary-filter.component.ts","./src/formio-custom-components/src/lib/custom-component/components/rating-wrapper/rating-wrapper.formio.ts","./src/app/modules/dynamic-qr/dynamic-qr.component.html","./src/app/core/paginator-i18n.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/executive-plan/masar-executive-plan.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-decision/criteria-decision/masar-criteria-decision.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterion-decision/criterion-decision.component.ts","./src/formio-custom-components/src/public-api.ts","./src/formio-custom-components/src/lib/custom-component/components/visit-schedule/models/options.ts","./src/formio-custom-components/src/lib/shared/pipes/calculated-row-ratio.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/criterions-tree.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/copy-decision/copy-decision.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/execute-visit-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/decision-summary/masar-decision-summary.component.ts","./src/formio-custom-components/src/lib/custom-component/components/proccess-requirments-wrapper/proccess-requirments-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/components/team-members/team-members.component.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/components/base.component.ts","./src/formio-custom-components/src/lib/custom-component/components/template-wrapper/template-process/template-process.component.html","./src/formio-custom-components/src/lib/custom-component/components/org-wrapper/view-form/view-form.component.html","./src/formio-custom-components/src/lib/custom-component/components/editgrid-resource-wrapper/editgrid-resource-wrapper.formio.ts","./src/formio-custom-components/src/lib/custom-component/components/resource-autocomplete-wrapper/resource-autocomplete-wrapper.component.html","./src/formio-custom-components/src/lib/custom-component/components/custom-select/index.ts","./src/app/app-routing.module.ts","./src/formio-custom-components/src/lib/custom-component/components/indicators-wrapper/status/indicator-status.component.html","./src/formio-custom-components/src/lib/shared/components/skeleton/skeleton.component.ts","./src/formio-custom-components/src/lib/custom-component/components/event-tree-wrapper/event-tree-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/criteria-preview/optional-inputs-preview/masar-optional-inputs-preview.component.ts","./src/formio-custom-components/src/lib/custom-component/components/comments-history-wrapper/comments-history-dialog/comments-history-dialog.component.html","./src/formio-custom-components/src/lib/custom-component/components/indicators-wrapper/status/indicator-status.component.ts","./src/formio-custom-components/src/lib/custom-component/components/resource-dropdown-wrapper/resource-dropdown-wrapper.component.ts","./src/formio-custom-components/src/lib/custom-component/components/visit-schedule/visit-schedule.component.ts","./src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/indicator/classification-indicator.component.html","./src/formio-custom-components/src/lib/custom-component/components/resource-dropdown-wrapper/resource-dropdown-wrapper.component.html","./src/formio-custom-components/src/lib/custom-component/components/distribute-team-members/components/criterions-tab/criterions-tab.component.ts","./src/app/modules/pages/pages.component.ts","./src/formio-custom-components/src/lib/custom-component/components/indicators-wrapper/question/indicator-question.component.html","./src/formio-custom-components/src/lib/custom-component/components/template-wrapper/template-process/template-process.component.ts","./src/formio-custom-components/src/lib/custom-component/components/assessment-wrapper/question-card/question-card.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/summary-filter/summary-filter.component.html","./src/formio-custom-components/src/lib/custom-component/dialogs/confirmation-dialog/confirmation-dialog.component.html","./src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/question/classification-indicator-question.component.ts","./src/formio-custom-components/src/lib/shared/pipes/calculated-total.ts","./src/app/app.component.html","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/models/final-report-mistakes.model.ts","./src/formio-custom-components/src/lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/criteria-preview/total-statistic-preview/masar-total-statistic-preview.component.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/users-sessions-dialog/users-sessions-dialog.component.ts","./src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/components/questions-container/questions-container-side.component.ts","./src/main.ts","./src/formio-custom-components/src/lib/custom-component/components/card-wrapper/card-wrapper.component.html","./src/app/modules/services-catalog/services.service.ts","./$_lazy_route_resource lazy namespace object","./src/formio-custom-components/src/lib/custom-component/components/classification-indicators-wrapper/models/classification-indicators.model.ts"],"names":[],"mappings":"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iBAAiB,CAAmB;QAHxD,qBAAgB,GAAG,KAAK,CAAC;IAG4C,CAAC;IAEtE,QAAQ;QACN,IAAI,CAAC,iBAAiB,CAAC,UAAU;aAC9B,IAAI,CAAC,sDAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,WAAW,CAAC,WAAmB;QACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC;aAC7D,IAAI,CACH,sDAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxB,qDAAQ,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAChC,CAAC,CAAC,CACH,CAAC;IACN,CAAC;CAEF;;;;;;;;;;;;ACrCD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2B;;;;;;;;;;;;AChSA;AAAA;AAAA;AAAyE;AAQlE,MAAM,mBAAmB;IAE/B,YAAmB,SAA4C,EAC9B,IAAS;QADvB,cAAS,GAAT,SAAS,CAAmC;QAC9B,SAAI,GAAJ,IAAI,CAAK;IAC1C,CAAC;IACD,QAAQ;IACR,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,IAAI;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;CACD;;;;;;;;;;;;;;;;;;;;;AC1B8E;AAC5B;AACX;AACiC;AAQlE,MAAM,mBAAoB,SAAQ,s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AAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,QAAQ,EACnB,CAAC,CAAC,IAAI,CAAC;IACR,OAAO,MAAM,CAAC;AACf,CAAC;;;;;;;;;;;;ACvBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AA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","file":"main-es2015.js","sourcesContent":["\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { forkJoin, Subscription } from \"rxjs\";\r\nimport { showToast } from \"../../toast.helper\";\r\nimport { ClassificationIndicator, ClassificationStatus, ManagersNotes } from \"../models/classification-indicators.model\";\r\nimport { Evaluator } from 'formiojs/utils/utils';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { SortHelper } from \"../../../helpers/sort.helper\";\r\nimport { replacer } from \"../../../helpers/json.helper\";\r\nimport * as DeleteConfirmationDialog from 'dp-formio';\r\nimport { MatMenuTrigger } from \"@angular/material/menu\";\r\nimport { ResourceNameService } from \"dp-formio\";\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-classification-comments',\r\n templateUrl: './classification-comments.component.html',\r\n // styleUrls: ['./classification-comments.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ClassificationCommentsComponent implements OnInit, OnDestroy {\r\n @Input() data: any;\r\n @Input() indicator: ClassificationIndicator;\r\n @Input() dir: 'rtl' | 'ltr';\r\n @Input() domainId: string;\r\n @Input() questionId: string;\r\n @Output() onClose = new EventEmitter();\r\n @Output() onHistoryUpdated = new EventEmitter();\r\n @ViewChild('messageElement') messageElement: ElementRef;\r\n @ViewChild('menuTrigger') menuTrigger: MatMenuTrigger;\r\n\r\n message = '';\r\n managersNotes: ManagersNotes[] = [];\r\n loading = false;\r\n hasMessageFromSameTask = false;\r\n editing: ManagersNotes;\r\n deleteComment = false;\r\n\r\n limit = 10;\r\n skip = 0;\r\n totalRecords = 0;\r\n lastScrollHeight = 0;\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n get taskId() {\r\n return this.data.formData?.taskId || this.data.formData?.taskResource?.data?.taskId;\r\n }\r\n\r\n constructor(private toastrService: ToastrService,\r\n private resourceNameService: ResourceNameService,\r\n private translateService: TranslateService) {\r\n }\r\n ngOnInit(): void {\r\n this.loadData();\r\n }\r\n\r\n inputKeyup() {\r\n this.messageElement.nativeElement.style.height = this.calcHeight(this.messageElement.nativeElement.value) + \"px\";\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n close() {\r\n this.onClose.emit();\r\n }\r\n\r\n send() {\r\n if (!this.message || this.loading || (this.hasMessageFromSameTask && !this.editing)) return;\r\n if (this.editing) {\r\n this.updateComment();\r\n return;\r\n }\r\n\r\n const comment = new ManagersNotes();\r\n comment.questionSubmissionId = this.questionId;\r\n comment.requestId = this.data.formData?.requestId || this.data.formData?.requestDetails?.data?.varRequestId;\r\n comment.taskId = this.taskId;\r\n comment.userName = this.data.formData?.currentUser_preferred_username;\r\n comment.givenName = this.data.formData?.currentUser_name;\r\n comment.email = this.data.formData?.currentUser_email;\r\n comment.role = this.data.formData?.currentUser_roles?.join();\r\n comment.roleByTask = this.getRoleBytask();\r\n comment.message = this.message;\r\n delete comment._id;\r\n delete comment.fromMe;\r\n\r\n const history = this.initHistoryMap(this.indicator._id, this.domainId, this.questionId, this.taskId);\r\n const calls = [\r\n this.resourceNameService.addSubmission(this.data.customOptions.managersNotes, { data: comment }),\r\n this.resourceNameService.\r\n patchSubmission(this.data.customOptions.indicatorResource,\r\n this.indicator._id,\r\n [{\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/history\",\r\n \"value\": JSON.stringify(history, replacer)\r\n }\r\n ])\r\n ];\r\n\r\n this.loading = true;\r\n this.sub = forkJoin(calls)\r\n .subscribe((data: any[]) => {\r\n this.message = '';\r\n this.resetInput();\r\n comment._id = data[0]._id;\r\n comment.created = data[0].created;\r\n comment.fromMe = true;\r\n this.managersNotes.push(comment);\r\n this.hasMessageFromSameTask = true;\r\n this.indicator.history = history;\r\n this.onHistoryUpdated.emit();\r\n\r\n this.scrollToBottom();\r\n this.loading = false;\r\n setTimeout(() => { this.messageElement.nativeElement.focus(); });\r\n }, error => {\r\n this.loading = false;\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"ErrorOccurred\"),\r\n this.translateService.instant(\"generalError\"),\r\n true\r\n );\r\n });\r\n }\r\n\r\n edit(item: ManagersNotes, event) {\r\n event.stopPropagation();\r\n this.menuTrigger.closeMenu();\r\n this.editing = _cloneDeep(item);\r\n this.message = this.editing.message;\r\n }\r\n\r\n delete(index: number, item: ManagersNotes, event) {\r\n event.stopPropagation();\r\n this.menuTrigger.closeMenu();\r\n DeleteConfirmationDialog.build(this.data.formioComponent, () => {\r\n const history = this.removeCommentFromHistoryMap(this.indicator._id, this.domainId, this.questionId);\r\n const calls = [\r\n this.resourceNameService.deleteResourceData(this.data.customOptions.managersNotes, item._id),\r\n this.resourceNameService.\r\n patchSubmission(this.data.customOptions.indicatorResource,\r\n this.indicator._id,\r\n [{\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/history\",\r\n \"value\": JSON.stringify(history, replacer)\r\n }\r\n ])\r\n ];\r\n\r\n this.loading = true;\r\n this.sub = forkJoin(calls)\r\n .subscribe((data: any[]) => {\r\n this.deleteComment = true;\r\n this.managersNotes.splice(index, 1);\r\n this.indicator.history = history;\r\n this.hasMessageFromSameTask = false;\r\n this.onHistoryUpdated.emit();\r\n this.loading = false;\r\n setTimeout(() => { this.messageElement.nativeElement.focus(); });\r\n }, error => {\r\n this.loading = false;\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"ErrorOccurred\"),\r\n this.translateService.instant(\"generalError\"),\r\n true\r\n );\r\n });\r\n }, null, 'Are you sure to delete this item');\r\n }\r\n\r\n onScroll(event) {\r\n if (!this.deleteComment && event.target.scrollTop == 0 && this.managersNotes.length < this.totalRecords) {\r\n this.skip += 10;\r\n this.loadData(true);\r\n }\r\n this.deleteComment = false;\r\n }\r\n\r\n trackByFn(index: number, comment: ManagersNotes): string {\r\n return comment._id;\r\n }\r\n\r\n private updateComment() {\r\n this.loading = true;\r\n this.sub = this.resourceNameService.patchSubmission(this.data.customOptions.managersNotes,\r\n this.editing._id, [{\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/message\",\r\n \"value\": this.editing.message\r\n }]).subscribe((data: any[]) => {\r\n this.managersNotes.find(q => q._id == this.editing._id).message = this.message;\r\n this.message = '';\r\n this.editing = null;\r\n\r\n this.scrollToBottom();\r\n this.loading = false;\r\n setTimeout(() => { this.messageElement.nativeElement.focus(); });\r\n }, error => {\r\n this.loading = false;\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"ErrorOccurred\"),\r\n this.translateService.instant(\"generalError\"),\r\n true\r\n );\r\n });\r\n }\r\n\r\n private loadData(loadMore: boolean = false) {\r\n this.loading = true;\r\n const submission = _cloneDeep(this.data.submission);\r\n submission.questionSubmissionId = this.questionId;\r\n const query = Evaluator.interpolate(this.data.customOptions.managersNotesQuery, { data: submission }) + `&sort=-created&skip=${this.skip}&limit=${this.limit}`;\r\n this.sub = this.resourceNameService.loadPage(this.data.customOptions.managersNotes, query)\r\n .subscribe(data => {\r\n if (loadMore) {\r\n const newCommets = data.data.map(q => {\r\n q = { ...q.data, created: q.created, _id: q._id };\r\n const message = new ManagersNotes();\r\n SortHelper.copyProps(q, message);\r\n message.fromMe = message.email == this.data.formData?.currentUser_email\r\n return message;\r\n });\r\n this.managersNotes = newCommets.reverse().concat(this.managersNotes);\r\n this.scrollToLastComment();\r\n } else {\r\n this.totalRecords = data.totalRecords;\r\n this.managersNotes = data.data.map(q => {\r\n q = { ...q.data, created: q.created, _id: q._id };\r\n const message = new ManagersNotes();\r\n SortHelper.copyProps(q, message);\r\n message.fromMe = message.email == this.data.formData?.currentUser_email\r\n return message;\r\n }).reverse();\r\n this.hasMessageFromSameTask = this.managersNotes.some(q => q.taskId == this.taskId);\r\n this.scrollToBottom();\r\n }\r\n this.loading = false;\r\n }, error => {\r\n this.loading = false;\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"ErrorOccurred\"),\r\n this.translateService.instant(\"generalError\"),\r\n true\r\n );\r\n });\r\n }\r\n\r\n private scrollToLastComment() {\r\n setTimeout(() => {\r\n const container = $('.comments-list-container')[0];\r\n const lastCommentPosition = container.scrollHeight - this.lastScrollHeight;\r\n this.lastScrollHeight = container.scrollHeight;\r\n container.scrollTo({ behavior: 'smooth', top: lastCommentPosition });\r\n });\r\n }\r\n\r\n private scrollToBottom() {\r\n setTimeout(() => {\r\n const container = $('.comments-list-container')[0];\r\n this.lastScrollHeight = container.scrollHeight;\r\n container.scrollTo({ behavior: 'smooth', top: container.scrollHeight });\r\n });\r\n }\r\n\r\n private initHistoryMap(indicatorId: string, domainId: string, questionId: string, taskId: string) {\r\n const indicator = _cloneDeep(this.indicator);\r\n if (!indicator.history.has(indicatorId))\r\n indicator.history.set(indicatorId, new Map());\r\n\r\n if (!indicator.history.get(indicatorId).has(domainId))\r\n indicator.history.get(indicatorId).set(domainId, new Map());\r\n\r\n if (!indicator.history.get(indicatorId).get(domainId).has(questionId))\r\n indicator.history.get(indicatorId).get(domainId).set(questionId, taskId);\r\n return indicator.history;\r\n }\r\n\r\n private removeCommentFromHistoryMap(indicatorId: string, domainId: string, questionId: string) {\r\n const indicator = _cloneDeep(this.indicator);\r\n indicator.history.get(indicatorId).get(domainId).delete(questionId);\r\n if (!indicator.history.get(indicatorId).get(domainId).size) {\r\n indicator.history.get(indicatorId).delete(domainId);\r\n if (!indicator.history.get(indicatorId).size) {\r\n indicator.history.delete(indicatorId);\r\n }\r\n }\r\n return indicator.history;\r\n }\r\n\r\n private getRoleBytask() {\r\n let roleByTask = null;\r\n const currentRoute = this.data.formData?.currentRoute || this.data.formData?.requestDetails?.data?.currentRoute;\r\n if (currentRoute.includes('requests/task/ClassificationDataEntry') || currentRoute.includes('requests/task/classificationRequestUpdateCertificationData'))\r\n roleByTask = 'Classification-DataEntry';\r\n else if (currentRoute.includes('requests/task/ClassificationDataReview'))\r\n roleByTask = 'Classification-Auditor';\r\n else if (currentRoute.includes('requests/task/certificateClassification'))\r\n roleByTask = 'Classification-Commissioner';\r\n else if (currentRoute.includes('ClassificationRequestDetectiveReview/ClassificationRequest'))\r\n roleByTask = 'Classification-Detective';\r\n else if (currentRoute.includes('ClassificationRequestSpecialistReview/ClassificationRequest'))\r\n roleByTask = 'Classification-Specialist';\r\n return roleByTask;\r\n }\r\n\r\n private calcHeight(value) {\r\n let numberOfLineBreaks = (value.match(/\\n/g) || []).length;\r\n // min-height + lines x line-height + padding + border\r\n let newHeight = 20 + numberOfLineBreaks * 20 + 12 + 2;\r\n return newHeight;\r\n }\r\n\r\n private resetInput() {\r\n this.messageElement.nativeElement.style.height = this.calcHeight('') + \"px\";\r\n }\r\n}\r\n","\r\n
\r\n

\r\n {{'forms.common.Add' | translate}} {{ 'forms.common.' + data.name |\r\n translate}}\r\n \r\n \r\n {{'forms.common.Edit' | translate}} {{ 'forms.common.' + data.name | translate}}\r\n {{'forms.common.View' | translate}} {{ 'forms.common.' + data.name | translate}}\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n {{ 'forms.common.' + item.name | translate}}\r\n \r\n \r\n {{ 'forms.common.' + item.name | translate}} \r\n {{'forms.common.It can not be empty' | translate}}\r\n {{'forms.common.It must be greater or equal to' | translate}} {{formControls.controls[item.name].errors.min.min}}\r\n \r\n {{'forms.common.It must be less than or equal to' | translate}} {{formControls.controls[item.name].errors.max.max}}\r\n \r\n {{'forms.common.contains an invalid value' | translate}}\r\n \r\n \r\n\r\n \r\n {{ 'forms.common.' + item.name | translate}}\r\n \r\n {{ele.data.key}}\r\n \r\n \r\n\r\n
ngSwitchDefault
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
","import { MasarRolesEnum, RolesTypeEnum } from '../model/roles';\r\n\r\nexport function _hasMasarRole(rolesArray: any[]): boolean {\r\n return rolesArray.some((role) =>\r\n Object.values(MasarRolesEnum).includes(role?.replace('ROLE_', ''))\r\n );\r\n}\r\n\r\nexport function _getAccountRolesType(rolesArray: any[]): RolesTypeEnum {\r\n return _hasMasarRole(rolesArray) ? RolesTypeEnum.MASAR : RolesTypeEnum.ITIMAD;\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { OrgWrapperComponent } from './org-wrapper.component';\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'org-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'org-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'Org', // Title of the component\r\n};\r\n\r\nexport function registerOrgWrapperComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, OrgWrapperComponent, injector);\r\n}\r\n","\r\n {{ members?.length }} group\r\n\r\n\r\n \r\n \r\n - \r\n {{ member.reviewer | getMemberName }}\r\n \r\n \r\n\r\n","
\r\n \r\n
\r\n
\r\n
\r\n \r\n {{question.displayOrder}}\r\n \r\n {{question.name}}\r\n \r\n\r\n
\r\n \r\n {{question.error}}\r\n \r\n
\r\n
\r\n   \r\n  \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
{{'forms.common.a1' | translate}}\r\n {{item.label}}\r\n
\r\n {{item.score}}\r\n
\r\n {{item.name}}\r\n \r\n\r\n
\r\n \r\n {{item.error}}\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n {{'forms.common.pattern' | translate}}\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n {{question.attachmentsTooltip}}\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n *\r\n \r\n  \r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
","import { DatePipe } from '@angular/common';\r\nimport { Component, Inject } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { BaseComponent } from '../../../base.component';\r\n\r\n@Component({\r\n selector: 'app-add-edit-executive-plan',\r\n templateUrl: './add-edit-executive-plan.dialog.html',\r\n styleUrls: ['./add-edit-executive-plan.dialog.scss']\r\n})\r\nexport class AddEditExecutivePlanComponent extends BaseComponent {\r\n form: FormGroup;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private fb: FormBuilder,\r\n private datePipe: DatePipe\r\n ) {\r\n super();\r\n this.initForm();\r\n }\r\n\r\n save() {\r\n const data = this.form.value;\r\n data.startDate = this.datePipe.transform(new Date(data.startDate), 'yyyy-MM-dd');\r\n data.endDate = this.datePipe.transform(new Date(data.endDate), 'yyyy-MM-dd');\r\n this.dialogRef.close(data);\r\n }\r\n\r\n cancel(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n private initForm() {\r\n this.form = this.fb.group({\r\n id: [this.data.model.id || null],\r\n clause: [{ value: this.data.model.clause || '', disabled: this.data.viewOnly }, [Validators.required]],\r\n startDate: [{ value: this.data.model.startDate || '', disabled: this.data.viewOnly }, [Validators.required]],\r\n endDate: [{ value: this.data.model.endDate || '', disabled: this.data.viewOnly }, [Validators.required]],\r\n responsibleName: [{ value: this.data.model.responsibleName || '', disabled: this.data.viewOnly }, [Validators.required]],\r\n responsiblePosition: [{ value: this.data.model.responsiblePosition || '', disabled: this.data.viewOnly }, [Validators.required]]\r\n });\r\n }\r\n}\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\nimport { PopoverController } from '@ionic/angular';\r\n\r\n/**\r\n * Sorting Options Popovermenu\r\n */\r\n\r\n@Component({\r\n selector: 'app-notification-options',\r\n templateUrl: './notification-options.component.html',\r\n // styleUrls: ['./notification-options.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class NotificationOptionsComponent {\r\n\r\n constructor(public popoverCtrl: PopoverController) {\r\n }\r\n\r\n delete() {\r\n this.popoverCtrl.dismiss('delete');\r\n }\r\n}\r\n","
\r\n \r\n \r\n
","
\r\n
\r\n
{{'forms.common.Comments' | translate}}
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{{item.message}}
\r\n
{{item.created | dateToTimeAgo}}
\r\n
\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{item.name}}\r\n - ({{'forms.common.' + item.roleByTask |\r\n translate}})\r\n
\r\n
{{item.message}}
\r\n
{{item.created | dateToTimeAgo}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { DeleteDialogComponent } from './delete-dialog/delete-dialog.component';\r\n\r\n@NgModule({\r\n declarations: [DeleteDialogComponent],\r\n imports: [\r\n CommonModule,\r\n TranslateModule,\r\n MatCardModule,\r\n MatButtonModule,\r\n MatDialogModule,\r\n ],\r\n exports: [DeleteDialogComponent],\r\n})\r\nexport class DeleteDialogModule {}\r\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FormioCustomComponent } from 'dp-formio';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-html-editor-wrapper',\r\n templateUrl: './html-editor-wrapper.component.html',\r\n // styleUrls: ['./html-editor-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class HtmlEditorWrapperComponent implements FormioCustomComponent, OnDestroy, OnChanges {\r\n dir: 'rtl' | 'ltr';\r\n @Input() required: boolean;\r\n @Input() value: any = {};\r\n @Output() valueChange = new EventEmitter();\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n @Input() data: any;\r\n @Input() customOptions: any;\r\n @Input() formioComponent: any;\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n model = '';\r\n multipleModel: Array<{ value: string }> = [];\r\n\r\n constructor(private translateService: TranslateService) {\r\n this.changeDirection(this.translateService.currentLang);\r\n this.sub = this.translateService.onLangChange.subscribe(data => {\r\n this.changeDirection(data.lang);\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.customOptions) {\r\n if (this.customOptions.isMultiple) {\r\n this.multipleModel = this.value?.values?.map(q => { return { value: q } });\r\n if (!this.multipleModel?.length) this.multipleModel = [{ value: '' }];\r\n } else if (this.value) {\r\n this.model = this.value;\r\n }\r\n }\r\n }\r\n\r\n\r\n notifyValue() {\r\n if (this.customOptions.isMultiple) {\r\n const notEmpty = this.multipleModel\r\n .filter(q => !!q.value)\r\n .map(q => q.value);\r\n if (this.required && (!this.multipleModel.length || notEmpty.length != this.multipleModel.length)) {\r\n this.value = null;\r\n this.valueChange.emit(this.value);\r\n return;\r\n }\r\n this.value = { values: notEmpty };\r\n } else {\r\n if (this.required && !this.model?.trim()?.length) {\r\n this.value = null;\r\n this.valueChange.emit(this.value);\r\n return;\r\n }\r\n this.value = this.model;\r\n }\r\n\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n onTextChange(event: any, index: number = null) {\r\n if (this.customOptions.isMultiple) {\r\n this.multipleModel[index].value = event.htmlValue;\r\n } else {\r\n this.model = event.htmlValue;\r\n }\r\n this.notifyValue();\r\n }\r\n addRow() {\r\n this.multipleModel.push({ value: '' });\r\n }\r\n deleteRow(index: number) {\r\n this.multipleModel.splice(index, 1);\r\n this.notifyValue();\r\n }\r\n private changeDirection(lang) {\r\n this.dir = null;\r\n setTimeout(() => { this.dir = lang === 'ar' ? 'rtl' : 'ltr'; });\r\n }\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n}\r\n","import { Component, Injector, ViewEncapsulation } from '@angular/core';\r\nimport { BaseComponent } from '../../../shared/components/base.component';\r\n\r\n@Component({\r\n selector: 'app-not-found',\r\n templateUrl: './not-found.component.html',\r\n // styleUrls: ['./not-found.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class NotFoundComponent extends BaseComponent {\r\n userDetails;\r\n\r\n constructor(public injector: Injector) { super(injector); }\r\n\r\n goBack(): void {\r\n this.location.back();\r\n }\r\n}\r\n","import { Component, Input, ViewEncapsulation } from \"@angular/core\";\r\nimport { ClassificationStatus } from \"../models/classification-indicators.model\";\r\n\r\n\r\n@Component({\r\n selector: 'app-classification-indicator-status',\r\n templateUrl: './classification-indicator-status.component.html',\r\n // styleUrls: ['./classification-indicator-status.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ClassificationStatusComponent {\r\n @Input() status: ClassificationStatus;\r\n indicatorStatus = ClassificationStatus;\r\n\r\n}\r\n","/* (ignored) */","\r\n \r\n \r\n \r\n info\r\n {{\r\n criterion | propertyLocalized : [\"nameAr\", \"nameEn\"] | async\r\n }}\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { takeUntil } from 'rxjs';\r\nimport { BaseComponent } from '../../base.component';\r\nimport { CriterionsService } from '../../services/criterions.service';\r\nimport { MemberModel } from '../../models/member.model';\r\n\r\n@Component({\r\n selector: 'app-masar-criterion-preview',\r\n templateUrl: './masar-criterion-preview.component.html',\r\n styleUrls: ['./masar-criterion-preview.component.scss']\r\n})\r\nexport class MasarCriterionPreviewComponent extends BaseComponent implements OnInit {\r\n criterion$ = this.criterionsService.criterion$;\r\n decisionInputs$ = this.criterionsService.decisionInputs$;\r\n currentTab = 0;\r\n member: MemberModel = null;\r\n\r\n constructor(private criterionsService: CriterionsService) { super(); }\r\n\r\n ngOnInit() {\r\n this.criterion$\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(_ => this.member = null);\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n\r\n\r\n

\r\n {{ question | propertyLocalized : [\"tooltipAr\", \"tooltipEn\"] | async }}\r\n

\r\n\r\n
\r\n \r\n \r\n \r\n {{\r\n \"forms.common.Criteria.Errors.QuestionsAnsweredAndSessionStarted\"\r\n | translate\r\n }}\r\n \r\n \r\n \r\n {{ \"forms.common.Criteria.Errors.SessionStarted\" | translate }}\r\n \r\n \r\n {{ \"forms.common.Criteria.Errors.QuestionsAnswered\" | translate }}\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n {{ question | propertyLocalized : [\"errorAr\", \"errorEn\"] | async }}\r\n \r\n\r\n \r\n {{ \"forms.common.a1\" | translate }}\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ \"forms.common.a1\" | translate }}\r\n {{\r\n item\r\n | propertyLocalized : [\"arabicLabel\", \"englishLabel\"]\r\n | async\r\n }}\r\n
\r\n {{ item.score }}\r\n
\r\n {{\r\n question.evaluationItems[i]\r\n | propertyLocalized : [\"nameAr\", \"nameEn\"]\r\n | async\r\n }}\r\n \r\n info\r\n \r\n\r\n
\r\n \r\n {{\r\n question.evaluationItems[i]\r\n | propertyLocalized : [\"errorAr\", \"errorEn\"]\r\n | async\r\n }}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n {{ \"forms.common.Criteria.EvaluationJustifications\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n {{ \"forms.common.Criteria.Attachments\" | translate }}\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {{ \"table.emptyTable\" | translate }}\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n {{\r\n \"forms.common.Criteria.fileName\" | translate\r\n }}\r\n \r\n {{ element.get(\"fileName\").value }}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n {{ \"forms.common.Criteria.save\" | translate }}\r\n \r\n
\r\n \r\n \r\n\r\n","
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n {{ session.name | translate }} -\r\n \r\n {{ 'SESSIONS.number' | translate }} : {{ session.number }}\r\n \r\n \r\n \r\n {{ session.sessionFrom | localizedDate }} -\r\n {{ session.sessionTo | localizedDate }}\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n

{{ 'ERRORS.NoDataFound' | translate }}

\r\n
\r\n
\r\n
\r\n","/* (ignored) */","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { TableTreeWrapperComponent } from './table-tree-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'table-tree', // custom type. Formio will identify the field with this type.\r\n selector: 'table-tree', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'Table Tree', // Title of the component\r\n};\r\n\r\nexport function registerTableTreeComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, TableTreeWrapperComponent, injector);\r\n}","
\r\n \r\n\r\n \r\n \r\n \r\n \r\n
","
\r\n\t\r\n\t\r\n\r\n\t
\r\n\r\n\t
\r\n\t\t\r\n\r\n\t\t\r\n\r\n\t
\r\n
","\r\n
{{'forms.common.Overall evaluation of the criteria' | translate}}
\r\n \r\n \r\n
\r\n \r\n {{'forms.common.The total quality levels assessment' | translate}}\r\n \r\n \r\n {{'forms.common.The total evaluation criteria' | translate}}\r\n \r\n\r\n {{category.totalEvaluationCriteria | number : '1.1-1'}}\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n {{'forms.common.The number of applicable quality levels' | translate}}\r\n \r\n \r\n {{'forms.common.The number of applicable criteria' | translate}}\r\n \r\n\r\n {{category.numberOfApplicable}}\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n {{'forms.common.Average Rating Criterion' | translate}}\r\n\r\n {{category.calculatedSavedScore | number : '1.1-1'}}\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n {{'forms.common.The overall evaluation score of the standard' | translate}}\r\n\r\n {{category.calculatedSavedScore | number : '1.1-1'}} {{'forms.common.points' | translate}} -\r\n {{category.calculatedSavedScore | evaluationScoreMessage : process | propertyLocalized : [\"messageAr\",\r\n \"messageEn\"] | async }}\r\n
\r\n
\r\n
\r\n
","\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n\r\n \r\n
  • \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n add\r\n \r\n \r\n \r\n visibility\r\n \r\n edit\r\n \r\n delete\r\n \r\n
    \r\n
  • \r\n
    \r\n \r\n
  • \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n add\r\n \r\n \r\n \r\n\r\n visibility\r\n \r\n edit\r\n \r\n delete\r\n \r\n
    \r\n
  • \r\n
      \r\n \r\n
    \r\n
    \r\n
    ","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n\tselector: 'app-confirmation-dialog',\r\n\ttemplateUrl: './confirmation-dialog.component.html',\r\n\tstyleUrls: ['./confirmation-dialog.component.scss'],\r\n})\r\nexport class ConfirmationDialogComponent {\r\n\tdialogData: any;\r\n\r\n\tconstructor(\r\n\t\t@Inject(MAT_DIALOG_DATA) private data: any,\r\n\t\tprivate dialogRef: MatDialogRef\r\n\t) {\r\n\t\tif (data) {\r\n\t\t\tthis.dialogData = data;\r\n\t\t}\r\n\t}\r\n\r\n}\r\n","/* (ignored) */","
    \r\n\t\r\n
    \r\n
    \r\n\t
    \r\n\t\t
    \r\n\t\t\t{{ \"forms.common.Criteria.responseDecision\" | translate }}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ \"forms.common.Criteria.\" + option | translate}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t\t
    \r\n\t\t\t\r\n\t\t\t\t{{'forms.common.Criteria.Please note that you will not be able to modify the decision after saving' | translate}}\r\n\t\t\t
    \r\n\t\t
    \r\n\r\n\t\t
    \r\n\t\t\t{{ \"forms.common.Criteria.reasons\" | translate }}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t{{ \"forms.common.Criteria.updates\" | translate }}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tadd\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tdelete_forever\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{{ \"forms.common.Criteria.save\" | translate }}\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n
    \r\n\t
    \r\n\t\t
    \r\n\t\t\t{{ \"forms.common.Criteria.Decision\" | translate }}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ \"forms.common.Criteria.\" + option | translate}}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\r\n\t\t
    \r\n\t\t\t\r\n\t\t\t\t{{'forms.common.Criteria.Please edit the recommendation summary' | translate}}\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t\t\t{{'forms.common.Criteria.The recommendation summary will be deleted' | translate}}\r\n\t\t\t
    \r\n\t\t\r\n\r\n\t\t
    \r\n\t\t\t{{ \"forms.common.Criteria.reasons\" | translate }}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\r\n\t\t\r\n\t\t\t{{ \"forms.common.Criteria.summaryOfRecommendations\" | translate }}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{{ \"forms.common.Criteria.save\" | translate }}\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\t\r\n\r\n","\r\n {{ \"FILTERS.member\" | translate }}\r\n \r\n {{\r\n option.reviewer | propertyLocalized | async\r\n }}\r\n \r\n\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { MasterDetailsResourceWrapperComponent } from './master-details-resource-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'master-details-resource', // custom type. Formio will identify the field with this type.\r\n selector: 'master-details-resource', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'Master Details Resource', // Title of the component\r\n};\r\n\r\nexport function registerMasterDetailsResourceComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, MasterDetailsResourceWrapperComponent, injector);\r\n}","import { SelectionModel } from '@angular/cdk/collections';\r\nimport { NestedTreeControl } from '@angular/cdk/tree';\r\nimport {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatTreeNestedDataSource } from '@angular/material/tree';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Utils } from 'formiojs';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport {\r\n\tBehaviorSubject,\r\n\tObservable,\r\n\tSubscription,\r\n\tcatchError,\r\n\tfilter,\r\n\tfinalize,\r\n\tforkJoin,\r\n\tmap,\r\n\tof,\r\n\ttake,\r\n\ttap,\r\n} from 'rxjs';\r\nimport * as DeleteConfirmationDialog from 'dp-formio';\r\nimport {\r\n\tConfirmationDialogComponent,\r\n\tFormioCustomComponent,\r\n\tFormioLoader,\r\n\tResourceNameService,\r\n\tSuccessToast,\r\n\tTRANSLATIONS,\r\n} from 'dp-formio';\r\nimport { AddEditResourceDialog } from './add-edit-dialog/add-edit-dialog.component';\r\n\r\n@Component({\r\n\tselector: 'app-master-details-resource-wrapper',\r\n\ttemplateUrl: './master-details-resource-wrapper.component.html',\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tproviders: [FormioLoader],\r\n})\r\nexport class MasterDetailsResourceWrapperComponent\r\n\timplements FormioCustomComponent, OnDestroy\r\n{\r\n\tdir: 'rtl' | 'ltr';\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Input() disabled: boolean;\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\tprivate sub: Subscription;\r\n\tname: string;\r\n\treadonly dataSource: BehaviorSubject;\r\n\treadonly treeSource: MatTreeNestedDataSource;\r\n\t/** tree control */\r\n\treadonly treeControl = new NestedTreeControl((node) => node.childrens);\r\n\treadonly hasChild = (_: number, node: any) =>\r\n\t\t!!node.childrens && node.childrens.length > 0;\r\n\treadonly trackBy = (_: number, node: any) => node.id;\r\n\r\n\tdeletedNodesObs$: Array> = [];\r\n\r\n\tconstructor(\r\n\t\tprivate toastrService: ToastrService,\r\n\t\tprivate formloader: FormioLoader,\r\n\t\tprivate resourceNameService: ResourceNameService,\r\n\t\tprivate translateService: TranslateService,\r\n\t\tprivate dialog: MatDialog\r\n\t) {\r\n\t\tthis.formloader.loading = false;\r\n\t\tthis.treeSource = new MatTreeNestedDataSource();\r\n\t\tthis.dataSource = new BehaviorSubject([]);\r\n\t\tthis.dataSource.subscribe((items) => {\r\n\t\t\tthis.treeSource.data = null;\r\n\r\n\t\t\tconst sortedParentNodes = items.sort(function (a, b) {\r\n\t\t\t\tif (a.order < b.order) {\r\n\t\t\t\t\treturn -1;\r\n\t\t\t\t} else if (a.order > b.order) {\r\n\t\t\t\t\treturn 1;\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tsortedParentNodes.forEach((resource: any) => {\r\n\t\t\t\tif (resource.childrens) {\r\n\t\t\t\t\tresource.childrens.sort(function (a, b) {\r\n\t\t\t\t\t\tif (a.order < b.order) {\r\n\t\t\t\t\t\t\treturn -1;\r\n\t\t\t\t\t\t} else if (a.order > b.order) {\r\n\t\t\t\t\t\t\treturn 1;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tthis.treeSource.data = sortedParentNodes;\r\n\t\t});\r\n\t\tthis.dataSource.next([]);\r\n\t\tthis.notifyValue();\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((data) => {\r\n\t\t\tthis.changeDirection(data.lang);\r\n\t\t});\r\n\t\tthis.sub = this.checklistSelection.changed.subscribe((data) => {\r\n\t\t\tconsole.log(data.source.selected);\r\n\t\t});\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\tif (this.customOptions) {\r\n\t\t\t\tthis.name = Object.keys(this.customOptions)[0];\r\n\t\t\t\tif (this.value) {\r\n\t\t\t\t\tthis.fillData();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang == 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\r\n\tdialogConfig = (prop, node?) => {\r\n\t\treturn {\r\n\t\t\tdir: this.dir,\r\n\t\t\tisAdd: prop.isAdd,\r\n\t\t\tname: prop.name ?? node.translatedName,\r\n\t\t\tfields: prop.fields ?? _cloneDeep(node.fields),\r\n\t\t\ticon: prop.icon ?? node.icon,\r\n\t\t\tcolor: prop.color ?? node.color,\r\n\t\t\tisView: prop.viewMode ?? false,\r\n\t\t\tdata: this.data,\r\n\t\t\tparentId: prop.parentId ?? node.parentId,\r\n\t\t\tisParentNode: prop.isParentNode ?? node.isParentNode,\r\n\t\t\tresourceName: prop.resourceName ?? node.resourceName,\r\n\t\t\torder: prop.order ?? node.order,\r\n\t\t};\r\n\t};\r\n\titemSetup = (prop, node?) => {\r\n\t\treturn {\r\n\t\t\tid: prop.id ?? node.id,\r\n\t\t\tname: prop.name ?? node.prop,\r\n\t\t\ttranslatedName: prop.translatedName ?? node.translatedName,\r\n\t\t\tfields: prop.fields ?? node.fields,\r\n\t\t\ticon: prop.icon ?? node.icon,\r\n\t\t\tcolor: prop.color ?? node.color,\r\n\t\t\tactions: prop.actions ?? node.actions,\r\n\t\t\tchildrens: prop.children ?? node.childrens,\r\n\t\t\t_id: prop._id ?? node._id,\r\n\t\t\tisParentNode: prop.isParentNode ?? node.isParentNode,\r\n\t\t\tparentId: prop.parentId ?? node.parentId,\r\n\t\t\tresourceName: prop.resourceName ?? node.resourceName,\r\n\t\t\torder: prop.order ?? node.order,\r\n\t\t};\r\n\t};\r\n\r\n\tcreateDialog(isAdd: boolean, level: any, parentNode = null) {\r\n\t\tconst dialogRef = this.dialog.open(AddEditResourceDialog, {\r\n\t\t\twidth: 'min(960px,80%)',\r\n\t\t\tpanelClass: 'custom-dialog-container',\r\n\t\t\tdata: {\r\n\t\t\t\t...this.dialogConfig({\r\n\t\t\t\t\tisAdd: isAdd,\r\n\t\t\t\t\tname: Object.keys(level)[0],\r\n\t\t\t\t\tfields: _cloneDeep(level[Object.keys(level)[0]].fields),\r\n\t\t\t\t\ticon: level[Object.keys(level)[0]].icon,\r\n\t\t\t\t\tcolor: level[Object.keys(level)[0]].color,\r\n\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\tparentId: level[Object.keys(level)[0]].parentId,\r\n\t\t\t\t\tisParentNode: parentNode ? parentNode._id : true,\r\n\t\t\t\t\tresourceName: level[Object.keys(level)[0]].resourceName,\r\n\t\t\t\t\torder: level[Object.keys(level)[0]].order,\r\n\t\t\t\t}),\r\n\t\t\t},\r\n\t\t});\r\n\r\n\t\tdialogRef.afterClosed().subscribe((result) => {\r\n\t\t\tif (result) {\r\n\t\t\t\tthis.fillSource(result, level, parentNode);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\teditDialog(node: any) {\r\n\t\tconst dialogRef = this.dialog.open(AddEditResourceDialog, {\r\n\t\t\twidth: '80%',\r\n\t\t\tdata: {\r\n\t\t\t\t...this.dialogConfig({ isAdd: false }, node),\r\n\t\t\t\t_id: node._id,\r\n\t\t\t\tresourceName: node.translatedName,\r\n\t\t\t},\r\n\t\t});\r\n\r\n\t\tdialogRef.afterClosed().subscribe((result) => {\r\n\t\t\tif (result) {\r\n\t\t\t\tconst colorStyle = result.color\r\n\t\t\t\t\t? `color: ${result?.color} !important;`\r\n\t\t\t\t\t: '';\r\n\t\t\t\tconst icon = result.icon\r\n\t\t\t\t\t? ``\r\n\t\t\t\t\t: '';\r\n\t\t\t\tconst item = this.itemSetup(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tname:\r\n\t\t\t\t\t\t\t`${\r\n\t\t\t\t\t\t\t\ticon || ''\r\n\t\t\t\t\t\t\t} ${this.translateService.instant(\r\n\t\t\t\t\t\t\t\t`forms.common.${node.translatedName}`\r\n\t\t\t\t\t\t\t)} :` +\r\n\t\t\t\t\t\t\tresult.fields\r\n\t\t\t\t\t\t\t\t.filter((q) => q.viewInTree && q.value)\r\n\t\t\t\t\t\t\t\t.map((q) => q.value)\r\n\t\t\t\t\t\t\t\t.join(' • '),\r\n\t\t\t\t\t\tfields: result.fields,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tnode\r\n\t\t\t\t);\r\n\t\t\t\tthis.findInDataSourceAndUpdate(this.dataSource.value, item);\r\n\t\t\t\tthis.dataSource.next([...this.dataSource.value]);\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tviewDialog(node: any) {\r\n\t\tthis.dialog.open(AddEditResourceDialog, {\r\n\t\t\twidth: '80%',\r\n\t\t\tdata: this.dialogConfig({ viewMode: true }, node),\r\n\t\t});\r\n\t}\r\n\r\n\tfillSource(result: any, level: any, parentNode = null) {\r\n\t\tconst colorStyle = result.color\r\n\t\t\t? `color: ${result?.color} !important;`\r\n\t\t\t: '';\r\n\t\tconst icon = result?.icon\r\n\t\t\t? ``\r\n\t\t\t: '';\r\n\t\tconst newItem = this.itemSetup(\r\n\t\t\t{\r\n\t\t\t\tid: new Date().getTime(),\r\n\t\t\t\tname:\r\n\t\t\t\t\t`${\r\n\t\t\t\t\t\ticon || ''\r\n\t\t\t\t\t} ${this.translateService.instant(\r\n\t\t\t\t\t\t`forms.common.${Object.keys(level)[0]}`\r\n\t\t\t\t\t)} : ` +\r\n\t\t\t\t\tresult.fields\r\n\t\t\t\t\t\t.filter((q) => q.viewInTree && q.value)\r\n\t\t\t\t\t\t.map((q) => q.value)\r\n\t\t\t\t\t\t.join(' • '),\r\n\t\t\t\ttranslatedName: Object.keys(level)[0],\r\n\t\t\t\tactions: level[Object.keys(level)[0]].actions,\r\n\t\t\t\tparentId: level[Object.keys(level)[0]].parentId,\r\n\t\t\t\tresourceName: level[Object.keys(level)[0]].resourceName,\r\n\t\t\t\tchildren: [],\r\n\t\t\t},\r\n\t\t\tresult\r\n\t\t);\r\n\t\tif (parentNode) {\r\n\t\t\tthis.findInDataSourceAndFill(this.dataSource.value, parentNode, newItem);\r\n\t\t\tthis.dataSource.next([...this.dataSource.value]);\r\n\t\t\tthis.notifyValue();\r\n\t\t\treturn newItem;\r\n\t\t} else {\r\n\t\t\tthis.dataSource.next([\r\n\t\t\t\t...this.dataSource.value,\r\n\t\t\t\t{\r\n\t\t\t\t\t...newItem,\r\n\t\t\t\t},\r\n\t\t\t]);\r\n\t\t\tthis.notifyValue();\r\n\t\t\treturn newItem;\r\n\t\t}\r\n\t}\r\n\r\n\tcreateNode(parentNode, bindWith) {\r\n\t\tconst node = this.findNode(this.customOptions, bindWith);\r\n\t\tthis.createDialog(true, node, parentNode);\r\n\t}\r\n\r\n\tfindNode(startedPoint, bindWith) {\r\n\t\tfor (let item in startedPoint) {\r\n\t\t\tif (item == bindWith) return startedPoint;\r\n\t\t\telse {\r\n\t\t\t\tconst branchOfNods = startedPoint[item].childrens.find((q) =>\r\n\t\t\t\t\tthis.findNode(q, bindWith)\r\n\t\t\t\t);\r\n\t\t\t\tif (branchOfNods) return this.findNode(branchOfNods, bindWith);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfindInDataSourceAndFill(startedPoint, parentNode, newItem) {\r\n\t\tstartedPoint.forEach((q) => {\r\n\t\t\tif (q.id == parentNode.id) q.childrens.push(newItem);\r\n\t\t\telse this.findInDataSourceAndFill(q.childrens, parentNode, newItem);\r\n\t\t});\r\n\t}\r\n\r\n\tfindInDataSourceAndUpdate(startedPoint, item) {\r\n\t\tfor (let index = 0; index < startedPoint.length; index++) {\r\n\t\t\tif (startedPoint[index].id == item.id) {\r\n\t\t\t\tstartedPoint[index] = { ...item };\r\n\t\t\t\tif (startedPoint[index].order) {\r\n\t\t\t\t\tconst field = item.fields.filter((q) => q.name === 'order');\r\n\t\t\t\t\tstartedPoint[index].order = +field[0].value;\r\n\t\t\t\t}\r\n\t\t\t} else\r\n\t\t\t\tthis.findInDataSourceAndUpdate(startedPoint[index].childrens, item);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _openConfirmDialog(\r\n\t\tmessage = '',\r\n\t\tok: string = null,\r\n\t\tcancel: string = null\r\n\t) {\r\n\t\treturn this.dialog\r\n\t\t\t.open(ConfirmationDialogComponent, {\r\n\t\t\t\twidth: 'min(80% , 350px)',\r\n\t\t\t\tdirection: this.dir,\r\n\t\t\t\trestoreFocus: false,\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tmessage: message,\r\n\t\t\t\t\tbuttonText: {\r\n\t\t\t\t\t\tcancel:\r\n\t\t\t\t\t\t\tcancel ?? this.translateService.instant('forms.common.cancel'),\r\n\t\t\t\t\t\tok: ok ?? this.translateService.instant('forms.common.yes'),\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\t.afterClosed()\r\n\t\t\t.pipe(\r\n\t\t\t\ttake(1),\r\n\t\t\t\tfilter((rs) => !!rs)\r\n\t\t\t);\r\n\t}\r\n\r\n\tremoveNode(node) {\r\n\t\tthis._openConfirmDialog(\r\n\t\t\tthis.dir == 'rtl'\r\n\t\t\t\t? 'هل انت متأكد من حذف هذا العنصر؟'\r\n\t\t\t\t: 'Are you sure you want to delete?'\r\n\t\t).subscribe((res) => {\r\n\t\t\tif (node.childrens && node.childrens.length) {\r\n\t\t\t\tnode.childrens.forEach((childNode) => {\r\n\t\t\t\t\tthis.addDeletedNodesObs(childNode);\r\n\t\t\t\t});\r\n\t\t\t\tthis.deleteBulKNodes(node);\r\n\t\t\t} else {\r\n\t\t\t\tthis.deleteResourceData(node);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\taddDeletedNodesObs(node: any) {\r\n\t\tthis.deletedNodesObs$.push(\r\n\t\t\tthis.resourceNameService.deleteResourceData(node.resourceName, node._id)\r\n\t\t);\r\n\t}\r\n\r\n\tdeleteBulKNodes(node: any) {\r\n\t\tthis.formloader.loading = true;\r\n\t\tforkJoin([...this.deletedNodesObs$])\r\n\t\t\t.pipe(\r\n\t\t\t\ttap((res) => {\r\n\t\t\t\t\tif (res) {\r\n\t\t\t\t\t\tthis.deleteResourceData(node, true);\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\tfinalize(() => {\r\n\t\t\t\t\tthis.formloader.loading = false;\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError((error) => {\r\n\t\t\t\t\tthis.deletedNodesObs$ = [];\r\n\t\t\t\t\treturn of(0);\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.subscribe();\r\n\t}\r\n\r\n\tdeleteResourceData(node: any, isBulk = false) {\r\n\t\tthis.formloader.loading = true;\r\n\t\tthis.resourceNameService\r\n\t\t\t.deleteResourceData(node.resourceName, node._id)\r\n\t\t\t.subscribe(\r\n\t\t\t\t(res: any) => {\r\n\t\t\t\t\tif (res) {\r\n\t\t\t\t\t\tthis.deletNodesFromUI(node);\r\n\t\t\t\t\t\tthis.toastrService.show(\r\n\t\t\t\t\t\t\tthis.translateService.instant('Deletion Message'),\r\n\t\t\t\t\t\t\t'',\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\ttoastClass: 'notification-toast',\r\n\t\t\t\t\t\t\t\tcloseButton: true,\r\n\t\t\t\t\t\t\t\tenableHtml: true,\r\n\t\t\t\t\t\t\t\ttoastComponent: SuccessToast,\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\t() => (this.formloader.loading = false),\r\n\t\t\t\t() => {\r\n\t\t\t\t\tif (isBulk) {\r\n\t\t\t\t\t\tthis.deletedNodesObs$ = [];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t}\r\n\r\n\tdeletNodesFromUI(node: any) {\r\n\t\tconst data = this.dataSource.value;\r\n\t\tthis.dataSource.next(this.deepRemoveNode(_cloneDeep(data), node));\r\n\t\tthis.checkRelatedEntityWhenDelete(\r\n\t\t\tthis.getRemovedNode(_cloneDeep(data), node)\r\n\t\t);\r\n\t\tthis.checklistSelection.clear();\r\n\t\tthis.notifyValue();\r\n\t\tthis.formloader.loading = false;\r\n\t}\r\n\r\n\tdeepRemoveNode(data: any[], node: any | any[]) {\r\n\t\tconst result = [];\r\n\t\tdata.forEach((item) => {\r\n\t\t\tif (item.childrens && item.childrens.length)\r\n\t\t\t\titem.childrens = this.deepRemoveNode(item.childrens, node);\r\n\t\t\tif (node instanceof Array) {\r\n\t\t\t\tif (!node.find((q) => q.id == item.id)) result.push(item);\r\n\t\t\t} else if (item.id != node.id) result.push(item);\r\n\t\t});\r\n\t\treturn result;\r\n\t}\r\n\r\n\tgetRemovedNode(data: any[], node: any | any[], removedNodes: any[] = []) {\r\n\t\tdata.forEach((item) => {\r\n\t\t\tif (item.childrens && item.childrens.length)\r\n\t\t\t\tthis.getRemovedNode(item.childrens, node, removedNodes);\r\n\r\n\t\t\tif (item.id && item.id == node.id && item.fields && item.fields.length)\r\n\t\t\t\tremovedNodes.push(item.fields[0].value);\r\n\t\t});\r\n\r\n\t\treturn removedNodes;\r\n\t}\r\n\r\n\tremoveBulk() {\r\n\t\tDeleteConfirmationDialog.build(\r\n\t\t\tthis.formioComponent,\r\n\t\t\t() => {\r\n\t\t\t\tconst data = this.dataSource.value;\r\n\t\t\t\tthis.dataSource.next(\r\n\t\t\t\t\tthis.deepRemoveNode(\r\n\t\t\t\t\t\t_cloneDeep(data),\r\n\t\t\t\t\t\tthis.checklistSelection.selected\r\n\t\t\t\t\t)\r\n\t\t\t\t);\r\n\t\t\t\tthis.checkRelatedEntityWhenDelete(\r\n\t\t\t\t\tthis.getRemovedNode(\r\n\t\t\t\t\t\t_cloneDeep(data),\r\n\t\t\t\t\t\tthis.checklistSelection.selected\r\n\t\t\t\t\t)\r\n\t\t\t\t);\r\n\t\t\t\tthis.checklistSelection.clear();\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t},\r\n\t\t\tnull,\r\n\t\t\t'Are you sure to delete this items',\r\n\t\t\t'All children under this items will be deleted'\r\n\t\t);\r\n\t}\r\n\r\n\thasAction(node, action) {\r\n\t\treturn !!node.actions.find((q) => q.name == action);\r\n\t}\r\n\r\n\tprivate checkRelatedEntityWhenDelete(removedNodes: any[]) {\r\n\t\tif (this.customOptions.relatedEntityWhenDelete) {\r\n\t\t\tthis.customOptions.relatedEntityWhenDelete.forEach((entity) => {\r\n\t\t\t\tconst components = Utils.searchComponents(\r\n\t\t\t\t\tthis.formioComponent.root.components,\r\n\t\t\t\t\t{ key: entity.key }\r\n\t\t\t\t);\r\n\t\t\t\tcomponents.forEach((component) => {\r\n\t\t\t\t\tconst data = this.formioComponent.evaluate(entity.value, {\r\n\t\t\t\t\t\tvalue: component.getValue(),\r\n\t\t\t\t\t\tremovedNodes: removedNodes,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tcomponent.setValue(data);\r\n\t\t\t\t\tcomponent.triggerRedraw();\r\n\t\t\t\t});\r\n\r\n\t\t\t\tconst nestedForms = Utils.searchComponents(\r\n\t\t\t\t\tthis.formioComponent.root.components,\r\n\t\t\t\t\t{ type: 'form' }\r\n\t\t\t\t);\r\n\t\t\t\tnestedForms.forEach((formComponent) => {\r\n\t\t\t\t\tformComponent.subFormReady.then((subForm) => {\r\n\t\t\t\t\t\tconst formComponents =\r\n\t\t\t\t\t\t\tformComponent.component.display == 'wizard'\r\n\t\t\t\t\t\t\t\t? subForm.getPages({ all: true })\r\n\t\t\t\t\t\t\t\t: subForm.components;\r\n\t\t\t\t\t\tUtils.eachComponent(\r\n\t\t\t\t\t\t\tformComponents,\r\n\t\t\t\t\t\t\t(component) => {\r\n\t\t\t\t\t\t\t\tif (component.key == entity.key) {\r\n\t\t\t\t\t\t\t\t\tconst value = this.formioComponent.evaluate(entity.value, {\r\n\t\t\t\t\t\t\t\t\t\tvalue: component.getValue(),\r\n\t\t\t\t\t\t\t\t\t\tremovedNodes: removedNodes,\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tcomponent.setValue(value);\r\n\t\t\t\t\t\t\t\t\tcomponent.triggerRedraw();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\ttrue\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate notifyValue() {\r\n\t\tconst resources = [];\r\n\t\tfor (const temp of this.dataSource.value) {\r\n\t\t\tlet item = this.getFiledsValue(temp);\r\n\t\t\tthis.getChildrensValue(item, temp);\r\n\t\t\tresources.push(item);\r\n\t\t}\r\n\t\tthis.value = { resources };\r\n\t\tthis.valueChange.emit(this.value);\r\n\t\tthis.afterChangeValue();\r\n\t}\r\n\r\n\tprivate afterChangeValue() {\r\n\t\tif (this.customOptions && this.customOptions.afterChange)\r\n\t\t\tthis.customOptions.afterChange.forEach((item) => {\r\n\t\t\t\tconst components = Utils.searchComponents(\r\n\t\t\t\t\tthis.formioComponent.root.components,\r\n\t\t\t\t\t{ key: item.key }\r\n\t\t\t\t);\r\n\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\tconst value = this.formioComponent.interpolate(item.value, {\r\n\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tc.setValue(value);\r\n\t\t\t\t});\r\n\r\n\t\t\t\tconst nestedForms = Utils.searchComponents(\r\n\t\t\t\t\tthis.formioComponent.root.components,\r\n\t\t\t\t\t{ type: 'form' }\r\n\t\t\t\t);\r\n\t\t\t\tnestedForms.forEach((formComponent) => {\r\n\t\t\t\t\tformComponent.subFormReady.then((subForm) => {\r\n\t\t\t\t\t\tUtils.eachComponent(\r\n\t\t\t\t\t\t\tsubForm.components,\r\n\t\t\t\t\t\t\t(component) => {\r\n\t\t\t\t\t\t\t\tif (component.key == item.key) {\r\n\t\t\t\t\t\t\t\t\tconst value = this.formioComponent.interpolate(item.value, {\r\n\t\t\t\t\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tcomponent.setValue(value);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\ttrue\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate getFiledsValue(node) {\r\n\t\tlet item = {};\r\n\t\tconst fileds = node.fields.map((q) => {\r\n\t\t\treturn { [q.name]: q.value };\r\n\t\t});\r\n\t\tfileds.forEach((prop) => {\r\n\t\t\tfor (const [key, value] of Object.entries(prop)) {\r\n\t\t\t\titem[key] = value;\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn item;\r\n\t}\r\n\r\n\tprivate getChildrensValue(item, node) {\r\n\t\tconst subProps = node.actions\r\n\t\t\t.filter((q) => q.bindWith)\r\n\t\t\t.map((q) => q.bindWith);\r\n\t\tsubProps.forEach((key) => {\r\n\t\t\titem[key] = [];\r\n\t\t});\r\n\t\tif (node?.childrens?.length > 0) {\r\n\t\t\tnode.childrens.forEach((q) => {\r\n\t\t\t\tconst child = this.getFiledsValue(q);\r\n\t\t\t\tif (q.childrens.length > 0) this.getChildrensValue(child, q);\r\n\t\t\t\tif (item && item[q.translatedName]) item[q.translatedName].push(child);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate fillData() {\r\n\t\tif (this.value) {\r\n\t\t\tconst resourceData = [];\r\n\t\t\tfor (const prop of Object.keys(this.value)) {\r\n\t\t\t\tresourceData.push(this.value[prop]);\r\n\t\t\t}\r\n\r\n\t\t\tresourceData.forEach((data) => {\r\n\t\t\t\tconst level = this.customOptions;\r\n\t\t\t\tconst item = {\r\n\t\t\t\t\t_id: data._id,\r\n\t\t\t\t\torder: data.data.order,\r\n\t\t\t\t\tfields: _cloneDeep(level[Object.keys(level)[0]].fields),\r\n\t\t\t\t\ticon: level[Object.keys(level)[0]].icon,\r\n\t\t\t\t\tcolor: level[Object.keys(level)[0]].color,\r\n\t\t\t\t\tchildrens: [],\r\n\t\t\t\t};\r\n\r\n\t\t\t\tthis.setFieldsTranslations(item.fields, data, false);\r\n\r\n\t\t\t\tconst currentNode = this.fillSource(item, level);\r\n\t\t\t\tlevel[Object.keys(level)[0]].actions\r\n\t\t\t\t\t.filter((q) => q.bindWith)\r\n\t\t\t\t\t.forEach((element) => {\r\n\t\t\t\t\t\tif (data.data[element.bindWith]) {\r\n\t\t\t\t\t\t\tconst node = this.findNode(this.customOptions, element.bindWith);\r\n\t\t\t\t\t\t\tthis.findAndFillSubData(\r\n\t\t\t\t\t\t\t\tdata.data[element.bindWith],\r\n\t\t\t\t\t\t\t\tnode,\r\n\t\t\t\t\t\t\t\tcurrentNode\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate findAndFillSubData(array, level, parrentNode) {\r\n\t\tarray.forEach((data) => {\r\n\t\t\tconst item = {\r\n\t\t\t\t_id: data._id,\r\n\t\t\t\torder: data.order,\r\n\t\t\t\tisParentNode: parrentNode ? parrentNode._id : true,\r\n\t\t\t\tfields: _cloneDeep(level[Object.keys(level)[0]].fields),\r\n\t\t\t\ticon: level[Object.keys(level)[0]].icon,\r\n\t\t\t\tcolor: level[Object.keys(level)[0]].color,\r\n\t\t\t\tchildrens: [],\r\n\t\t\t};\r\n\r\n\t\t\tthis.setFieldsTranslations(item.fields, data);\r\n\r\n\t\t\tconst currentNode = this.fillSource(item, level, parrentNode);\r\n\t\t\tlevel[Object.keys(level)[0]].actions\r\n\t\t\t\t.filter((q) => q.bindWith)\r\n\t\t\t\t.forEach((element) => {\r\n\t\t\t\t\tif (data[element.bindWith]) {\r\n\t\t\t\t\t\tconst node = this.findNode(this.customOptions, element.bindWith);\r\n\t\t\t\t\t\tthis.findAndFillSubData(data[element.bindWith], node, currentNode);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tsetFieldsTranslations(fields, field, isChild = true) {\r\n\t\tthis.translateService\r\n\t\t\t.get('key')\r\n\t\t\t.pipe(\r\n\t\t\t\ttake(1),\r\n\t\t\t\tmap((_) => this.translateService.store.translations)\r\n\t\t\t)\r\n\t\t\t.subscribe(({ ar, en }) => {\r\n\t\t\t\tfields.forEach((prop) => {\r\n\t\t\t\t\tif (!isChild) {\r\n\t\t\t\t\t\tif (field.data[prop.name]) prop.value = field.data[prop.name];\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (field[prop.name]) prop.value = field[prop.name];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t//Set Translations\r\n\t\t\t\t\tconst key = !isChild ? field.data.key : field.key;\r\n\t\t\t\t\tif (prop.name.includes(TRANSLATIONS.NAMEAR)) {\r\n\t\t\t\t\t\tprop.value = ar?.forms?.common?.[key] || '';\r\n\t\t\t\t\t} else if (prop.name.includes(TRANSLATIONS.NAMEEN)) {\r\n\t\t\t\t\t\tprop.value = en?.forms?.common?.[key] || '';\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\t/* Selection Code */\r\n\tchecklistSelection = new SelectionModel(true);\r\n\tgetLevel = (node: any) => node.level;\r\n\r\n\ttodoLeafItemSelectionToggle(node: any): void {\r\n\t\tthis.checklistSelection.toggle(node);\r\n\t\tthis.checkAllParentsSelection(node);\r\n\t}\r\n\r\n\tcheckAllParentsSelection(node: any): void {\r\n\t\tlet parent: any | null = this.getParentNode(node);\r\n\t\twhile (parent) {\r\n\t\t\tthis.checkRootNodeSelection(parent);\r\n\t\t\tparent = this.getParentNode(parent);\r\n\t\t}\r\n\t}\r\n\r\n\tgetParentNode(node: any): any | null {\r\n\t\tconst currentLevel = this.getLevel(node);\r\n\r\n\t\tif (currentLevel < 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tif (!this.treeControl.dataNodes) return;\r\n\t\tconst startIndex = this.treeControl.dataNodes.indexOf(node) - 1;\r\n\r\n\t\tfor (let i = startIndex; i >= 0; i--) {\r\n\t\t\tconst currentNode = this.treeControl.dataNodes[i];\r\n\r\n\t\t\tif (this.getLevel(currentNode) < currentLevel) {\r\n\t\t\t\treturn currentNode;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\tcheckRootNodeSelection(node: any): void {\r\n\t\tconst nodeSelected = this.checklistSelection.isSelected(node);\r\n\t\tconst descendants = this.treeControl.getDescendants(node);\r\n\t\tconst descAllSelected =\r\n\t\t\tdescendants.length > 0 &&\r\n\t\t\tdescendants.every((child) => {\r\n\t\t\t\treturn this.checklistSelection.isSelected(child);\r\n\t\t\t});\r\n\t\tif (nodeSelected && !descAllSelected) {\r\n\t\t\tthis.checklistSelection.deselect(node);\r\n\t\t} else if (!nodeSelected && descAllSelected) {\r\n\t\t\tthis.checklistSelection.select(node);\r\n\t\t}\r\n\t}\r\n\r\n\tdescendantsAllSelected(node: any): boolean {\r\n\t\tconst descendants = this.treeControl.getDescendants(node);\r\n\t\tconst descAllSelected =\r\n\t\t\tdescendants.length > 0 &&\r\n\t\t\tdescendants.every((child) => {\r\n\t\t\t\treturn this.checklistSelection.isSelected(child);\r\n\t\t\t});\r\n\t\t// if (descAllSelected) this.checklistSelection.select(node);\r\n\t\t// else this.checklistSelection.deselect(node);\r\n\t\treturn descAllSelected;\r\n\t}\r\n\r\n\tdescendantsPartiallySelected(node: any): boolean {\r\n\t\tconst descendants = this.treeControl.getDescendants(node);\r\n\t\tconst result = descendants.some((child) =>\r\n\t\t\tthis.checklistSelection.isSelected(child)\r\n\t\t);\r\n\t\treturn result && !this.descendantsAllSelected(node);\r\n\t}\r\n\r\n\ttodoItemSelectionToggle(node: any): void {\r\n\t\tthis.checklistSelection.toggle(node);\r\n\t\tconst descendants = this.treeControl.getDescendants(node);\r\n\t\tthis.checklistSelection.isSelected(node)\r\n\t\t\t? this.checklistSelection.select(...descendants)\r\n\t\t\t: this.checklistSelection.deselect(...descendants);\r\n\r\n\t\t// Force update for the parent\r\n\t\tdescendants.forEach((child) => this.checklistSelection.isSelected(child));\r\n\t\tthis.checkAllParentsSelection(node);\r\n\t}\r\n\r\n\t/* End Selection Code */\r\n\r\n\tngOnDestroy() {\r\n\t\tif (this.sub) this.sub.unsubscribe();\r\n\t\tthis.deletedNodesObs$ = [];\r\n\t}\r\n}\r\n","
    \r\n
    \r\n \r\n
    \r\n\r\n {{ title | translate }} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n
    \r\n {{ \"forms.common.Criteria.summary\" | translate }}\r\n \r\n
    {{ row?.summaryText }}
    \r\n
    \r\n {{ \"forms.common.Criteria.summary\" | translate }}\r\n \r\n
    {{ row[filter] }}
    \r\n
    \r\n {{ \"forms.common.Criteria.MasarCriteria\" | translate }}\r\n \r\n {{row.criterionKey}}\r\n \r\n {{ \"forms.common.Criteria.finalReportResponse\" | translate }}\r\n \r\n
    \r\n {{ \"forms.common.Criteria.finalReportResponseAdded\" | translate }}\r\n
    \r\n
    \r\n {{ \"forms.common.Criteria.Decision\" | translate }}\r\n \r\n
    \r\n {{ \"forms.common.Criteria.\" + row?.leaderDecision | translate }}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {{ \"forms.common.No items added yet\" | translate }}\r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    ","import { Component } from '@angular/core';\r\nimport { MatBottomSheetRef } from '@angular/material/bottom-sheet';\r\n\r\n@Component({\r\n\tselector: 'app-bottom-sheet-overview',\r\n\ttemplateUrl: './bottom-sheet-overview.component.html',\r\n\tstyleUrls: ['./bottom-sheet-overview.component.scss'],\r\n})\r\nexport class BottomSheetOverviewComponent {\r\n\tconstructor(private _bottomSheetRef: MatBottomSheetRef) {}\r\n\r\n\topenLink(event: MouseEvent): void {\r\n\t\tthis._bottomSheetRef.dismiss();\r\n\t\tevent.preventDefault();\r\n\t}\r\n}\r\n","/* (ignored) */","import { Subscription } from 'rxjs';\r\nimport { Utils } from 'formiojs';\r\nimport { CategoryConfig } from './../models/config.model';\r\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewEncapsulation } from \"@angular/core\";\r\nimport { FormControl } from '@angular/forms';\r\nimport { SortHelper } from '../../../helpers/sort.helper';\r\nimport { ResourceNameService } from 'dp-formio';\r\n\r\n\r\n@Component({\r\n selector: 'app-category-card',\r\n templateUrl: './category-card.component.html',\r\n // styleUrls: ['./category-card.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CategoryCardComponent implements OnInit, OnDestroy {\r\n @Input() data: any;\r\n @Input() customOptions: any;\r\n @Input() processConfig: any;\r\n\r\n @Input() category: CategoryConfig;\r\n\r\n @Input() isSub = false;\r\n @Output() onOpenCategory = new EventEmitter();\r\n @Output() onOpenSubCategory = new EventEmitter();\r\n\r\n options: any[] = [];\r\n selected = new FormControl(null, []);\r\n isLoading = false;\r\n isOpen = false;\r\n\r\n sub: Subscription;\r\n\r\n constructor(private resourceNameService: ResourceNameService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub?.unsubscribe();\r\n }\r\n\r\n openCatalog() {\r\n this.onOpenCategory.emit();\r\n }\r\n openSubCategory(key) {\r\n this.onOpenSubCategory.emit({\r\n key,\r\n parent: this.category\r\n });\r\n }\r\n\r\n openChanged(isOpen: boolean) {\r\n this.isOpen = isOpen;\r\n if (isOpen && !this.category?.subCategoriresObjectForSelect?.length) {\r\n this.isLoading = isOpen;\r\n this.options = [];\r\n this.selected.reset();\r\n\r\n const categoryResource = Utils.interpolate(this.customOptions.categoryResource, { data: this.data });\r\n const subCategoryQuery = Utils.interpolate(this.customOptions.subCategoryQuery, { data: this.data, key: this.category.key });\r\n const subCategorySelect = Utils.interpolate(this.customOptions.subCategorySelect, { data: this.data, key: this.category.key });\r\n\r\n this.resourceNameService.loadCustomByFilterdKey(categoryResource, `${subCategoryQuery}${subCategorySelect}`)\r\n .subscribe((data: any[]) => {\r\n this.options = SortHelper.recursiveSort(data.map(c => {\r\n const item = new CategoryConfig();\r\n const mappedItem = { _id: c._id, ...c.data };\r\n SortHelper.copyProps(mappedItem, item);\r\n item.parentCategoryObject = this.category;\r\n return item;\r\n }), 'asc');\r\n\r\n this.category.subCategoriresObjectForSelect = this.options;\r\n this.selected.setValue(this.options);\r\n this.isLoading = false;\r\n },\r\n (error) => {\r\n this.options = [];\r\n console.error(error);\r\n this.selected.setValue(this.options);\r\n this.isLoading = false;\r\n }\r\n );\r\n } else {\r\n this.options = this.category.subCategoriresObjectForSelect;\r\n this.selected.setValue(this.options);\r\n }\r\n }\r\n}","import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Component, Inject, OnDestroy, QueryList, ViewChildren, ViewEncapsulation } from \"@angular/core\";\r\nimport { Evaluator } from 'formiojs/utils/utils';\r\nimport { SortHelper } from '../../../helpers/sort.helper';\r\nimport { finalize, forkJoin, map, Subscription } from 'rxjs';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { ClassificationDomain, ClassificationIndicator, ClassificationQuestion, ClassificationStatus, ClassificationYears } from '../models/classification-indicators.model';\r\nimport { TooltipDialog } from '../../assessment-wrapper/tooltip-dialog/tooltip-dialog.component';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { showToast } from '../../toast.helper';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { FormioLoader, ResourceNameService } from 'dp-formio';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-classification-indicator',\r\n templateUrl: './classification-indicator.component.html',\r\n // styleUrls: ['./classification-indicator.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n // providers: [FormioLoader]\r\n})\r\nexport class ClassificationIndicatorComponent implements OnDestroy {\r\n @ViewChildren('forms') forms: QueryList;\r\n\r\n domainQuery = '';\r\n questionQuery = '';\r\n indicatorStatus = ClassificationStatus;\r\n isSummary = false;\r\n ready = false;\r\n\r\n domainsDecisions: ClassificationStatus[] = [];\r\n orginalDomains: ClassificationDomain[] = [];\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n constructor(private dialog: MatDialog,\r\n private translateService: TranslateService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public formioLoader: FormioLoader,\r\n private toastrService: ToastrService,\r\n private resourceNameService: ResourceNameService) {\r\n this.domainQuery = Evaluator.interpolate(this.data.customOptions.domainQuery, { data: this.data.submission, indicator: this.data.indicator });\r\n this.getIndicatorDomains();\r\n this.isSummary = this.data.isSummary;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n showDialog(message: string) {\r\n const dialogRef = this.dialog.open(TooltipDialog, {\r\n width: '80%',\r\n data: {\r\n dir: this.data.dir,\r\n message: this.translateService.instant(message)\r\n }\r\n });\r\n }\r\n\r\n close(): void {\r\n // this.data.indicator.domains.forEach(domain => {\r\n // domain.attachmentsInstance = _cloneDeep(domain.attachments);\r\n // });\r\n // this.orginalDomains.forEach((domain, index) => {\r\n // const item = this.data.indicator.domains.find(q => q.id == domain._id);\r\n // if (item) this.orginalDomains[index] = { ...item };\r\n // })\r\n this.data.indicator.domains = this.orginalDomains;\r\n this.dialogRef.close(this.data.indicator);\r\n }\r\n changeLoading(state) {\r\n this.formioLoader.loading = state;\r\n }\r\n\r\n async save(domainIndex: number, expansion: any): Promise {\r\n const indicator = _cloneDeep(this.data.indicator);\r\n indicator.domains[domainIndex].decision = this.domainsDecisions[domainIndex];\r\n const someNotComplete = indicator.domains.some(q => q.decision == ClassificationStatus.UnComplete);\r\n if (someNotComplete) {\r\n indicator.status = ClassificationStatus.UnComplete;\r\n } else {\r\n const someNotComplete = indicator.domains.every(q => q.decision == ClassificationStatus.Complete);\r\n if (someNotComplete) indicator.status = ClassificationStatus.Complete;\r\n }\r\n\r\n this.formioLoader.loading = true;\r\n this.sub = forkJoin(this.prepareCalls(indicator.domains[domainIndex], indicator))\r\n .subscribe(data => {\r\n this.data.indicator.status = indicator.status;\r\n this.data.indicator.isSubDomainsValids = true;\r\n this.data.indicator.domains[domainIndex].decision = this.domainsDecisions[domainIndex];\r\n this.orginalDomains[domainIndex] = _cloneDeep(this.data.indicator.domains[domainIndex]);\r\n this.formioLoader.loading = false;\r\n expansion.expanded = false;\r\n\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Saved done\"),\r\n this.translateService.instant(\"forms.common.Saved Successfully\"),\r\n false\r\n );\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"ErrorOccurred\"),\r\n this.translateService.instant(\"generalError\"),\r\n true\r\n );\r\n });\r\n }\r\n\r\n private prepareCalls(domain: ClassificationDomain, indicator: ClassificationIndicator) {\r\n const calls = [];\r\n calls.push(this.resourceNameService.\r\n patchSubmission(this.data.customOptions.domainResource,\r\n domain._id,\r\n [{\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/attachmentsFiles\",\r\n \"value\": domain.attachmentsFiles || []\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/notesAndRecommendations\",\r\n \"value\": domain.notesAndRecommendations || []\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/decision\",\r\n \"value\": domain.decision >= 0 ? domain.decision : null\r\n }\r\n ]));\r\n\r\n calls.push(this.resourceNameService.\r\n patchSubmission(this.data.customOptions.indicatorResource,\r\n indicator._id,\r\n [{\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/status\",\r\n \"value\": indicator.status >= 0 ? indicator.status : null\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/isSubDomainsValids\",\r\n \"value\": indicator.domains.every(q => q.isValid) || false\r\n }\r\n ]));\r\n\r\n return calls;\r\n }\r\n\r\n formLoad(formSettings) {\r\n setTimeout(() => {\r\n const array = $('.classification-indicator [name=\"data[submit]\"]');\r\n for (let index = 0; index < array.length; index++) {\r\n $(array[index]).hide();\r\n }\r\n }, 250)\r\n }\r\n questionDataChanged(event, questionIndex: number, domainIndex: number) {\r\n this.data.indicator.score = event.indicatorScore;\r\n this.data.indicator.completionRate = event.indicatorCompletionRate;\r\n this.data.indicator.domains[domainIndex].score = event.domainScore;\r\n this.data.indicator.domains[domainIndex].completionRate = event.domainCompletionRate;\r\n this.data.indicator.domains[domainIndex].questions[questionIndex] = event.question;\r\n this.orginalDomains[domainIndex] = this.data.indicator.domains[domainIndex];\r\n }\r\n historyUpdated(questionIndex: number, domainIndex: number) {\r\n this.data.indicator.history = this.data.indicator.history;\r\n this.data.indicator.domains.forEach(domain => {\r\n domain.indicatorObject.history = this.data.indicator.history;\r\n });\r\n this.orginalDomains[domainIndex].indicatorObject = {\r\n _id: this.data.indicator._id,\r\n history: this.data.indicator.history\r\n };\r\n\r\n const tempDomain = new ClassificationDomain();\r\n tempDomain._id = this.orginalDomains[domainIndex]._id;\r\n tempDomain.indicatorObject = this.orginalDomains[domainIndex].indicatorObject;\r\n this.orginalDomains[domainIndex].questions[questionIndex].domainObject = tempDomain;\r\n }\r\n updateDomains(isAll = false) {\r\n if (!isAll) {\r\n this.data.indicator.domains = this.data.indicator.domains.filter(q => q.decision != ClassificationStatus.Complete);\r\n }\r\n this.data.isSummary = false;\r\n this.ready = false;\r\n setTimeout(() => this.ready = true);\r\n }\r\n\r\n loadDomainQuestions(domain: ClassificationDomain) {\r\n if (domain.isCached) return;\r\n this.formioLoader.loading = true;\r\n this.questionQuery = Evaluator.interpolate(this.data.customOptions.questionQuery, { data: this.data.submission, domain: domain });\r\n this.sub = this.resourceNameService.loadCustomByFilterdKey(this.data.customOptions.questionResource, this.questionQuery)\r\n .pipe(\r\n map((data: any[]) => {\r\n return SortHelper.recursiveSort(data.map(q => { return { _id: q._id, ...q.data } }), 'asc')\r\n .map(q => {\r\n if (!q.attachmentsFiles?.length) q.attachmentsFiles = [];\r\n const item = new ClassificationQuestion();\r\n SortHelper.copyProps(q, item);\r\n\r\n const tempDomain = new ClassificationDomain();\r\n tempDomain._id = domain._id;\r\n tempDomain.indicatorObject = domain.indicatorObject;\r\n item.domainObject = tempDomain;\r\n\r\n if (item.years)\r\n item.years = item.years.map(o => {\r\n const oInput = new ClassificationYears();\r\n SortHelper.copyProps(o, oInput);\r\n oInput.value = oInput.value || '0';\r\n return oInput;\r\n });\r\n else {\r\n item.years = [];\r\n !item.score ? item.score = item.min || 0 : null;\r\n }\r\n item.orginal = _cloneDeep(item);\r\n\r\n return item;\r\n });\r\n }),\r\n finalize(() => this.formioLoader.loading = false))\r\n .subscribe(data => {\r\n domain.questions = data;\r\n domain.isCached = true;\r\n\r\n const domainIndex = this.orginalDomains.findIndex(q => q._id == domain._id);\r\n this.orginalDomains[domainIndex] = _cloneDeep(domain);\r\n this.ready = true;\r\n });\r\n }\r\n\r\n private getIndicatorDomains() {\r\n if (this.data.indicator.isCached) {\r\n this.fillDomainsDecisions();\r\n this.formioLoader.loading = false;\r\n this.ready = true;\r\n this.orginalDomains = _cloneDeep(this.data.indicator.domains);\r\n return;\r\n }\r\n\r\n this.formioLoader.loading = true;\r\n this.sub = this.resourceNameService.loadCustomByFilterdKey(this.data.customOptions.domainResource, this.domainQuery)\r\n .pipe(\r\n map((data: any[]) => {\r\n return SortHelper.recursiveSort(data.map(q => { return { _id: q._id, ...q.data } }), 'asc')\r\n .map(q => {\r\n if (!q.attachmentsFiles?.length) q.attachmentsFiles = [];\r\n const item = new ClassificationDomain();\r\n SortHelper.copyProps(q, item);\r\n item.indicatorObject = {\r\n _id: this.data.indicator._id,\r\n history: this.data.indicator.history,\r\n };\r\n return item;\r\n });\r\n }),\r\n finalize(() => this.formioLoader.loading = false))\r\n .subscribe(data => {\r\n this.data.indicator.domains = data;\r\n this.fillDomainsDecisions();\r\n this.orginalDomains = _cloneDeep(this.data.indicator.domains);\r\n this.data.indicator.isCached = true;\r\n this.ready = true;\r\n });\r\n }\r\n\r\n private fillDomainsDecisions() {\r\n this.data.indicator.domains.forEach(domain => {\r\n this.domainsDecisions.push(domain.decision);\r\n });\r\n }\r\n}\r\n","/* (ignored) */","export * from './distribute-common-questions.module'\r\nexport * from './distribute-common-questions.wrapper'\r\n","import { Injector } from '@angular/core';\r\nimport {\r\n FormioCustomComponentInfo,\r\n registerCustomFormioComponent,\r\n} from 'dp-formio';\r\nimport { DistributeCommonQuestionsComponent } from './distribute-common-questions.component';\r\n\r\n\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'distribute-common-faq',\r\n selector: 'distribute-common-faq',\r\n title: 'distribute-common-faq',\r\n};\r\n\r\nexport function registerDistributeCommonQuestionsComponent(injector: Injector) {\r\n registerCustomFormioComponent(\r\n COMPONENT_OPTIONS,\r\n DistributeCommonQuestionsComponent,\r\n injector\r\n );\r\n}\r\n","
    \r\n \r\n \r\n \r\n
    ","
    \r\n \r\n\r\n \r\n\r\n

    \r\n {{data.currentLevel.description}}\r\n

    \r\n\r\n \r\n {{data.currentLevel.error}}\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    ","import { NgModule } from \"@angular/core\";\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatNativeDateModule } from \"@angular/material/core\";\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport {MatBadgeModule} from '@angular/material/badge';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ],\r\n imports: [\r\n ...MaterialModule.ComponentModule,\r\n ],\r\n exports: [\r\n ...MaterialModule.ComponentModule,\r\n ],\r\n providers: [\r\n ],\r\n})\r\n\r\nexport class MaterialModule {\r\n static ComponentModule = [\r\n MatCheckboxModule,\r\n MatCheckboxModule,\r\n MatButtonModule,\r\n MatInputModule,\r\n MatAutocompleteModule,\r\n MatDatepickerModule,\r\n MatFormFieldModule,\r\n MatRadioModule,\r\n MatSelectModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatMenuModule,\r\n MatSidenavModule,\r\n MatToolbarModule,\r\n MatListModule,\r\n MatGridListModule,\r\n MatCardModule,\r\n MatStepperModule,\r\n MatTabsModule,\r\n MatExpansionModule,\r\n MatButtonToggleModule,\r\n MatChipsModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n MatProgressBarModule,\r\n MatDialogModule,\r\n MatTooltipModule,\r\n MatSnackBarModule,\r\n MatTableModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatNativeDateModule,\r\n MatBadgeModule,\r\n ];\r\n}\r\n","
    \r\n \r\n\r\n\r\n \r\n \r\n\r\n
    \r\n \r\n {{ option.data.question }}\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n

    {{ 'ERRORS.NoDataFound' | translate }}

    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n","\r\n\r\n\r\n \r\n \r\n
    \r\n \r\n {{ option.questionText }}\r\n \r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n pending_actions\r\n \r\n\r\n {{ ('PHASES.' +(option?.phase | lowercase)) | translate }}\r\n \r\n\r\n \r\n \r\n \r\n calendar_month\r\n \r\n\r\n {{'forms.common.sessions' | translate }} : {{option.sessions?.length}}\r\n \r\n\r\n \r\n \r\n group\r\n \r\n\r\n {{'forms.common.members' | translate }} : {{ option.sessions | membersLength}}\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n

    {{ 'ERRORS.NoDataFound' | translate }}

    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n","
    \r\n
    \r\n
    \r\n \r\n {{ \"forms.common.Criteria.clause\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.responsibleName\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.endDate\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.requiredResources\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.expectedOutputs\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.Attachments\" | translate }}\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    ","/* (ignored) */","\r\n\t {{ title | translate }} \r\n\t
    \r\n\t\t\r\n\r\n\t\t\r\n\t
    \r\n\r\n\r\n
    0\">\r\n\t\r\n\t\t
    {{ 'notifications.noEntry' | translate }}
    \r\n\t
    \r\n
    \r\n\r\n\t\r\n\t\t\r\n\t\t\t{{ header | translate }}\r\n\t\t\r\n\t\t
    \r\n\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t\r\n\r\n\t\r\n\t\t\r\n\t\t\r\n\t\r\n
    \r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from \"rxjs\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { FormioAppConfig } from 'dp-formio';\r\n@Injectable({ providedIn: 'root' })\r\nexport class TemplateObjectsService {\r\n PROCESS_HOST_URL = '';\r\n\r\n constructor(private httpClient: HttpClient,\r\n private formioAppConfig: FormioAppConfig) { }\r\n\r\n getCollaburaURL(): Observable<{ url?: string, token?: string }> {\r\n return this.httpClient.get<{ url?: string, token?: string }>(this.PROCESS_HOST_URL + '/api/collaboraUrl');\r\n }\r\n // parseTemplate(data: string): Observable {\r\n // return this.httpClient.post(this.PROCESS_HOST_URL + '/api/documenteditor/OpenBase64', {\r\n // documentData: data,\r\n // fileName: ''\r\n // });\r\n // }\r\n\r\n // mergeAndParseTemplate(requestData: any): Observable {\r\n // return this.httpClient.post(this.PROCESS_HOST_URL + '/api/documenteditor/MailMerge', requestData);\r\n // }\r\n\r\n // mergeAndRenderTemplate(requestData: any, templateId: string): Observable {\r\n // return this.httpClient.post(this.PROCESS_HOST_URL + '/api/documenteditor/MergeAndRender/' + templateId,\r\n // requestData, { headers: {}, responseType: 'blob' });\r\n // }\r\n // renderTemplateToPdf(templateId: string): Observable {\r\n // return this.httpClient.post(this.PROCESS_HOST_URL + '/api/documenteditor/saveToPdf/' + templateId,\r\n // {}, { headers: {}, responseType: 'blob' });\r\n // }\r\n // saveBase64DocAsPDF(base64Docx: any): Observable {\r\n // return this.httpClient.post(this.PROCESS_HOST_URL + '/api/documenteditor/Base64ToPdf',\r\n // { documentData: base64Docx }, { headers: {}, responseType: 'blob' });\r\n // }\r\n\r\n // renderTemplate(requestData: any): Observable {\r\n // return new Observable(subscriber => {\r\n // subscriber.next(new Blob());\r\n // });\r\n // }\r\n\r\n // mergeAndGetTemplate(param: any, templateId: string): Observable {\r\n // return this.httpClient.post(this.PROCESS_HOST_URL + '/api/documenteditor/processAsOdt/' + templateId,\r\n // param, { headers: {}, responseType: 'blob' });\r\n // }\r\n // getTemplate(templateId: string): Observable {\r\n // return this.httpClient.post(this.PROCESS_HOST_URL + '/api/documenteditor/saveToOdt/' + templateId,\r\n // {}, { headers: {}, responseType: 'blob' });\r\n // }\r\n // mergeAndGetBase64(param: any, templateId: string): Observable {\r\n // delete param.groupsDataMap;\r\n // return this.httpClient.post(this.PROCESS_HOST_URL + '/api/documenteditor/processAsBase64/' + templateId,\r\n // param, { headers: {}, responseType: 'text' });\r\n // }\r\n // getBase64(templateId: string): Observable {\r\n // return this.httpClient.post(this.PROCESS_HOST_URL + '/api/documenteditor/saveToBase64/' + templateId,\r\n // {}, { headers: {}, responseType: 'text' });\r\n // }\r\n\r\n mergeAndRenderToPDFBase64(param: any, requestType: string, requestId: string): Observable {\r\n delete param.groupsDataMap;\r\n return this.httpClient.post(`${this.PROCESS_HOST_URL}${'/api/documenteditor/MergeAndRenderBase64'}/${requestType}/${requestId}`,\r\n param, { headers: {}, responseType: 'text' });\r\n }\r\n\r\n getRequestData(caseId: string) {\r\n return this.httpClient.get(`${(this.formioAppConfig as any).gateway}/requestmanagement/api/requests?caseId.equals=${caseId}`);\r\n }\r\n}\r\n","
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    ","\r\n
    \r\n
    \r\n

    {{'forms.common.' + showMainBranch.label | translate}}

    \r\n
    \r\n
    \r\n \r\n\r\n \r\n {{item.value ? (item.value | date : 'yyyy-MM-dd') : ('forms.common.inicatorsNoData' | translate)}}\r\n \r\n \r\n {{item.value ? item.value : ('forms.common.inicatorsNoData' | translate)}}\r\n \r\n
    \r\n
    \r\n
    \r\n {{'forms.common.Main branch data has not yet been entered' | translate}}\r\n
    \r\n \r\n {{'forms.common.' + showMainBranch.messageError | translate}}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
  • \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n add\r\n \r\n \r\n \r\n visibility\r\n \r\n edit\r\n \r\n delete\r\n \r\n\r\n
    \r\n
  • \r\n
    \r\n \r\n
  • \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n add\r\n \r\n \r\n \r\n\r\n visibility\r\n \r\n edit\r\n \r\n delete\r\n \r\n
    \r\n
  • \r\n
      \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n drag_indicator\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    ","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, filter, map, Observable, ReplaySubject, tap } from \"rxjs\";\r\nimport { ICriterion } from \"../../distribute-team-members/models/criterion\";\r\nimport { Category } from \"../models/category.model\";\r\nimport { Process } from \"../models/process.model\";\r\nimport { Question } from \"../models/question.model\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MemberModel } from \"../models/member.model\";\r\nimport { DecisionInput } from \"../models/decision-input.model\";\r\nimport { CopyModel } from \"../models/copy.model\";\r\nimport { ExecuteVisitResult } from \"../models/execute-visit-result.model\";\r\nimport { FormioAppConfig, ResourceNameService } from \"dp-formio\";\r\n\r\nexport const PAGE_SIZE = 5;\r\n@Injectable({ providedIn: 'root' })\r\nexport class CriterionsService {\r\n private baseUrl = this.formioAppConfig.gateway;\r\n\r\n process$ = new ReplaySubject(1);\r\n criterion$ = new BehaviorSubject(null);\r\n questionResult$ = new BehaviorSubject(null);\r\n decisionInputs$ = new BehaviorSubject(null);\r\n decisionTaken$ = new BehaviorSubject(null);\r\n hasMistake$ = new BehaviorSubject(null);\r\n sendEvaluation$ = new BehaviorSubject(null);\r\n sendToExecutiveSummary$ = new BehaviorSubject(null);\r\n sendSummary$ = new BehaviorSubject(null);\r\n\r\n results$ = new BehaviorSubject(new ExecuteVisitResult());\r\n\r\n forms = {\r\n attachmentsFormKey: ''\r\n };\r\n\r\n constructor(private resourceNameService: ResourceNameService,\r\n private formioAppConfig: FormioAppConfig,\r\n private http: HttpClient) {\r\n }\r\n\r\n getCategory(criterionId: string): Observable {\r\n return this.resourceNameService.loadCustomByKeyId(this.formioAppConfig.endpoints.assessmentResource.categories, criterionId)\r\n .pipe(\r\n map((result: any) => {\r\n const category: Category = {\r\n ...result.data,\r\n _id: result._id\r\n };\r\n if (result.data.numberOfApplicable > 0)\r\n category.calculatedSavedScore = result.data.totalEvaluationCriteria / result.data.numberOfApplicable;\r\n return category;\r\n })\r\n );\r\n }\r\n getQuestion(criterionId: string): Observable {\r\n return this.resourceNameService.loadCustomByKeyId(this.formioAppConfig.endpoints.assessmentResource.questions, criterionId)\r\n .pipe(\r\n map((result: any) => {\r\n const question: Question = {\r\n ...result.data,\r\n _id: result._id,\r\n };\r\n question.hasLink = !!question.linkNameAr || !!question.linkNameEn;\r\n question.hasLinkTooltip = !!question.tooltipAr || !!question.tooltipEn;\r\n\r\n question.hasNotes = !!question.notesNameAr || !!question.notesNameEn;\r\n question.hasNotesTooltip = !!question.notesTooltipAr || !!question.notesTooltipEn;\r\n\r\n question.hasAttachments = !!question.attachments.length;\r\n question.hasAttachmentsTooltip = !!question.attachmentsTooltipAr || !!question.attachmentsTooltipEn;\r\n question.attachments?.forEach(attachment => attachment.hasTooltip = !!attachment.attachmentTooltipAr || !!attachment.attachmentTooltipEn);\r\n\r\n question.hasPledgeAndAcknowledgment = !!question.pledgeNameAr || !!question.pledgeNameEn;\r\n question.hasPledgeTooltip = !!question.pledgeTooltipAr || !!question.pledgeTooltipEn;\r\n\r\n question.evaluationItems?.forEach(item => {\r\n item.hasTooltip = !!item.tooltipAr || !!item.tooltipEn;\r\n item.score = +item.score;\r\n });\r\n return question;\r\n })\r\n );\r\n }\r\n getProccess(accreditationKey: string, eligibilityRequestId: string): Observable {\r\n // accreditationKey = 'ERAV';\r\n // eligibilityRequestId = '1059';\r\n const query = `data.key=${accreditationKey}&data.requestId=${eligibilityRequestId}`;\r\n return this.resourceNameService.loadCustomByFilterdKey(this.formioAppConfig.endpoints.assessmentResource.process, query)\r\n .pipe(\r\n filter((data: any) => !!data.length),\r\n map(result => {\r\n const process: Process = {\r\n ...result[0].data,\r\n _id: result[0]._id\r\n };\r\n return process;\r\n }),\r\n tap((data: any) => this.process$.next(data))\r\n );\r\n }\r\n\r\n //members selector\r\n getSessionMembers(visitKey: string, sessionId: string | number): Observable {\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.visitMembers}visit/${visitKey}/session/${sessionId}`;\r\n return this.http.get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n });\r\n }\r\n \r\n //members selector\r\n getCriterionMembers(visitKey: string, criterionKey: string): Observable {\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.criterion}${criterionKey}/visit/${visitKey}/members`;\r\n return this.http.get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n });\r\n }\r\n}\r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\r\nimport { map, Observable, startWith } from 'rxjs';\r\nimport { FormioLoader } from 'dp-formio';\r\n\r\ntype DialogEventType = 'customEvent' | 'beforeSubmit' | 'submit';\r\n\r\n@Component({\r\n\tselector: 'app-formio-dialog',\r\n\ttemplateUrl: './formio-dialog.component.html',\r\n\tstyleUrls: ['./formio-dialog.component.scss'],\r\n\tproviders: [FormioLoader],\r\n})\r\nexport class FormioDialogComponent implements OnInit {\r\n\teventType: DialogEventType = 'beforeSubmit';\r\n\tsubmission: Record;\r\n\tformKey = '';\r\n\r\n\tdir$: Observable;\r\n\tconstructor(\r\n\t\tpublic dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public dialogData: any,\r\n\t\tpublic loader: FormioLoader,\r\n\t\tprivate translateService: TranslateService\r\n\t) {\r\n\t\tthis.dir$ = (this.translateService.onLangChange as Observable).pipe(\r\n\t\t\tstartWith({\r\n\t\t\t\tlang: this.translateService.currentLang,\r\n\t\t\t}),\r\n\t\t\tmap((lang) => (lang.lang == 'ar' ? 'rtl' : 'ltr'))\r\n\t\t);\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.loader.loading = false;\r\n\t\tthis.formKey = this.dialogData?.formKey;\r\n\t\tthis.submission = this.dialogData?.submission;\r\n\t\tthis.eventType = this.dialogData?.event;\r\n\t}\r\n\r\n\tcancel() {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\tcustomEvent(event: any) {\r\n\t\tif (event.component?.key == 'cancel') {\r\n\t\t\tthis.dialogRef.close();\r\n\t\t}\r\n\r\n\t\tif (event.component?.key === 'submit' && this.eventType === 'customEvent') {\r\n\t\t\tthis._closeAndEmitData(event.data, this.eventType);\r\n\t\t}\r\n\t}\r\n\r\n\tbeforeSubmit(event: any) {\r\n\t\tif (this.eventType === 'beforeSubmit') {\r\n\t\t\tthis._closeAndEmitData(event.data, this.eventType);\r\n\t\t}\r\n\t}\r\n\tsubmit(event: any) {\r\n\t\tif (this.eventType === 'submit') {\r\n\t\t\tthis._closeAndEmitData(event.submission, this.eventType);\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tprivate _closeAndEmitData(data: any, event: DialogEventType) {\r\n\t\tthis.dialogRef.close({\r\n\t\t\tdata: data,\r\n\t\t\tevent: event,\r\n\t\t});\r\n\t}\r\n}\r\n","import {\r\n Directive,\r\n Input,\r\n OnInit,\r\n TemplateRef,\r\n ViewContainerRef,\r\n } from '@angular/core';\r\n import { Subject } from 'rxjs';\r\n import { SessionService } from '../../core/services/session.service';\r\n \r\n @Directive({\r\n selector: '[appHasRole]',\r\n })\r\n export class HasRoleDirective implements OnInit {\r\n resource: string = '';\r\n isEnvRole = true;\r\n isVisible = false;\r\n stop$ = new Subject();\r\n \r\n /**\r\n * @param {ViewContainerRef} viewContainerRef\r\n * \t-- the location where we need to render the templateRef\r\n * @param {TemplateRef} templateRef\r\n * -- the templateRef to be potentially rendered\r\n * @param {KeycloakService} keycloakService\r\n * -- will give us access to the roles a user has\r\n */\r\n constructor(\r\n private viewContainerRef: ViewContainerRef,\r\n private templateRef: TemplateRef,\r\n private sessionService: SessionService\r\n ) {}\r\n \r\n ngOnInit() {}\r\n \r\n @Input('appHasRoleRoleResource') set roleResource(resource: string) {\r\n this.resource = resource;\r\n }\r\n \r\n @Input('appHasRoleRoleEnv') set roleEnv(isEnvRole: boolean) {\r\n this.isEnvRole = isEnvRole;\r\n }\r\n \r\n @Input() set appHasRole(roles: string[]) {\r\n const _roles = !roles ? [] : roles.filter((role) => !!role);\r\n const _userInRoles = this.sessionService.isUserInRole(\r\n _roles,\r\n this.resource,\r\n this.isEnvRole\r\n );\r\n if (_userInRoles || !_roles.length) {\r\n // If it is already visible (which can happen if\r\n // his roles changed) we do not need to add it a second time\r\n if (!this.isVisible) {\r\n // We update the `isVisible` property and add the\r\n // templateRef to the view using the\r\n // 'createEmbeddedView' method of the viewContainerRef\r\n this.isVisible = true;\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n }\r\n } else {\r\n // If the user does not have the role,\r\n // we update the `isVisible` property and clear\r\n // the contents of the viewContainerRef\r\n this.isVisible = false;\r\n this.viewContainerRef.clear();\r\n }\r\n }\r\n }\r\n ","\r\n \r\n Google Keep\r\n Add to a note\r\n \r\n\r\n \r\n Google Docs\r\n Embed in a document\r\n \r\n\r\n \r\n Google Plus\r\n Share with your friends\r\n \r\n\r\n \r\n Google Hangouts\r\n Show to your coworkers\r\n \r\n\r\n","/* (ignored) */","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\r\nimport { Observable, startWith, takeUntil } from 'rxjs';\r\nimport { BaseFormIoCustomComponent, FormioLoader } from 'dp-formio';\r\nimport { CommentsHistoryDialogComponent } from './comments-history-dialog/comments-history-dialog.component';\r\n\r\n@Component({\r\n selector: 'comments-history-wrapper',\r\n templateUrl: './comments-history-wrapper.component.html',\r\n // styleUrls: ['./comments-history-wrapper.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader],\r\n})\r\nexport class CommentsHistoryWrapperComponent\r\n extends BaseFormIoCustomComponent\r\n implements OnInit {\r\n @Input() data: any;\r\n @ViewChild('form') form: any;\r\n @Output() formSubmitted = new EventEmitter();\r\n\r\n comments: any = [];\r\n\r\n disabled: boolean;\r\n\r\n openDialog: boolean;\r\n\r\n constructor(\r\n private translateService: TranslateService,\r\n\r\n public dialog: MatDialog\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._listenToLanguageChanges();\r\n }\r\n private _listenToLanguageChanges() {\r\n (this.translateService.onLangChange as Observable)\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n startWith({ lang: this.translateService.currentLang })\r\n )\r\n .subscribe((data) => {\r\n this.dir = null;\r\n setTimeout(() => {\r\n this.dir = data.lang == 'ar' ? 'rtl' : 'ltr';\r\n });\r\n });\r\n }\r\n\r\n showDialog() {\r\n this.dialog.open(CommentsHistoryDialogComponent, {\r\n width: 'min(80%,600px)',\r\n direction: this.dir,\r\n maxHeight: '90vh',\r\n autoFocus: false,\r\n restoreFocus: false,\r\n panelClass: ['position-relative', 'comments-history-dialog'],\r\n data: {\r\n options: this.customOptions,\r\n viewOnly: this.viewOnly,\r\n disabled: this.disabled,\r\n data: this.data\r\n },\r\n });\r\n }\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { Summary } from '../../../models/summary.model';\r\n\r\n@Component({\r\n selector: 'app-add-edit-summary',\r\n templateUrl: './add-edit-summary.dialog.html',\r\n styleUrls: ['./add-edit-summary.dialog.scss']\r\n})\r\nexport class AddEditSummaryComponent extends BaseComponent {\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {\r\n super();\r\n }\r\n\r\n save() {\r\n this.dialogRef.close(this.data.summary);\r\n }\r\n cancel(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { TableViewWrapperComponent } from './table-view-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'table-view-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'table-view-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'Table View', // Title of the component\r\n};\r\n\r\nexport function registerTableViewWrapperComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, TableViewWrapperComponent, injector);\r\n}\r\n","import { SwitchLangService } from 'src/app/core/services/switch-lang.service';\r\nimport { Injector, Input, OnInit } from '@angular/core';\r\nimport { Component, ViewEncapsulation } from '@angular/core';\r\nimport { ModalController } from '@ionic/angular';\r\nimport { DatePipe } from '@angular/common';\r\nimport { NotificationsService } from 'src/app/modules/notifications/notifications.service';\r\nimport { BaseComponent } from '../../base.component';\r\nimport { distinctUntilChanged, debounceTime, first, take, tap, filter, distinctUntilKeyChanged } from 'rxjs/operators';\r\n\r\n/**\r\n * Notifications Modal Component\r\n */\r\n\r\n@Component({\r\n selector: 'app-notifications-modal',\r\n templateUrl: './notifications-modal.component.html',\r\n // styleUrls: ['./notifications-modal.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class NotificationsModalComponent extends BaseComponent implements OnInit {\r\n @Input() hasToolbar = true;\r\n\r\n get notifications() {\r\n return this.notificationsService.notifications;\r\n }\r\n\r\n _itemHeight = 79;\r\n get itemHeight(): number {\r\n return this._itemHeight;\r\n }\r\n\r\n set itemHeight(value: number) {\r\n this._itemHeight = value;\r\n }\r\n\r\n _divider = true;\r\n get divider(): boolean {\r\n return this._divider;\r\n }\r\n\r\n set divider(value: boolean) {\r\n this._divider = value;\r\n }\r\n\r\n _all = true;\r\n get all(): boolean {\r\n return this._all;\r\n }\r\n\r\n set all(value: boolean) {\r\n this._all = value;\r\n }\r\n\r\n _title = 'notifications.title';\r\n get title(): string {\r\n return this._title;\r\n }\r\n\r\n set title(value: string) {\r\n this._title = value;\r\n }\r\n\r\n constructor(public injector: Injector,\r\n private modalController: ModalController,\r\n private notificationsService: NotificationsService,\r\n public datePipe: DatePipe) {\r\n super(injector);\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.notificationsService.notifications.length) {\r\n this.notificationsService.fetchNotifications();\r\n }\r\n }\r\n\r\n markAllAsRead() {\r\n this.notificationsService.markAllAsRead();\r\n }\r\n\r\n onNotificationAction(data) {\r\n if (data.notification) {\r\n switch (data.action) {\r\n case 'delete':\r\n this.notificationsService.deleteNotification(data.notification);\r\n break;\r\n case 'status':\r\n this.notificationsService.updateStatus(data.notification);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n trackBy(index, item) {\r\n return item.id;\r\n }\r\n\r\n handleOpen(item) {\r\n // this.modalController.dismiss();\r\n this.notificationsService.updateStatus(item, true);\r\n }\r\n\r\n compareDate = (item, itemIndex, items) => {\r\n if (!this.divider) {\r\n return null;\r\n }\r\n const today = new Date();\r\n const itemDate = new Date(item.sendDate);\r\n const isToday = itemDate.getDate() === today.getDate() &&\r\n itemDate.getMonth() === today.getMonth() &&\r\n itemDate.getFullYear() === today.getFullYear();\r\n const prevItem = items[itemIndex - 1];\r\n let isPrevToday = 0;\r\n if (prevItem) {\r\n const NextItemDate = new Date(prevItem.sendDate);\r\n isPrevToday = NextItemDate.getDate() === today.getDate() &&\r\n NextItemDate.getMonth() === today.getMonth() &&\r\n NextItemDate.getFullYear() === today.getFullYear() ? 2 : 1;\r\n }\r\n if (!isToday && (isPrevToday === 0 || isPrevToday === 2)) {\r\n return 'notifications.earlier';\r\n }\r\n if (isToday && (isPrevToday === 0 || isPrevToday === 1)) {\r\n return 'notifications.new';\r\n }\r\n return null;\r\n }\r\n\r\n getItemHeight = () => {\r\n return this.itemHeight;\r\n }\r\n\r\n /* Get More Notifications Based On Based Size */\r\n fetchMore(event) {\r\n this.sub = this.notificationsService.fetchNotifications().subscribe((data) => {\r\n event.target.complete();\r\n if (data.items.length === 0 || data.items.length < this.notificationsService.pageSize) {\r\n event.target.disabled = true;\r\n }\r\n });\r\n }\r\n\r\n close() {\r\n // this.modalController.dismiss();\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n \r\n {{ treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n\r\n\r\n\r\n \r\n \r\n {{ node?.criterionKey && node?.criterionKey + ' - ' }}\r\n {{ lang === 'ar' ? node.criterionArabicName : node.criterionEnglishName }}\r\n \r\n \r\n\r\n","
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    {{'forms.common.Overall evaluation of the criteria' | translate}}
    \r\n \r\n {{'forms.common.The total quality levels assessment' | translate}}\r\n \r\n \r\n {{'forms.common.The total evaluation criteria' | translate}}\r\n \r\n {{category.totalEvaluationCriteria | number : '1.1-1'}}
    \r\n \r\n {{'forms.common.The number of applicable quality levels' | translate}}\r\n \r\n \r\n {{'forms.common.The number of applicable criteria' | translate}}\r\n \r\n {{category.numberOfApplicable}}
    {{'forms.common.Average Rating Criterion' | translate}}{{category.calculatedSavedScore | number : '1.1-1'}}
    {{'forms.common.The overall evaluation score of the standard' | translate}}\r\n \r\n {{category.calculatedSavedScore | number : '1.1-1'}} {{'forms.common.points' | translate}} -\r\n {{category.evaluationScoreMessage}}\r\n \r\n
    \r\n
    ","
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    {{domain.domainNumber }} {{'forms.common.' +\r\n domain.key | translate}}
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n

    {{'forms.common.' + domain.description | translate}}

    \r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    {{'forms.common.Attachments' | translate}}
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {{'forms.common.It can not be empty' | translate}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {{'forms.common.It can not be empty' | translate}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { Component, OnInit } from '@angular/core';\r\nimport { combineLatest, filter, map, Observable, switchMap } from 'rxjs';\r\nimport { finalize, takeUntil } from 'rxjs';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { CriterionsService } from '../../../services/criterions.service';\r\nimport { SHA256 } from 'crypto-js';\r\n\r\n@Component({\r\n selector: 'app-question-preview',\r\n templateUrl: './question-preview.component.html',\r\n styleUrls: ['./question-preview.component.scss']\r\n})\r\nexport class QuestionPreviewComponent extends BaseComponent implements OnInit {\r\n process$ = this.criterionsService.process$;\r\n question$ = this.criterionsService.questionResult$;\r\n answers$: Observable>;\r\n attachmentFormKey = this.criterionsService.forms.attachmentsFormKey;\r\n isLoadingResults = false;\r\n \r\n constructor(private criterionsService: CriterionsService) { super(); }\r\n\r\n ngOnInit(): void {\r\n this.isLoadingResults = true;\r\n this.criterionsService.criterion$\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n filter(data => data.criterionType == 'STICK'),\r\n switchMap(data => this.criterionsService.getQuestion(data.submissionId)\r\n .pipe(finalize(() => {\r\n this.isLoadingResults = false;\r\n })))\r\n ).subscribe(data => {\r\n data.evaluationItems?.forEach(item => {\r\n const jsonString = JSON.stringify(item);\r\n item.id = SHA256(jsonString).toString();\r\n });\r\n this.criterionsService.questionResult$.next(data);\r\n });\r\n this.initAnswers();\r\n }\r\n\r\n private initAnswers() {\r\n this.answers$ = combineLatest([this.question$, this.criterionsService.process$])\r\n .pipe(\r\n map(([question, process]) => {\r\n if (process.answerMaxScore) {\r\n const generalToolTip = question.answerTooltip ? question.answerTooltip.find(q => !q.score) : { tooltip: '' };\r\n return Array.from({ length: process.answerMaxScore }, (_, i) => {\r\n const answerTooltip = generalToolTip ?? question.answerTooltip.find(q => q.score == i + 1);\r\n return {\r\n value: `${i + 1}`,\r\n tooltipAr: answerTooltip?.tooltipAr,\r\n tooltipEn: answerTooltip?.tooltipEn,\r\n hasTooltip: !!answerTooltip?.tooltipAr || !!answerTooltip?.tooltipEn\r\n }\r\n });\r\n }\r\n }));\r\n }\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { EventTreeWrapperComponent } from './event-tree-wrapper.component';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'event-tree', // custom type. Formio will identify the field with this type.\r\n selector: 'event-tree', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'event tree', // Title of the component\r\n // template: 'input', // Optional: define a template for the element. Default: input\r\n // changeEvent: 'valueChange', // Optional: define the changeEvent when the formio updates the value in the state. Default: 'valueChange',\r\n // editForm: Components.components.textfield.editForm, // Optional: define the editForm of the field. Default: the editForm of a textfield\r\n // documentation: '', // Optional: define the documentation of the field\r\n // weight: 0, // Optional: define the weight in the builder group\r\n // schema: {}, // Optional: define extra default schema for the field\r\n // extraValidators: [], // Optional: define extra validators for the field\r\n // emptyValue: null, // Optional: the emptyValue of the field\r\n // fieldOptions: ['values'], // Optional: explicit field options to get as `Input` from the schema (may edited by the editForm)\r\n};\r\n\r\nexport function registerEventTreeComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, EventTreeWrapperComponent, injector);\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { CustomComponent, Utils } from 'formiojs';\r\n\r\n@Pipe({\r\n\tname: 'renderTemplate',\r\n})\r\nexport class RenderTemplatePipe implements PipeTransform {\r\n\tconstructor(private sanitizer: DomSanitizer) {}\r\n\ttransform(\r\n\t\ttemplate: string,\r\n\t\tdata: Record,\r\n\t\tformioComponent: CustomComponent\r\n\t): SafeHtml {\r\n\t\ttry {\r\n\t\t\tconst html = Utils.interpolate(template, {\r\n\t\t\t\tdata: data,\r\n\t\t\t\tlanguage: formioComponent.i18next.language,\r\n\t\t\t\ttranslate: formioComponent.t,\r\n\t\t\t\tinstance: formioComponent,\r\n\t\t\t\tutils: Utils,\r\n\t\t\t});\r\n\r\n\t\t\treturn this.sanitizer.bypassSecurityTrustHtml(html);\r\n\t\t} catch (error) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t}\r\n}\r\n","import { LoggerService } from './logger.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Observable, of } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n\r\nexport class AccountService {\r\n\r\n constructor(private http: HttpClient,\r\n private loggerService: LoggerService) { }\r\n\r\n getAccount(queryParams = {}): Observable {\r\n const endpoint = `${environment.gateway}${environment.endpoints.account}`;\r\n return this.http.get(endpoint, { params: queryParams }).pipe(\r\n catchError(this.handleError('getAccount', []))\r\n );\r\n }\r\n\r\n // getBranchId(userid): Observable {\r\n // const endpoint = `${environment.wso2.base}${environment.wso2.api.erp}employee/${encodeURIComponent(userid)}`;\r\n // this.loggerService.log(endpoint);\r\n // return this.http.get(endpoint);\r\n // }\r\n\r\n // getBranchIfForbeneficiary(): Observable {\r\n // const endpoint = `${environment.beneficiaryApi.api}`;\r\n // return this.http.get(endpoint)\r\n // }\r\n\r\n private handleError(operation = 'operation', result?) {\r\n return (error: any): Observable => {\r\n\r\n // TODO: send the error to remote logging infrastructure\r\n console.error(error); // log to console instead\r\n\r\n // TODO: better job of transforming error for user consumption\r\n // this.log(`${operation} failed: ${error.message}`);\r\n\r\n // Let the app keep running by returning an empty result.\r\n result.status = error.status;\r\n if (error.error.hasOwnProperty('message')) {\r\n result.message = error.error.message;\r\n result.type = error.error.type;\r\n }\r\n\r\n return of(result as T);\r\n };\r\n }\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { CardWrapperComponent } from './card-wrapper.component';\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'card-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'card-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'card wrapper', // Title of the component\r\n};\r\n\r\nexport function registerCardWrapperComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, CardWrapperComponent, injector);\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { ProccessRequirmentsWrapperComponent } from './proccess-requirments-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'proccess-requirments', // custom type. Formio will identify the field with this type.\r\n selector: 'proccess-requirments', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'proccess requirments', // Title of the component\r\n// template: 'input', // Optional: define a template for the element. Default: input\r\n// changeEvent: 'valueChange', // Optional: define the changeEvent when the formio updates the value in the state. Default: 'valueChange',\r\n// editForm: Components.components.textfield.editForm, // Optional: define the editForm of the field. Default: the editForm of a textfield\r\n// documentation: '', // Optional: define the documentation of the field\r\n// weight: 0, // Optional: define the weight in the builder group\r\n// schema: {}, // Optional: define extra default schema for the field\r\n// extraValidators: [], // Optional: define extra validators for the field\r\n// emptyValue: null, // Optional: the emptyValue of the field\r\n// fieldOptions: ['values'], // Optional: explicit field options to get as `Input` from the schema (may edited by the editForm)\r\n};\r\n\r\nexport function registerProccessRequirmentsComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, ProccessRequirmentsWrapperComponent, injector);\r\n}","
    \r\n \r\n
    \r\n
    \r\n
    \r\n {{\r\n category\r\n | propertyLocalized : [\"nameAr\", \"nameEn\"]\r\n | async\r\n }}\r\n
    \r\n

    \r\n {{\r\n category\r\n | propertyLocalized : [\"descriptionAr\", \"descriptionEn\"]\r\n | async\r\n }}\r\n

    \r\n\r\n \r\n
    \r\n \r\n
    ","\r\nimport { Injectable } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { isNumber, isBoolean } from 'util';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DashletFilterAdapter {\r\n constructor(private datePipe: DatePipe, public translate: TranslateService) {\r\n }\r\n adapt(item: any) {\r\n const query = Object.assign({}, {\r\n language: this.translate.currentLang,\r\n 'requestDate.greaterOrEqualThan': item.requestDateAfter,\r\n 'requestDate.lessOrEqualThan': item.requestDateBefore,\r\n 'cmmnStatus.in': item.statuses,\r\n 'serviceId.in': item.services,\r\n 'activeTask.equals': item.activeTask,\r\n sort: item.sort,\r\n page: item.page,\r\n size: item.size\r\n });\r\n Object.keys(query).forEach((key) => (query[key] == null || !query[key].length && !isNumber(query[key]) && \r\n !isBoolean(query[key])) && delete query[key]);\r\n\r\n return (query);\r\n }\r\n}\r\n","export type evaluatedString = string;\r\n\r\nexport type SelectRequestType = {\r\n\tmethod: 'GET' | 'POST' | 'PUT' | string;\r\n\turl: string;\r\n\tparams?: Record;\r\n\theaders?: Record;\r\n\tbody?: any;\r\n\tonSuccess?: any[];\r\n};\r\n\r\nexport const EVENTS = {\r\n\tafterLoadItems: 'AFTER_LOAD_ITEMS',\r\n\tafterValueChange: 'AFTER_VALUE_CHANGE',\r\n\tonChange: 'ON_CHANGE',\r\n\tonSearch: 'ON_SEARCH',\r\n\tonAdd: 'ON_ADD',\r\n\tonRemove: 'ON_REMOVE',\r\n};\r\n\r\nexport type HooksType = {\r\n\t[p in keyof typeof EVENTS]: evaluatedString;\r\n};\r\n\r\nexport type SelectRequestOptionsType = {\r\n\t[p in keyof SelectRequestType]: evaluatedString;\r\n};\r\n\r\nexport type SelectCustomOptionsType = {\r\n\turl?: evaluatedString;\r\n\titemTemplate?: evaluatedString;\r\n\tgroupTemplate?: evaluatedString;\r\n\tselectedTemplate?: evaluatedString;\r\n\tbindLabel?: string;\r\n\tbindGroup?: string;\r\n\tgroupBy: string;\r\n\tbindValue?: string;\r\n\tmultiple?: boolean;\r\n\tselectableGroup?: boolean;\r\n\tselectableGroupAsModel?: boolean;\r\n\tcloseOnSelect?: boolean;\r\n\tdispatchEvents?: boolean;\r\n\trequest?: SelectRequestOptionsType;\r\n\thooks?: HooksType;\r\n\tsearchFields?: string;\r\n\thideSelected?:boolean;\r\n};\r\n","
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    {{'ERROR_PAGES.NOT_FOUND' | translate}}

    \r\n

    {{'ERROR_PAGES.WE_HELP' | translate}}

    \r\n {{'ERROR_PAGES.BACK' | translate}}\r\n
    \r\n
    \r\n
    \r\n
    ","import { OnDestroy, OnInit } from '@angular/core';\r\nimport { Inject } from '@angular/core';\r\nimport { Component } from '@angular/core';\r\nimport { finalize } from 'rxjs';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { OrgService } from '../org.service';\r\nimport { FormioLoader } from 'dp-formio';\r\n\r\n@Component({\r\n\tselector: 'view-form',\r\n\ttemplateUrl: 'view-form.component.html',\r\n\tstyleUrls: ['./view-form.component.scss'],\r\n})\r\nexport class ViewFormDialog implements OnInit, OnDestroy {\r\n\r\n\tconstructor(public dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: any,\r\n\t\tprivate loader: FormioLoader,\r\n\t\tprivate orgService: OrgService) {\r\n\t}\r\n\tngOnInit(): void {\r\n\t\tthis.getData();\r\n\t}\r\n\tngOnDestroy(): void {\r\n\t}\r\n\r\n\tcancel() {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\tprivate getData() {\r\n\t\tthis.loader.loading = true;\r\n\t\tthis.orgService\r\n\t\t\t.getByEndpoint(this.data.endpoint)\r\n\t\t\t.pipe(\r\n\t\t\t\tfinalize(() => this.loader.loading = false)\r\n\t\t\t)\r\n\t\t\t.subscribe((data) => {\r\n\t\t\t\tthis.data.submission = data;\r\n\t\t\t});\r\n\t}\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { takeUntil } from 'rxjs';\r\nimport { IMember } from '../../models/member';\r\nimport { ISession } from '../../models/session';\r\nimport { DistributeService } from '../../services/distribute.service';\r\nimport { BaseComponent } from '../base.component';\r\n\r\n@Component({\r\n selector: 'app-sessions-tab',\r\n templateUrl: './sessions-tab.component.html',\r\n styleUrls: ['./sessions-tab.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class SessionsTabComponent extends BaseComponent implements OnInit {\r\n selectedSession: ISession = null;\r\n selectedIndex: number;\r\n selectedId: any;\r\n sessions!: ISession[];\r\n\r\n @Output() isValid = new EventEmitter();\r\n\r\n trackByFn(i: number, itm: ISession) {\r\n return itm.id ?? i;\r\n }\r\n\r\n constructor(private distributeService: DistributeService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._getSessions();\r\n }\r\n\r\n private _getSessions() {\r\n this.distributeService\r\n .getSessionsByVisitKey(this.visitInfo.key)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((res) => {\r\n this.sessions = res;\r\n this.isValid.emit(this._checkIfSessionsIsValid());\r\n });\r\n }\r\n\r\n selectSession([id]) {\r\n const index = this.sessions.findIndex((d) => d.id === id);\r\n this.selectedIndex = index;\r\n this.selectedSession = this.sessions[this.selectedIndex];\r\n }\r\n\r\n targetChanges(event: IMember[]) {\r\n const data = {\r\n ...this.selectedSession,\r\n visitMembers: event,\r\n };\r\n\r\n this.distributeService\r\n .updateSessionMembers(data)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((res) => {\r\n this.selectedSession = res;\r\n this.sessions[this.selectedIndex].visitMembers = res.visitMembers;\r\n this.isValid.emit(this._checkIfSessionsIsValid());\r\n });\r\n }\r\n\r\n private _checkIfSessionsIsValid() {\r\n return this.sessions.every((data) => !!data?.visitMembers?.length);\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {{ 'forms.common.Criteria.ExecutivePlan' | translate }}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n
    \r\n {{ \"forms.common.Criteria.clause\" | translate }}\r\n \r\n
    {{ row?.clause }}
    \r\n
    \r\n {{ \"forms.common.Criteria.startDate\" | translate }}\r\n \r\n
    {{ row?.startDate | date : 'yyyy-MM-dd'}}
    \r\n
    \r\n {{ \"forms.common.Criteria.endDate\" | translate }}\r\n \r\n
    {{ row?.endDate | date : 'yyyy-MM-dd'}}
    \r\n
    \r\n {{ \"forms.common.Criteria.responsibleName\" | translate }}\r\n \r\n
    {{ row?.responsibleName }}
    \r\n
    \r\n {{ \"forms.common.Criteria.responsiblePosition\" | translate }}\r\n \r\n
    {{ row?.responsiblePosition }}
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {{ \"forms.common.No items added yet\" | translate }}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    ","
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n

    {{ 'ERRORS.NoDataFound' | translate }}

    \r\n
    \r\n
    \r\n
    \r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n\tproduction: false,\r\n\tenableLogger: true,\r\n\tgateway: 'https://etec-orch.org/gateway',\r\n\tcms: 'https://etec-orch.org/cms',\r\n\tappConfig: {\r\n\t\tendpoint: '/api/collections/get/AppConfig1/',\r\n\t\tid: '6069bbe7666434004e00012d',\r\n\t\tfrontOfficeSettings: 'api/singletons/get/frontOfficeSettings',\r\n\t\tformioEndpoint: '/api/collections/get/formioConfig/',\r\n\t\tformioId: '612bc06a5d4cda7713720b52',\r\n\t\tformioSettings: 'api/singletons/get/formioSettings',\r\n\t},\r\n\tkeycloak: {\r\n\t\turl: 'https://etec-orch.org/auth/',\r\n\t\trealm: 'etec',\r\n\t\tclientId: 'fo-web',\r\n\t\tdisableLoginRedirectUri: false\r\n\t},\r\n\tformio: {\r\n\t\tapiUrl: 'https://etec-orch.org/formioApi/',\r\n\t\tappUrl: 'https://etec-orch.org/formioUrl/',\r\n\t},\r\n\tendpoints: {\r\n\t\ttasks: '/requestmanagement/api/portal/tasks',\r\n\t\tanonymousTasks: '/requestmanagement/api/portal/tasks/anonymous',\r\n\t\tcamundaTask: '/requestmanagement/rest/task',\r\n\t\tmyRequests: '/requestmanagement/api/portal/requests',\r\n\t\tmyBeneficiarySegments: '/requestmanagement/api/portal/beneficiary-segments-cms',\r\n\t\tcaseActivity: '/requestmanagement/rest/history/case-activity-instance',\r\n\t\tcaseActivityDetails: '/requestmanagement/rest/history/detail',\r\n\t\tcount: '/requestmanagement/api/requests/count',\r\n\t\tstatuses: '/requestmanagement/api/portal/eservices',\r\n\t\tbeneficiaryApi: '/dataservice/api/portal/beneficiaries',\r\n\t\tdeparments: '/referencedata/api/portal/departments',\r\n\t\tservices: '/referencedata/api/request/eservices',\r\n\t\tservicesNew: '/requestmanagement/api/portal/eservices',\r\n\t\tfilterStatuses: '/referencedata/departments',\r\n\t\trequest: '/referencedata/caseNames',\r\n\t\taccount: '/api/account',\r\n\t\thumanTask: '/dataservice/api/tasks/case/',\r\n\t\tnotifications: '/notification/api/',\r\n\t\tsocket: '/notification/websocket/orchestra',\r\n\t\tdataservice: '/dataservice/api/',\r\n\t\teligibilityVerificationReportApi: '/reportingservice/api/requirements',\r\n\t\trequestFeedback: '/feedbackservice/api/v2/feedbacks/service',\r\n\t\treportingservice: '/reportingservice/api/',\r\n\t\tcriterionInformations: '/reportingservice/api/v1/criterion-informations/',\r\n\t\tfinalCriterionInformations: '/reportingservice/api/v1/criterion-final-reports/',\r\n\t\tcriterion: '/reportingservice/api/criterion/',\r\n\t\tvisitMembers: '/reportingservice/api/visit-members/',\r\n\t\texecutivePlan: '/reportingservice/api/executive-plans/',\r\n\t\tcustomExecutivePlan: '/reportingservice/api/v1/executive-plans/',\r\n\t\tfinalReportMistakes: '/reportingservice/api/final-report-mistakes',\r\n\t\tfinalReportResponses: '/reportingservice/api/v1/final-report-responses/',\r\n\t\tmasarCriteria: '/reportingservice/api/masar-criteria/',\r\n\t\tassessmentResource: {\r\n\t\t\tprocess: 'proccessassessmentresult',\r\n\t\t\tcategories: 'categoryassessmentresult',\r\n\t\t\tquestions: 'questionsassessmentresult',\r\n\t\t},\r\n\t},\r\n\tkeys: {\r\n\t\tattachments: 'attachmentssm',\r\n\t\tattachmentsId: '63d78e1cd6bca98f19758ac2',\r\n\t},\r\n\troles: {\r\n\t\tbeneficiary: 'ROLE_BENEFICIARY',\r\n\t\tbranch_specialist: 'ROLE_SERVICE_SPECIALIST_BRANCH',\r\n\t\tdepartment_specialist: 'ROLE_DEPARTMENT_ENABLEMENT_SPECIALIST',\r\n\t\tadmin: 'ROLE_ADMIN',\r\n\t},\r\n\tserviceCatalogControl: {\r\n\t\tshowCarousel: false,\r\n\t\tshowHasTask: true,\r\n\t\tshowMostUsedService: true,\r\n\t\tshowCatalog: false,\r\n\t},\r\n\tpdftronLicenceKey: '',\r\n\tshowFeedbackButton: true,\r\n\tshowDashboardCounters: true,\r\n\tskipServiceDetailsPage: false,\r\n\tbackToTop: true,\r\n\ttaskRedirection: true,\r\n\tenableFormioHelpers: false,\r\n\tmatomoConfig:{\r\n\t\tenable: false,\r\n\t\ttrackerUrl: '3.235.13.55:8080',\r\n\t\tappDomain: 'etec-orch.org',\r\n\t\tsiteId: 1\r\n\t}\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { DatePipe } from '@angular/common';\r\nimport { OnDestroy, Pipe, PipeTransform } from '@angular/core';\r\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\r\nimport { Observable, Subject, takeUntil } from 'rxjs';\r\n\r\n@Pipe({\r\n name: 'localizedDate'\r\n})\r\nexport class LocalizedDatePipe implements PipeTransform , OnDestroy {\r\n\tstatic DEFAULT_LOCALE = 'en-US';\r\n\tstatic DEFAULT_DATE_FORMAT = 'dd MMMM yyyy hh:mm a';\r\n\r\n\tdefaultLocale: string = LocalizedDatePipe.DEFAULT_LOCALE;\r\n\tdefaultFormat: string = LocalizedDatePipe.DEFAULT_DATE_FORMAT;\r\n\r\n\tprivate onDestroy$ = new Subject();\r\n\r\n\tconstructor(public translateService: TranslateService) {\r\n\t\tthis.defaultLocale = translateService.currentLang;\r\n\t\t(this.translateService.onLangChange as Observable).pipe(takeUntil(this.onDestroy$)).subscribe((event) => {\r\n\t\t\tthis.defaultLocale = event.lang;\r\n\t\t});\r\n\t}\r\n\r\n\taddHours(numOfHours, date) {\r\n\t\treturn date.setTime(date.getTime() + numOfHours * 60 * 60 * 1000);\r\n\t}\r\n\r\n\ttransform(value: any, format?: string, locale?: string): any {\r\n\t\ttry {\r\n\t\t\tconst actualFormat = format || this.defaultFormat;\r\n\t\t\tconst actualLocale = locale || this.defaultLocale;\r\n\t\t\tconst datePipe: DatePipe = new DatePipe(actualLocale);\r\n\t\t\treturn datePipe.transform( new Date(value), actualFormat, 'GMT+3');\r\n\t\t} catch (e) {\r\n\t\t\tconsole.warn(e);\r\n\t\t\treturn this.addHours(3, new Date(value));\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.onDestroy$.next(true);\r\n\t\tthis.onDestroy$.complete();\r\n\t}\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { CalenderWrapperComponent } from './calendar-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'calendar-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'calendar-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'calendar schedule', // Title of the component\r\n\t// template: 'input', // Optional: define a template for the element. Default: input\r\n\t// changeEvent: 'valueChange', // Optional: define the changeEvent when the formio updates the value in the state. Default: 'valueChange',\r\n\t// editForm: Components.components.textfield.editForm, // Optional: define the editForm of the field. Default: the editForm of a textfield\r\n\t// documentation: '', // Optional: define the documentation of the field\r\n\t// weight: 0, // Optional: define the weight in the builder group\r\n\t// schema: {}, // Optional: define extra default schema for the field\r\n\t// extraValidators: [], // Optional: define extra validators for the field\r\n\t// emptyValue: null, // Optional: the emptyValue of the field\r\n\t// fieldOptions: ['values'], // Optional: explicit field options to get as `Input` from the schema (may edited by the editForm)\r\n};\r\n\r\nexport function registerCalenderWrapperComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, CalenderWrapperComponent, injector);\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { ComponentBase } from '../../base';\r\nimport { CommonQuestionModel } from '../../models';\r\n\r\n@Component({\r\n selector: 'app-question-item',\r\n templateUrl: './question-item.component.html',\r\n styleUrls: ['./question-item.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QuestionItemComponent extends ComponentBase {\r\n @Input() question: CommonQuestionModel;\r\n\r\n}\r\n","
    \r\n \r\n
    ","import { TemplateWrapperComponent } from './template-wrapper.component';\r\nimport { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'template', // custom type. Formio will identify the field with this type.\r\n selector: 'custom-template', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'Template', // Title of the component\r\n};\r\n\r\nexport function registerTemplateComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, TemplateWrapperComponent, injector);\r\n}","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { Criterion } from \"../models\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { Subject, takeUntil } from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"app-criterion-evaluation\",\r\n templateUrl: \"./criterion-evaluation.component.html\",\r\n // styleUrls: ['./criterion-evaluation.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [],\r\n})\r\nexport class CriterionEvaluationComponent implements OnDestroy {\r\n @Input() disabled: boolean;\r\n @Output() valueChange = new EventEmitter();\r\n\r\n criterion: Criterion;\r\n @Input() set model(value: Criterion) {\r\n this.criterion = value;\r\n this.formGroup = this.fb.group({\r\n totalEvaluation: [\r\n { value: this.criterion.totalEvaluation, disabled: true },\r\n [Validators.required],\r\n ],\r\n notes: [{ value: this.criterion.notes, disabled: this.disabled }],\r\n ...Object.assign(\r\n {},\r\n ...this.criterion.subCriterions.map((sub) => ({\r\n [sub.subCriterionKey]: [\r\n { value: sub.totalEvaluation || 0, disabled: this.disabled },\r\n [Validators.required, Validators.min(1)],\r\n ],\r\n }))\r\n ),\r\n });\r\n this.subscribeValueChange();\r\n }\r\n\r\n destroy$ = new Subject();\r\n formGroup: FormGroup = null;\r\n\r\n constructor(private fb: FormBuilder) {}\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n private subscribeValueChange() {\r\n this.formGroup.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(() => {\r\n const total: number = this.criterion.subCriterions\r\n .map((sub) => {\r\n const total = this.formGroup.get(sub.subCriterionKey).value;\r\n sub.totalEvaluation = total;\r\n return total;\r\n })\r\n .reduce((acc, currentValue) => acc + currentValue, 0);\r\n\r\n this.formGroup\r\n .get(\"totalEvaluation\")\r\n .setValue(total, { emitEvent: false });\r\n this.criterion.totalEvaluation = total;\r\n this.criterion.notes = this.formGroup.get(\"notes\").value;\r\n this.valueChange.emit(this.criterion);\r\n });\r\n }\r\n}\r\n","import { OnInit } from '@angular/core';\r\nimport { Utils } from 'formiojs';\r\nimport { Component, EventEmitter, Input, Output, AfterViewInit, ViewEncapsulation, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription, switchMap } from 'rxjs';\r\nimport { TableHeader } from './models/table-header.config';\r\nimport { FormioLoader, FormioCustomComponent, ResourceNameService } from 'dp-formio';\r\n\r\n@Component({\r\n selector: 'app-grouped-table-wrapper',\r\n templateUrl: './grouped-table-wrapper.component.html',\r\n // styleUrls: ['./grouped-table-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader]\r\n})\r\nexport class GroupedTableWrapperComponent implements FormioCustomComponent, OnInit, OnDestroy, OnChanges {\r\n dir: 'rtl' | 'ltr';\r\n @Input() required: boolean;\r\n @Input() value: any = {};\r\n @Output() valueChange = new EventEmitter();\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n @Input() data: any;\r\n @Input() customOptions: any;\r\n @Input() formioComponent: any;\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n tableConfig: { cols?: TableHeader[], rows?: any[], rowGroup?: string } = {};\r\n headerRows = [];\r\n colsKeys: Array<{ key: string, class?: string, total?: string, editable?: any, ratio: any }> = [];\r\n rowGroupMetadata: any;\r\n tableData = [];\r\n\r\n saveControl: {\r\n justNotes: boolean,\r\n notes: {\r\n key: string,\r\n value: string,\r\n isRequired: boolean,\r\n },\r\n resource: {\r\n key: string,\r\n rowId: string,\r\n generatedKey: string,\r\n extra: string,\r\n groupDataOn: string,\r\n deleteFromBody: string[],\r\n },\r\n afterChange: any[]\r\n } = null;\r\n notes = '';\r\n isNotesRequired = true;\r\n\r\n constructor(private translateService: TranslateService,\r\n private resourceNameService: ResourceNameService,\r\n private formioLoader: FormioLoader) {\r\n this.changeDirection(this.translateService.currentLang);\r\n this.sub = this.translateService.onLangChange.subscribe(data => {\r\n this.changeDirection(data.lang);\r\n });\r\n }\r\n ngOnInit() {\r\n // this.sub = this.translateService.onLangChange.subscribe(lang => {\r\n // if (lang) {\r\n // this.formioComponent.triggerChange();\r\n // }\r\n // });\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.formioLoader.loading = false;\r\n if (this.customOptions) {\r\n if (this.customOptions.tableConfig && this.customOptions.tableData) {\r\n this.initView();\r\n }\r\n }\r\n }\r\n\r\n onSaveNotes() {\r\n this.formioLoader.loading = true;\r\n if (this.saveControl && this.saveControl.notes) this.saveControl.notes.value = this.notes;\r\n this.sub = this.resourceNameService.loadCustomByKeyId(this.saveControl.resource.key, this.saveControl.resource.rowId)\r\n .pipe(switchMap((data: any) => {\r\n data.data[this.saveControl.notes.key] = this.notes;\r\n return this.resourceNameService.editSubmission(this.saveControl.resource.key, this.saveControl.resource.rowId, data)\r\n })).subscribe(row => {\r\n this.afterChangeValue(row);\r\n this.formioLoader.loading = false;\r\n }, error => {\r\n this.afterChangeValue(null);\r\n this.formioLoader.loading = false;\r\n });\r\n }\r\n\r\n onSaveMap() {\r\n if (this.saveControl && this.saveControl.notes) this.saveControl.notes.value = this.notes;\r\n let bodyData = this.groupedDataOn(this.tableData, this.saveControl.resource.groupDataOn, this.saveControl.resource.deleteFromBody);\r\n if (this.saveControl.resource.extra) {\r\n const extra = Utils.evaluate(this.saveControl.resource.extra, { submission: this.data, generatedKey: this.saveControl.resource.generatedKey || null, notes: this.notes });\r\n bodyData = { ...bodyData, ...extra };\r\n }\r\n\r\n this.formioLoader.loading = true;\r\n let method = this.resourceNameService.addSubmission(this.saveControl.resource.key, { data: bodyData });\r\n if (this.saveControl.resource.rowId) {\r\n method = this.resourceNameService.loadCustomByKeyId(this.saveControl.resource.key, this.saveControl.resource.rowId)\r\n .pipe(switchMap((data: any) => {\r\n data.data = { ...data.data, ...bodyData };\r\n return this.resourceNameService.editSubmission(this.saveControl.resource.key, this.saveControl.resource.rowId, data)\r\n }));\r\n }\r\n\r\n this.sub = method.subscribe(row => {\r\n this.saveControl.resource.rowId = row._id;\r\n this.afterChangeValue(row);\r\n this.formioLoader.loading = false;\r\n }, error => {\r\n this.afterChangeValue(null);\r\n this.formioLoader.loading = false;\r\n });\r\n }\r\n\r\n private groupedDataOn(array: any[], key: string, deleteFromBody: string[] = []) {\r\n return array.reduce(function (rv, x) {\r\n const tmep = { ...x };\r\n if (deleteFromBody && deleteFromBody.length)\r\n for (const [key, value] of Object.entries(tmep)) {\r\n if (deleteFromBody.includes(key)) delete tmep[key];\r\n }\r\n\r\n (rv[x[key]] = rv[x[key]] || []).push(tmep);\r\n return rv;\r\n }, {});\r\n }\r\n\r\n private afterChangeValue(row) {\r\n if (this.saveControl.afterChange)\r\n this.saveControl.afterChange.forEach(item => {\r\n try {\r\n if (this.formioComponent.root.wizard) {\r\n const pages = this.formioComponent.root.getFastPages({ all: true, withoutFirstLoad: true });\r\n const components = Utils.searchComponents(pages, { key: item.key });\r\n components.forEach(c => {\r\n if (item.notifyChange) c.triggerChange();\r\n else {\r\n const value = Utils.evaluate(item.value, { value: this.notes, data: this.data, instance: this.formioComponent, rowId: this.saveControl.resource.rowId, row: row });\r\n c.setValue(value);\r\n }\r\n });\r\n } else {\r\n const nestedForms = Utils.searchComponents(this.formioComponent.root.components, { type: 'form' });\r\n nestedForms.forEach(formComponent => {\r\n formComponent.subFormReady.then((subForm) => {\r\n const pages = subForm.getFastPages({ all: true, withoutFirstLoad: true });\r\n const components = Utils.searchComponents(pages, { key: item.key });\r\n components.forEach(c => {\r\n if (item.notifyChange) c.triggerChange();\r\n else {\r\n const value = Utils.evaluate(item.value, { value: this.notes, data: this.data, instance: this.formioComponent, rowId: this.saveControl.resource.rowId, row: row });\r\n c.setValue(value);\r\n }\r\n });\r\n });\r\n });\r\n\r\n const components = Utils.searchComponents(this.formioComponent.root.components, { key: item.key });\r\n components.forEach(c => {\r\n\r\n if (item.notifyChange) c.triggerChange();\r\n else {\r\n const value = Utils.evaluate(item.value, { value: this.notes, data: this.data, instance: this.formioComponent, rowId: this.saveControl.resource.rowId, row: row });\r\n c.setValue(value);\r\n }\r\n });\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n });\r\n }\r\n\r\n private initView() {\r\n this.tableData = [];\r\n this.headerRows = [];\r\n this.colsKeys = [];\r\n this.saveControl = null;\r\n\r\n this.saveControl = this.customOptions.tableConfig.saveControl;\r\n if (this.saveControl?.notes?.value) this.notes = this.saveControl.notes.value;\r\n if (this.saveControl?.notes?.isRequired == false) this.isNotesRequired = false;\r\n\r\n this.tableConfig.cols = this.customOptions.tableConfig.cols as TableHeader[];\r\n this.tableConfig.rows = this.customOptions.tableConfig.rows ?? [];\r\n this.tableConfig.rowGroup = this.customOptions.tableConfig.rowGroup;\r\n this.tableData = this.customOptions.tableData.sort((a, b) => a[this.tableConfig.rowGroup] >= b[this.tableConfig.rowGroup] ? 1 : -1);\r\n this.initTableHeader();\r\n this.onSort();\r\n }\r\n\r\n private initTableHeader() {\r\n const depth = this.findHeaderDepth();\r\n this.headerRows = Array.from({ length: depth }, e => []);\r\n this.tableConfig.cols.forEach(item => {\r\n this.recursiveFillHeader(item, depth, 0);\r\n });\r\n }\r\n\r\n private recursiveFillHeader(item: TableHeader, depth: number, level: number) {\r\n if (item.childrens) {\r\n item.colSpan = 0;\r\n item.childrens.forEach(child => {\r\n item.colSpan += this.recursiveFillHeader(child, depth, level + 1);\r\n });\r\n this.headerRows[level].push(item);\r\n return item.colSpan;\r\n } else {\r\n item.rowSpan = depth - level;\r\n item.colSpan = 1;\r\n this.headerRows[level].push(item);\r\n this.colsKeys.push({ key: item.key, class: item.class, total: item.total, editable: item.editable, ratio: item.ratio });\r\n return item.colSpan;\r\n }\r\n }\r\n\r\n private findHeaderDepth() {\r\n let depth = 0;\r\n this.tableConfig.cols.forEach(item => {\r\n const currentDepth = this.depthLoop(1, item);\r\n if (currentDepth > depth)\r\n depth = currentDepth;\r\n });\r\n return depth;\r\n }\r\n\r\n private depthLoop(depth: number, item): number {\r\n if (item.childrens) {\r\n let max = 0;\r\n item.childrens.forEach(child => {\r\n const result = this.depthLoop(depth + 1, child);\r\n if (result > max) max = result;\r\n });\r\n return max;\r\n }\r\n else return depth;\r\n }\r\n\r\n\r\n onSort() { this.updateRowGroupMetaData(); }\r\n private updateRowGroupMetaData() {\r\n this.rowGroupMetadata = {};\r\n\r\n if (this.tableData) {\r\n for (let i = 0; i < this.tableData.length; i++) {\r\n let rowData = this.tableData[i];\r\n let groupField = rowData[this.tableConfig.rowGroup];\r\n\r\n if (i == 0) {\r\n this.rowGroupMetadata[groupField] = { index: 0, size: 1 };\r\n }\r\n else {\r\n let previousRowData = this.tableData[i - 1];\r\n let previousRowGroup = previousRowData[this.tableConfig.rowGroup];\r\n if (groupField === previousRowGroup)\r\n this.rowGroupMetadata[groupField].size++;\r\n else\r\n this.rowGroupMetadata[groupField] = { index: i, size: 1 };\r\n }\r\n }\r\n }\r\n }\r\n\r\n notifyValue() {\r\n this.value = { tableData: this.tableData };\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n private changeDirection(lang) {\r\n this.dir = null;\r\n setTimeout(() => { this.dir = lang === 'ar' ? 'rtl' : 'ltr'; });\r\n }\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n}\r\n","export * from './object';\r\n","

    \r\n {{data.message}}\r\n

    \r\n
    \r\n \r\n
    ","
    \r\n \r\n\r\n \r\n
    ","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { ResourceAutocompleteWrapperComponent } from './resource-autocomplete-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'resource-autocomplete-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'resource-autocomplete-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'Resource Autocomplete', // Title of the component\r\n};\r\n\r\nexport function registerResourceAutocompleteWrapperComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, ResourceAutocompleteWrapperComponent, injector);\r\n}\r\n","\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {{question.order | displayOrderPattern : process}}\r\n \r\n {{\r\n question\r\n | propertyLocalized : [\"nameAr\", \"nameEn\"]\r\n | async\r\n }}\r\n
    \r\n\r\n

    \r\n {{\r\n question\r\n | propertyLocalized : [\"tooltipAr\", \"tooltipEn\"]\r\n | async\r\n }}\r\n

    \r\n\r\n \r\n {{'forms.common.a1' | translate}}\r\n \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
    {{'forms.common.a1' | translate}}\r\n {{\r\n item\r\n | propertyLocalized : [\"arabicLabel\", \"englishLabel\"]\r\n | async\r\n }}\r\n
    \r\n {{item.score}}\r\n
    \r\n {{\r\n item\r\n | propertyLocalized : [\"nameAr\", \"nameEn\"]\r\n | async\r\n }}\r\n \r\n info\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n {{item.value}}\r\n \r\n info\r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n info\r\n \r\n {{\r\n question\r\n | propertyLocalized : [\"linkNameAr\", \"linkNameEn\"]\r\n | async\r\n }}\r\n \r\n\r\n \r\n {{question.linkValue}}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n info\r\n \r\n {{\r\n question\r\n | propertyLocalized : [\"notesNameAr\", \"notesNameEn\"]\r\n | async\r\n }}\r\n \r\n\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {{\r\n question\r\n | propertyLocalized : [\"attachmentsTooltipAr\", \"attachmentsTooltipEn\"]\r\n | async\r\n }}\r\n \r\n\r\n \r\n \r\n \r\n info\r\n \r\n {{\r\n item\r\n | propertyLocalized : [\"attachmentNameAr\", \"attachmentNameEn\"]\r\n | async\r\n }}\r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {{\r\n question\r\n | propertyLocalized : [\"pledgeTooltipAr\", \"pledgeTooltipEn\"]\r\n | async\r\n }}\r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n\tname: 'sort',\r\n})\r\nexport class SortPipe implements PipeTransform {\r\n\ttransform(array: any[], propertyName: string = 'order'): any[] {\r\n\t\tif (!array || array.length === 0 || !propertyName) {\r\n\t\t\treturn array;\r\n\t\t}\r\n\r\n\t\treturn array.slice().sort((a, b) => (a[propertyName] > b[propertyName] ? 1 : -1));\r\n\t}\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { ClassificationIndicatorsWrapperComponent } from './classification-indicators-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'classification-indicators-wrapper', // custom type. Formio will identify the field with this type.\r\n selector: 'classification-indicators-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'indicators', // Title of the component\r\n // template: 'input', // Optional: define a template for the element. Default: input\r\n // changeEvent: 'valueChange', // Optional: define the changeEvent when the formio updates the value in the state. Default: 'valueChange',\r\n // editForm: Components.components.textfield.editForm, // Optional: define the editForm of the field. Default: the editForm of a textfield\r\n // documentation: '', // Optional: define the documentation of the field\r\n // weight: 0, // Optional: define the weight in the builder group\r\n // schema: {}, // Optional: define extra default schema for the field\r\n // extraValidators: [], // Optional: define extra validators for the field\r\n // emptyValue: null, // Optional: the emptyValue of the field\r\n // fieldOptions: ['values'], // Optional: explicit field options to get as `Input` from the schema (may edited by the editForm)\r\n};\r\n\r\nexport function registerClassificationIndicatorsComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, ClassificationIndicatorsWrapperComponent, injector);\r\n}\r\n","import { Observable, throwError } from 'rxjs';\r\nimport { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { AlertController } from '@ionic/angular';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Injectable()\r\nexport class LicenseInterceptor implements HttpInterceptor {\r\n alert;\r\n constructor(private alertController: AlertController, private translate: TranslateService) {\r\n\r\n }\r\n\r\n async onLicenseInvalid() {\r\n this.alert = await this.alertController.create({\r\n message: this.translate.instant('LICENSE.INVALID'),\r\n backdropDismiss: false,\r\n buttons: [\r\n {\r\n text: this.translate.instant('OK'),\r\n role: 'close',\r\n cssClass: 'secondary',\r\n handler: () => {\r\n this.alert = null;\r\n }\r\n }\r\n ]\r\n });\r\n await this.alert.present();\r\n }\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(req).pipe(\r\n catchError((err: HttpErrorResponse) => {\r\n if (err.status === 402 && !this.alert && !req.url.includes('check')) {\r\n this.onLicenseInvalid();\r\n return throwError(err);\r\n\r\n } else {\r\n return throwError(err);\r\n }\r\n })\r\n );\r\n }\r\n\r\n}\r\n","import { Component, Input, ViewEncapsulation } from \"@angular/core\";\r\n\r\n\r\n@Component({\r\n selector: 'app-assessment-status',\r\n templateUrl: './assessment-status.component.html',\r\n // styleUrls: ['./assessment-status.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AssessmentStatusComponent {\r\n @Input() status: number;\r\n // @Input() status: IndicatorStatus;\r\n // indicatorStatus = IndicatorStatus;\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Category } from '../../../../models/category.model';\r\nimport { CriterionsService } from '../../../../services/criterions.service';\r\n\r\n@Component({\r\n selector: 'app-optional-inputs-preview',\r\n templateUrl: './optional-inputs-preview.component.html',\r\n styleUrls: ['./optional-inputs-preview.component.scss']\r\n})\r\nexport class OptionalInputsPreviewComponent implements OnInit {\r\n @Input() category: Category;\r\n process$ = this.criterionsService.process$;\r\n\r\n constructor(private criterionsService: CriterionsService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","\r\n
    \r\n\t\r\n\t\r\n
    \r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { FormioPipesModule } from 'src/formio-custom-components/src/lib/shared/pipes';\r\nimport { CustomSelectComponent } from './custom-select.component';\r\n\r\n@NgModule({\r\n\tdeclarations: [CustomSelectComponent],\r\n\tentryComponents: [CustomSelectComponent],\r\n\texports : [CustomSelectComponent],\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tTranslateModule,\r\n\t\tFormsModule,\r\n\t\tReactiveFormsModule,\r\n\t\tFormioPipesModule,\r\n\t\tNgSelectModule,\r\n\t],\r\n})\r\nexport class CustomSelectModule {}\r\n","import { Component, Input, OnDestroy, ViewEncapsulation } from \"@angular/core\";\r\nimport { Criterion } from \"../models\";\r\n\r\n@Component({\r\n selector: \"app-general-report\",\r\n templateUrl: \"./general-report.component.html\",\r\n // styleUrls: ['./general-report.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [],\r\n})\r\nexport class GeneralReportComponent {\r\n @Input() criterions: Criterion[] = [];\r\n\r\n get evaluations() {\r\n return (\r\n this.criterions.reduce(\r\n (acc, currentValue) => acc + currentValue.totalEvaluation || 0,\r\n 0\r\n ) || 0\r\n );\r\n }\r\n}\r\n","import { Directive, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Directive()\r\nexport class BaseComponent implements OnDestroy {\r\n destroy$ = new Subject();\r\n\r\n constructor() {}\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Pipe, PipeTransform, NgZone, ChangeDetectorRef, OnDestroy } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n@Pipe({\r\n name: 'timeAgo',\r\n pure: false\r\n})\r\nexport class TimeAgoPipe implements PipeTransform, OnDestroy {\r\n private timer: number;\r\n constructor(private changeDetectorRef: ChangeDetectorRef, private ngZone: NgZone, private translate: TranslateService) { }\r\n transform(value: string) {\r\n this.removeTimer();\r\n const d = new Date(value);\r\n const now = new Date();\r\n const seconds = Math.round(Math.abs((now.getTime() - d.getTime()) / 1000));\r\n const timeToUpdate = (Number.isNaN(seconds)) ? 1000 : this.getSecondsUntilUpdate(seconds) * 1000;\r\n this.timer = this.ngZone.runOutsideAngular(() => {\r\n if (typeof window !== 'undefined') {\r\n return window.setTimeout(() => {\r\n this.ngZone.run(() => this.changeDetectorRef.markForCheck());\r\n }, timeToUpdate);\r\n }\r\n return null;\r\n });\r\n const minutes = Math.round(Math.abs(seconds / 60));\r\n const hours = Math.round(Math.abs(minutes / 60));\r\n const days = Math.round(Math.abs(hours / 24));\r\n const months = Math.round(Math.abs(days / 30.416));\r\n const years = Math.round(Math.abs(days / 365));\r\n if (Number.isNaN(seconds)) {\r\n return '';\r\n } else if (seconds <= 45) {\r\n return this.translate.instant('a few seconds ago');\r\n } else if (seconds <= 90) {\r\n return this.translate.instant('a minute ago');\r\n } else if (minutes <= 45) {\r\n return this.translate.instant('minutes ago', { minutes });\r\n } else if (minutes <= 90) {\r\n return this.translate.instant('an hour ago');\r\n } else if (hours <= 22) {\r\n return this.translate.instant('hours ago', { hours });\r\n } else if (hours <= 36) {\r\n return this.translate.instant('a day ago');\r\n } else if (days <= 25) {\r\n return this.translate.instant('days ago', { days });\r\n } else if (days <= 45) {\r\n return this.translate.instant('a month ago');\r\n } else if (days <= 345) {\r\n return this.translate.instant('months ago', { months });\r\n } else if (days <= 545) {\r\n return this.translate.instant('a year ago');\r\n } else { // (days > 545)\r\n return this.translate.instant('years ago', { years });\r\n }\r\n }\r\n ngOnDestroy(): void {\r\n this.removeTimer();\r\n }\r\n private removeTimer() {\r\n if (this.timer) {\r\n window.clearTimeout(this.timer);\r\n this.timer = null;\r\n }\r\n }\r\n private getSecondsUntilUpdate(seconds: number) {\r\n const min = 60;\r\n const hr = min * 60;\r\n const day = hr * 24;\r\n if (seconds < min) { // less than 1 min, update every 2 secs\r\n return 2;\r\n } else if (seconds < hr) { // less than an hour, update every 30 secs\r\n return 30;\r\n } else if (seconds < day) { // less then a day, update every 5 mins\r\n return 300;\r\n } else { // update every hour\r\n return 3600;\r\n }\r\n }\r\n}\r\n","\r\n\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { CdkAccordionModule } from '@angular/cdk/accordion';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatNativeDateModule, MatOptionModule, MatRippleModule } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\n\r\n@NgModule({\r\n imports: [\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatSortModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatNativeDateModule,\r\n MatOptionModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSlideToggleModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatPaginatorModule,\r\n MatMenuModule,\r\n MatProgressBarModule,\r\n MatSidenavModule,\r\n MatSnackBarModule,\r\n MatToolbarModule,\r\n MatButtonToggleModule,\r\n MatTooltipModule,\r\n MatExpansionModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatDividerModule,\r\n MatTreeModule,\r\n MatFormFieldModule,\r\n CdkAccordionModule,\r\n ],\r\n exports: [\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatSortModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatNativeDateModule,\r\n MatOptionModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSlideToggleModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatPaginatorModule,\r\n MatMenuModule,\r\n MatProgressBarModule,\r\n MatSidenavModule,\r\n MatSnackBarModule,\r\n MatToolbarModule,\r\n MatButtonToggleModule,\r\n MatTooltipModule,\r\n MatExpansionModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatDividerModule,\r\n MatTreeModule,\r\n MatFormFieldModule,\r\n CdkAccordionModule,\r\n ],\r\n})\r\nexport class MaterialModule {}\r\n","export * from './common-questions.service';\r\nexport * from './questions-store.service';\r\n","
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {{question.order | displayOrderPattern : process}}\r\n \r\n {{\r\n question\r\n | propertyLocalized : [\"nameAr\", \"nameEn\"]\r\n | async\r\n }}\r\n
    \r\n\r\n

    \r\n {{\r\n question\r\n | propertyLocalized : [\"tooltipAr\", \"tooltipEn\"]\r\n | async\r\n }}\r\n

    \r\n\r\n \r\n {{'forms.common.a1' | translate}}\r\n \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
    {{'forms.common.a1' | translate}}\r\n {{\r\n item\r\n | propertyLocalized : [\"arabicLabel\", \"englishLabel\"]\r\n | async\r\n }}\r\n
    \r\n {{item.score}}\r\n
    \r\n {{\r\n item\r\n | propertyLocalized : [\"nameAr\", \"nameEn\"]\r\n | async\r\n }}\r\n \r\n info\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n {{item.value}}\r\n \r\n info\r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n info\r\n \r\n {{\r\n question\r\n | propertyLocalized : [\"linkNameAr\", \"linkNameEn\"]\r\n | async\r\n }}\r\n \r\n\r\n \r\n {{question.linkValue}}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n info\r\n \r\n {{\r\n question\r\n | propertyLocalized : [\"notesNameAr\", \"notesNameEn\"]\r\n | async\r\n }}\r\n \r\n\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {{\r\n question\r\n | propertyLocalized : [\"attachmentsTooltipAr\", \"attachmentsTooltipEn\"]\r\n | async\r\n }}\r\n \r\n\r\n \r\n \r\n \r\n info\r\n \r\n {{\r\n item\r\n | propertyLocalized : [\"attachmentNameAr\", \"attachmentNameEn\"]\r\n | async\r\n }}\r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {{\r\n question\r\n | propertyLocalized : [\"pledgeTooltipAr\", \"pledgeTooltipEn\"]\r\n | async\r\n }}\r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    ","import { Direction } from '@angular/cdk/bidi';\r\nimport { Directive, Injector, Input, OnDestroy } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subject } from 'rxjs';\r\nimport { DeleteDialogComponent } from 'src/formio-custom-components/src/lib/shared/components/delete-dialog/delete-dialog/delete-dialog.component';\r\nimport { CommonQuestionsService, QuestionsStoreService } from '../services';\r\n\r\n@Directive()\r\nexport class ComponentBase implements OnDestroy {\r\n @Input() required: boolean;\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n\r\n destroy$ = new Subject();\r\n\r\n translateService = this.injector.get(TranslateService);\r\n toastrService = this.injector.get(ToastrService);\r\n dialog: MatDialog = this.injector.get(MatDialog);\r\n\r\n questionsService = this.injector.get(CommonQuestionsService);\r\n questionsStore = this.injector.get(QuestionsStoreService);\r\n /**\r\n *\r\n */\r\n constructor(public injector: Injector) {}\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n protected _confirmDialog({\r\n title = this.translateService.instant('MESSAGES.confirmTitle'),\r\n description = this.translateService.instant('MESSAGES.confirmDescription'),\r\n confirmText = this.translateService.instant('GLOBAL.confirm'),\r\n direction = 'rtl',\r\n }: {\r\n title?: string;\r\n description?: string;\r\n confirmText?: string;\r\n direction?: Direction;\r\n } = {}) {\r\n return this.dialog.open(DeleteDialogComponent, {\r\n width: 'min(80%, 500px)',\r\n direction: direction,\r\n panelClass: 'padding-zero',\r\n data: {\r\n title: title,\r\n description: description,\r\n confirmText: confirmText,\r\n },\r\n });\r\n }\r\n\r\n protected _showSuccessAlert({\r\n title = 'OperationDone',\r\n message = 'MESSAGES.savedSuccessfully',\r\n }: {\r\n title?: string;\r\n message?: string;\r\n } = {}) {\r\n this.toastrService.success(\r\n this.translateService.instant(message),\r\n this.translateService.instant(title)\r\n );\r\n }\r\n\r\n protected _showErrorAlert({\r\n title = 'ERRORS.generalError',\r\n message = 'ERRORS.ErrorOccurred',\r\n }: {\r\n title?: string;\r\n message?: string;\r\n } = {}) {\r\n this.toastrService.error(\r\n this.translateService.instant(title),\r\n this.translateService.instant(message)\r\n );\r\n }\r\n}\r\n","export type ModeType = 'READ' | 'ACTIVE';\r\nexport interface VisitMetaData {\r\n id: number;\r\n requestId?: string;\r\n reviewerId?: string;\r\n role: RolesEnum;\r\n visitId?: number;\r\n visitKey?: string;\r\n generatedId?: string;\r\n memberId?: string;\r\n mode: ModeType;\r\n accreditationKey?: string;\r\n eligibilityRequestId?: string;\r\n isMasar?: boolean;\r\n sessionChecked: SessionChecked;\r\n}\r\n\r\nexport interface SessionChecked {\r\n sessionStarted?: boolean;\r\n}\r\n\r\nexport enum RolesEnum {\r\n REVIEWER = 'REVIEWER',\r\n TEAM_LEADER = 'TEAM_LEADER',\r\n MEMBER = 'MEMBER',\r\n}\r\n","import { ANALYZE_FOR_ENTRY_COMPONENTS, ModuleWithProviders, NgModule } from '@angular/core';\r\n\r\n@NgModule({\r\n\tdeclarations: [],\r\n\timports: [],\r\n})\r\nexport class CustomDynamicComponentsModule {\r\n\tstatic withComponents(components?: any): ModuleWithProviders {\r\n\t\treturn {\r\n\t\t\tngModule: CustomDynamicComponentsModule,\r\n\t\t\tproviders: [{ provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: components, multi: true }],\r\n\t\t};\r\n\t}\r\n}\r\n","\r\n\r\n
    \r\n\t
    \r\n\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t{{ 'forms.common.Generating PDF Report' | translate }} \r\n\t\t\t
    \r\n\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\"App\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ translationsObj + col.key | translate }}\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcheck_circle\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcancel\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\terror\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcheck_circle\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\terror\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ translationsObj\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t+ item[col.key] | translate }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t
    \r\n
    \r\n\r\n
    \r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{{ translationsObj + col.key | translate }}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tcheck_circle\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tcancel\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\terror\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tcheck_circle\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\terror\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{{ translationsObj + item[col.key] | translate }}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t 25; else noSlicing\">\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{{ item[col.key] | slice: 0:20 }} ...\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t \r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t 0\"\r\n\t\t\t\t\t\t\t\t\tclass=\"fa fa-eye pl-2 pr-2 eye-icon\" id=\"tooltip-i\" triggers=\"click\"\r\n\t\t\t\t\t\t\t\t\t[autoClose]=\"'outside'\" [ngbTooltip]=\"tipContent\" tooltipClass=\"my-custom-class\"\r\n\t\t\t\t\t\t\t\t\t[openDelay]=\"200\" [closeDelay]=\"200\">\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t
    \r\n
    \r\n\r\n","
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    ","
    \r\n \r\n \r\n
    \r\n {{'forms.common.inicatorsNotComplete' | translate}}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n {{'forms.common.inicatorsCompleted' | translate}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { FormKeyWrapperComponent } from './form-key-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'form-key-wrapper', // custom type. Formio will identify the field with this type.\r\n selector: 'form-key-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'form key wrapper', // Title of the component\r\n // template: 'input', // Optional: define a template for the element. Default: input\r\n // changeEvent: 'valueChange', // Optional: define the changeEvent when the formio updates the value in the state. Default: 'valueChange',\r\n // editForm: Components.components.textfield.editForm, // Optional: define the editForm of the field. Default: the editForm of a textfield\r\n // documentation: '', // Optional: define the documentation of the field\r\n // weight: 0, // Optional: define the weight in the builder group\r\n // schema: {}, // Optional: define extra default schema for the field\r\n // extraValidators: [], // Optional: define extra validators for the field\r\n // emptyValue: null, // Optional: the emptyValue of the field\r\n // fieldOptions: ['values'], // Optional: explicit field options to get as `Input` from the schema (may edited by the editForm)\r\n};\r\n\r\nexport function registerFormKeyWrapperComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, FormKeyWrapperComponent, injector);\r\n}","
    \r\n
    \r\n\t
    \r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t{{ 'BACK' | translate }}\r\n\t\t\t\t\r\n\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ pageTitle }}\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ pageTitleNarrow }}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\t
    \r\n
    \r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FormioComponent, ConfirmationDialogComponent } from 'dp-formio';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { filter, finalize, take, takeUntil } from 'rxjs';\r\nimport { showToast } from '../../../toast.helper';\r\nimport { BaseComponent } from '../../base.component';\r\nimport { DecisionInput } from '../../models/decision-input.model';\r\nimport { ExecuteVisitType } from '../../models/execute-visit.model';\r\nimport { ExecutivePlan } from '../../models/executive-plan.model';\r\nimport { CriterionsService } from '../../services/criterions.service';\r\nimport { AddEditExecutivePlanComponent } from './add-edit-executive-plan/add-edit-executive-plan.dialog';\r\nimport { ItimadCriterionsService } from '../../services/itimad-criterions.service';\r\n\r\n@Component({\r\n selector: 'app-executive-plan',\r\n templateUrl: './executive-plan.component.html',\r\n styleUrls: ['./executive-plan.component.scss', '../data-table.scss']\r\n})\r\nexport class ExecutivePlanComponent extends BaseComponent implements OnInit {\r\n @ViewChild(FormioComponent) formioComponent: FormioComponent;\r\n decisionInput$ = this.criterionsService.decisionInputs$;\r\n isLoadingResults: boolean = false;\r\n institutionEntries = ExecuteVisitType.InstitutionEntries;\r\n\r\n dataSource: ExecutivePlan[] = [];\r\n displayedColumns = [\r\n 'clause',\r\n 'startDate',\r\n 'endDate',\r\n 'responsibleName',\r\n 'responsiblePosition',\r\n 'actions'\r\n ];\r\n\r\n constructor(private matDialog: MatDialog,\r\n private criterionsService: CriterionsService,\r\n private itimadCriterionsService: ItimadCriterionsService,\r\n private translateService: TranslateService,\r\n private toastrService: ToastrService) { super(); }\r\n\r\n ngOnInit() {\r\n this.getData();\r\n }\r\n\r\n showPlan(decisionInput: DecisionInput, plan: ExecutivePlan = null, isViewOnly: boolean = false, index: number = null) {\r\n const dir = this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr';\r\n this.matDialog.open(AddEditExecutivePlanComponent, {\r\n width: 'min(80%,900px)',\r\n direction: dir,\r\n maxHeight: '90vh',\r\n autoFocus: false,\r\n restoreFocus: false,\r\n data: {\r\n viewOnly: isViewOnly,\r\n model: plan || new ExecutivePlan(),\r\n dir: dir\r\n }\r\n })\r\n .afterClosed()\r\n .pipe(\r\n filter(data => !!data),\r\n take(1)\r\n )\r\n .subscribe((result: any) => {\r\n const model: ExecutivePlan = {\r\n ...result,\r\n visitId: decisionInput.visitMetaData.visitId,\r\n visitKey: decisionInput.visitMetaData.visitKey,\r\n deleted: false\r\n };\r\n\r\n if (plan) {\r\n this.dataSource[index] = model;\r\n this.dataSource = [...this.dataSource];\r\n } else\r\n this.dataSource = [...this.dataSource, model];\r\n });\r\n }\r\n\r\n undo(index: number) {\r\n this.dataSource[index].deleted = false;\r\n this.dataSource = [...this.dataSource];\r\n }\r\n deletePlan(index: number) {\r\n this.matDialog.open(ConfirmationDialogComponent, {\r\n direction: this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr',\r\n data: {\r\n message: 'forms.common.Are you sure to delete this item',\r\n buttonText: {\r\n ok: 'forms.common.yes',\r\n cancel: 'forms.common.cancel',\r\n }\r\n },\r\n width: \"40vw\",\r\n panelClass: 'confirmation-dialog',\r\n })\r\n .afterClosed()\r\n .pipe(filter(data => !!data))\r\n .subscribe(() => {\r\n // this.dataSource.splice(index, 1);\r\n this.dataSource[index].deleted = true;\r\n this.dataSource = [...this.dataSource];\r\n });\r\n }\r\n\r\n submit(decisionInput: DecisionInput) {\r\n this.isLoadingResults = true;\r\n this.itimadCriterionsService.saveExecutivePlan(this.dataSource)\r\n .pipe(finalize(() => this.isLoadingResults = false))\r\n .subscribe(model => {\r\n this.getData();\r\n // this.dataSource = [...model];\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Saved done\"),\r\n this.translateService.instant(\"forms.common.Criteria.Saved Successfully\"),\r\n false\r\n );\r\n });\r\n }\r\n\r\n private getData() {\r\n this.isLoadingResults = true;\r\n this.itimadCriterionsService.getExecutivePlan(this.criterionsService.decisionInputs$.getValue().visitMetaData.visitKey)\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => this.isLoadingResults = false)\r\n )\r\n .subscribe(data => {\r\n this.dataSource = data;\r\n this.updateResultData();\r\n });\r\n }\r\n private updateResultData() {\r\n const value = this.criterionsService.results$.getValue();\r\n value.executivePlan = this.dataSource;\r\n this.criterionsService.results$.next(value);\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { TranslateLoader } from \"@ngx-translate/core\";\r\nimport { TranslateHttpLoader } from \"@ngx-translate/http-loader\";\r\nimport { combineLatest, from } from \"rxjs\";\r\nimport { catchError, map, tap } from \"rxjs/operators\";\r\nimport { environment } from \"src/environments/environment\";\r\n\r\nexport function createTranslateLoader(http: HttpClient) {\r\n return new TranslateHttpLoader(http, './assets/i18n/', '.json');\r\n}\r\n\r\nexport class TranslateLoaderHelper implements TranslateLoader {\r\n constructor(private http: HttpClient) { }\r\n\r\n getTranslation(lang: string) {\r\n try {\r\n return combineLatest([\r\n this.http.get(\r\n `${environment.cms}/api/collections/get/i18n?filter[name]=frontoffice_${lang}`, {}).pipe(\r\n tap((data: { entries: any[] }) => {\r\n if (data && data.entries[0]) {\r\n return data;\r\n } else {\r\n throw new Error('Translation List empty');\r\n }\r\n }),\r\n catchError((err) => {\r\n console.warn(err);\r\n return this.http.get(\r\n `./assets/i18n/${lang}.json`,\r\n ).pipe(\r\n map(data => {\r\n return { entries: [{ translations: data }] };\r\n }\r\n ));\r\n })),\r\n this.http.get(\r\n `${environment.cms}/api/collections/get/i18n?filter[name]=forms_${lang}`, {}).pipe(\r\n tap(data => data),\r\n catchError((err) => {\r\n return from([\r\n { entries: [] }\r\n ]);\r\n }))\r\n\r\n ])\r\n .pipe(\r\n map((data) => {\r\n if (data[0] && data[0].entries[0] && data[1] && data[1].entries[0]) {\r\n const main = data[0].entries[0].translations;\r\n const forms = data[1].entries[0].translations;\r\n const translations = { ...main, forms: { ...main.forms, common: forms } };\r\n return translations;\r\n } else if (data[0] && data[0].entries[0]) {\r\n return data[0].entries[0].translations;\r\n }\r\n })\r\n );\r\n } catch (e) {\r\n console.warn(e);\r\n }\r\n }\r\n\r\n}","import { environment } from \"src/environments/environment\";\r\n\r\nexport function getFormioEnvironment() {\r\n return environment;\r\n}","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\r\nimport { finalize, Observable } from 'rxjs';\r\nimport { Country } from '../models/country.model';\r\nimport { GeneralSpecialty } from '../models/general-specialty.model';\r\nimport { Language } from '../models/language.model';\r\nimport { OrgService } from '../org.service';\r\n\r\n@Component({\r\n selector: 'app-org-reviewer-filter',\r\n templateUrl: './org-reviewer-filter.component.html',\r\n styleUrls: ['./org-reviewer-filter.component.scss']\r\n})\r\nexport class OrgReviewerFilterComponent implements OnInit {\r\n @Output() onSearch = new EventEmitter();\r\n @Output() onClear = new EventEmitter();\r\n filtersForm: FormGroup;\r\n isLoadingResults = true;\r\n\r\n gender = [\r\n { value: 'male', label: 'Male' },\r\n { value: 'female', label: 'Female' }\r\n ];\r\n\r\n residencePlace = [\r\n { value: 'local', label: 'Local' },\r\n { value: 'international', label: 'International' }\r\n ];\r\n nationalities$: Observable = this.orgService.getCountries()\r\n .pipe(finalize(() => this.isLoadingResults = false));\r\n localResidenceCity$: Observable = this.orgService.getLocalResidenceCity();\r\n languages$: Observable = this.orgService.getLanguages();\r\n generalSpecialty$: Observable = this.orgService.getGeneralSpecialty();\r\n\r\n constructor(private fb: FormBuilder,\r\n private orgService: OrgService) { }\r\n\r\n ngOnInit() {\r\n this.initFilterForm();\r\n }\r\n\r\n search() {\r\n const values = this.filtersForm.value;\r\n this.onSearch.emit({\r\n ...(values.arabicName ? { 'arabicName.contains': values.arabicName } : {}),\r\n ...(values.englishName ? { 'englishName.contains': values.englishName } : {}),\r\n ...(values.mainEmail ? { 'mainEmail.contains': values.mainEmail } : {}),\r\n ...(values.gender ? { 'gender.equals': values.gender } : {}),\r\n ...(values.nationality ? { 'nationality.equals': values.nationality } : {}),\r\n ...(values.residenceCountry ? { 'residenceCountry.equals': values.residenceCountry } : {}),\r\n ...(values.residencePlace ? { 'residencePlace.equals': values.residencePlace } : {}),\r\n ...(values.localResidenceCity ? { 'residenceCity.equals': values.localResidenceCity } : {}),\r\n ...(values.workDestination ? { 'workDestination.contains': values.workDestination } : {}),\r\n ...(values.language ? { 'language.contains': values.language } : {}),\r\n ...(values.delicateSpecialization ? { 'delicateSpecialization.contains': values.delicateSpecialization } : {}),\r\n ...(values.generalSpecialty ? { 'generalSpecialty.equals': values.generalSpecialty } : {}),\r\n ...(values.reviewerState ? { 'reviewerState.equals': values.reviewerState } : {}),\r\n });\r\n }\r\n clear() {\r\n this.filtersForm.reset();\r\n this.onClear.emit();\r\n }\r\n\r\n private initFilterForm(): void {\r\n this.filtersForm = this.fb.group({\r\n arabicName: new FormControl(''),\r\n englishName: new FormControl(''),\r\n mainEmail: new FormControl(''),\r\n gender: new FormControl(''),\r\n nationality: new FormControl(''),\r\n residenceCountry: new FormControl(''),\r\n residencePlace: new FormControl(''),\r\n localResidenceCity: new FormControl(''),\r\n workDestination: new FormControl(''),\r\n language: new FormControl(''),\r\n delicateSpecialization: new FormControl(''),\r\n generalSpecialty: new FormControl(''),\r\n reviewerState: new FormControl(''),\r\n });\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, map, Observable } from \"rxjs\";\r\nimport { ICriterion } from \"../../distribute-team-members/models/criterion\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MemberModel } from \"../models/member.model\";\r\nimport { CriterionInformation, MemberCriterionInformation } from \"../models/criterion-information.mode\";\r\nimport { Summary } from \"../models/summary.model\";\r\nimport { PagingResponse } from \"../models/paging-response.model\";\r\nimport { ExecutivePlan } from \"../models/executive-plan.model\";\r\nimport { FinalReportMistakes } from \"../models/final-report-mistakes.model\";\r\nimport { FinalReportResponse, MasarFinalReportResponse } from \"../models/final-report-response.model\";\r\nimport { FormioAppConfig } from \"dp-formio\";\r\nimport { PAGE_SIZE } from \"./criterions.service\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MasarCriterionsService {\r\n private baseUrl = this.formioAppConfig.gateway;\r\n updatedCriterionKey$ = new BehaviorSubject(null);\r\n updatedMainCriterion$ = new BehaviorSubject(null);\r\n\r\n allCriterionEvaluated$ = new BehaviorSubject(null);\r\n\r\n constructor(private formioAppConfig: FormioAppConfig,\r\n private http: HttpClient) {\r\n }\r\n\r\n get criterionPath() {\r\n const pathSegments = this.formioAppConfig.endpoints.criterion.split('api/');\r\n return pathSegments[0] + `api/masar-` + pathSegments[1];\r\n }\r\n get finalReportMistakes() {\r\n const path = this.formioAppConfig.endpoints.finalReportMistakes;\r\n const pathSegments = path.split('api/');\r\n return pathSegments[0] + `api/masar-` + pathSegments[1];\r\n }\r\n get finalCriterionInformationsPath() {\r\n const pathSegments = this.formioAppConfig.endpoints.finalCriterionInformations.split('api/v1/');\r\n return pathSegments[0] + `api/v1/masar-` + pathSegments[1];\r\n }\r\n get finalReportResponses() {\r\n const path = this.formioAppConfig.endpoints.finalReportResponses;\r\n const pathSegments = path.split('api/v1/');\r\n return pathSegments[0] + `api/v1/masar-` + pathSegments[1];\r\n }\r\n private criterionInformationsEndpoint(isFinal: boolean = false) {\r\n const path = isFinal ?\r\n this.formioAppConfig.endpoints.finalCriterionInformations :\r\n this.formioAppConfig.endpoints.criterionInformations;\r\n\r\n const pathSegments = path.split('api/v1/');\r\n return pathSegments[0] + `api/v1/masar-` + pathSegments[1];\r\n }\r\n\r\n getMainCriterionByVisitKey(visitKey: string, type = 'MAIN'): Observable {\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.masarCriteria}`;\r\n return this.http.get(url, {\r\n params: {\r\n 'visitKey.equals': visitKey,\r\n 'criterionType.equals': type,\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n });\r\n }\r\n\r\n getAllCriterionByVisitKey(visitKey: string): Observable {\r\n const url = `${this.baseUrl}${this.criterionPath}visit/${visitKey}/members`;\r\n return this.http.get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n }).pipe(\r\n map(data => {\r\n data.forEach(item => {\r\n if (item.numberOfApplicable > 0)\r\n item.calculatedSavedScore = item.totalEvaluationCriteria / item.numberOfApplicable;\r\n });\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getMyCriterionByVisitKey(visitKey: string, reviewerId): Observable {\r\n const url = `${this.baseUrl}${this.criterionPath}visit/${visitKey}/members/reviewer/${reviewerId}`;\r\n return this.http.get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n }).pipe(\r\n map(data => {\r\n data.forEach(item => {\r\n if (item.numberOfApplicable > 0)\r\n item.calculatedSavedScore = item.totalEvaluationCriteria / item.numberOfApplicable;\r\n });\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n\r\n //summary filter\r\n getStickQuestionByVisitKey(visitKey: string): Observable {\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.criterion}STICK/visit/${visitKey}`;\r\n return this.http.get(url);\r\n }\r\n\r\n //summary filter\r\n getMembersByVisitKey(visitKey: string): Observable {\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.visitMembers}visit/${visitKey}`;\r\n return this.http\r\n .get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n });\r\n }\r\n\r\n //summary filter\r\n getCriterionInformationForAll(params: any): Observable> {\r\n const url = `${this.baseUrl}${this.finalCriterionInformationsPath}`;\r\n return this.http.get(url, {\r\n observe: 'response',\r\n params: params\r\n }).pipe(\r\n map((response) => {\r\n return {\r\n totalItems: Number(response.headers.get('x-total-count')),\r\n data: response.body,\r\n size: params?.size ?? PAGE_SIZE,\r\n page: params?.page ?? 0,\r\n };\r\n })\r\n );\r\n }\r\n getPaginatedSummaries(visitKey: string, type: string, isCustom: boolean = false): Observable> {\r\n // v1 for get summaryOfRecommendations with finalReportResponseId\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.reportingservice}${isCustom ? 'v1/' : ''}masar-${type}`;\r\n return this.http.get(url, {\r\n params: {\r\n 'visitKey.equals': visitKey,\r\n 'deleted.equals': 'false'\r\n },\r\n observe: 'response',\r\n }).pipe(\r\n map((response) => {\r\n return {\r\n totalItems: Number(response.headers.get('x-total-count')),\r\n data: response.body,\r\n size: PAGE_SIZE,\r\n page: 0,\r\n };\r\n })\r\n );\r\n }\r\n\r\n getCriterionInformationForMainCriterion(visitKey: string, criterionKey: string, memberId: string, isFinal: boolean = false): Observable {\r\n let url = `${this.baseUrl}${this.criterionInformationsEndpoint(isFinal)}${criterionKey}/visit/${visitKey}`;\r\n if (!isFinal) url += `/member/${memberId}`;\r\n return this.http.get(url);\r\n }\r\n\r\n getCriterionInformation(visitKey: string, criterionKey: string, memberId: string, isFinal: boolean = false): Observable {\r\n const url = `${this.baseUrl}${this.criterionInformationsEndpoint(isFinal)}`;\r\n const params: any = {\r\n 'visitKey.equals': visitKey,\r\n 'criterionKey.equals': criterionKey\r\n };\r\n if (!isFinal) params['memberId.equals'] = memberId;\r\n\r\n return this.http.get(url, {\r\n params: params\r\n }).pipe(map(data => data.length ? data[0] : null));\r\n }\r\n\r\n createCriterionInformation(payload: CriterionInformation, isFinal: boolean = false): Observable {\r\n const url = `${this.baseUrl}${this.criterionInformationsEndpoint(isFinal)}`;\r\n return this.http.post(url, payload);\r\n }\r\n\r\n editCriterionInformation(payload: CriterionInformation, isFinal: boolean = false): Observable {\r\n const url = `${this.baseUrl}${this.criterionInformationsEndpoint(isFinal)}`;\r\n return this.http.put(url, payload);\r\n }\r\n\r\n getSummaries(visitKey: string, type: string, isCustom: boolean = false): Observable {\r\n // v1 for get summaryOfRecommendations with finalReportResponseId\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.reportingservice}${isCustom ? 'v1/' : ''}masar-${type}`;\r\n return this.http.get(url, {\r\n params: {\r\n 'visitKey.equals': visitKey,\r\n 'deleted.equals': 'false'\r\n },\r\n responseType: 'json'\r\n });\r\n }\r\n\r\n saveSummaries(type: string, payload: Summary[]): Observable {\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.reportingservice}v1/${type}`;\r\n return this.http.post(url, payload);\r\n }\r\n\r\n saveRecommendationsSummaries(payload: Summary): Observable {\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.reportingservice}masar-recommendations-summaries`;\r\n return this.http.put(url, payload);\r\n }\r\n\r\n getExecutivePlan(visitKey: string, recommendationId: number): Observable {\r\n const path = this.formioAppConfig.endpoints.executivePlan;\r\n const pathSegments = path.split('api/');\r\n const executivePlan = pathSegments[0] + `api/v1/masar-` + pathSegments[1];\r\n\r\n const url = `${this.baseUrl}${executivePlan}`;\r\n return this.http.get(url, {\r\n params: {\r\n 'visitKey.equals': visitKey,\r\n ...(recommendationId ? { 'recommendationId.equals': recommendationId.toString() } : {}),\r\n 'deleted.equals': 'false'\r\n }\r\n });\r\n }\r\n\r\n saveExecutivePlan(payload: ExecutivePlan[]): Observable {\r\n const path = this.formioAppConfig.endpoints.customExecutivePlan;\r\n const pathSegments = path.split('api/v1/');\r\n const executivePlan = pathSegments[0] + `api/v1/masar-` + pathSegments[1];\r\n\r\n const url = `${this.baseUrl}${executivePlan}`;\r\n return this.http.post(url, payload);\r\n }\r\n\r\n getFinalReportMistakes(visitKey: string): Observable {\r\n const url = `${this.baseUrl}${this.finalReportMistakes}`;\r\n return this.http.get(url, {\r\n params: {\r\n 'visitKey.equals': visitKey,\r\n }\r\n });\r\n }\r\n\r\n createFinalReportMistakes(payload: FinalReportMistakes): Observable {\r\n const url = `${this.baseUrl}${this.finalReportMistakes}`;\r\n return this.http.post(url, payload);\r\n }\r\n\r\n editFinalReportMistakes(payload: FinalReportMistakes): Observable {\r\n const url = `${this.baseUrl}${this.finalReportMistakes}`;\r\n return this.http.put(url, payload);\r\n }\r\n\r\n deleteFinalReportMistakes(id: number): Observable {\r\n const url = `${this.baseUrl}${this.finalReportMistakes}/${id}`;\r\n return this.http.delete(url);\r\n }\r\n\r\n getFinalReportResponses(id: string): Observable {\r\n const url = `${this.baseUrl}${this.finalReportResponses}${id}`;\r\n return this.http.get(url);\r\n }\r\n\r\n createFinalReportResponses(payload: FinalReportResponse): Observable {\r\n const url = `${this.baseUrl}${this.finalReportResponses}`;\r\n return this.http.post(url, payload);\r\n }\r\n\r\n editFinalReportResponses(payload: FinalReportResponse): Observable {\r\n const url = `${this.baseUrl}${this.finalReportResponses}`;\r\n return this.http.put(url, payload);\r\n }\r\n\r\n getDocuments(id: number): Observable {\r\n const url = `${this.baseUrl}${this.criterionPath}${id}/documents`;\r\n return this.http.get(url);\r\n }\r\n\r\n createResponsesWithExecutive(payload: MasarFinalReportResponse): Observable {\r\n const url = `${this.baseUrl}${this.finalReportResponses}masar-executive-plans`;\r\n return this.http.post(url, payload);\r\n }\r\n}\r\n\r\n","
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {{sectionTitle}}\r\n :\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { MatDialog } from '@angular/material/dialog';\r\nimport { Component, EventEmitter, Input, Output, ViewEncapsulation, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { map, Subscription } from 'rxjs';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { Utils } from 'formiojs';\r\nimport { SortHelper } from '../../helpers/sort.helper';\r\nimport { ClassificationIndicator, ClassificationStatus } from './models/classification-indicators.model';\r\nimport { ClassificationIndicatorComponent } from './indicator/classification-indicator.component';\r\nimport { reviver } from '../../helpers/json.helper';\r\nimport { FormioLoader, FormioCustomComponent, ResourceNameService } from 'dp-formio';\r\n\r\n\r\n@Component({\r\n selector: 'app-classification-indicators-wrapper',\r\n templateUrl: './classification-indicators-wrapper.component.html',\r\n // styleUrls: ['./classification-indicators-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader]\r\n})\r\nexport class ClassificationIndicatorsWrapperComponent implements FormioCustomComponent, OnDestroy, OnChanges {\r\n dir: 'rtl' | 'ltr';\r\n @Input() required: boolean;\r\n\r\n @Input()\r\n value: any = {};\r\n\r\n @Output()\r\n valueChange = new EventEmitter();\r\n\r\n @Input()\r\n disabled: boolean;\r\n\r\n @Input()\r\n viewOnly: boolean;\r\n\r\n @Input()\r\n data: any;\r\n\r\n @Input()\r\n customOptions: any;\r\n\r\n @Input()\r\n formioComponent: any;\r\n\r\n indicatorQuery = ``;\r\n indicators: ClassificationIndicator[] = [];\r\n indicatorStatus = ClassificationStatus;\r\n\r\n hideSummary: boolean;\r\n\r\n hideQuestions: boolean;\r\n hideAttachments: boolean;\r\n hideNotesAndRecommendations: boolean;\r\n hideDecision: boolean;\r\n hideSaveDomain: boolean;\r\n hideComments: boolean;\r\n\r\n disableQuestions: boolean;\r\n disableAttachments: boolean;\r\n disableNotesAndRecommendations: boolean;\r\n disableDecision: boolean;\r\n disableComments: boolean;\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n constructor(private translateService: TranslateService,\r\n private resourceNameService: ResourceNameService,\r\n private matDialog: MatDialog,\r\n private formioLoader: FormioLoader) {\r\n this.changeDirection(this.translateService.currentLang);\r\n this.sub = this.translateService.onLangChange.subscribe(data => {\r\n this.changeDirection(data.lang);\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.customOptions && this.customOptions.indicatorResource) {\r\n this.indicatorQuery = this.formioComponent.interpolate(this.customOptions.indicatorQuery, { data: this.data });\r\n\r\n this.hideSummary = eval(this.formioComponent.interpolate(this.customOptions.hideSummary, { data: this.data }));\r\n\r\n this.hideQuestions = eval(this.formioComponent.interpolate(this.customOptions.hideQuestions, { data: this.data }));\r\n this.hideAttachments = eval(this.formioComponent.interpolate(this.customOptions.hideAttachments, { data: this.data }));\r\n this.hideNotesAndRecommendations = eval(this.formioComponent.interpolate(this.customOptions.hideNotesAndRecommendations, { data: this.data }));\r\n this.hideDecision = eval(this.formioComponent.interpolate(this.customOptions.hideDecision, { data: this.data }));\r\n this.hideSaveDomain = eval(this.formioComponent.interpolate(this.customOptions.hideSaveDomain, { data: this.data }));\r\n this.hideComments = eval(this.formioComponent.interpolate(this.customOptions.hideComments, { data: this.data }));\r\n\r\n this.disableQuestions = eval(this.formioComponent.interpolate(this.customOptions.disableQuestions, { data: this.data }));\r\n this.disableAttachments = eval(this.formioComponent.interpolate(this.customOptions.disableAttachments, { data: this.data }));\r\n this.disableNotesAndRecommendations = eval(this.formioComponent.interpolate(this.customOptions.disableNotesAndRecommendations, { data: this.data }));\r\n this.disableDecision = eval(this.formioComponent.interpolate(this.customOptions.disableDecision, { data: this.data }));\r\n this.disableComments = eval(this.formioComponent.interpolate(this.customOptions.disableComments, { data: this.data }));\r\n\r\n this.getIndicatorsResources();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n openIndicator(indicator: ClassificationIndicator, isSummary = false) {\r\n const dialog = this.matDialog.open(ClassificationIndicatorComponent, {\r\n id: Utils.guid(),\r\n data: {\r\n dir: this.dir,\r\n submission: this.data,\r\n indicator: _cloneDeep(indicator),\r\n customOptions: this.customOptions,\r\n viewOnly: this.viewOnly,\r\n isSummary: isSummary,\r\n formData: this.formioComponent?.root?.data,\r\n formioComponent: this.formioComponent,\r\n options: {\r\n hideQuestions: this.hideQuestions,\r\n hideAttachments: this.hideAttachments,\r\n hideNotesAndRecommendations: this.hideNotesAndRecommendations,\r\n hideDecision: this.hideDecision,\r\n hideSaveDomain: this.hideSaveDomain,\r\n hideComments: this.hideComments,\r\n disableQuestions: this.disableQuestions,\r\n disableAttachments: this.disableAttachments,\r\n disableNotesAndRecommendations: this.disableNotesAndRecommendations,\r\n disableDecision: this.disableDecision,\r\n disableComments: this.disableComments\r\n }\r\n },\r\n height: '100vh',\r\n width: '100vw',\r\n panelClass: 'full-screen-modal',\r\n disableClose: true\r\n });\r\n const sub = dialog.afterClosed().subscribe(result => {\r\n sub.unsubscribe();\r\n if (result) {\r\n this.indicators[this.indicators.findIndex(q => q._id == result._id)] = result;\r\n this.notifyValue();\r\n }\r\n this.formioComponent?.root?.events?.emit('formio.registerComponent');\r\n });\r\n }\r\n\r\n private notifyValue() {\r\n if (this.required) {\r\n if (this.indicators.some(q => !q.isValid)) {\r\n this.value = null;\r\n this.valueChange.emit(this.value);\r\n this.afterChangeValue();\r\n return;\r\n }\r\n }\r\n this.value = { indicatorsData: this.indicators.map(q => q._id) };\r\n this.valueChange.emit(this.value);\r\n this.afterChangeValue();\r\n }\r\n\r\n private afterChangeValue() {\r\n if (this.customOptions && this.customOptions.afterChange)\r\n this.customOptions.afterChange.forEach(item => {\r\n const mustUpdateValues = eval(this.formioComponent.interpolate(item.condition, { data: this.data }));\r\n if (mustUpdateValues) {\r\n if (this.formioComponent.root.wizard) {\r\n const pages = this.formioComponent.root.getFastPages({ all: true, withoutFirstLoad: true });\r\n this.searchAndUpdateComponent(pages, item);\r\n } else {\r\n const nestedForms = Utils.searchComponents(this.formioComponent.root.components, { type: 'form', 'component.display': 'wizard' });\r\n nestedForms.forEach(formComponent => {\r\n formComponent.subFormReady.then((subForm) => {\r\n const pages = subForm.getFastPages({ all: true, withoutFirstLoad: true });\r\n this.searchAndUpdateComponent(pages, item);\r\n });\r\n });\r\n\r\n const components = this.searchAndUpdateComponent(this.formioComponent.root.components, item);\r\n if (!components?.length) {\r\n const nestedForms = Utils.searchComponents(this.formioComponent.root.components, { type: 'form' });\r\n nestedForms.forEach(formComponent => {\r\n formComponent.subFormReady.then((subForm) => {\r\n this.searchAndUpdateComponent(subForm.components, item);\r\n });\r\n });\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n private searchAndUpdateComponent(formComponents: any[], afterChangeItem: any): any[] {\r\n const components = Utils.searchComponents(formComponents, { key: afterChangeItem.key });\r\n components.forEach(c => {\r\n const value = this.formioComponent.interpolate(afterChangeItem.value, { data: this.data, indicators: this.indicators, indicatorStatus: this.indicatorStatus });\r\n c.setValue(value);\r\n });\r\n return components;\r\n }\r\n\r\n private changeDirection(lang) {\r\n this.dir = null;\r\n setTimeout(() => { this.dir = lang === 'ar' ? 'rtl' : 'ltr'; });\r\n }\r\n\r\n private getIndicatorsResources() {\r\n if (!this.formioComponent.visible) return;\r\n this.formioLoader.loading = true;\r\n\r\n this.sub = this.resourceNameService.loadCustomByFilterdKey(this.customOptions.indicatorResource, this.indicatorQuery).pipe(\r\n map((resultData: any[]) => {\r\n return SortHelper.recursiveSort(resultData.map(q => { return { _id: q._id, ...q.data } }), 'asc').map(q => {\r\n const item = new ClassificationIndicator();\r\n SortHelper.copyProps(q, item);\r\n item.attachmentsFormKey = this.customOptions.attachmentsForm;\r\n item.domainNotesAndRecommendationsFormKey = this.customOptions.domainNotesAndRecommendationsForm;\r\n if (q.history) item.history = JSON.parse(q.history, reviver);\r\n return item;\r\n })\r\n }))\r\n .subscribe(data => {\r\n if (data && data.length) {\r\n this.indicators = data;\r\n this.notifyValue();\r\n }\r\n this.formioLoader.loading = false;\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n });\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Inject,\r\n OnInit,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { Evaluator } from 'formiojs/utils/utils';\r\nimport { KeycloakService } from 'keycloak-angular';\r\nimport {\r\n Observable,\r\n catchError,\r\n finalize,\r\n from,\r\n map,\r\n of,\r\n switchMap,\r\n} from 'rxjs';\r\nimport {\r\n ResourceNameService,\r\n STEPPERTABSTATUS,\r\n UserService,\r\n} from 'dp-formio';\r\nimport { CustomOptionsModel, DialogData, commentColumnModel } from '../models';\r\n\r\n@Component({\r\n\tselector: 'app-comments-history-dialog',\r\n\ttemplateUrl: './comments-history-dialog.component.html',\r\n\tstyleUrls: ['./comments-history-dialog.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CommentsHistoryDialogComponent implements OnInit {\r\n\tshowLoader: boolean;\r\n\thasError: boolean;\r\n\r\n\toptions: CustomOptionsModel;\r\n\tdata: Record;\r\n\tcomments$: Observable[]> = of([]);\r\n\r\n\ttranslationsKey = 'forms.common.';\r\n\ttabStatusEnum = STEPPERTABSTATUS;\r\n\r\n\t_columns: commentColumnModel[] = [\r\n\t\t{\r\n\t\t\tkey: 'notes',\r\n\t\t\tlabel: 'notes',\r\n\t\t\ttranslated: false,\r\n\t\t},\r\n\t];\r\n\tcolumns: commentColumnModel[] = this._columns;\r\n\tconstructor(\r\n\t\tpublic dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public dialogData: DialogData,\r\n\t\tprivate resourceNameService: ResourceNameService,\r\n\t\tprivate userService: UserService,\r\n\t\tprivate keycloak: KeycloakService\r\n\t) {}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.data = this.dialogData?.data;\r\n\t\tthis.options = this.dialogData?.options;\r\n\t\tthis.translationsKey =\r\n\t\t\tthis.dialogData?.options?.translationKey || this.translationsKey;\r\n\r\n\t\tthis._prepareColumns();\r\n\t\tthis._fetchData();\r\n\t}\r\n\r\n\tcancel() {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\r\n\tprivate _prepareColumns() {\r\n\t\tconst _columns = this.dialogData?.options?.columns ?? [];\r\n\t\tthis.columns =\r\n\t\t\tArray.isArray(_columns) && _columns.length ? _columns : this._columns;\r\n\t}\r\n\r\n\tprivate _fetchData() {\r\n\t\tthis.showLoader = true;\r\n\t\tthis.comments$ = from(this.keycloak.getToken()).pipe(\r\n\t\t\tswitchMap((token) => this.userService.getUserData(token)),\r\n\t\t\tswitchMap((userData) => {\r\n\t\t\t\tconst query = Evaluator.interpolate(this.options.query, {\r\n\t\t\t\t\tdata: { ...this.data, ...userData },\r\n\t\t\t\t});\r\n\t\t\t\treturn this.resourceNameService.loadCustomByFilterdKey(\r\n\t\t\t\t\tthis.options.resourceKey,\r\n\t\t\t\t\tquery\r\n\t\t\t\t);\r\n\t\t\t}),\r\n\t\t\tcatchError((error) => {\r\n\t\t\t\tconsole.log(error);\r\n\t\t\t\tthis.hasError = true;\r\n\t\t\t\treturn of([]);\r\n\t\t\t}),\r\n\t\t\tfinalize(() => {\r\n\t\t\t\tthis.showLoader = false;\r\n\t\t\t}),\r\n\t\t\tmap((data) =>\r\n\t\t\t\tArray.isArray(data) && !!data.length\r\n\t\t\t\t\t? data.map((item: any) => item.data)\r\n\t\t\t\t\t: []\r\n\t\t\t)\r\n\t\t);\r\n\t}\r\n}\r\n","import { isPlatformBrowser } from '@angular/common';\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n PLATFORM_ID,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport Chart from 'chart.js/auto';\r\n\r\n@Component({\r\n\tselector: 'app-chart',\r\n\ttemplateUrl: './chart.component.html',\r\n\tstyleUrls: ['./chart.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tencapsulation: ViewEncapsulation.None,\r\n\thost: {\r\n\t\tclass: 'p-element',\r\n\t},\r\n})\r\nexport class UIChartComponent implements AfterViewInit, OnDestroy {\r\n\t@Input() type: any;\r\n\r\n\t@Input() plugins: any[] = [];\r\n\r\n\t@Input() width: string | undefined;\r\n\r\n\t@Input() height: string | undefined;\r\n\r\n\t@Input() responsive: boolean = true;\r\n\r\n\t@Input() get data(): any {\r\n\t\treturn this._data;\r\n\t}\r\n\tset data(val: any) {\r\n\t\tthis._data = val;\r\n\t\tthis.reinit();\r\n\t}\r\n\r\n\t@Input() get options(): any {\r\n\t\treturn this._options;\r\n\t}\r\n\tset options(val: any) {\r\n\t\tthis._options = val;\r\n\t\tthis.reinit();\r\n\t}\r\n\r\n\t@Output() onDataSelect: EventEmitter = new EventEmitter();\r\n\r\n\tisBrowser: boolean = false;\r\n\r\n\tinitialized: boolean;\r\n\r\n\t_data: any;\r\n\r\n\t_options: any = {};\r\n\r\n\tchart: any;\r\n\r\n\tconstructor(\r\n\t\t@Inject(PLATFORM_ID) private platformId: any,\r\n\t\tpublic el: ElementRef\r\n\t) {}\r\n\r\n\tngAfterViewInit() {\r\n\t\tthis.initChart();\r\n\t\tthis.initialized = true;\r\n\t}\r\n\r\n\tonCanvasClick(event) {\r\n\t\tif (this.chart) {\r\n\t\t\tconst element = this.chart.getElementsAtEventForMode(\r\n\t\t\t\tevent,\r\n\t\t\t\t'nearest',\r\n\t\t\t\t{ intersect: true },\r\n\t\t\t\tfalse\r\n\t\t\t);\r\n\t\t\tconst dataset = this.chart.getElementsAtEventForMode(\r\n\t\t\t\tevent,\r\n\t\t\t\t'dataset',\r\n\t\t\t\t{ intersect: true },\r\n\t\t\t\tfalse\r\n\t\t\t);\r\n\r\n\t\t\tif (element && element[0] && dataset) {\r\n\t\t\t\tthis.onDataSelect.emit({\r\n\t\t\t\t\toriginalEvent: event,\r\n\t\t\t\t\telement: element[0],\r\n\t\t\t\t\tdataset: dataset,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tinitChart() {\r\n\t\tif (isPlatformBrowser(this.platformId)) {\r\n\t\t\tlet opts = this.options || {};\r\n\t\t\topts.responsive = this.responsive;\r\n\r\n\t\t\t// allows chart to resize in responsive mode\r\n\t\t\tif (opts.responsive && (this.height || this.width)) {\r\n\t\t\t\topts.maintainAspectRatio = false;\r\n\t\t\t}\r\n\r\n\t\t\tthis.chart = new Chart(this.el.nativeElement.children[0].children[0], {\r\n\t\t\t\ttype: this.type,\r\n\t\t\t\tdata: this.data,\r\n\t\t\t\toptions: this.options,\r\n\t\t\t\tplugins: this.plugins,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tgetCanvas() {\r\n\t\treturn this.el.nativeElement.children[0].children[0];\r\n\t}\r\n\r\n\tgetBase64Image() {\r\n\t\treturn this.chart.toBase64Image();\r\n\t}\r\n\r\n\tgenerateLegend() {\r\n\t\tif (this.chart) {\r\n\t\t\treturn this.chart.generateLegend();\r\n\t\t}\r\n\t}\r\n\r\n\trefresh() {\r\n\t\tif (this.chart) {\r\n\t\t\tthis.chart.update();\r\n\t\t}\r\n\t}\r\n\r\n\treinit() {\r\n\t\tif (this.chart) {\r\n\t\t\tthis.chart.destroy();\r\n\t\t\tthis.initChart();\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tif (this.chart) {\r\n\t\t\tthis.chart.destroy();\r\n\t\t\tthis.initialized = false;\r\n\t\t\tthis.chart = null;\r\n\t\t}\r\n\t}\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FormioComponent, ConfirmationDialogComponent } from 'dp-formio';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { filter, finalize, take, takeUntil } from 'rxjs';\r\nimport { DecisionInput } from '../../models/decision-input.model';\r\nimport { ExecuteVisitType } from '../../models/execute-visit.model';\r\nimport { ExecutivePlan } from '../../models/executive-plan.model';\r\nimport { MasarAddEditExecutivePlanComponent } from './add-edit-executive-plan/masar-add-edit-executive-plan.dialog';\r\nimport { BaseComponent } from '../../base.component';\r\nimport { CriterionsService } from '../../services/criterions.service';\r\nimport { MasarCriterionsService } from '../../services/masar-criterions.service';\r\nimport { showToast } from '../../../toast.helper';\r\n\r\n@Component({\r\n selector: 'app-masar-executive-plan',\r\n templateUrl: './masar-executive-plan.component.html',\r\n styleUrls: ['./masar-executive-plan.component.scss', '../data-table.scss']\r\n})\r\nexport class MasarExecutivePlanComponent extends BaseComponent implements OnInit {\r\n @ViewChild(FormioComponent) formioComponent: FormioComponent;\r\n @Input() recommendationId?: number;\r\n @Input() viewOnly?: boolean;\r\n @Output() changeData = new EventEmitter();\r\n decisionInput$ = this.criterionsService.decisionInputs$;\r\n isLoadingResults: boolean = false;\r\n institutionEntries = ExecuteVisitType.InstitutionEntries;\r\n dataSource: ExecutivePlan[] = [];\r\n\r\n displayedColumns = [\r\n 'clause',\r\n 'responsibleName',\r\n 'endDate',\r\n 'actions'\r\n ];\r\n\r\n constructor(private matDialog: MatDialog,\r\n private criterionsService: CriterionsService,\r\n private masarCriterionsService: MasarCriterionsService,\r\n private translateService: TranslateService,\r\n private toastrService: ToastrService) { super(); }\r\n\r\n ngOnInit() {\r\n if (this.recommendationId) this.getData();\r\n }\r\n\r\n showPlan(decisionInput: DecisionInput, plan: ExecutivePlan = null, isViewOnly: boolean = false, index: number = null) {\r\n const dir = this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr';\r\n this.matDialog.open(MasarAddEditExecutivePlanComponent, {\r\n width: 'min(80%,900px)',\r\n direction: dir,\r\n maxHeight: '90vh',\r\n autoFocus: false,\r\n restoreFocus: false,\r\n data: {\r\n viewOnly: isViewOnly,\r\n recommendationId: this.recommendationId,\r\n model: plan || new ExecutivePlan(),\r\n dir: dir\r\n }\r\n })\r\n .afterClosed()\r\n .pipe(\r\n filter(data => !!data),\r\n take(1)\r\n )\r\n .subscribe((result: any) => {\r\n const model: ExecutivePlan = {\r\n ...result,\r\n visitId: decisionInput.visitMetaData.visitId,\r\n visitKey: decisionInput.visitMetaData.visitKey,\r\n deleted: false\r\n };\r\n\r\n if (plan) {\r\n this.dataSource[index] = model;\r\n this.dataSource = [...this.dataSource];\r\n } else\r\n this.dataSource = [...this.dataSource, model];\r\n\r\n this.changeData.emit(this.dataSource);\r\n });\r\n }\r\n\r\n deletePlan(index: number) {\r\n this.matDialog.open(ConfirmationDialogComponent, {\r\n direction: this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr',\r\n data: {\r\n message: 'forms.common.Are you sure to delete this item',\r\n buttonText: {\r\n ok: 'forms.common.yes',\r\n cancel: 'forms.common.cancel',\r\n }\r\n },\r\n width: \"40vw\",\r\n panelClass: 'confirmation-dialog',\r\n })\r\n .afterClosed()\r\n .pipe(filter(data => !!data))\r\n .subscribe(() => {\r\n // this.dataSource.splice(index, 1);\r\n this.dataSource[index].deleted = true;\r\n this.dataSource = [...this.dataSource];\r\n this.changeData.emit(this.dataSource);\r\n });\r\n }\r\n\r\n private getData() {\r\n this.isLoadingResults = true;\r\n this.masarCriterionsService.getExecutivePlan(\r\n this.criterionsService.decisionInputs$.getValue().visitMetaData.visitKey,\r\n this.recommendationId)\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => this.isLoadingResults = false)\r\n )\r\n .subscribe(data => {\r\n this.dataSource = data;\r\n this.changeData.emit(this.dataSource);\r\n });\r\n }\r\n}\r\n","export * from './custom-options';\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { HtmlEditorWrapperComponent } from './html-editor-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'html-editor',\r\n selector: 'html-editor',\r\n title: 'html editor'\r\n};\r\n\r\nexport function registerHtmlEditorComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, HtmlEditorWrapperComponent, injector);\r\n}","import { Injector } from '@angular/core';\r\nimport {\r\n FormioCustomComponentInfo,\r\n registerCustomFormioComponent,\r\n} from 'dp-formio';\r\n\r\nimport { CustomSelectComponent } from './custom-select.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'custom-select',\r\n\tselector: 'custom-select',\r\n\ttitle: 'custom-select',\r\n};\r\n\r\nexport function registerCustomSelectComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(\r\n\t\tCOMPONENT_OPTIONS,\r\n\t\tCustomSelectComponent,\r\n\t\tinjector\r\n\t);\r\n}\r\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormioCustomComponent, FormioComponent } from 'dp-formio';\r\n\r\n@Component({\r\n\tselector: 'app-redirection-button-wrapper',\r\n\ttemplateUrl: './redirection-button-wrapper.component.html',\r\n\tstyleUrls: ['./redirection-button-wrapper.component.scss'],\r\n})\r\nexport class RedirectionButtonWrapperComponent implements FormioCustomComponent {\r\n\t@ViewChild(FormioComponent) formComponent: FormioComponent;\r\n\r\n\tdir: 'rtl' | 'ltr';\r\n\t@Input() required: boolean;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Input() disabled: boolean;\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\r\n\tconstructor(private router: Router) { }\r\n\r\n\tonRoute() {\r\n\t\tlet parentRoute = '';\r\n\t\tfor (let index = 5; index < this.data.currentRoute.split('/').length; index++) {\r\n\t\t\tparentRoute = `${parentRoute}${this.data.currentRoute.split('/')[index]}/`;\r\n\t\t}\r\n\r\n\t\tconst taskId =\r\n\t\t\tthis.data.currentRoute\r\n\t\t\t\t.split('/')\r\n\t\t\t[this.data.currentRoute.split('/').length - 1]?.split('?')[0] || '';\r\n\r\n\t\tthis.router.navigate(\r\n\t\t\t[\r\n\t\t\t\t`/resources/eligibilityRequirments/${this.data.serviceId}/${this.data.varSubmissionId}/${this.customOptions.targetFormKey}/${this.customOptions.summaryResourceKey}`,\r\n\t\t\t],\r\n\t\t\t{ queryParams: { parentRoute, taskId }, state: { isNotAssigned: this.disabled || this.viewOnly } }\r\n\t\t);\r\n\t}\r\n}\r\n","\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {{'forms.common.' + headerRow.name | translate}}\r\n \r\n {{headerRow.nameExtraString}}\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{item | calculatedRowTotal : tableData : 0 : rowIndex : colKey.key}}\r\n
    \r\n \r\n \r\n {{item | calculatedRowRatio : tableData :\r\n tableConfig.rows[rowIndex].firstFiled :\r\n tableConfig.rows[rowIndex].secondFiled : colKey.key}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n %\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n {{item | calculatedTotal : colKey.total : colKey.key}}\r\n
    \r\n \r\n
    \r\n {{item | calculatedRatio : colKey.ratio.firstFiled :\r\n colKey.ratio.secondFiled : colKey.key}}\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n","
    \r\n \r\n \r\n

    {{notificationContent}}

    \r\n \r\n\r\n
    \r\n

    {{notification.sendDate | timeAgo}}

    \r\n
    \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    ","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport {\r\n BehaviorSubject,\r\n Observable,\r\n Subject,\r\n filter,\r\n takeUntil\r\n} from 'rxjs';\r\nimport { FormioCustomComponent, FormioLoader } from 'dp-formio';\r\nimport { RolesTypeEnum } from '../../../shared/model/roles';\r\nimport { IFoData } from './models/formIo-data';\r\nimport { visitInfo } from './models/visit';\r\nimport { DistributeService } from './services/distribute.service';\r\n\r\ntype DataType = {\r\n data: any;\r\n valid: {\r\n sessions?: boolean;\r\n criterions?: boolean;\r\n };\r\n};\r\n@Component({\r\n selector: 'app-distribute-team-members',\r\n templateUrl: './distribute-team-members.component.html',\r\n styleUrls: ['./distribute-team-members.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader],\r\n})\r\nexport class DistributeTeamMembersComponent\r\n implements FormioCustomComponent, OnInit, OnChanges, OnDestroy\r\n{\r\n destroy$ = new Subject();\r\n\r\n dir: 'rtl' | 'ltr';\r\n\r\n private _defaultValue = {\r\n data: null,\r\n valid: {\r\n sessions: false,\r\n criterions: false,\r\n },\r\n };\r\n private _value: DataType = null;\r\n @Input()\r\n public set value(v) {\r\n this._value = v;\r\n }\r\n public get value() {\r\n return this._value;\r\n }\r\n @Output() valueChange = new EventEmitter();\r\n\r\n @Input() required: boolean;\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n\r\n @Input() customOptions: any;\r\n @Input() formioComponent: any;\r\n\r\n @Input() data: any;\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes?.data || changes?.value) {\r\n this._getVisitInfo(this.data);\r\n }\r\n }\r\n\r\n @Input() selectedIndex: 0;\r\n\r\n visitInfoSub = new BehaviorSubject(null);\r\n visitInfo$ = this.visitInfoSub.asObservable().pipe(filter(Boolean));\r\n userRole$: Observable;\r\n constructor(\r\n private formioLoader: FormioLoader,\r\n private translateService: TranslateService,\r\n public router: Router,\r\n public route: ActivatedRoute,\r\n public distributeService: DistributeService\r\n ) {}\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n private _getVisitInfo(value: IFoData) {\r\n const data = this.data?.requestDetails?.data;\r\n const key = data?.projectKey || value?.projectKey;\r\n if (key) {\r\n this.distributeService\r\n .getVisitInfo(key)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((res) => {\r\n this.visitInfoSub.next({\r\n ...this.visitInfoSub.getValue(),\r\n key: res.visitKey,\r\n id: res.id,\r\n requestId: res.requestId,\r\n number: res.visitNumber,\r\n });\r\n });\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.userRole$ = this.distributeService.getUserType();\r\n }\r\n\r\n updateValue(payload) {\r\n this.value = _cloneDeep(payload);\r\n this.valueChange.emit(payload);\r\n }\r\n\r\n sessionChanged(isValid: boolean) {\r\n const data = {\r\n data: this.value?.data,\r\n valid: {\r\n ...this.value?.valid,\r\n sessions: isValid,\r\n },\r\n };\r\n this.updateValue(data);\r\n }\r\n\r\n criterionsChanged(isValid: boolean) {\r\n const data = {\r\n data: this.value?.data,\r\n valid: {\r\n ...this.value?.valid,\r\n criterions: isValid,\r\n },\r\n };\r\n this.updateValue(data);\r\n }\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { MapWrapperComponent } from './map-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'custom-map', // custom type. Formio will identify the field with this type.\r\n selector: 'custom-map', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: '', // Title of the component\r\n// template: 'input', // Optional: define a template for the element. Default: input\r\n// changeEvent: 'valueChange', // Optional: define the changeEvent when the formio updates the value in the state. Default: 'valueChange',\r\n// editForm: Components.components.textfield.editForm, // Optional: define the editForm of the field. Default: the editForm of a textfield\r\n// documentation: '', // Optional: define the documentation of the field\r\n// weight: 0, // Optional: define the weight in the builder group\r\n// schema: {}, // Optional: define extra default schema for the field\r\n// extraValidators: [], // Optional: define extra validators for the field\r\n// emptyValue: null, // Optional: the emptyValue of the field\r\n// fieldOptions: ['values'], // Optional: explicit field options to get as `Input` from the schema (may edited by the editForm)\r\n};\r\n\r\nexport function registerMapComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, MapWrapperComponent, injector);\r\n}\r\n","
    \r\n\t
    \r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t{{ 'forms.common.stepper.' + messageInfo?.message | translate }}\r\n\t\t\t
    \r\n\t\t
    \r\n\t
    \r\n\r\n\t
    \r\n\t\t
    \r\n\t\t\t
      \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tcheck_circle\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tcancel\r\n\t\t\t\t\t\r\n\t\t\t\t\t{{ ind + 1 }}.\r\n\t\t\t\t\t{{ 'forms.common.stepper.' + item.formKey | translate }}\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\t\t
    \r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t
    \r\n\t\t\t\t 0 ? (activeStep = activeStep - 1) : 0;\r\n\t\t\t\t\t\tonSelectStep(activeStep, stepperMenu[activeStep])\r\n\t\t\t\t\t\"\r\n\t\t\t\t\t[disabled]=\"!(activeStep > 0)\"\r\n\t\t\t\t\tclass=\"btn custom-btn btn-wizard-nav-previous\"\r\n\t\t\t\t\tstyle=\"border-radius: 45px !important\"\r\n\t\t\t\t\t[pTooltip]=\"'forms.common.stepper.previous' | translate\"\r\n\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ dir === 'rtl' ? 'arrow_forward' : 'arrow_back' }}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{{ dir === 'rtl' ? 'arrow_back' : 'arrow_forward' }}\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\t
    \r\n
    \r\n\r\n\r\n\t
    \r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t
      \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tcheck_circle\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tcancel\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t{{ ind + 1 }}\r\n\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t
    \r\n\t\t\t\t\t 0 ? (activeStep = activeStep - 1) : 0;\r\n\t\t\t\t\t\t\tonSelectStep(activeStep, stepperMenu[activeStep])\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t[disabled]=\"!(activeStep > 0)\"\r\n\t\t\t\t\t\tclass=\"btn custom-btn btn-wizard-nav-previous\"\r\n\t\t\t\t\t\tstyle=\"border-radius: 45px !important\"\r\n\t\t\t\t\t\t[pTooltip]=\"'forms.common.stepper.previous' | translate\"\r\n\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{{ dir === 'rtl' ? 'arrow_forward' : 'arrow_back' }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ dir === 'rtl' ? 'arrow_back' : 'arrow_forward' }}\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t
    \r\n
    \r\n","\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { Process, ScoreCondition } from '../models/process.model';\r\n\r\n@Pipe({\r\n name: 'evaluationScoreMessage',\r\n})\r\nexport class EvaluationScoreMessagePipe implements PipeTransform {\r\n constructor() {\r\n }\r\n\r\n transform(value: number, process: Process): ScoreCondition {\r\n const scoreCondition = process?.scoreConditions?.find(q =>\r\n (q.lessThan && !q.greaterThan && value <= q.lessThan) ||\r\n (!q.lessThan && q.greaterThan && value >= q.greaterThan) ||\r\n (q.lessThan && q.greaterThan && value <= q.lessThan && value > q.greaterThan)\r\n );\r\n return scoreCondition;\r\n }\r\n}\r\n","import { DatePipe } from '@angular/common';\r\nimport { Pipe, PipeTransform, NgZone, ChangeDetectorRef, OnDestroy } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n@Pipe({\r\n name: 'dateToTimeAgo',\r\n pure: false\r\n})\r\nexport class DateToTimeAgoPipe implements PipeTransform, OnDestroy {\r\n private timer: number;\r\n constructor(private changeDetectorRef: ChangeDetectorRef,\r\n private ngZone: NgZone,\r\n private datePipe: DatePipe,\r\n private translate: TranslateService) { }\r\n transform(value: string) {\r\n this.removeTimer();\r\n const d = new Date(value);\r\n const now = new Date();\r\n const seconds = Math.round(Math.abs((now.getTime() - d.getTime()) / 1000));\r\n const timeToUpdate = (Number.isNaN(seconds)) ? 1000 : this.getSecondsUntilUpdate(seconds) * 1000;\r\n this.timer = this.ngZone.runOutsideAngular(() => {\r\n if (typeof window !== 'undefined') {\r\n return window.setTimeout(() => {\r\n this.ngZone.run(() => this.changeDetectorRef.markForCheck());\r\n }, timeToUpdate);\r\n }\r\n return null;\r\n });\r\n const minutes = Math.round(Math.abs(seconds / 60));\r\n const hours = Math.round(Math.abs(minutes / 60));\r\n const days = Math.round(Math.abs(hours / 24));\r\n const months = Math.round(Math.abs(days / 30.416));\r\n const years = Math.round(Math.abs(days / 365));\r\n if (Number.isNaN(seconds)) {\r\n return '';\r\n } else if (seconds <= 45) {\r\n return this.translate.instant('a few seconds ago');\r\n } else if (seconds <= 90) {\r\n return this.translate.instant('a minute ago');\r\n } else if (minutes <= 45) {\r\n return this.translate.instant('minutes ago', { minutes });\r\n } else if (minutes <= 90) {\r\n return this.translate.instant('an hour ago');\r\n } else if (hours <= 22) {\r\n return this.translate.instant('hours ago', { hours });\r\n } else if (hours <= 36) {\r\n return this.translate.instant('a day ago');\r\n } else if (days <= 6) {\r\n return this.translate.instant('days ago', { days });\r\n } else {\r\n return this.datePipe.transform(value, 'yyyy-MM-dd');\r\n }\r\n }\r\n ngOnDestroy(): void {\r\n this.removeTimer();\r\n }\r\n private removeTimer() {\r\n if (this.timer) {\r\n window.clearTimeout(this.timer);\r\n this.timer = null;\r\n }\r\n }\r\n private getSecondsUntilUpdate(seconds: number) {\r\n const min = 60;\r\n const hr = min * 60;\r\n const day = hr * 24;\r\n if (seconds < min) { // less than 1 min, update every 2 secs\r\n return 2;\r\n } else if (seconds < hr) { // less than an hour, update every 30 secs\r\n return 30;\r\n } else if (seconds < day) { // less then a day, update every 5 mins\r\n return 300;\r\n } else { // update every hour\r\n return 3600;\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform, NgZone, ChangeDetectorRef, OnDestroy } from '@angular/core';\r\n@Pipe({\r\n name: 'calculatedRowTotal',\r\n pure: false\r\n})\r\nexport class CalculatedRowTotalPipe implements PipeTransform {\r\n constructor() { }\r\n transform(item: any, array: any[], skip: number = 0, take: number = 0, key: string) {\r\n const data = array.slice(skip, take);\r\n const sum = data.reduce((a, b) => a + (b[key] ? +b[key] ?? 0 : 0), 0);\r\n if (key) item[key] = sum;\r\n return sum;\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {{ title | translate }} \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n
    \r\n {{ \"forms.common.Criteria.summary\" | translate }}\r\n \r\n
    {{ row?.summaryText }}
    \r\n
    \r\n {{ \"forms.common.Criteria.finalReportResponse\" | translate }}\r\n \r\n
    \r\n {{ \"forms.common.Criteria.finalReportResponseAdded\" | translate }}\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n {{ \"forms.common.No items added yet\" | translate }}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    ","import { Injectable } from '@angular/core';\r\nimport _ from 'lodash';\r\nimport { BehaviorSubject, lastValueFrom } from 'rxjs';\r\nimport { CommonQuestionModel } from '../models';\r\nimport { CommonQuestionsService } from './common-questions.service';\r\n@Injectable()\r\nexport class QuestionsStoreService {\r\n private readonly _storeSub = new BehaviorSubject([]);\r\n visitKey: string;\r\n questionsStore$ = this._storeSub.asObservable();\r\n /**\r\n *\r\n */\r\n constructor(private questionsService: CommonQuestionsService) {}\r\n\r\n async initStore(key: string) {\r\n this.visitKey = key;\r\n const result = await lastValueFrom(\r\n this.questionsService.getQuestions({ 'visitKey.equals': key })\r\n );\r\n\r\n if (result) {\r\n this._storeSub.next(result);\r\n }\r\n }\r\n\r\n pushToStore(question: CommonQuestionModel) {\r\n const _values = this._storeSub.getValue();\r\n _values.push(question);\r\n this._storeSub.next(_values);\r\n }\r\n\r\n removeFromStore(id: number) {\r\n const _values = this._storeSub.getValue();\r\n const _data = _values.filter((itm) => itm?.id !== id);\r\n this._storeSub.next(_data);\r\n }\r\n\r\n updateItem(question: CommonQuestionModel) {\r\n const _values = this._storeSub.getValue();\r\n const index = _values.findIndex((itm) => itm.id === question?.id);\r\n if (index >= 0) {\r\n _values[index] = question;\r\n }\r\n this._storeSub.next(_.cloneDeep(_values));\r\n }\r\n\r\n refreshStore() {\r\n this.initStore(this.visitKey);\r\n }\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { StepperWrapperComponent} from './stepper-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'stepper-wrapper', // custom type. Formio will identify the field with this type.\r\n selector: 'stepper-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'stepper', // Title of the component\r\n};\r\n\r\nexport function registerStepperComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, StepperWrapperComponent, injector);\r\n}\r\n","import { Component, Inject, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\r\nimport { FormioLoader } from 'dp-formio';\r\nimport { map, Observable, startWith } from 'rxjs';\r\n\r\nimport { DialogData, DialogEventHook, DialogResult } from '../models';\r\n\r\n@Component({\r\n\tselector: 'app-schedule-dialog',\r\n\ttemplateUrl: './schedule-dialog.component.html',\r\n\tstyleUrls: ['./schedule-dialog.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ScheduleDialogComponent implements OnInit {\r\n\tsubmission: DialogData['submission'];\r\n\tformKey: DialogData['formKey'] = 'testVisitSession';\r\n\thookType: DialogData['dialogHook'] = 'afterSubmit';\r\n\tdir$: Observable;\r\n\tconstructor(\r\n\t\tpublic dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public dialogData: DialogData,\r\n\t\tpublic loader: FormioLoader,\r\n\t\tprivate translateService: TranslateService\r\n\t) {\r\n\t\tthis.dir$ = (this.translateService.onLangChange as Observable).pipe(\r\n\t\t\tstartWith({\r\n\t\t\t\tlang: this.translateService.currentLang,\r\n\t\t\t}),\r\n\t\t\tmap((lang) => (lang.lang == 'ar' ? 'rtl' : 'ltr'))\r\n\t\t);\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.loader.loading = false;\r\n\t\tthis.formKey = this.dialogData?.formKey;\r\n\t\tthis.submission = this.dialogData?.submission;\r\n\t\tthis.hookType = this.dialogData?.dialogHook;\r\n\t}\r\n\r\n\tcancel(){\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\tcustomEvent(event: any) {\r\n\t\tif (event.component?.key == 'cancel') {\r\n\t\t\tthis.dialogRef.close();\r\n\t\t}\r\n\r\n\t\tif (event.component?.key === 'submit' && this.hookType === 'customEvent') {\r\n\t\t\tthis._closeAndEmitData(event.data, this.hookType);\r\n\t\t}\r\n\t}\r\n\r\n\tbeforeSubmit(event: any) {\r\n\t\tif (this.hookType === 'beforeSubmit') {\r\n\t\t\tthis._closeAndEmitData(event.data, this.hookType);\r\n\t\t}\r\n\t}\r\n\tonSubmit(event: any) {\r\n\t\tif (this.hookType === 'afterSubmit') {\r\n\t\t\tthis._closeAndEmitData(event.submission, this.hookType);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _closeAndEmitData(data: any, hook: DialogEventHook) {\r\n\t\tthis.dialogRef.close({\r\n\t\t\tdata: data,\r\n\t\t\ttype: this.dialogData.type,\r\n\t\t\thook: hook,\r\n\t\t});\r\n\t}\r\n}\r\n","
    \r\n \r\n
    ","export function replacer(key, value) {\r\n if (value instanceof Map || value instanceof Set) {\r\n return {\r\n dataType: value instanceof Map ? 'Map' : 'Set',\r\n value: Array.from(value.entries()), // or with spread: value: [...value]\r\n };\r\n } else {\r\n return value;\r\n }\r\n}\r\nexport function reviver(key, value) {\r\n if (typeof value === 'object' && value !== null) {\r\n if (value.dataType === 'Map') {\r\n return new Map(value.value);\r\n }\r\n else if (value.dataType === 'Set') {\r\n return new Set(value.value);\r\n }\r\n }\r\n return value;\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { googleMapKey } from 'dp-formio';\r\nimport { Observable } from 'rxjs';\r\n\r\ndeclare var $: any;\r\n@Injectable({ providedIn: 'root' })\r\nexport class GeoLocationService {\r\n\r\n coordinates: any;\r\n lastWatchPosition: number;\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n getPosition(): Observable {\r\n return new Observable(\r\n (observer) => {\r\n if (this.lastWatchPosition) {\r\n navigator.geolocation.clearWatch(this.lastWatchPosition);\r\n this.lastWatchPosition = null;\r\n }\r\n this.lastWatchPosition = navigator.geolocation.watchPosition((pos: any) => {\r\n observer.next(pos);\r\n if (pos) observer.complete();\r\n }),\r\n () => {\r\n console.log('Position is not available');\r\n },\r\n {\r\n enableHighAccuracy: false\r\n };\r\n });\r\n }\r\n\r\n getReverseGeocodingData(lat, lng, locale: \"ar\" | \"en\") {\r\n return new Promise((resolve, reject) => {\r\n $.ajax({\r\n type: 'GET',\r\n url: `https://maps.googleapis.com/maps/api/geocode/json?latlng=${lat},${lng}&language=${locale}&key=${googleMapKey}`,\r\n success: function (data) {\r\n if (data.status == google.maps.GeocoderStatus.OK) {\r\n resolve(data.results[0].formatted_address);\r\n }\r\n else {\r\n console.log(data);\r\n resolve('');\r\n }\r\n }\r\n });\r\n });\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{ \"forms.common.Criteria.responseDecision\" | translate }}\r\n \r\n \r\n \r\n \r\n {{ \"forms.common.Criteria.\" + option | translate}}\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n {{ \"forms.common.Criteria.reasons\" | translate }} \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {{ \"forms.common.Criteria.updates\" | translate }}\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    ","\r\n\t\r\n\t
    \r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t
    \r\n
    \r\n","import { Component, Inject } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { finalize, iif, takeUntil } from 'rxjs';\r\nimport {\r\n\tFinalReportResponse,\r\n\tMasarFinalReportResponse,\r\n} from '../../../models/final-report-response.model';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { CriterionsService } from '../../../services/criterions.service';\r\nimport { showToast } from '../../../../toast.helper';\r\nimport { MasarCriterionsService } from '../../../services/masar-criterions.service';\r\nimport { ExecutivePlan } from '../../../models/executive-plan.model';\r\nimport { ExecuteVisitType } from '../../../models/execute-visit.model';\r\nimport { Summary } from '../../../models/summary.model';\r\n\r\n@Component({\r\n\tselector: 'app-masar-add-edit-response',\r\n\ttemplateUrl: './masar-add-edit-response.dialog.html',\r\n\tstyleUrls: ['./masar-add-edit-response.dialog.scss'],\r\n})\r\nexport class MasarAddEditResponseComponent extends BaseComponent {\r\n\tresponses = ['accept', 'accept_update', 'reject'];\r\n\tleaderDecisions = ['accept', 'reject'];\r\n\tform: FormGroup;\r\n\tleaderDecisionform: FormGroup;\r\n\tisLoadingResults = false;\r\n\tmodelId: number;\r\n\trecommendationId: number;\r\n\texecutivePlan: ExecutivePlan[] = [];\r\n\r\n\tget reasonsControl() {\r\n\t\treturn this.form.get('reasons');\r\n\t}\r\n\tget updatesControl() {\r\n\t\treturn this.form.get('updates') as FormArray;\r\n\t}\r\n\tget updatesControls() {\r\n\t\treturn (this.form.get('updates') as FormArray).controls as FormControl[];\r\n\t}\r\n\torginalResponseDecisionValue: string;\r\n\tget responseDecisionValue() {\r\n\t\treturn this.form.controls.responseDecision.value;\r\n\t}\r\n\r\n\tget isLeaderDecision() {\r\n\t\tconst executeVisitType = this.criterionsService.decisionInputs$.getValue().executeVisitType;\r\n\t\treturn (\r\n\t\t\texecuteVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries ||\r\n\t\t\t!!this.data.summary.leaderDecision\r\n\t\t);\r\n\t}\r\n\r\n\tget disableLeaderDecision() {\r\n\t\tconst executeVisitType = this.criterionsService.decisionInputs$.getValue().executeVisitType;\r\n\t\treturn executeVisitType != ExecuteVisitType.FinalReportWithInstitutionEntries;\r\n\t}\r\n\tget leaderDecisionValue() {\r\n\t\treturn this.leaderDecisionform.controls.leaderDecision.value;\r\n\t}\r\n\tget leaderRejectReason() {\r\n\t\treturn this.leaderDecisionform.get('leaderRejectReason');\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tpublic dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: any,\r\n\t\tprivate fb: FormBuilder,\r\n\t\tprivate criterionsService: CriterionsService,\r\n\t\tprivate masarCriterionsService: MasarCriterionsService,\r\n\t\tprivate toastrService: ToastrService,\r\n\t\tprivate translateService: TranslateService\r\n\t) {\r\n\t\tsuper();\r\n\r\n\t\tthis.recommendationId = this.data.summaryId;\r\n\t\tif (this.data.summary?.rejected) {\r\n\t\t\tthis.data.viewOnly = true;\r\n\t\t}\r\n\r\n\t\tthis.initForm();\r\n\t\tthis.registerUpdateFormValidation();\r\n\t\tthis.getData();\r\n\t}\r\n\r\n\taddUpdate(value: string = '') {\r\n\t\tthis.updatesControl.push(\r\n\t\t\tnew FormControl({ value: value, disabled: this.data.viewOnly }, Validators.required)\r\n\t\t);\r\n\t}\r\n\tremoveUpdate(index: number) {\r\n\t\tthis.updatesControl.removeAt(index);\r\n\t}\r\n\r\n\tchangeExecutivePlan(data: ExecutivePlan[]) {\r\n\t\tthis.executivePlan = data;\r\n\t}\r\n\r\n\tsave() {\r\n\t\tif (this.form.invalid) return;\r\n\t\tthis.isLoadingResults = true;\r\n\r\n\t\tconst model: MasarFinalReportResponse = {\r\n\t\t\tresponse: {\r\n\t\t\t\tid: this.modelId,\r\n\t\t\t\tvisitKey: this.data.visitMetaData.visitKey,\r\n\t\t\t\trecommendationsSummaryId: this.data.summaryId,\r\n\t\t\t\t...this.form.value,\r\n\t\t\t},\r\n\t\t\tplans: this.executivePlan,\r\n\t\t};\r\n\r\n\t\tthis.masarCriterionsService\r\n\t\t\t.createResponsesWithExecutive(model)\r\n\t\t\t.pipe(finalize(() => (this.isLoadingResults = false)))\r\n\t\t\t.subscribe((data) => {\r\n\t\t\t\tthis.dialogRef.close(data.id);\r\n\t\t\t\tshowToast(\r\n\t\t\t\t\tthis.toastrService,\r\n\t\t\t\t\tthis.translateService.instant('forms.common.Criteria.Saved done'),\r\n\t\t\t\t\tthis.translateService.instant('forms.common.Criteria.Saved Successfully'),\r\n\t\t\t\t\tfalse\r\n\t\t\t\t);\r\n\t\t\t});\r\n\t}\r\n\tsaveLeaderDecision() {\r\n\t\tif (this.leaderDecisionform.invalid) return;\r\n\t\tthis.isLoadingResults = true;\r\n\r\n\t\tconst formModel = this.leaderDecisionform.value;\r\n\t\tconst model: Summary = {\r\n\t\t\t...this.data.summary,\r\n\t\t\t...formModel,\r\n\t\t\trejected: formModel.leaderDecision == 'accept' && this.responseDecisionValue == 'reject',\r\n\t\t};\r\n\r\n\t\tthis.masarCriterionsService\r\n\t\t\t.saveRecommendationsSummaries(model)\r\n\t\t\t.pipe(finalize(() => (this.isLoadingResults = false)))\r\n\t\t\t.subscribe((data) => {\r\n\t\t\t\tthis.dialogRef.close(this.modelId);\r\n\t\t\t\tshowToast(\r\n\t\t\t\t\tthis.toastrService,\r\n\t\t\t\t\tthis.translateService.instant('forms.common.Criteria.Saved done'),\r\n\t\t\t\t\tthis.translateService.instant('forms.common.Criteria.Saved Successfully'),\r\n\t\t\t\t\tfalse\r\n\t\t\t\t);\r\n\t\t\t});\r\n\t}\r\n\tcancel(): void {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\r\n\tprivate initForm() {\r\n\t\tthis.form = this.fb.group({\r\n\t\t\tresponseDecision: [{ value: '', disabled: this.data.viewOnly }, [Validators.required]],\r\n\t\t\treasons: [{ value: '', disabled: this.data.viewOnly }],\r\n\t\t\tupdates: this.fb.array([]),\r\n\t\t});\r\n\r\n\t\tthis.leaderDecisionform = this.fb.group({\r\n\t\t\tsummaryText: [\r\n\t\t\t\t{ value: this.data.summary.summaryText, disabled: this.disableLeaderDecision },\r\n\t\t\t\t[Validators.required],\r\n\t\t\t],\r\n\t\t\tleaderDecision: [{ value: '', disabled: this.disableLeaderDecision }, [Validators.required]],\r\n\t\t\tleaderRejectReason: [{ value: '', disabled: this.disableLeaderDecision }],\r\n\t\t});\r\n\t}\r\n\tprivate registerUpdateFormValidation() {\r\n\t\tthis.form.controls.responseDecision.valueChanges.subscribe((value) => {\r\n\t\t\tif (value != 'accept') {\r\n\t\t\t\tthis.reasonsControl.setValidators([Validators.required]);\r\n\t\t\t} else {\r\n\t\t\t\tthis.reasonsControl.reset();\r\n\t\t\t\tthis.reasonsControl.clearValidators();\r\n\t\t\t}\r\n\t\t\tthis.reasonsControl.updateValueAndValidity();\r\n\r\n\t\t\tif (value == 'accept_update') {\r\n\t\t\t\tif (!this.updatesControl.length) this.addUpdate();\r\n\t\t\t\tthis.updatesControl.setValidators([Validators.required]);\r\n\t\t\t} else {\r\n\t\t\t\tthis.updatesControl.clear();\r\n\t\t\t\tthis.updatesControl.clearValidators();\r\n\t\t\t}\r\n\t\t\tthis.updatesControl.updateValueAndValidity();\r\n\t\t});\r\n\r\n\t\tthis.leaderDecisionform.controls.leaderDecision.valueChanges.subscribe((value) => {\r\n\t\t\tif (value != 'accept') {\r\n\t\t\t\tthis.leaderRejectReason.setValidators([Validators.required]);\r\n\t\t\t} else {\r\n\t\t\t\tthis.leaderRejectReason.reset();\r\n\t\t\t\tthis.leaderRejectReason.clearValidators();\r\n\t\t\t}\r\n\t\t\tthis.leaderRejectReason.updateValueAndValidity();\r\n\t\t});\r\n\t}\r\n\r\n\tprivate getData() {\r\n\t\tif (!this.data.id) return;\r\n\t\tthis.isLoadingResults = true;\r\n\t\tthis.masarCriterionsService\r\n\t\t\t.getFinalReportResponses(this.data.id)\r\n\t\t\t.pipe(\r\n\t\t\t\ttakeUntil(this.destroy$),\r\n\t\t\t\tfinalize(() => (this.isLoadingResults = false))\r\n\t\t\t)\r\n\t\t\t.subscribe((data) => {\r\n\t\t\t\tthis.updateform(data);\r\n\t\t\t});\r\n\t}\r\n\tprivate updateform(data: FinalReportResponse) {\r\n\t\tthis.modelId = data.id;\r\n\t\tthis.recommendationId = data.recommendationsSummaryId;\r\n\t\tthis.orginalResponseDecisionValue = data.responseDecision;\r\n\t\tthis.form.patchValue({\r\n\t\t\tresponseDecision: data.responseDecision,\r\n\t\t\treasons: data.reasons,\r\n\t\t});\r\n\t\tthis.updatesControl.clear();\r\n\t\tdata.updates.forEach((value, index) => {\r\n\t\t\tthis.addUpdate(value);\r\n\t\t});\r\n\r\n\t\tthis.leaderDecisionform.patchValue({\r\n\t\t\tleaderDecision: this.data.summary.leaderDecision,\r\n\t\t\tleaderRejectReason: this.data.summary.leaderRejectReason,\r\n\t\t\tsummaryText: this.data.summary.summaryText,\r\n\t\t});\r\n\t}\r\n}\r\n","\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {{indicator.name}}\r\n
    \r\n
    \r\n
    \r\n
    %
    \r\n {{'forms.common.completionRate' | translate}}\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n \r\n\r\n \r\n {{'forms.common.indicatorShowSummary' | translate}}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ","import { AgmCoreModule } from '@agm/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { FullCalendarModule } from '@fullcalendar/angular'; // must go before plugins\r\n\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { AngularResizedEventModule } from 'angular-resize-event';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { CardModule } from 'primeng/card';\r\nimport { CarouselModule } from 'primeng/carousel';\r\nimport { ChartModule } from 'primeng/chart';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { EditorModule } from 'primeng/editor';\r\nimport { OrganizationChartModule } from 'primeng/organizationchart';\r\nimport { ProgressBarModule } from 'primeng/progressbar';\r\nimport { TableModule } from 'primeng/table';\r\nimport { AssessmentWrapperComponent } from './custom-component/components/assessment-wrapper/assessment-wrapper.component';\r\nimport { CategoryCardComponent } from './custom-component/components/assessment-wrapper/category-card/category-card.component';\r\nimport { AssessmentControlComponent } from './custom-component/components/assessment-wrapper/control/assessment-control.component';\r\nimport { OptionalInputsComponent } from './custom-component/components/assessment-wrapper/optional-inputs/optional-inputs.component';\r\nimport { QuestionCardComponent } from './custom-component/components/assessment-wrapper/question-card/question-card.component';\r\nimport { QuestionContentComponent } from './custom-component/components/assessment-wrapper/question-content/question-content.component';\r\nimport { AssessmentStatusComponent } from './custom-component/components/assessment-wrapper/status/assessment-status.component';\r\nimport { TooltipDialog } from './custom-component/components/assessment-wrapper/tooltip-dialog/tooltip-dialog.component';\r\nimport { TotalStatisticComponent } from './custom-component/components/assessment-wrapper/total-statistic/total-statistic.component';\r\nimport { CalenderWrapperComponent } from './custom-component/components/calendar-wrapper/calendar-wrapper.component';\r\nimport { ScheduleDialogComponent } from './custom-component/components/calendar-wrapper/schedule-dialog/schedule-dialog.component';\r\nimport { ChartsWrapperComponent } from './custom-component/components/charts-wrapper/charts-wrapper.component';\r\nimport { ClassificationIndicatorsWrapperComponent } from './custom-component/components/classification-indicators-wrapper/classification-indicators-wrapper.component';\r\nimport { ClassificationCommentsComponent } from './custom-component/components/classification-indicators-wrapper/comments/classification-comments.component';\r\nimport { ClassificationIndicatorComponent } from './custom-component/components/classification-indicators-wrapper/indicator/classification-indicator.component';\r\nimport { ClassificationIndicatorQuestionComponent } from './custom-component/components/classification-indicators-wrapper/question/classification-indicator-question.component';\r\nimport { ClassificationStatusComponent } from './custom-component/components/classification-indicators-wrapper/status/classification-indicator-status.component';\r\nimport { CommentsHistoryWrapperComponent } from './custom-component/components/comments-history-wrapper/comments-history-wrapper.component';\r\nimport { AddEditEditgridContent } from './custom-component/components/editgrid-resource-wrapper/add-edit-editgrid-content/add-edit-editgrid-content.component';\r\nimport { EditgridResourceWrapperComponent } from './custom-component/components/editgrid-resource-wrapper/editgrid-resource-wrapper.component';\r\nimport { EventTreeWrapperComponent } from './custom-component/components/event-tree-wrapper/event-tree-wrapper.component';\r\nimport { FormByKeyComponent } from './custom-component/components/form-key-wrapper/form-by-key/form-by-key.component';\r\nimport { FormKeyWrapperComponent } from './custom-component/components/form-key-wrapper/form-key-wrapper.component';\r\nimport { GroupedTableWrapperComponent } from './custom-component/components/grouped-table-wrapper/grouped-table-wrapper.component';\r\nimport { HijriDateComponent } from './custom-component/components/hijri-date-wrapper/hijri-date.component';\r\nimport { IndicatorComponent } from './custom-component/components/indicators-wrapper/indicator/indicator.component';\r\nimport { IndicatorsWrapperComponent } from './custom-component/components/indicators-wrapper/indicators-wrapper.component';\r\nimport { IndicatorQuestionComponent } from './custom-component/components/indicators-wrapper/question/indicator-question.component';\r\nimport { StatusComponent } from './custom-component/components/indicators-wrapper/status/indicator-status.component';\r\nimport { MapWrapperComponent } from './custom-component/components/map-wrapper/map-wrapper.component';\r\nimport { AddEditResourceDialog } from './custom-component/components/master-details-resource-wrapper/add-edit-dialog/add-edit-dialog.component';\r\nimport { MasterDetailsResourceWrapperComponent } from './custom-component/components/master-details-resource-wrapper/master-details-resource-wrapper.component';\r\nimport { PDFWrapperComponent } from './custom-component/components/pdf-wrapper/pdf-wrapper.component';\r\nimport { ProccessRequirmentsWrapperComponent } from './custom-component/components/proccess-requirments-wrapper/proccess-requirments-wrapper.component';\r\nimport { RatingWrapperComponent } from './custom-component/components/rating-wrapper/rating-wrapper.component';\r\nimport { RedirectionButtonWrapperComponent } from './custom-component/components/redirection-button-wrapper/redirection-button-wrapper.component';\r\nimport { ResourceDropdownWrapperComponent } from './custom-component/components/resource-dropdown-wrapper/resource-dropdown-wrapper.component';\r\nimport { StepperWrapperComponent } from './custom-component/components/stepper-wrapper/stepper-wrapper.component';\r\nimport { AddEditDialog } from './custom-component/components/table-tree-wrapper/add-edit-dialog/add-edit-dialog.component';\r\nimport { TableTreeWrapperComponent } from './custom-component/components/table-tree-wrapper/table-tree-wrapper.component';\r\nimport { TableViewWrapperComponent } from './custom-component/components/table-view-wrapper/table-view-wrapper.component';\r\nimport { EditTemplateDialog } from './custom-component/components/template-wrapper/edit-template-dialog/edit-template-dialog.component';\r\nimport { DocumentEditorSidebarComponent } from './custom-component/components/template-wrapper/template-process/document-editor-sidebar/document-editor-sidebar.component';\r\nimport { TemplateProcessComponent } from './custom-component/components/template-wrapper/template-process/template-process.component';\r\nimport { TemplateWrapperComponent } from './custom-component/components/template-wrapper/template-wrapper.component';\r\nimport { BottomSheetOverviewComponent } from './custom-component/dialogs/bottom-sheet-overview/bottom-sheet-overview.component';\r\nimport { ConfirmationDialogComponent } from './custom-component/dialogs/confirmation-dialog/confirmation-dialog.component';\r\nimport { ExtraFormDialog } from './custom-component/dialogs/extra-form-dialog/extra-form-dialog.component';\r\n\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { FormioModule, googleMapKey } from 'dp-formio';\r\nimport { CardWrapperComponent } from './custom-component/components/card-wrapper/card-wrapper.component';\r\nimport { UIChartComponent } from './custom-component/components/charts-wrapper/chart/chart.component';\r\nimport { CommentsHistoryDialogComponent } from './custom-component/components/comments-history-wrapper/comments-history-dialog/comments-history-dialog.component';\r\nimport { DistributeCommonQuestionsModule } from './custom-component/components/distribute-common-questions';\r\nimport { DistributeTeamMembersModule } from './custom-component/components/distribute-team-members/distribute-team-members.module';\r\nimport { DynamicChartWrapperComponent } from './custom-component/components/dynamic-chart-wrapper/dynamic-chart-wrapper.component';\r\nimport { AddEditEventItem } from './custom-component/components/event-tree-wrapper/add-edit-event-item/add-edit-event-item.component';\r\nimport { CopyDecisionComponent } from './custom-component/components/execute-visit-wrapper/copy-decision/copy-decision.component';\r\nimport { CriteriaDecisionComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/criterion-decision/criteria-decision/criteria-decision.component';\r\nimport { CriterionDecisionComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/criterion-decision/criterion-decision.component';\r\nimport { QuestionDecisionComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/criterion-decision/question-decision/question-decision.component';\r\nimport { CriteriaPreviewComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criteria-preview/criteria-preview.component';\r\nimport { OptionalInputsPreviewComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criteria-preview/optional-inputs-preview/optional-inputs-preview.component';\r\nimport { TotalStatisticPreviewComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criteria-preview/total-statistic-preview/total-statistic-preview.component';\r\nimport { CriterionPreviewComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/criterion-preview.component';\r\nimport { QuestionPreviewComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/criterion-preview/question-preview/question-preview.component';\r\nimport { CriterionsTreeComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/criterions-tree.component';\r\nimport { AddEditResponseComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/add-edit-response/add-edit-response.dialog';\r\nimport { AddEditSummaryComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/add-edit-summary/add-edit-summary.dialog';\r\nimport { DecisionSummaryComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/decision-summary.component';\r\nimport { SummaryFilterComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/summary-filter/summary-filter.component';\r\nimport { AddEditExecutivePlanComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/executive-plan/add-edit-executive-plan/add-edit-executive-plan.dialog';\r\nimport { ExecutivePlanComponent } from './custom-component/components/execute-visit-wrapper/criterions-tree/executive-plan/executive-plan.component';\r\nimport { ExecuteVisitWrapperComponent } from './custom-component/components/execute-visit-wrapper/execute-visit-wrapper.component';\r\nimport { MasarCriteriaDecisionComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-decision/criteria-decision/masar-criteria-decision.component';\r\nimport { MasarCriterionDecisionComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-decision/masar-criterion-decision.component';\r\nimport { MasarQuestionDecisionComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-decision/question-decision/masar-question-decision.component';\r\nimport { MasarCriteriaPreviewComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/criteria-preview/masar-criteria-preview.component';\r\nimport { MasarOptionalInputsPreviewComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/criteria-preview/optional-inputs-preview/masar-optional-inputs-preview.component';\r\nimport { MasarTotalStatisticPreviewComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/criteria-preview/total-statistic-preview/masar-total-statistic-preview.component';\r\nimport { MasarCriterionPreviewComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/masar-criterion-preview.component';\r\nimport { MasarQuestionPreviewComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/criterion-preview/question-preview/masar-question-preview.component';\r\nimport { MasarAddEditResponseComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/decision-summary/add-edit-response/masar-add-edit-response.dialog';\r\nimport { MasarDecisionSummaryComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/decision-summary/masar-decision-summary.component';\r\nimport { MasarAddEditExecutivePlanComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/executive-plan/add-edit-executive-plan/masar-add-edit-executive-plan.dialog';\r\nimport { MasarExecutivePlanComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/executive-plan/masar-executive-plan.component';\r\nimport { MasarCriterionsTreeComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/masar-criterions-tree.component';\r\nimport { MembersSelectorComponent } from './custom-component/components/execute-visit-wrapper/members-selector/members-selector.component';\r\nimport { DisplayOrderPatternPipe } from './custom-component/components/execute-visit-wrapper/pipes/display-order-pattern.pipe';\r\nimport { EvaluationScoreMessagePipe } from './custom-component/components/execute-visit-wrapper/pipes/evaluation-score-message.pipe';\r\nimport { HtmlEditorWrapperComponent } from './custom-component/components/html-editor-wrapper/html-editor-wrapper.component';\r\nimport { AddEditOrgItem } from './custom-component/components/org-wrapper/add-edit-org-item/add-edit-org-item.component';\r\nimport { OrgReviewerFilterComponent } from './custom-component/components/org-wrapper/org-reviewer-filter/org-reviewer-filter.component';\r\nimport { OrgWrapperComponent } from './custom-component/components/org-wrapper/org-wrapper.component';\r\nimport { RejectReasonOrgItem } from './custom-component/components/org-wrapper/reject-reason-org-item/reject-reason-org-item.component';\r\nimport { EvaluationDisplayPipe } from './custom-component/components/resource-autocomplete-wrapper/pipe/evaluation-display.pipe';\r\nimport { ResourceAutocompleteWrapperComponent } from './custom-component/components/resource-autocomplete-wrapper/resource-autocomplete-wrapper.component';\r\nimport { VisitScheduleComponent } from './custom-component/components/visit-schedule/visit-schedule.component';\r\nimport { FormioDialogComponent } from './custom-component/dialogs/index';\r\nimport { CustomDynamicComponentsModule } from './custom-dynamic-components.module';\r\nimport { MaterialModule } from './material.module';\r\nimport { FormIoSkeletonModule } from './shared/components';\r\nimport { CountUpDirective } from './shared/directives/count-up.directive';\r\nimport { DisplayExternalActionsDirective } from './shared/directives/display-external-actions.directive';\r\nimport { SafeHtmlPipe } from './shared/directives/safeHtml.directive';\r\nimport { SplitAreaDirective } from './shared/directives/split-area.directive';\r\nimport { SplitHandleDirective } from './shared/directives/split-handle.directive';\r\nimport { SplitDirective } from './shared/directives/split.directive';\r\n\r\nimport { CustomSelectModule } from 'src/formio-custom-components/src/lib/custom-component/components/custom-select';\r\nimport { AllowedSummaryTypeDirective } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/directive/allowed-summary-type.directive';\r\nimport { AddEditMistakeComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/mistake-list/add-edit-mistake/add-edit-mistake.dialog';\r\nimport { MasarMistakeListComponent } from './custom-component/components/execute-visit-wrapper/masar-criterions-tree/mistake-list/masar-mistake-list.component';\r\nimport { NumberCounterWrapperComponent } from './custom-component/components/number-counter-wrapper/number-counter-wrapper.component';\r\nimport { ViewFormDialog } from './custom-component/components/org-wrapper/view-form/view-form.component';\r\nimport { CssClassDisplayPipe } from './custom-component/components/resource-autocomplete-wrapper/pipe/css-class-display.pipe';\r\nimport { CalculatedRatioPipe } from './shared/pipes/calculated-ratio';\r\nimport { CalculatedRowRatioPipe } from './shared/pipes/calculated-row-ratio';\r\nimport { CalculatedRowTotalPipe } from './shared/pipes/calculated-row-total';\r\nimport { CalculatedTotalPipe } from './shared/pipes/calculated-total';\r\nimport { DisplayTimePipe } from './shared/pipes/display-time';\r\nimport { SafeUrlPipe } from './shared/pipes/safeURL.pipes';\r\nimport { DateToTimeAgoPipe } from './shared/pipes/time-ago.pipe';\r\nimport { ReviewingEvaluationWrapperComponent } from './custom-component/components/reviewing-evaluation-wrapper/reviewing-evaluation-wrapper.component';\r\nimport { SortPipe } from './shared/pipes/sort.pipe';\r\nimport { CriterionEvaluationComponent } from './custom-component/components/reviewing-evaluation-wrapper/criterion-evaluation/criterion-evaluation.component';\r\nimport { GeneralReportComponent } from './custom-component/components/reviewing-evaluation-wrapper/general-report/general-report.component';\r\n\r\nexport const agmCoreModule = AgmCoreModule.forRoot({\r\n apiKey: googleMapKey,\r\n libraries: ['places'],\r\n});\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tSplitHandleDirective,\r\n\t\tSplitAreaDirective,\r\n\t\tSplitDirective,\r\n\t\tCountUpDirective,\r\n\t\tDisplayExternalActionsDirective,\r\n\t\tAllowedSummaryTypeDirective,\r\n\r\n\t\tSafeHtmlPipe,\r\n\t\tSafeUrlPipe,\r\n\t\tCalculatedTotalPipe,\r\n\t\tCalculatedRowTotalPipe,\r\n\t\tCalculatedRatioPipe,\r\n\t\tCalculatedRowRatioPipe,\r\n\t\tDateToTimeAgoPipe,\r\n\t\tDisplayTimePipe,\r\n\t\tEvaluationScoreMessagePipe,\r\n\t\tEvaluationDisplayPipe,\r\n\t\tCssClassDisplayPipe,\r\n\t\tDisplayOrderPatternPipe,\r\n\t\tSortPipe,\r\n\r\n\t\tTableTreeWrapperComponent,\r\n\t\tMasterDetailsResourceWrapperComponent,\r\n\t\tAddEditDialog,\r\n\t\tAddEditResourceDialog,\r\n\t\tAssessmentWrapperComponent,\r\n\t\tAssessmentControlComponent,\r\n\t\tCategoryCardComponent,\r\n\t\tQuestionCardComponent,\r\n\t\tQuestionContentComponent,\r\n\t\tAssessmentStatusComponent,\r\n\t\tOptionalInputsComponent,\r\n\t\tTotalStatisticComponent,\r\n\t\tTooltipDialog,\r\n\t\tTemplateWrapperComponent,\r\n\t\tEditTemplateDialog,\r\n\t\tTemplateProcessComponent,\r\n\t\tDocumentEditorSidebarComponent,\r\n\t\tProccessRequirmentsWrapperComponent,\r\n\t\tReviewingEvaluationWrapperComponent,\r\n\t\tCriterionEvaluationComponent,\r\n\t\tGeneralReportComponent,\r\n\t\tFormKeyWrapperComponent,\r\n\t\tEditgridResourceWrapperComponent,\r\n\t\tAddEditEditgridContent,\r\n\t\tGroupedTableWrapperComponent,\r\n\t\tFormByKeyComponent,\r\n\t\tHijriDateComponent,\r\n\t\tClassificationIndicatorsWrapperComponent,\r\n\t\tClassificationStatusComponent,\r\n\t\tClassificationIndicatorQuestionComponent,\r\n\t\tClassificationIndicatorComponent,\r\n\t\tClassificationCommentsComponent,\r\n\t\tIndicatorsWrapperComponent,\r\n\t\tIndicatorComponent,\r\n\t\tIndicatorQuestionComponent,\r\n\t\tStatusComponent,\r\n\t\tMapWrapperComponent,\r\n\t\tExtraFormDialog,\r\n\t\tStepperWrapperComponent,\r\n\t\tRedirectionButtonWrapperComponent,\r\n\t\tTableViewWrapperComponent,\r\n\t\tPDFWrapperComponent,\r\n\t\tRatingWrapperComponent,\r\n\t\tCommentsHistoryWrapperComponent,\r\n\t\tCommentsHistoryDialogComponent,\r\n\t\tChartsWrapperComponent,\r\n\t\tConfirmationDialogComponent,\r\n\t\tBottomSheetOverviewComponent,\r\n\t\tResourceDropdownWrapperComponent,\r\n\t\tResourceAutocompleteWrapperComponent,\r\n\t\tEventTreeWrapperComponent,\r\n\t\tOrgWrapperComponent,\r\n\t\tCalenderWrapperComponent,\r\n\t\tScheduleDialogComponent,\r\n\t\tAddEditEventItem,\r\n\t\tAddEditOrgItem,\r\n\t\tViewFormDialog,\r\n\t\tOrgReviewerFilterComponent,\r\n\t\tRejectReasonOrgItem,\r\n\t\tHtmlEditorWrapperComponent,\r\n\t\tNumberCounterWrapperComponent,\r\n\t\tExecuteVisitWrapperComponent,\r\n\t\tCriterionsTreeComponent,\r\n\t\tMasarCriterionsTreeComponent,\r\n\t\tCriterionDecisionComponent,\r\n\t\tMasarCriterionDecisionComponent,\r\n\t\tCriterionPreviewComponent,\r\n\t\tMasarCriterionPreviewComponent,\r\n\t\tQuestionPreviewComponent,\r\n\t\tMasarQuestionPreviewComponent,\r\n\t\tCriteriaPreviewComponent,\r\n\t\tMasarCriteriaPreviewComponent,\r\n\t\tQuestionDecisionComponent,\r\n\t\tMasarQuestionDecisionComponent,\r\n\t\tCriteriaDecisionComponent,\r\n\t\tMasarCriteriaDecisionComponent,\r\n\t\tTotalStatisticPreviewComponent,\r\n\t\tMasarTotalStatisticPreviewComponent,\r\n\t\tOptionalInputsPreviewComponent,\r\n\t\tMasarOptionalInputsPreviewComponent,\r\n\t\tMembersSelectorComponent,\r\n\t\tCopyDecisionComponent,\r\n\t\tDecisionSummaryComponent,\r\n\t\tMasarDecisionSummaryComponent,\r\n\t\tAddEditSummaryComponent,\r\n\t\tSummaryFilterComponent,\r\n\t\tExecutivePlanComponent,\r\n\t\tMasarExecutivePlanComponent,\r\n\t\tMasarMistakeListComponent,\r\n\t\tAddEditExecutivePlanComponent,\r\n\t\tMasarAddEditExecutivePlanComponent,\r\n\t\tAddEditMistakeComponent,\r\n\t\tAddEditResponseComponent,\r\n\t\tMasarAddEditResponseComponent,\r\n\t\tEvaluationScoreMessagePipe,\r\n\t\tDisplayOrderPatternPipe,\r\n\t\tVisitScheduleComponent,\r\n\t\tCardWrapperComponent,\r\n\t\tDynamicChartWrapperComponent,\r\n\t\tFormioDialogComponent,\r\n\t\tUIChartComponent,\r\n\t],\r\n\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tFormioModule,\r\n\t\tMaterialModule,\r\n\t\tReactiveFormsModule,\r\n\t\tFlexLayoutModule,\r\n\t\tTranslateModule,\r\n\t\tFormsModule,\r\n\t\tButtonModule,\r\n\t\tNgbModule,\r\n\t\tNgSelectModule,\r\n\t\tTableModule,\r\n\t\tEditorModule,\r\n\t\tClipboardModule,\r\n\t\tagmCoreModule,\r\n\t\tChartModule,\r\n\t\tDialogModule,\r\n\t\tCarouselModule,\r\n\t\tTooltipModule,\r\n\t\tProgressBarModule,\r\n\t\tAngularResizedEventModule,\r\n\t\tCardModule,\r\n\t\tInfiniteScrollModule,\r\n\t\tFullCalendarModule,\r\n\t\tOrganizationChartModule,\r\n\t\tDistributeTeamMembersModule,\r\n\t\tCustomDynamicComponentsModule,\r\n\t\tDistributeCommonQuestionsModule,\r\n\t\tFormIoSkeletonModule,\r\n\t\tCustomSelectModule,\r\n\t],\r\n\tproviders: [],\r\n\tentryComponents: [\r\n\t\tTableTreeWrapperComponent,\r\n\t\tMasterDetailsResourceWrapperComponent,\r\n\t\tAddEditResourceDialog,\r\n\t\tAssessmentWrapperComponent,\r\n\t\tAssessmentControlComponent,\r\n\t\tOptionalInputsComponent,\r\n\t\tTotalStatisticComponent,\r\n\t\tTooltipDialog,\r\n\t\tEditTemplateDialog,\r\n\t\tTemplateWrapperComponent,\r\n\t\tTemplateProcessComponent,\r\n\t\tProccessRequirmentsWrapperComponent,\r\n\t\tReviewingEvaluationWrapperComponent,\r\n\t\tCriterionEvaluationComponent,\r\n\t\tGeneralReportComponent,\r\n\t\tFormKeyWrapperComponent,\r\n\t\tEditgridResourceWrapperComponent,\r\n\t\tGroupedTableWrapperComponent,\r\n\t\tHijriDateComponent,\r\n\t\tClassificationIndicatorsWrapperComponent,\r\n\t\tClassificationIndicatorComponent,\r\n\t\tIndicatorsWrapperComponent,\r\n\t\tMapWrapperComponent,\r\n\t\tExtraFormDialog,\r\n\t\tIndicatorComponent,\r\n\t\tAddEditEditgridContent,\r\n\t\tAddEditDialog,\r\n\t\tStepperWrapperComponent,\r\n\t\tRedirectionButtonWrapperComponent,\r\n\t\tTableViewWrapperComponent,\r\n\t\tPDFWrapperComponent,\r\n\t\tRatingWrapperComponent,\r\n\t\tCommentsHistoryWrapperComponent,\r\n\t\tCommentsHistoryDialogComponent,\r\n\t\tChartsWrapperComponent,\r\n\t\tConfirmationDialogComponent,\r\n\t\tBottomSheetOverviewComponent,\r\n\t\tResourceDropdownWrapperComponent,\r\n\t\tResourceAutocompleteWrapperComponent,\r\n\t\tEventTreeWrapperComponent,\r\n\t\tOrgWrapperComponent,\r\n\t\tCalenderWrapperComponent,\r\n\t\tScheduleDialogComponent,\r\n\t\tAddEditEventItem,\r\n\t\tAddEditOrgItem,\r\n\t\tViewFormDialog,\r\n\t\tRejectReasonOrgItem,\r\n\t\tHtmlEditorWrapperComponent,\r\n\t\tNumberCounterWrapperComponent,\r\n\t\tExecuteVisitWrapperComponent,\r\n\t\tVisitScheduleComponent,\r\n\t\tCardWrapperComponent,\r\n\t\tDynamicChartWrapperComponent,\r\n\t\tAddEditSummaryComponent,\r\n\t\tAddEditExecutivePlanComponent,\r\n\t\tMasarAddEditExecutivePlanComponent,\r\n\t\tAddEditMistakeComponent,\r\n\t\tAddEditResponseComponent,\r\n\t\tMasarAddEditResponseComponent,\r\n\t\tFormioDialogComponent,\r\n\t\tUIChartComponent,\r\n\t],\r\n\texports: [\r\n\t\t// FormioModule,\r\n\t\tAddEditDialog,\r\n\t\tAddEditResourceDialog,\r\n\t\tTooltipDialog,\r\n\t\tConfirmationDialogComponent,\r\n\t\tBottomSheetOverviewComponent,\r\n\t\tResourceDropdownWrapperComponent,\r\n\t\tResourceAutocompleteWrapperComponent,\r\n\t\tEventTreeWrapperComponent,\r\n\t\tOrgWrapperComponent,\r\n\t\tCalenderWrapperComponent,\r\n\t\tNgbModule,\r\n\t\tButtonModule,\r\n\t\tCardModule,\r\n\t\tNgSelectModule,\r\n\t\tExecuteVisitWrapperComponent,\r\n\t\tVisitScheduleComponent,\r\n\t\tCardWrapperComponent,\r\n\t\tDynamicChartWrapperComponent,\r\n\t\tAddEditSummaryComponent,\r\n\t\tAddEditExecutivePlanComponent,\r\n\t\tMasarAddEditExecutivePlanComponent,\r\n\t\tAddEditMistakeComponent,\r\n\t\tAddEditResponseComponent,\r\n\t\tMasarAddEditResponseComponent,\r\n\t\tEvaluationDisplayPipe,\r\n\t\tCssClassDisplayPipe,\r\n\t\tSortPipe,\r\n\t\tCustomDynamicComponentsModule,\r\n\t\tDistributeCommonQuestionsModule,\r\n\t],\r\n})\r\nexport class FormioCustomComponentModule {\r\n\t// static forRoot(): ModuleWithProviders {\r\n\t// \treturn {\r\n\t// \t\tngModule: FormioCustomComponentModule,\r\n\t// \t\tproviders: [CustomTagsService]\r\n\t// \t};\r\n\t// }\r\n}\r\n","
    \r\n
    \r\n
    \r\n remove\r\n
    \r\n\r\n \r\n\r\n
    \r\n add\r\n
    \r\n
    \r\n
    ","\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Component, Inject, OnDestroy, QueryList, ViewChildren, ViewEncapsulation } from \"@angular/core\";\r\nimport { Evaluator } from 'formiojs/utils/utils';\r\nimport { SortHelper } from '../../../helpers/sort.helper';\r\nimport { IndicatorDomain, IndicatorQuestions, IndicatorStatus } from '../models/indicator.model';\r\nimport { map, Subscription, switchMap } from 'rxjs';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { FormioLoader, ResourceNameService } from 'dp-formio';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-indicator',\r\n templateUrl: './indicator.component.html',\r\n // styleUrls: ['./indicator.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n // providers: [FormioLoader]\r\n})\r\nexport class IndicatorComponent implements OnDestroy {\r\n @ViewChildren('forms') forms: QueryList;\r\n\r\n domainQuery = '';\r\n questionQuery = '';\r\n indicatorStatus = IndicatorStatus;\r\n isSummary = false;\r\n ready = false;\r\n\r\n domainsDecisions = [];\r\n orginalDomains = [];\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private formioLoader: FormioLoader,\r\n private resourceNameService: ResourceNameService) {\r\n this.domainQuery = Evaluator.interpolate(this.data.customOptions.domainQuery, { data: this.data.submission, indicator: this.data.indicator });\r\n this.getIndicatorDomains();\r\n this.isSummary = this.data.isSummary;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n close(): void {\r\n // this.dialogRef.close();\r\n this.data.indicator.domains.forEach(domain => {\r\n domain.attachmentsInstance = _cloneDeep(domain.attachments);\r\n });\r\n this.orginalDomains.forEach((domain, index) => {\r\n const item = this.data.indicator.domains.find(q => q.id == domain.id);\r\n if (item) this.orginalDomains[index] = { ...item };\r\n })\r\n this.data.indicator.domains = this.orginalDomains;\r\n this.dialogRef.close(this.data.indicator);\r\n }\r\n\r\n async save(domainIndex: number, expansion: any): Promise {\r\n this.data.indicator.domains[domainIndex].decision = this.domainsDecisions[domainIndex];\r\n const someNotComplete = this.data.indicator.domains.some(q => q.decision == IndicatorStatus.NotComplete);\r\n if (someNotComplete) {\r\n this.data.indicator.status = IndicatorStatus.NotComplete;\r\n } else {\r\n const someNotComplete = this.data.indicator.domains.every(q => q.decision == IndicatorStatus.Completed);\r\n if (someNotComplete) this.data.indicator.status = IndicatorStatus.Completed;\r\n }\r\n\r\n this.data.indicator.domains[domainIndex].attachments = this.forms\r\n .find(form => form.id == this.data.indicator.domains[domainIndex].id)\r\n .formio.data.attachments;\r\n\r\n this.formioLoader.loading = true;\r\n await this.updateIndicator();\r\n await this.updateDomain(this.data.indicator.domains[domainIndex]);\r\n this.formioLoader.loading = false;\r\n expansion.expanded = false;\r\n }\r\n\r\n formLoad(formSettings) {\r\n setTimeout(() => {\r\n const array = $('.indicator [name=\"data[submit]\"]');\r\n for (let index = 0; index < array.length; index++) {\r\n $(array[index]).hide();\r\n }\r\n }, 250)\r\n }\r\n\r\n updateDomains(isAll = false) {\r\n if (!isAll) {\r\n this.data.indicator.domains = this.data.indicator.domains.filter(q => q.decision != IndicatorStatus.Completed);\r\n }\r\n this.data.isSummary = false;\r\n }\r\n\r\n private getIndicatorDomains() {\r\n if (this.data.indicator.isCached) {\r\n this.fillDomainsDecisions();\r\n this.formioLoader.loading = false;\r\n this.ready = true;\r\n this.orginalDomains = _cloneDeep(this.data.indicator.domains);\r\n return;\r\n }\r\n\r\n this.formioLoader.loading = true;\r\n this.sub = this.resourceNameService.loadCustomByFilterdKey(this.data.customOptions.domainResource, this.domainQuery)\r\n .pipe(\r\n map((data: any[]) => {\r\n return SortHelper.recursiveSort(data, 'asc').map(q => {\r\n const item = new IndicatorDomain(q._id, q.data.key, q.data.domainNumber, q.data.descriptionValue, q.data.order);\r\n return item;\r\n })\r\n }),\r\n switchMap(data => {\r\n this.data.indicator.domains = data;\r\n this.questionQuery = Evaluator.interpolate(this.data.customOptions.questionQuery, { data: this.data.submission, indicator: this.data.indicator });\r\n return this.resourceNameService.loadCustomByFilterdKey(this.data.customOptions.questionResource, this.questionQuery)\r\n }),\r\n map((data: any[]) => {\r\n return SortHelper.recursiveSort(data, 'asc').map(q => {\r\n const item = new IndicatorQuestions(q._id, q.data.order, q.data.descriptionValue, q.data.key, q.data.indicatorDomainKey);\r\n item.answer = 0;\r\n return item;\r\n })\r\n }))\r\n .subscribe(data => {\r\n this.data.indicator.domains.forEach(domain => {\r\n domain.questions = data.filter(q => q.domainKey == domain.key);\r\n });\r\n\r\n const domainsId = this.data.indicator.domains.map(q => q.id).join();\r\n const query = `data.requestId=${this.data.indicator.requestId}&data.indicatorId=${this.data.indicator.id}&data.domainId__in=${domainsId}`;\r\n this.sub = this.resourceNameService.loadCustomByFilterdKey(this.data.customOptions.domainResult, query)\r\n .subscribe(domains => {\r\n this.mapDomains(this.data.indicator.domains, domains);\r\n this.fillDomainsDecisions();\r\n this.data.indicator.isCached = true;\r\n this.orginalDomains = _cloneDeep(this.data.indicator.domains);\r\n this.formioLoader.loading = false;\r\n this.ready = true;\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n });\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n });\r\n }\r\n\r\n private fillDomainsDecisions() {\r\n this.data.indicator.domains.forEach(domain => {\r\n this.domainsDecisions.push(domain.decision);\r\n });\r\n }\r\n\r\n private mapDomains(domains, dataResult) {\r\n domains.forEach(q => {\r\n const index = dataResult.findIndex(d => d.data.domainId == q.id);\r\n if (index >= 0) {\r\n q.resultSubmissionId = dataResult[index]._id;\r\n q.decision = dataResult[index].data.decision;\r\n q.notes = dataResult[index].data.notes;\r\n q.recommendations = dataResult[index].data.recommendations;\r\n q.attachments = _cloneDeep(dataResult[index].data.attachments || []);\r\n q.attachmentsInstance = _cloneDeep(dataResult[index].data.attachments || []);\r\n q.questions.forEach(question => {\r\n const questIndex = dataResult[index].data.questions.findIndex(q => q.id == question.id);\r\n if (questIndex >= 0) question.answer = dataResult[index].data.questions[questIndex].answer;\r\n });\r\n }\r\n });\r\n }\r\n\r\n private async updateIndicator() {\r\n const model = {\r\n submissionId: this.data.indicator.submissionId,\r\n requestId: this.data.indicator.requestId,\r\n indicatorId: this.data.indicator.id,\r\n status: this.data.indicator.status,\r\n };\r\n this.data.indicator.resultSubmissionId = await this.addOrEdit(this.data.indicator.resultSubmissionId,\r\n model,\r\n this.data.customOptions.indicatorResult);\r\n }\r\n private async updateDomain(domain: IndicatorDomain) {\r\n const model = {\r\n submissionId: this.data.indicator.submissionId,\r\n requestId: this.data.indicator.requestId,\r\n indicatorId: this.data.indicator.id,\r\n domainId: domain.id,\r\n decision: domain.decision,\r\n notes: domain.notes,\r\n recommendations: domain.recommendations,\r\n attachments: domain.attachments,\r\n questions: domain.questions.map(q => {\r\n return {\r\n id: q.id,\r\n answer: q.answer\r\n };\r\n })\r\n };\r\n domain.resultSubmissionId = await this.addOrEdit(domain.resultSubmissionId,\r\n model,\r\n this.data.customOptions.domainResult);\r\n }\r\n\r\n private addOrEdit(submissionId: string, obj, resource: string): Promise {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n if (submissionId) {\r\n const result = await this.resourceNameService.editSubmission(resource, submissionId, { data: obj }).toPromise();\r\n resolve(submissionId);\r\n }\r\n else {\r\n const result = await this.resourceNameService.addSubmission(resource, { data: obj }).toPromise();\r\n resolve(result._id);\r\n }\r\n } catch (e) {\r\n this.formioLoader.loading = false;\r\n reject(e);\r\n }\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { KeycloakService, KeycloakAuthGuard } from 'keycloak-angular';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class AuthGuard extends KeycloakAuthGuard {\r\n constructor(protected router: Router,\r\n protected keycloakAngular: KeycloakService) {\r\n super(router, keycloakAngular);\r\n }\r\n\r\n isAccessAllowed(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (!this.authenticated) {\r\n if (route.routeConfig.path.includes('403')) {\r\n this.router.navigate(['/']);\r\n\r\n } else {\r\n localStorage.setItem('needLogin', 'true');\r\n this.keycloakAngular.login();\r\n }\r\n return;\r\n }\r\n\r\n const requiredRoles = route.data.roles;\r\n if (!requiredRoles || requiredRoles.length === 0) {\r\n return resolve(true);\r\n } else {\r\n if (!this.roles || this.roles.length === 0) {\r\n resolve(false);\r\n }\r\n let granted: boolean = false;\r\n for (const requiredRole of requiredRoles) {\r\n if (this.roles.indexOf(requiredRole) > -1 || this.roles.some(q=> q.includes(environment.roles.admin))) {\r\n granted = true;\r\n break;\r\n }\r\n }\r\n if (granted) {\r\n resolve(granted);\r\n\r\n } else {\r\n if (['/403'].indexOf(this.router.url) === -1) localStorage.setItem('_previousUrl', this.router.url);\r\n this.router.navigate(['/errors/403']);\r\n }\r\n }\r\n });\r\n }\r\n}","\r\n\r\n\t\r\n\t\t

    \r\n\r\n\t\t\r\n\t\t\t{{ item | getValue : bindLabel : 'name' }}\r\n\t\t\r\n\t
    \r\n\r\n\t\r\n\t\t

    \r\n\r\n\t\t\r\n\t\t\t{{ item | getValue : bindGroup : 'name' }}\r\n\t\t\r\n\t\r\n\t\r\n\t\t

    \r\n\r\n\t\t\r\n\t\t\t{{ item | getValue : bindLabel : 'name' }}\r\n\t\t\r\n\t\r\n\r\n","import { DatePipe } from '@angular/common';\r\nimport { Component, Inject, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { CriterionsService } from '../../../services/criterions.service';\r\nimport { CustomEditGridComponent, FormioComponent } from 'dp-formio';\r\n\r\n@Component({\r\n selector: 'app-masar-add-edit-executive-plan',\r\n templateUrl: './masar-add-edit-executive-plan.dialog.html',\r\n styleUrls: ['./masar-add-edit-executive-plan.dialog.scss']\r\n})\r\nexport class MasarAddEditExecutivePlanComponent extends BaseComponent {\r\n @ViewChild(FormioComponent) formioComponent: FormioComponent;\r\n attachmentFormKey = this.criterionsService.forms.attachmentsFormKey;\r\n form: FormGroup;\r\n attachments: any[] = [];\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private fb: FormBuilder,\r\n private datePipe: DatePipe,\r\n private criterionsService: CriterionsService\r\n ) {\r\n super();\r\n this.initForm();\r\n }\r\n\r\n save() {\r\n const data = this.form.value;\r\n data.recommendationId = this.data.recommendationId;\r\n data.endDate = this.datePipe.transform(new Date(data.endDate), 'yyyy-MM-dd');\r\n data.evidences = this.attachments?.map(item => { return { files: item.file, fileName: item.fileName }; });\r\n this.dialogRef.close(data);\r\n }\r\n\r\n cancel(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n registerFormioEvent(formSettings: any) {\r\n this.formioComponent.formio.events.on('formio.change', (event) => {\r\n if (event.changed?.instance instanceof CustomEditGridComponent) {\r\n this.attachments = event.data.attachments;\r\n }\r\n });\r\n }\r\n\r\n private initForm() {\r\n this.attachments = this.data.model?.evidences?.map(item => { return { file: item.files, fileName: item.fileName }; }) || [];\r\n this.form = this.fb.group({\r\n id: [this.data.model.id || null],\r\n clause: [{ value: this.data.model.clause || '', disabled: this.data.viewOnly }, [Validators.required]],\r\n responsibleName: [{ value: this.data.model.responsibleName || '', disabled: this.data.viewOnly }, [Validators.required]],\r\n requiredResources: [{ value: this.data.model.requiredResources || '', disabled: this.data.viewOnly }, [Validators.required]],\r\n endDate: [{ value: this.data.model.endDate || '', disabled: this.data.viewOnly }, [Validators.required]],\r\n expectedOutputs: [{ value: this.data.model.expectedOutputs || '', disabled: this.data.viewOnly }, [Validators.required]],\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TitleService {\r\n\tpageTitle = new BehaviorSubject('');\r\n\r\n\tconstructor(private title: Title, private translate: TranslateService) {\r\n\t\tthis.translate.onLangChange.subscribe(() => this.setTitle());\r\n\t\tthis.pageTitle.subscribe(() => this.setTitle());\r\n\t}\r\n\r\n\tsetTitle(): void {\r\n\t\tconst translatedTitle = this.translate.instant(this.pageTitle.value);\r\n\t\tconst pageTitle = this.translate.instant('PAGE_TITLE.HOME');\r\n\t\tconst updatedTitle = `${pageTitle} - ${translatedTitle}`;\r\n\t\tthis.title.setTitle(updatedTitle);\r\n\t\tif ((document as any).eventListeners('titleChanged')[0])\r\n\t\t\t(document as any).eventListeners('titleChanged')[0](updatedTitle);\r\n\t}\r\n\r\n\tgetTitle(): string {\r\n\t\treturn this.title.getTitle();\r\n\t}\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Injector,\r\n Input,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { VisitInfoModel } from 'src/formio-custom-components/src/lib/shared/model';\r\nimport { ComponentBase } from '../../base';\r\nimport { CommonQuestionModel } from '../../models';\r\n\r\n@Component({\r\n selector: 'app-questions-list',\r\n templateUrl: './questions-list.component.html',\r\n styleUrls: ['./questions-list.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class QuestionsListComponent extends ComponentBase {\r\n _visitInfo: VisitInfoModel;\r\n\r\n questions$ = this.questionsStore.questionsStore$;\r\n\r\n @Output() edit = new EventEmitter();\r\n @Output() delete = new EventEmitter();\r\n @Output() open = new EventEmitter();\r\n\r\n @Input() set visitInfo(val: VisitInfoModel) {\r\n this._visitInfo = val;\r\n if (val?.key) {\r\n this.questionsStore.initStore(val?.key);\r\n }\r\n }\r\n\r\n /**\r\n *\r\n */\r\n constructor(public injector: Injector) {\r\n super(injector);\r\n }\r\n\r\n trackByFn(index: number, item: CommonQuestionModel) {\r\n return item?.id;\r\n }\r\n\r\n editQuestion(question: CommonQuestionModel, event: Event) {\r\n event.stopPropagation();\r\n this.edit.emit(question);\r\n }\r\n\r\n deleteQuestion(question: CommonQuestionModel, event: Event) {\r\n event.stopPropagation();\r\n this.delete.emit(question);\r\n }\r\n\r\n openQuestion(question: CommonQuestionModel) {\r\n this.open.emit(question);\r\n }\r\n}\r\n","import { Injector, ViewEncapsulation } from '@angular/core';\r\nimport { Component, OnInit, Input } from '@angular/core';\r\nimport { BaseComponent } from '../base.component';\r\n\r\n@Component({\r\n selector: 'app-section',\r\n templateUrl: './section.component.html',\r\n // styleUrls: ['./section.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SectionComponent extends BaseComponent implements OnInit {\r\n\r\n @Input() sectionTitle;\r\n @Input() sectionCard = true;\r\n @Input() showContainer = true;\r\n @Input() hasPadding = true;\r\n @Input() TypeB = false;\r\n @Input() NoBack = false;\r\n @Input() titleClass = \"sub-main-title\";\r\n\r\n constructor(public injector: Injector) { super(injector); }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, Injector, ViewEncapsulation } from '@angular/core';\r\nimport { BaseComponent } from '../base.component';\r\n\r\n@Component({\r\n selector: 'app-not-allowed',\r\n templateUrl: './not-allowed.component.html',\r\n // styleUrls: ['./not-allowed.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class NotAllowedComponent extends BaseComponent {\r\n userDetails;\r\n isFromDashboard = false;\r\n\r\n constructor(public injector: Injector) { super(injector); }\r\n\r\n ngOnInit(): void {\r\n const url = localStorage.getItem('_previousUrl');\r\n this.isFromDashboard = ['/', '/service-catalog'].includes(url);\r\n }\r\n\r\n goBack(): void {\r\n this.location.back();\r\n }\r\n\r\n logout() {\r\n localStorage.removeItem('_previousUrl');\r\n this.keycloakService.logout(location.origin);\r\n }\r\n}\r\n","import { Utils } from 'formiojs';\r\nimport { MapsAPILoader } from '@agm/core';\r\nimport {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n NgZone,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { GeoLocationService } from './geo-location.service';\r\nimport { FormioLoader, FormioCustomComponent, ResourceNameService } from 'dp-formio';\r\n\r\n@Component({\r\n selector: 'app-map-wrapper',\r\n templateUrl: './map-wrapper.component.html',\r\n // styleUrls: ['./map-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader]\r\n})\r\nexport class MapWrapperComponent implements FormioCustomComponent, OnInit, OnDestroy, OnChanges {\r\n dir: 'rtl' | 'ltr';\r\n @Input() required: boolean;\r\n @Input() value: any = {};\r\n @Output() valueChange = new EventEmitter();\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n @Input() data: any;\r\n @Input() customOptions: any;\r\n @Input() formioComponent: any;\r\n @ViewChild('search')\r\n public searchElementRef: ElementRef;\r\n focusLocation: { lat: number, long: number } = { lat: 0, long: 0 };\r\n selectedLocation: { lat: number, long: number } = { lat: 0, long: 0 };\r\n zoom: number;\r\n iconUrl: any;\r\n map: any;\r\n mapClickListener: any;\r\n private subscription: Subscription;\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) {\r\n this.subs.push(s);\r\n }\r\n\r\n constructor(private translateService: TranslateService,\r\n private resourceNameService: ResourceNameService,\r\n private formioLoader: FormioLoader,\r\n private geoLocationService: GeoLocationService,\r\n private mapsAPILoader: MapsAPILoader,\r\n private cdr: ChangeDetectorRef,\r\n private zone: NgZone) {\r\n this.changeDirection(this.translateService.currentLang);\r\n this.sub = this.translateService.onLangChange.subscribe(data => {\r\n this.changeDirection(data.lang);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.mapsAPILoader.load().then(() => {\r\n if (!this.searchElementRef) return;\r\n let autocomplete = new google.maps.places.Autocomplete(this.searchElementRef.nativeElement);\r\n autocomplete.addListener(\"place_changed\", () => {\r\n this.zone.run(() => {\r\n let place: google.maps.places.PlaceResult = autocomplete.getPlace();\r\n if (place.geometry === undefined || place.geometry === null) {\r\n return;\r\n }\r\n this.focusLocation = { lat: place.geometry.location.lat(), long: place.geometry.location.lng() };\r\n this.selectedLocation = { lat: place.geometry.location.lat(), long: place.geometry.location.lng() };\r\n this.notifyValue();\r\n });\r\n });\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.customOptions) {\r\n if (this.customOptions.focusLocation) {\r\n this.focusLocation = this.value || this.customOptions.focusLocation;\r\n this.selectedLocation = this.value || this.customOptions.focusLocation;\r\n } else {\r\n this.getCurrentLocation();\r\n }\r\n this.zoom = this.customOptions.zoom || 10;\r\n this.iconUrl = this.customOptions.iconUrl;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n\r\n if (this.mapClickListener) {\r\n this.mapClickListener.remove();\r\n }\r\n }\r\n\r\n public mapReadyHandler(map: google.maps.Map): void {\r\n this.map = map;\r\n this.map.zoomControl = this.customOptions && this.customOptions.zoomControl;\r\n if (!this.viewOnly) this.buildCurrentLocationControl();\r\n\r\n this.mapClickListener = this.map.addListener('click', (e: google.maps.MouseEvent) => {\r\n this.zone.run(() => {\r\n if (this.viewOnly || !this.customOptions.selectLocation) return;\r\n this.selectedLocation = { lat: e.latLng.lat(), long: e.latLng.lng() };\r\n this.resetSearch();\r\n this.notifyValue();\r\n });\r\n });\r\n }\r\n\r\n private resetSearch() {\r\n if (!this.searchElementRef?.nativeElement) return;\r\n this.searchElementRef.nativeElement.value = '';\r\n }\r\n\r\n private buildCurrentLocationControl() {\r\n if (this.customOptions && this.customOptions.currentLocationControl) {\r\n const locationButton = document.createElement(\"button\");\r\n locationButton.title = \"Current Location\";\r\n locationButton.innerHTML = ``;\r\n locationButton.classList.add(\"custom-map-control-button\");\r\n\r\n this.map.controls[google.maps.ControlPosition.BOTTOM_RIGHT].push(locationButton);\r\n locationButton.addEventListener(\"click\", () => {\r\n this.getCurrentLocation(true);\r\n this.resetSearch();\r\n });\r\n }\r\n }\r\n\r\n private getCurrentLocation(isNotify = false) {\r\n this.subscription = this.geoLocationService.getPosition().subscribe(data => {\r\n if (data) this.subscription.unsubscribe();\r\n if (isNotify) {\r\n this.focusLocation = { lat: data.coords.latitude, long: data.coords.longitude };\r\n this.selectedLocation = { lat: data.coords.latitude, long: data.coords.longitude };\r\n this.notifyValue();\r\n } else {\r\n this.focusLocation = this.value || { lat: data.coords.latitude, long: data.coords.longitude };\r\n this.selectedLocation = this.value || { lat: data.coords.latitude, long: data.coords.longitude };\r\n }\r\n this.map.setCenter({ lat: data.coords.latitude, lng: data.coords.longitude });\r\n });\r\n }\r\n\r\n async notifyValue() {\r\n this.value = this.selectedLocation;\r\n this.value.addressAr = await this.geoLocationService.getReverseGeocodingData(this.value.lat, this.value.long, 'ar');\r\n this.value.addressEn = await this.geoLocationService.getReverseGeocodingData(this.value.lat, this.value.long, 'en');\r\n this.afterChangeValue();\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n private afterChangeValue() {\r\n if (this.customOptions && this.customOptions.afterChange)\r\n this.customOptions.afterChange.forEach(item => {\r\n const components = Utils.searchComponents(this.formioComponent.root.components, { key: item.key });\r\n components.forEach(c => {\r\n const value = this.formioComponent.interpolate(item.value, { data: this.data });\r\n c.setValue(value);\r\n });\r\n });\r\n }\r\n\r\n private changeDirection(lang) {\r\n this.dir = null;\r\n setTimeout(() => {\r\n this.dir = lang === 'ar' ? 'rtl' : 'ltr';\r\n });\r\n }\r\n\r\n}\r\n","
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    ","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { CriterionsTabComponent } from './components/criterions-tab/criterions-tab.component';\r\nimport { CriterionsTreeComponent } from './components/criterions-tree/criterions-tree.component';\r\nimport { SessionsTabComponent } from './components/sessions-tab/sessions-tab.component';\r\nimport { TeamMembersComponent } from './components/team-members/team-members.component';\r\nimport { ScrollRetainerDirective } from './directives/scroll-retainer.directive';\r\nimport { DistributeTeamMembersComponent } from './distribute-team-members.component';\r\nimport { DistributeService } from './services/distribute.service';\r\n\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { FormioPipesModule } from '../../../shared/pipes';\r\nimport { MemberLengthIconComponent } from './components/member-length-icon/member-length-icon.component';\r\nimport { LocalizedDatePipe } from './pipes/localized-date.pipe';\r\n\r\nconst components = [\r\n DistributeTeamMembersComponent,\r\n CriterionsTreeComponent,\r\n TeamMembersComponent,\r\n ScrollRetainerDirective,\r\n CriterionsTabComponent,\r\n SessionsTabComponent,\r\n LocalizedDatePipe,\r\n MemberLengthIconComponent,\r\n];\r\n\r\n@NgModule({\r\n declarations: components,\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n FlexLayoutModule,\r\n TranslateModule,\r\n OverlayModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatButtonModule,\r\n MatTreeModule,\r\n MatIconModule,\r\n MatTooltipModule,\r\n MatBadgeModule,\r\n MatCardModule,\r\n MatChipsModule,\r\n FormioPipesModule,\r\n ],\r\n providers: [DistributeService],\r\n entryComponents: [DistributeTeamMembersComponent],\r\n exports: [DistributeTeamMembersComponent],\r\n})\r\nexport class DistributeTeamMembersModule {}\r\n","
    \r\n\t
    \r\n\t\t\r\n\t\t\t{{ 'Redirect for rquiremnts' | translate }}\r\n\t\t\r\n\t
    \r\n
    \r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Utils } from 'formiojs';\r\n\r\n@Pipe({\r\n name: 'cssClassDisplay',\r\n})\r\nexport class CssClassDisplayPipe implements PipeTransform {\r\n constructor(private translateService: TranslateService) { }\r\n\r\n transform(resourceItem: any, optionClass): string {\r\n if (typeof resourceItem === 'string' || !resourceItem) {\r\n return null;\r\n }\r\n return Utils.evaluate(`${optionClass}`, {\r\n\t\t\titem: resourceItem,\r\n\t\t\ttranslate: this.translateService,\r\n\t\t});\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\nconst noop = (): any => undefined;\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LoggerService {\r\n private appPrefix = 'Frontend-Office';\r\n\r\n get log() {\r\n if (!this.checkDebugMode()) { return noop; }\r\n return console.log.bind(console, `[${this.appPrefix} Log]`);\r\n }\r\n\r\n get info() {\r\n if (!this.checkDebugMode()) { return noop; }\r\n return console.info.bind(console, `[${this.appPrefix} Info]`);\r\n }\r\n\r\n get warn() {\r\n if (!this.checkDebugMode()) { return noop; }\r\n return console.warn.bind(console, `[${this.appPrefix} Warn]`);\r\n }\r\n\r\n get error() {\r\n if (!this.checkDebugMode()) { return noop; }\r\n return console.error.bind(console, `[${this.appPrefix} Error]`);\r\n }\r\n\r\n get trace() {\r\n if (!this.checkDebugMode()) { return noop; }\r\n return console.trace.bind(console, `[${this.appPrefix} Trace]`);\r\n }\r\n\r\n get debug() {\r\n if (!this.checkDebugMode()) { return noop; }\r\n return console.debug.bind(console, `[${this.appPrefix} Debug]`);\r\n }\r\n\r\n get table() {\r\n if (!this.checkDebugMode()) { return noop; }\r\n return console.table.bind(console, `[${this.appPrefix} Table]`);\r\n }\r\n\r\n private checkDebugMode() {\r\n if (!environment.production) { return true; }\r\n }\r\n}\r\n\r\n","import { Utils } from 'formiojs';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { FormioLoader } from 'dp-formio';\r\n\r\n@Component({\r\n selector: 'extra-form-dialog',\r\n templateUrl: 'extra-form-dialog.component.html',\r\n styleUrls: ['./extra-form-dialog.component.scss'],\r\n providers: [FormioLoader]\r\n})\r\nexport class ExtraFormDialog implements OnInit {\r\n formControls: FormGroup = new FormGroup({});\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private loader: FormioLoader) {\r\n\r\n if (this.data.addToSubFormSubmission)\r\n this.data.submission = Utils.evaluate(this.data.addToSubFormSubmission,\r\n { data: this.data.submission.data, submission: this.data.submission },\r\n 'submission');\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loader.loading = false;\r\n }\r\n\r\n onCustomEvent(event: any) {\r\n console.log(event);\r\n if (event.component.key == 'cancel') this.onNoClick();\r\n else if (event.component.key == 'submit') {\r\n if (this.data.updateBaseFormSubmission) {\r\n this.data.submission = Utils.evaluate(this.data.updateBaseFormSubmission,\r\n { data: event.data, submission: this.data.submission },\r\n 'submission');\r\n this.dialogRef.close(this.data.submission);\r\n } else this.dialogRef.close(this.data.submission);\r\n }\r\n }\r\n\r\n onSubmit(event: any) {\r\n if (!this.data.updateBaseFormSubmission)\r\n this.dialogRef.close(this.data.submission);\r\n }\r\n\r\n}\r\n","
    \r\n\t\r\n\t\r\n
    ","import { CommonModule, registerLocaleData } from '@angular/common';\r\nimport localeAr from '@angular/common/locales/ar';\r\nimport localeEn from '@angular/common/locales/en';\r\nimport { NgModule } from '@angular/core';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { StarRatingModule } from 'angular-star-rating';\r\nimport { SlideshowModule } from 'ng-simple-slideshow';\r\nimport { NgxCaptchaModule } from 'ngx-captcha';\r\nimport { FilterPipeModule } from 'ngx-filter-pipe';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { FormioCustomComponentModule } from 'src/formio-custom-components/src/public-api';\r\nimport { FormioModule } from 'dp-formio';\r\nimport { FooterComponent } from './components/footer/footer.component';\r\nimport { HeaderComponent } from './components/header/header.component';\r\nimport { NotAllowedComponent } from './components/not-allowed/not-allowed.component';\r\nimport { NotFoundComponent } from './components/not-found/not-found.component';\r\nimport { NotificationItemComponent } from './components/notifications/notification-item/notification-item.component';\r\nimport { NotificationOptionsComponent } from './components/notifications/notification-options/notification-options.component';\r\nimport { NotificationsButtonComponent } from './components/notifications/notifications-button/notifications-button.component';\r\nimport { NotificationsModalComponent } from './components/notifications/notifications-modal/notifications-modal.component';\r\nimport { PageTitleComponent } from './components/page-title/page-title.component';\r\nimport { PageComponent } from './components/page/page.component';\r\nimport { SectionComponent } from './components/section/section.component';\r\nimport { SelectComponent } from './components/select/select.component';\r\nimport { HasRoleDirective } from './directives/has-role.directive';\r\nimport { MaterialModule } from './material.module';\r\nimport { LocalizedDatePipe } from './pipes/localized-date.pipe';\r\nimport { TimeAgoPipe } from './pipes/time-ago.pipe';\r\n\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { RequestFeedbackComponent } from './components/request-feedback/request-feedback.component';\r\n\r\nregisterLocaleData(localeEn, 'en');\r\nregisterLocaleData(localeAr, 'ar');\r\n\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tNotAllowedComponent,\r\n\t\tNotFoundComponent,\r\n\t\tRequestFeedbackComponent,\r\n\t\tPageComponent,\r\n\t\tSectionComponent,\r\n\t\tPageTitleComponent,\r\n\t\tSelectComponent,\r\n\t\tNotificationsModalComponent,\r\n\t\tNotificationsButtonComponent,\r\n\t\tNotificationItemComponent,\r\n\t\tNotificationOptionsComponent,\r\n\t\tHeaderComponent,\r\n\t\tTimeAgoPipe,\r\n\t\tLocalizedDatePipe,\r\n\t\tHasRoleDirective,\r\n\t\tFooterComponent\r\n\t],\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tRouterModule,\r\n\t\tFormsModule,\r\n\t\tReactiveFormsModule,\r\n\t\tFlexLayoutModule,\r\n\t\tMaterialModule,\r\n\t\tNgSelectModule,\r\n\t\tIonicModule.forRoot({\r\n\t\t\tmenuType: 'push',\r\n\t\t}),\r\n\t\tFilterPipeModule,\r\n\t\tSlideshowModule,\r\n\t\tStarRatingModule.forRoot(),\r\n\t\tToastrModule.forRoot({\r\n\t\t\tpositionClass: 'toast-bottom-right',\r\n\t\t\ttimeOut: 5000,\r\n\t\t}),\r\n\t\tFormioModule,\r\n\t\tFormioCustomComponentModule,\r\n\t\tNgxCaptchaModule,\r\n\t\tTranslateModule,\r\n\t\tDialogModule,\r\n\t],\r\n\texports: [\r\n\t\tCommonModule,\r\n\t\tRouterModule,\r\n\t\tFormsModule,\r\n\t\tReactiveFormsModule,\r\n\t\tFlexLayoutModule,\r\n\t\tMaterialModule,\r\n\t\tNgSelectModule,\r\n\t\tIonicModule,\r\n\t\tFilterPipeModule,\r\n\t\tSlideshowModule,\r\n\t\tStarRatingModule,\r\n\t\tFooterComponent,\r\n\t\tToastrModule,\r\n\t\tFormioModule,\r\n\t\tFormioCustomComponentModule,\r\n\t\tNgxCaptchaModule,\r\n\t\tTranslateModule,\r\n\t\tRequestFeedbackComponent,\r\n\t\tNotAllowedComponent,\r\n\t\tNotFoundComponent,\r\n\t\tPageComponent,\r\n\t\tSectionComponent,\r\n\t\tPageTitleComponent,\r\n\t\tSelectComponent,\r\n\t\tNotificationsModalComponent,\r\n\t\tNotificationsButtonComponent,\r\n\t\tNotificationItemComponent,\r\n\t\tNotificationOptionsComponent,\r\n\t\tHeaderComponent,\r\n\t\tTimeAgoPipe,\r\n\t\tLocalizedDatePipe,\r\n\t\tHasRoleDirective,\r\n\t\tDialogModule,\r\n\t],\r\n\tentryComponents: [\r\n\t\tNotificationsModalComponent,\r\n\t\tNotificationOptionsComponent,\r\n\t],\r\n\tproviders: [],\r\n})\r\nexport class SharedModule {}\r\n","
    \r\n\t\r\n\t\t\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\t\r\n\t\t\r\n\t\r\n
    \r\n","import { ToastrService } from 'ngx-toastr';\r\nimport { ErrorToast, SuccessToast } from 'dp-formio';\r\n\r\nexport function showToast(toastrService: ToastrService, title: string, message: string, isError: boolean) {\r\n toastrService.show(message, title, {\r\n toastClass: \"notification-toast\",\r\n closeButton: true,\r\n enableHtml: true,\r\n toastComponent: isError ? ErrorToast : SuccessToast,\r\n });\r\n}","import {\r\n\tComponent,\r\n\tElementRef,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Utils } from 'formiojs';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { Subscription, finalize, forkJoin } from 'rxjs';\r\nimport * as DeleteConfirmationDialog from 'dp-formio';\r\nimport {\r\n\tErrorToast,\r\n\tFormioCustomComponent,\r\n\tFormioLoader,\r\n\tResourceNameService,\r\n\tViewerComponent,\r\n} from 'dp-formio';\r\nimport { AddEditEditgridContent } from './add-edit-editgrid-content/add-edit-editgrid-content.component';\r\n\r\nimport { ResizedEvent } from 'angular-resize-event';\r\nimport Formio from 'formiojs/Formio';\r\nimport _ from 'lodash';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Table } from 'primeng/table';\r\nimport { ResourceGridEventModel } from 'src/formio-custom-components/src/lib/shared/model';\r\n\r\nconst DEFAULT_TABLET_WIDTH = 801;\r\n@Component({\r\n\tselector: 'app-editgrid-resource-wrapper',\r\n\ttemplateUrl: './editgrid-resource-wrapper.component.html',\r\n\t// styleUrls: ['./editgrid-resource-wrapper.component.scss']\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tproviders: [FormioLoader],\r\n})\r\nexport class EditgridResourceWrapperComponent\r\n\timplements FormioCustomComponent, OnInit, OnDestroy, OnChanges\r\n{\r\n\t@ViewChild('formFilter')\r\n\tformFilterComponent: DeleteConfirmationDialog.FormioComponent;\r\n\t@ViewChild(Table) dataTable: Table;\r\n\r\n\tdir: 'rtl' | 'ltr';\r\n\t@Input() required: boolean;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Input() disabled: boolean;\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\ttotalRecords = 0;\r\n\tlimit = 0;\r\n\tfilterFormData = { data: {} };\r\n\tformQuery = '';\r\n\r\n\tisEndpoint = false;\r\n\tevaluatedUrl = ``;\r\n\r\n\tprivate subs: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subs.push(s);\r\n\t}\r\n\r\n\twindowProperties = {\r\n\t\tfullscreen: false,\r\n\t\topen: false,\r\n\t};\r\n\r\n\tname: string;\r\n\tactions: string[] = ['view', 'add', 'edit', 'delete'];\r\n\tshowColumns: any[] = [];\r\n\tcurrentItem: any = null;\r\n\tprivate _editGridItems = [];\r\n\r\n\tget editGridItems(): any[] {\r\n\t\treturn this._editGridItems;\r\n\t}\r\n\r\n\tset editGridItems(value: any[]) {\r\n\t\tthis._editGridItems = value;\r\n\t\tif (this.customOptions?.enableSelected) {\r\n\t\t\tthis.getSelectedItems();\r\n\t\t}\r\n\t}\r\n\tfilteredItems = [];\r\n\r\n\tformFilterKey = '';\r\n\tfilterIsOpen = false;\r\n\tfilterCols = [];\r\n\r\n\tmodifyInDialog: boolean;\r\n\tisDesktopDevice = true;\r\n\tenableAdaptiveScreen = false;\r\n\r\n\texternalActions: any = [];\r\n\tdeletedItemsId = [];\r\n\t[x: string]: any;\r\n\r\n\tselectedItems: any[] = [];\r\n\tenableSelected: boolean;\r\n\r\n\tconstructor(\r\n\t\tprivate translateService: TranslateService,\r\n\t\tprivate resourceNameService: ResourceNameService,\r\n\t\tprivate formioLoader: FormioLoader,\r\n\t\tprivate matDialog: MatDialog,\r\n\t\tprivate el: ElementRef,\r\n\t\tprivate toastrService: ToastrService\r\n\t) {\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((data) => {\r\n\t\t\tthis.changeDirection(data.lang);\r\n\t\t});\r\n\t}\r\n\tngOnInit() {\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((lang) => {\r\n\t\t\tif (this.editGridItems?.length) {\r\n\t\t\t\tthis.editGridItems = this.editGridItems.map((q) =>\r\n\t\t\t\t\tthis.checkEvaluated(q)\r\n\t\t\t\t);\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tif (this.customOptions) {\r\n\t\t\tif (this.customOptions.viewType == 'horizontal')\r\n\t\t\t\tthis.isDesktopDevice = false;\r\n\t\t\telse if (this.customOptions.viewType == 'adaptiveScreen') {\r\n\t\t\t\tthis.enableAdaptiveScreen = true;\r\n\t\t\t} else this.isDesktopDevice = true;\r\n\r\n\t\t\tthis.isEndpoint =\r\n\t\t\t\t!this.customOptions.resource && !!this.customOptions.url;\r\n\t\t\tif (this.isEndpoint) {\r\n\t\t\t\tthis.evaluatedUrl = Utils.interpolate(this.customOptions.url, {\r\n\t\t\t\t\tconfig: this.formioComponent.root.form.config,\r\n\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\ttranslate: this.translateService.instant,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif (this.customOptions.name) this.name = this.customOptions.name;\r\n\t\t\tif (this.customOptions.modifyInDialog)\r\n\t\t\t\tthis.modifyInDialog = this.customOptions.modifyInDialog;\r\n\t\t\tif (this.customOptions.actions && this.customOptions.actions.length)\r\n\t\t\t\tthis.actions = this.customOptions.actions;\r\n\t\t\tif (this.customOptions.formFilterKey)\r\n\t\t\t\tthis.formFilterKey = this.customOptions.formFilterKey;\r\n\t\t\tif (\r\n\t\t\t\tthis.customOptions.showColumns &&\r\n\t\t\t\tthis.customOptions.showColumns.length\r\n\t\t\t) {\r\n\t\t\t\tthis.showColumns = this.customOptions.showColumns;\r\n\t\t\t\tthis.filterCols = this.showColumns\r\n\t\t\t\t\t.filter((q) => q.searchable)\r\n\t\t\t\t\t.map((q) => {\r\n\t\t\t\t\t\treturn { ...q, value: '' };\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tthis.getExternalActions();\r\n\r\n\t\t\tthis.getData();\r\n\r\n\t\t\tthis.enableSelected = !!this.customOptions.enableSelected;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate getSelectedItems() {\r\n\t\tconst ids = Utils.evaluate(this.customOptions?.selectedIds, {\r\n\t\t\tdata: this.data,\r\n\t\t}).split(',');\r\n\t\tif (ids?.length && this.editGridItems.length) {\r\n\t\t\tthis.editGridItems.forEach((item) => {\r\n\t\t\t\tif (ids.includes(item._id.toString())) {\r\n\t\t\t\t\tconst itemIndex = this.selectedItems.findIndex(\r\n\t\t\t\t\t\t(i) => i._id == item._id\r\n\t\t\t\t\t);\r\n\t\t\t\t\tif (itemIndex === -1) {\r\n\t\t\t\t\t\tthis.selectedItems.push(item);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tisChecked(id) {\r\n\t\treturn this.selectedItems.findIndex((i) => i._id == id) > -1 ? true : false;\r\n\t}\r\n\r\n\tonCheckboxChange(item: any, event: any): void {\r\n\t\tconst isChecked = event.target.checked;\r\n\t\tconst itemIndex = this.selectedItems.findIndex((i) => i._id === item._id);\r\n\r\n\t\tif (isChecked) {\r\n\t\t\tif (itemIndex === -1) {\r\n\t\t\t\tthis.selectedItems.push(item);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (itemIndex !== -1) {\r\n\t\t\t\tthis.selectedItems.splice(itemIndex, 1);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tonResized(event: ResizedEvent) {\r\n\t\tif (this.enableAdaptiveScreen) {\r\n\t\t\tthis.isDesktopDevice =\r\n\t\t\t\tevent.newWidth >\r\n\t\t\t\t(this.customOptions.defaultFlipWidth || DEFAULT_TABLET_WIDTH);\r\n\t\t}\r\n\t}\r\n\r\n\tgetExternalActions() {\r\n\t\tif (this.customOptions.externalActions) {\r\n\t\t\tthis.externalActions = this.customOptions.externalActions;\r\n\t\t}\r\n\t}\r\n\r\n\tasync doAction(action, item, event: Event) {\r\n\t\tevent?.target.dispatchEvent(\r\n\t\t\tnew CustomEvent('resource-grid', {\r\n\t\t\t\tbubbles: true,\r\n\t\t\t\tdetail: {\r\n\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\trowSubmission: item,\r\n\t\t\t\t\tmode: 'custom',\r\n\t\t\t\t\tgridItems: this.editGridItems,\r\n\t\t\t\t\tformComponent: this.formioComponent,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t);\r\n\r\n\t\ttry {\r\n\t\t\tlet method = '';\r\n\t\t\tlet body = {};\r\n\t\t\tlet url = ``;\r\n\r\n\t\t\taction.body\r\n\t\t\t\t? (body = Utils.evaluate(action.body, {\r\n\t\t\t\t\t\tsubmission: this.data,\r\n\t\t\t\t\t\trow: item.data,\r\n\t\t\t\t }))\r\n\t\t\t\t: (body = '');\r\n\r\n\t\t\tif (action.url) {\r\n\t\t\t\taction.method ? (method = action.method) : (method = 'GET');\r\n\t\t\t\turl += Utils.interpolate(action.url, {\r\n\t\t\t\t\tsubmission: this.data,\r\n\t\t\t\t\tconfig: this.formioComponent._currentForm._form.config,\r\n\t\t\t\t\trow: item.data,\r\n\t\t\t\t});\r\n\t\t\t\tawait Formio.makeRequest(null, 'button', url, method, body, {\r\n\t\t\t\t\tignoreCache: action.ignoreCache,\r\n\t\t\t\t});\r\n\t\t\t\taction.reload ? this.getData() : '';\r\n\t\t\t}\r\n\t\t\tif (action.script) {\r\n\t\t\t\tUtils.checkTrigger(\r\n\t\t\t\t\tthis.formioComponent.component,\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttype: 'javascript',\r\n\t\t\t\t\t\tjavascript: action.script,\r\n\t\t\t\t\t},\r\n\t\t\t\t\titem.data,\r\n\t\t\t\t\tthis.formioComponent.data,\r\n\t\t\t\t\tthis.formioComponent.root ? this.formioComponent.root._form : {},\r\n\t\t\t\t\tthis.formioComponent\r\n\t\t\t\t);\r\n\t\t\t\taction.reload && !action.url ? this.getData() : '';\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t} catch (error) {\r\n\t\t\tif (action.onFailure == 'ERROR') {\r\n\t\t\t\tif (action.errorMessage) {\r\n\t\t\t\t\tthis.showError(action.onFailure, action.errorMessage);\r\n\t\t\t\t}\r\n\t\t\t\treturn false;\r\n\t\t\t} else if (action && action.onFailure == 'CONTINUE') {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate showError(title: string, message: string) {\r\n\t\tthis.toastrService.show(message, title, {\r\n\t\t\ttoastClass: 'notification-toast',\r\n\t\t\tcloseButton: true,\r\n\t\t\tenableHtml: true,\r\n\t\t\ttoastComponent: ErrorToast,\r\n\t\t});\r\n\t}\r\n\r\n\topenContent(\r\n\t\tevent: Event,\r\n\t\trowSubmission: any = null,\r\n\t\tisView: boolean = false\r\n\t) {\r\n\t\tevent?.target.dispatchEvent(\r\n\t\t\tnew CustomEvent('resource-grid', {\r\n\t\t\t\tbubbles: true,\r\n\t\t\t\tdetail: {\r\n\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\trowSubmission: rowSubmission,\r\n\t\t\t\t\tmode: rowSubmission ? (isView ? 'view' : 'edit') : 'add',\r\n\t\t\t\t\tgridItems: this.editGridItems,\r\n\t\t\t\t\tformComponent: this.formioComponent,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t);\r\n\t\tif (this.customOptions.dispatchEventOnly) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (this.modifyInDialog) {\r\n\t\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\t\tdialogConfig.id = Utils.guid();\r\n\t\t\tdialogConfig.panelClass = 'custom-modal-component';\r\n\t\t\tdialogConfig.direction = this.dir;\r\n\t\t\tif (this.customOptions?.maxWidth) {\r\n\t\t\t\tdialogConfig.maxWidth = this.customOptions?.maxWidth;\r\n\t\t\t}\r\n\t\t\tdialogConfig.data = {\r\n\t\t\t\tisAdd: !rowSubmission,\r\n\t\t\t\tisView: isView,\r\n\t\t\t\tisEndpoint: this.isEndpoint,\r\n\t\t\t\tevaluatedUrl: this.evaluatedUrl,\r\n\t\t\t\tdisplayFormKey: this.customOptions.displayFormKey,\r\n\t\t\t\tresource: this.customOptions.resource,\r\n\t\t\t\textra: this.customOptions.extra,\r\n\t\t\t\tdata: this.data,\r\n\t\t\t\tdir: this.dir,\r\n\t\t\t\trowSubmission: rowSubmission,\r\n\t\t\t\teditGridItems: this.editGridItems,\r\n\t\t\t\tcloseActive: (data) => this.closeActive(data),\r\n\t\t\t};\r\n\t\t\tthis.matDialog.closeAll();\r\n\t\t\tconst modalDialog = this.matDialog.open(\r\n\t\t\t\tAddEditEditgridContent,\r\n\t\t\t\tdialogConfig\r\n\t\t\t);\r\n\t\t\tmodalDialog.afterClosed().subscribe((data) => {\r\n\t\t\t\tthis.closeActive(data);\r\n\t\t\t\tthis.formioComponent?.root?.events?.emit('formio.registerComponent');\r\n\t\t\t});\r\n\t\t} else\r\n\t\t\tthis.currentItem = {\r\n\t\t\t\tisAdd: !rowSubmission,\r\n\t\t\t\tisView: isView,\r\n\t\t\t\tisEndpoint: this.isEndpoint,\r\n\t\t\t\tevaluatedUrl: this.evaluatedUrl,\r\n\t\t\t\tdisplayFormKey: this.customOptions.displayFormKey,\r\n\t\t\t\tresource: this.customOptions.resource,\r\n\t\t\t\textra: this.customOptions.extra,\r\n\t\t\t\tdata: this.data,\r\n\t\t\t\trowSubmission: rowSubmission,\r\n\t\t\t};\r\n\t}\r\n\r\n\tcloseActive(event) {\r\n\t\tif (event) {\r\n\t\t\tif (event.isAdd) {\r\n\t\t\t\t//add item\r\n\t\t\t\tthis.checkEvaluated(event.rowSubmission);\r\n\t\t\t\tthis.editGridItems.push(event.rowSubmission);\r\n\r\n\t\t\t\tif (\r\n\t\t\t\t\tthis.customOptions.saveResultObjectsOn &&\r\n\t\t\t\t\tthis.data[this.customOptions.saveResultObjectsOn]\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.data[this.customOptions.saveResultObjectsOn] =\r\n\t\t\t\t\t\tthis.editGridItems;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t} else if (!event.isView) {\r\n\t\t\t\t//edit item\r\n\t\t\t\tconst index = this.editGridItems.findIndex(\r\n\t\t\t\t\t(q) => q._id == event.rowSubmission._id\r\n\t\t\t\t);\r\n\t\t\t\tthis.checkEvaluated(event.rowSubmission);\r\n\t\t\t\tthis.editGridItems[index] = event.rowSubmission;\r\n\r\n\t\t\t\tif (\r\n\t\t\t\t\tthis.customOptions.saveResultObjectsOn &&\r\n\t\t\t\t\tthis.data[this.customOptions.saveResultObjectsOn]\r\n\t\t\t\t) {\r\n\t\t\t\t\tconst index = this.data[\r\n\t\t\t\t\t\tthis.customOptions.saveResultObjectsOn\r\n\t\t\t\t\t].findIndex((q) => q._id == event.rowSubmission._id);\r\n\t\t\t\t\tif (index >= 0)\r\n\t\t\t\t\t\tthis.data[this.customOptions.saveResultObjectsOn][index] =\r\n\t\t\t\t\t\t\tevent.rowSubmission;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t}\r\n\r\n\t\t\tthis._dispatchEvent('rowAdded', {\r\n\t\t\t\trow: { _id: event.rowSubmission._id, data: event.rowSubmission.data },\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis.currentItem = null;\r\n\t}\r\n\r\n\tdeleteContent(rowSubmission) {\r\n\t\tDeleteConfirmationDialog.build(\r\n\t\t\tthis.formioComponent,\r\n\t\t\t() => {\r\n\t\t\t\tif (this.customOptions.enableExternalDelete) {\r\n\t\t\t\t\tthis.editGridItems = this.editGridItems.filter(\r\n\t\t\t\t\t\t(q) => q._id != rowSubmission._id\r\n\t\t\t\t\t);\r\n\t\t\t\t\tthis.deletedItemsId.push(rowSubmission._id);\r\n\t\t\t\t\tthis.data.deletedItemsId = this.deletedItemsId;\r\n\t\t\t\t\tthis.currentItem = null;\r\n\t\t\t\t\tthis.notifyValue(true);\r\n\t\t\t\t\tthis._dispatchEvent('rowDeleted', {\r\n\t\t\t\t\t\trow: { _id: rowSubmission._id, data: rowSubmission.data },\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconst resource =\r\n\t\t\t\t\t\tthis.customOptions.resource?.writeSubmissionOn ||\r\n\t\t\t\t\t\tthis.customOptions.resource;\r\n\r\n\t\t\t\t\tconst method = this.isEndpoint\r\n\t\t\t\t\t\t? this.resourceNameService.deleteByUrl(\r\n\t\t\t\t\t\t\t\tthis.evaluatedUrl,\r\n\t\t\t\t\t\t\t\trowSubmission._id\r\n\t\t\t\t\t\t )\r\n\t\t\t\t\t\t: this.resourceNameService.deleteResourceData(\r\n\t\t\t\t\t\t\t\tresource,\r\n\t\t\t\t\t\t\t\trowSubmission._id\r\n\t\t\t\t\t\t );\r\n\r\n\t\t\t\t\tthis.sub = method.subscribe(() => {\r\n\t\t\t\t\t\tthis.editGridItems = this.editGridItems.filter(\r\n\t\t\t\t\t\t\t(q) => q._id != rowSubmission._id\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tthis.currentItem = null;\r\n\t\t\t\t\t\tthis.notifyValue(true);\r\n\t\t\t\t\t\tthis._dispatchEvent('rowDeleted', {\r\n\t\t\t\t\t\t\trow: { _id: rowSubmission._id, data: rowSubmission.data },\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tnull,\r\n\t\t\t'Are you sure to delete this item'\r\n\t\t);\r\n\t}\r\n\r\n\tnotifyValue(makeCalls: boolean = false) {\r\n\t\tthis.filterData(makeCalls);\r\n\t\tthis.saveResultObjectsOn();\r\n\t\tthis.afterChangeValue();\r\n\t\tif (this.required && !this.editGridItems.length) {\r\n\t\t\tthis.value = null;\r\n\t\t\tthis.valueChange.emit(this.value);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!this.customOptions.withoutUpdate) {\r\n\t\t\tif (this.enableSelected) {\r\n\t\t\t\tthis.value = {\r\n\t\t\t\t\titems: this.selectedItems,\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\tthis.value = { list: this.editGridItems.map((q) => q._id) };\r\n\t\t\t}\r\n\t\t\tthis.valueChange.emit(this.value);\r\n\t\t}\r\n\t}\r\n\r\n\tapplyFilter() {\r\n\t\tthis.filterIsOpen = false;\r\n\t\tthis.filterData(true);\r\n\t}\r\n\treset() {\r\n\t\tthis.filterIsOpen = false;\r\n\t\tthis.filterCols.forEach((q) => (q.value = ''));\r\n\t\tthis.filterData(true);\r\n\t}\r\n\r\n\tonFiterCustomEvent(event) {\r\n\t\tthis.filterIsOpen = !this.filterIsOpen;\r\n\t\tif (this.customOptions?.enablePagination) {\r\n\t\t\tconst filters = {};\r\n\t\t\tconst dateKeys = Utils.searchComponents(\r\n\t\t\t\tthis.formFilterComponent.formio.components,\r\n\t\t\t\t{\r\n\t\t\t\t\ttype: 'datetime',\r\n\t\t\t\t}\r\n\t\t\t)?.map((q) => q.component.key);\r\n\r\n\t\t\tUtils.searchComponents(this.formFilterComponent.formio.components, {\r\n\t\t\t\t'component.input': true,\r\n\t\t\t})\r\n\t\t\t\t.filter((comp) => comp.component.type != 'button')\r\n\t\t\t\t.forEach((comp) => {\r\n\t\t\t\t\tconst key = comp.component.key;\r\n\t\t\t\t\tif (event.data[key]) {\r\n\t\t\t\t\t\tconst filterKey = comp.component.properties?.mappedKey\r\n\t\t\t\t\t\t\t? Utils.evaluate(comp.component.properties?.mappedKey, {\r\n\t\t\t\t\t\t\t\t\tkey: key,\r\n\t\t\t\t\t\t\t\t\tpref: comp.component.properties?.prefix || '',\r\n\t\t\t\t\t\t\t\t\toperator: comp.component.properties?.operator || '',\r\n\t\t\t\t\t\t\t })\r\n\t\t\t\t\t\t\t: null;\r\n\r\n\t\t\t\t\t\tif (dateKeys.includes(key)) {\r\n\t\t\t\t\t\t\tconst date = new Date(event.data[key].toString());\r\n\t\t\t\t\t\t\tdate.setDate(date.getDate() + 1);\r\n\r\n\t\t\t\t\t\t\tif (this.isEndpoint) {\r\n\t\t\t\t\t\t\t\tif (comp.component.properties?.startOfDay) {\r\n\t\t\t\t\t\t\t\t\tdate.setUTCHours(0, 0, 0, 0);\r\n\t\t\t\t\t\t\t\t} else if (comp.component.properties?.endOfDay) {\r\n\t\t\t\t\t\t\t\t\tdate.setUTCHours(23, 59, 59, 999);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tif (key.endsWith('gte')) date.setUTCHours(0, 0, 0, 0);\r\n\t\t\t\t\t\t\t\telse if (key.endsWith('lte')) date.setUTCHours(23, 59, 59, 999);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tfilters[key] = {\r\n\t\t\t\t\t\t\t\toperator: comp.component.properties?.operator || '',\r\n\t\t\t\t\t\t\t\tvalue: new Date(date).toISOString(),\r\n\t\t\t\t\t\t\t\tmappedKey: filterKey,\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tfilters[key] = {\r\n\t\t\t\t\t\t\t\toperator: comp.component.properties?.operator || '',\r\n\t\t\t\t\t\t\t\tvalue: event.data[key],\r\n\t\t\t\t\t\t\t\tmappedKey: filterKey,\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\tthis.formQuery = Object.keys(filters)\r\n\t\t\t\t.map((key) => {\r\n\t\t\t\t\tconst compKey = filters[key].mappedKey\r\n\t\t\t\t\t\t? filters[key].mappedKey\r\n\t\t\t\t\t\t: `data.${key}${filters[key].operator}`;\r\n\t\t\t\t\treturn `${compKey}=${filters[key].value}`;\r\n\t\t\t\t})\r\n\t\t\t\t.join('&');\r\n\t\t\tif (this.dataTable) {\r\n\t\t\t\tthis.dataTable.reset();\r\n\t\t\t} else {\r\n\t\t\t\tthis.loadPage();\r\n\t\t\t}\r\n\r\n\t\t\tif (this.customOptions?.applyFilters) {\r\n\t\t\t\tthis.runScript(this.customOptions.applyFilters, { filters });\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tlet data = _cloneDeep(this.editGridItems);\r\n\t\t\tthis.showColumns.forEach((item) => {\r\n\t\t\t\tif (event.data[item.key]) {\r\n\t\t\t\t\tdata = data.filter((q) =>\r\n\t\t\t\t\t\tq.data[item.key].includes(event.data[item.key])\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tthis.filteredItems = data;\r\n\t\t\tthis.filterIsOpen = !this.filterIsOpen;\r\n\t\t}\r\n\t}\r\n\r\n\topenFile(file: any) {\r\n\t\tthis.matDialog.open(ViewerComponent, {\r\n\t\t\tposition: {\r\n\t\t\t\ttop: '0',\r\n\t\t\t\tright: '0',\r\n\t\t\t},\r\n\t\t\tdata: {\r\n\t\t\t\tdir: this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr',\r\n\t\t\t\tdata: {\r\n\t\t\t\t\t...file,\r\n\t\t\t\t},\r\n\t\t\t\tformId: this.formioComponent?.root?.form?._id,\r\n\t\t\t\tappUrl: `${this.formioComponent.root.formio.path\r\n\t\t\t\t\t.split('/')\r\n\t\t\t\t\t.slice(0, -1)\r\n\t\t\t\t\t.join('/')}/`,\r\n\t\t\t},\r\n\t\t\theight: '100vh',\r\n\t\t\twidth: '100vw',\r\n\t\t\tpanelClass: 'full-screen-modal',\r\n\t\t});\r\n\t}\r\n\r\n\tprivate filterData(makeCalls: boolean = false) {\r\n\t\tif (makeCalls && this.customOptions?.enablePagination) {\r\n\t\t\tconst filters = [];\r\n\t\t\tthis.filterCols\r\n\t\t\t\t.filter((col) => !!col.value)\r\n\t\t\t\t.forEach((col) => {\r\n\t\t\t\t\tfilters.push(`data.${col.key}__regex=${col.value}`);\r\n\t\t\t\t});\r\n\t\t\tthis.formQuery = filters.join('&');\r\n\t\t\tthis.dataTable.reset();\r\n\t\t}\r\n\r\n\t\tlet data = _cloneDeep(this.editGridItems);\r\n\t\tconst filteredCols = this.filterCols.filter((q) => q.value);\r\n\t\tfilteredCols.forEach((item) => {\r\n\t\t\tdata = data.filter((q) =>\r\n\t\t\t\tq.data[`${item.key}Evaluated`].includes(item.value)\r\n\t\t\t);\r\n\t\t});\r\n\t\tthis.filteredItems = data;\r\n\t}\r\n\r\n\tprivate getData() {\r\n\t\tif (this.customOptions?.enablePagination) {\r\n\t\t\tthis.loadPage();\r\n\t\t} else {\r\n\t\t\tif (\r\n\t\t\t\tthis.customOptions.saveResultObjectsOn &&\r\n\t\t\t\tthis.data[this.customOptions.saveResultObjectsOn] &&\r\n\t\t\t\tthis.data[this.customOptions.saveResultObjectsOn].length\r\n\t\t\t) {\r\n\t\t\t\tthis.editGridItems = this.data[\r\n\t\t\t\t\tthis.customOptions.saveResultObjectsOn\r\n\t\t\t\t].map((q) => this.checkEvaluated(q));\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tlet query = ``;\r\n\t\t\tlet sources = [];\r\n\t\t\tlet bindRecordsQuery = ``;\r\n\t\t\tconst bindRecordsResource = this.customOptions.resource;\r\n\t\t\tconst resource =\r\n\t\t\t\tthis.customOptions.resource?.writeSubmissionOn ||\r\n\t\t\t\tthis.customOptions.resource;\r\n\r\n\t\t\tif (this.value?.list?.length && !this.customOptions.withoutUpdate) {\r\n\t\t\t\tif(this.data.currentRoute && this.data.currentRoute.includes('/reviewFile') ){\r\n\t\t\t\t\tquery = `data.requestTimestamp=${this.data?.requestTimestamp}&sort=${\r\n\t\t\t\t\t\tthis.customOptions?.sort ? this.customOptions?.sort : 'created'\r\n\t\t\t\t\t}&limit=10000&`;\r\n\t\t\t\t}else{\r\n\t\t\t\t\tquery = `_id__in=${this.value?.list?.join()}&sort=${\r\n\t\t\t\t\t\tthis.customOptions?.sort ? this.customOptions?.sort : 'created'\r\n\t\t\t\t\t}&limit=10000`;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.customOptions.query) {\r\n\t\t\t\tquery += Utils.interpolate(this.customOptions.query, {\r\n\t\t\t\t\tdata: this.data,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif (!!query) {\r\n\t\t\t\tif (this.isEndpoint)\r\n\t\t\t\t\tsources.push(this.resourceNameService.load(this.evaluatedUrl, query));\r\n\t\t\t\telse\r\n\t\t\t\t\tsources.push(\r\n\t\t\t\t\t\tthis.resourceNameService.loadCustomByFilterdKey(resource, query)\r\n\t\t\t\t\t);\r\n\t\t\t\tthis.formioLoader.loading = true;\r\n\t\t\t}\r\n\r\n\t\t\tif (this.customOptions.bindRecordsQuery) {\r\n\t\t\t\tbindRecordsQuery += Utils.interpolate(\r\n\t\t\t\t\tthis.customOptions.bindRecordsQuery,\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\tsources.push(\r\n\t\t\t\t\tthis.resourceNameService.loadCustomByFilterdKey(\r\n\t\t\t\t\t\tbindRecordsResource,\r\n\t\t\t\t\t\tbindRecordsQuery\r\n\t\t\t\t\t)\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tforkJoin(...sources)\r\n\t\t\t\t.pipe(finalize(() => (this.formioLoader.loading = false)))\r\n\t\t\t\t.subscribe((res: any) => {\r\n\t\t\t\t\tconst evaluatedBindRecords =\r\n\t\t\t\t\t\tres[1]?.map((i) => this.checkEvaluated(i)) || [];\r\n\t\t\t\t\tconst evaluatedBaseData = res[0].map((q) => this.checkEvaluated(q));\r\n\r\n\t\t\t\t\tthis.editGridItems = _.uniqBy(\r\n\t\t\t\t\t\t[...evaluatedBaseData, ...evaluatedBindRecords],\r\n\t\t\t\t\t\t'_id'\r\n\t\t\t\t\t);\r\n\t\t\t\t\tthis._dispatchEvent('edit-grid-loaded', {});\r\n\t\t\t\t\tthis.notifyValue();\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate checkEvaluated(item) {\r\n\t\tthis.showColumns.forEach((col) => {\r\n\t\t\tif (col.cssClass) return;\r\n\t\t\tif (col.evaluated) {\r\n\t\t\t\tconst value = Utils.evaluate(col.evaluated, {\r\n\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t[col.key]: item.data[col.key],\r\n\t\t\t\t\tlang: this.translateService.currentLang,\r\n\t\t\t\t\trow: item,\r\n\t\t\t\t});\r\n\t\t\t\titem.data[`${col.key}Evaluated`] = value;\r\n\t\t\t} else {\r\n\t\t\t\titem.data[`${col.key}Evaluated`] = item.data[col.key];\r\n\t\t\t}\r\n\r\n\t\t\tif (col.translatable && item.data[`${col.key}Evaluated`]) {\r\n\t\t\t\titem.data[`${col.key}Evaluated`] = this.translateService.instant(\r\n\t\t\t\t\t`forms.common.${item.data[`${col.key}Evaluated`]}`\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn item;\r\n\t}\r\n\r\n\tprivate saveResultObjectsOn() {\r\n\t\tif (this.customOptions && this.customOptions.saveResultObjectsOn) {\r\n\t\t\tif (this.formioComponent.root.wizard) {\r\n\t\t\t\tconst pages = this.formioComponent.root.getFastPages({\r\n\t\t\t\t\tall: true,\r\n\t\t\t\t\twithoutFirstLoad: true,\r\n\t\t\t\t});\r\n\t\t\t\tconst components = Utils.searchComponents(pages, {\r\n\t\t\t\t\tkey: this.customOptions.saveResultObjectsOn,\r\n\t\t\t\t});\r\n\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\tc.setValue(this.editGridItems);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tconst nestedForms = Utils.searchComponents(\r\n\t\t\t\t\tthis.formioComponent.root.components,\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttype: 'form',\r\n\t\t\t\t\t\t'component.display': 'wizard',\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\tnestedForms.forEach((formComponent) => {\r\n\t\t\t\t\tformComponent.subFormReady.then((subForm) => {\r\n\t\t\t\t\t\tconst pages = subForm.getFastPages({\r\n\t\t\t\t\t\t\tall: true,\r\n\t\t\t\t\t\t\twithoutFirstLoad: true,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tconst components = Utils.searchComponents(pages, {\r\n\t\t\t\t\t\t\tkey: this.customOptions.saveResultObjectsOn,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\t\tc.setValue(this.editGridItems);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\r\n\t\t\t\tconst components = Utils.searchComponents(\r\n\t\t\t\t\tthis.formioComponent.root.components,\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tkey: this.customOptions.saveResultObjectsOn,\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\tc.setValue(this.editGridItems);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tprivate afterChangeValue() {\r\n\t\tif (this.customOptions && this.customOptions.afterChange)\r\n\t\t\tthis.customOptions.afterChange.forEach((item) => {\r\n\t\t\t\tif (item.script) {\r\n\t\t\t\t\tthis.runScript(item.script, {\r\n\t\t\t\t\t\titems: this.editGridItems,\r\n\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\tinstance: this.formioComponent,\r\n\t\t\t\t\t});\r\n\t\t\t\t} else if (this.formioComponent.root.wizard) {\r\n\t\t\t\t\tconst pages = this.formioComponent.root.getFastPages({\r\n\t\t\t\t\t\tall: true,\r\n\t\t\t\t\t\twithoutFirstLoad: true,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tconst components = Utils.searchComponents(pages, { key: item.key });\r\n\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\tif (item.checkConditions) {\r\n\t\t\t\t\t\t\tc.checkConditions();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tconst value = Utils.evaluate(item.value, {\r\n\t\t\t\t\t\t\t\titems: this.editGridItems,\r\n\t\t\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\t\t\tinstance: this.formioComponent,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tc.setValue(value);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconst nestedForms = Utils.searchComponents(\r\n\t\t\t\t\t\tthis.formioComponent.root.components,\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\ttype: 'form',\r\n\t\t\t\t\t\t\t'component.display': 'wizard',\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t);\r\n\t\t\t\t\tnestedForms.forEach((formComponent) => {\r\n\t\t\t\t\t\tformComponent.subFormReady.then((subForm) => {\r\n\t\t\t\t\t\t\tconst pages = subForm.getFastPages({\r\n\t\t\t\t\t\t\t\tall: true,\r\n\t\t\t\t\t\t\t\twithoutFirstLoad: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tconst components = Utils.searchComponents(pages, {\r\n\t\t\t\t\t\t\t\tkey: item.key,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\t\t\tif (item.checkConditions) {\r\n\t\t\t\t\t\t\t\t\tc.checkConditions();\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tconst value = Utils.evaluate(item.value, {\r\n\t\t\t\t\t\t\t\t\t\titems: this.editGridItems,\r\n\t\t\t\t\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\t\t\t\t\tinstance: this.formioComponent,\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tc.setValue(value);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tconst components = Utils.searchComponents(\r\n\t\t\t\t\t\tthis.formioComponent.root.components,\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tkey: item.key,\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t);\r\n\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\tif (item.checkConditions) {\r\n\t\t\t\t\t\t\tc.checkConditions();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tconst value = Utils.evaluate(item.value, {\r\n\t\t\t\t\t\t\t\titems: this.editGridItems,\r\n\t\t\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\t\t\tinstance: this.formioComponent,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tc.setValue(value);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tloadPage(event = null) {\r\n\t\tthis.limit = this.customOptions?.pageSize || 10;\r\n\t\tconst skip = event?.first || 0;\r\n\t\tlet query = this.isEndpoint\r\n\t\t\t? ''\r\n\t\t\t: `sort=created&limit=${this.limit}&skip=${skip}&`;\r\n\t\tif (this.customOptions.query)\r\n\t\t\tquery += Utils.interpolate(this.customOptions.query, {\r\n\t\t\t\tdata: this.data,\r\n\t\t\t\tlimit: this.limit,\r\n\t\t\t\tskip: skip,\r\n\t\t\t});\r\n\t\tif (this.formQuery) query += `&${this.formQuery}`;\r\n\r\n\t\tthis.formioLoader.loading = true;\r\n\t\tconst resource =\r\n\t\t\tthis.customOptions.resource?.writeSubmissionOn ||\r\n\t\t\tthis.customOptions.resource;\r\n\r\n\t\tconst method = this.isEndpoint\r\n\t\t\t? this.resourceNameService.loadByPage(this.evaluatedUrl, query)\r\n\t\t\t: this.resourceNameService.loadPage(resource, query);\r\n\r\n\t\tthis.sub = method.subscribe(\r\n\t\t\t(result) => {\r\n\t\t\t\tthis.totalRecords = result.totalRecords;\r\n\t\t\t\tthis.editGridItems = result.data.map((q) => this.checkEvaluated(q));\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t},\r\n\t\t\t(error) => {\r\n\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tprivate _dispatchEvent(eventName, details) {\r\n\t\tconst data = {\r\n\t\t\tcomponentKey: this.formioComponent.component.key,\r\n\t\t\tgridItems: this.editGridItems?.map((rw) => ({\r\n\t\t\t\t_id: rw?._id,\r\n\t\t\t\tdata: rw?.data,\r\n\t\t\t})),\r\n\t\t\tcustomOptions: this.customOptions,\r\n\t\t\tdata: this.data,\r\n\t\t\tvalue: this.value,\r\n\t\t\t...details,\r\n\t\t};\r\n\t\tconst event = new CustomEvent(eventName, {\r\n\t\t\tbubbles: true,\r\n\t\t\tdetail: data,\r\n\t\t} as any);\r\n\t\tthis.el.nativeElement.dispatchEvent(event);\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang === 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\tprivate runScript(query: String, params) {\r\n\t\tUtils.evaluate(query, {\r\n\t\t\tutils: Utils,\r\n\t\t\tinstance: this.formioComponent,\r\n\t\t\tsubmission: this.formioComponent?.root?.data,\r\n\t\t\ttranslate: this.translateService,\r\n\t\t\tdata: this.data,\r\n\t\t\tvalue: this.value,\r\n\t\t\tcomponent: this.formioComponent.component,\r\n\t\t\t...params,\r\n\t\t});\r\n\t}\r\n\tngOnDestroy() {\r\n\t\tthis.subs.forEach((s) => s.unsubscribe());\r\n\t\tthis.subs = [];\r\n\t}\r\n\r\n\tget isEnableView() {\r\n\t\treturn !!this.actions.find((q) => q == 'view');\r\n\t}\r\n\tget isEnableAdd() {\r\n\t\treturn !this.viewOnly && !!this.actions.find((q) => q == 'add');\r\n\t}\r\n\tget isEnableEdit() {\r\n\t\treturn !this.viewOnly && !!this.actions.find((q) => q == 'edit');\r\n\t}\r\n\tget isEnableDelete() {\r\n\t\treturn !this.viewOnly && !!this.actions.find((q) => q == 'delete');\r\n\t}\r\n}\r\n","import {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport _isNull from 'lodash/isNull';\r\nimport _isEmpty from 'lodash/isEmpty';\r\nimport { FormioCustomComponent, DateHelperService } from 'dp-formio';\r\nimport { Utils } from 'formiojs';\r\n\r\n@Component({\r\n\tselector: 'app-hijri-date',\r\n\ttemplateUrl: './hijri-date.component.html',\r\n\tencapsulation: ViewEncapsulation.None,\r\n})\r\nexport class HijriDateComponent implements FormioCustomComponent, OnInit, OnDestroy {\r\n\thijriDate: any;\r\n\tdir: 'rtl' | 'ltr';\r\n\t@Input() required: boolean;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Input() disabled: boolean;\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\r\n\tminHijri: any;\r\n\tmaxHijri: any;\r\n\tminGreg: any;\r\n\tmaxGreg: any;\r\n\r\n\tprivate subs: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subs.push(s);\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate translateService: TranslateService,\r\n\t\tprivate dateHelperService: DateHelperService\r\n\t) {\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((data) => {\r\n\t\t\tthis.changeDirection(data.lang);\r\n\t\t});\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\t// Min Hijri\r\n\t\tif (this.customOptions?.minHijri && this.customOptions?.minHijri == 'today') {\r\n\t\t\tthis.minHijri = this.getTodayHijri();\r\n\t\t} else if (this.customOptions?.minHijri && 'toString' in this.customOptions?.minHijri) {\r\n\t\t\tthis.minHijri = this.customOptions?.minHijri;\r\n\t\t}\r\n\t\t// Max Hijri\r\n\t\tif (this.customOptions?.maxHijri && this.customOptions?.maxHijri == 'today') {\r\n\t\t\tthis.maxHijri = this.getTodayHijri();\r\n\t\t} else if (this.customOptions?.maxHijri && 'toString' in this.customOptions?.maxHijri) {\r\n\t\t\tthis.maxHijri = this.customOptions?.maxHijri;\r\n\t\t}\r\n\r\n\t\t// Min Greg\r\n\t\tif (this.customOptions?.minGreg && this.customOptions?.minGreg == 'today') {\r\n\t\t\tthis.minGreg = this.getTodayGreg();\r\n\t\t} else if (this.customOptions?.minGreg && 'toString' in this.customOptions?.minGreg) {\r\n\t\t\tthis.minGreg = this.customOptions?.minGreg;\r\n\t\t}\r\n\t\t// Max Greg\r\n\t\tif (this.customOptions?.maxGreg && this.customOptions?.maxGreg == 'today') {\r\n\t\t\tthis.maxGreg = this.getTodayGreg();\r\n\t\t} else if (this.customOptions?.maxGreg && 'toString' in this.customOptions?.maxGreg) {\r\n\t\t\tthis.maxGreg = this.customOptions?.maxGreg;\r\n\t\t}\r\n\r\n\t\tif (this.value) this.hijriDate = this.value;\r\n\t}\r\n\r\n\tgetTodayHijri(date?, lang?) {\r\n\t\tvar date = date || new Date();\r\n\t\tlang = lang || 'en';\r\n\t\tvar options = {\r\n\t\t\tyear: 'numeric',\r\n\t\t\tmonth: 'numeric',\r\n\t\t\tday: 'numeric',\r\n\t\t};\r\n\r\n\t\tconst todayHijri = date.toLocaleString(lang + '-u-ca-islamic', options);\r\n\t\treturn {\r\n\t\t\tyear: +todayHijri.split('/')[2].split(' ')[0],\r\n\t\t\tmonth: +todayHijri.split('/')[0],\r\n\t\t\tday: +todayHijri.split('/')[1] - 1,\r\n\t\t};\r\n\t}\r\n\r\n\tgetTodayGreg() {\r\n\t\tvar today = new Date();\r\n\t\treturn {\r\n\t\t\tyear: today.getFullYear(),\r\n\t\t\tmonth: today.getMonth() + 1,\r\n\t\t\tday: today.getDate(),\r\n\t\t};\r\n\t}\r\n\r\n\tngOnInit(): void {}\r\n\r\n\tonDateChanged(selectedDate: any) {\r\n\t\tif (this.required && (_isNull(selectedDate) || _isEmpty(selectedDate))) {\r\n\t\t\tthis.notifyValue(null);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.notifyValue(selectedDate);\r\n\t}\r\n\r\n\tnotifyValue(date: any) {\r\n\t\tif (date && this.customOptions.compineDate && !this.customOptions?.disableConverter) {\r\n\t\t\tthis.value = this.convertDateToHijriAndGerg(date);\r\n\t\t} else {\r\n\t\t\tthis.value = date;\r\n\t\t}\r\n\t\tthis.valueChange.emit(this.value);\r\n\t\tthis.afterChangeValue();\r\n\t}\r\n\r\n\tprivate afterChangeValue() {\r\n\t\tif (this.customOptions && this.customOptions.afterChange)\r\n\t\t\tthis.customOptions.afterChange.forEach((item) => {\r\n\t\t\t\tif (this.formioComponent.root.wizard) {\r\n\t\t\t\t\tconst pages = this.formioComponent.root.getFastPages({\r\n\t\t\t\t\t\tall: true,\r\n\t\t\t\t\t\twithoutFirstLoad: true,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tconst components = Utils.searchComponents(pages, { key: item.key });\r\n\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\tif (item.checkConditions) {\r\n\t\t\t\t\t\t\tc.checkConditions();\r\n\t\t\t\t\t\t} else if (item.calculateValue) {\r\n\t\t\t\t\t\t\tc.calculateValue(this.data);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tconst value = Utils.evaluate(item.value, {\r\n\t\t\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\t\t\tinstance: this.formioComponent,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tc.setValue(value);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconst nestedForms = Utils.searchComponents(this.formioComponent.root.components, {\r\n\t\t\t\t\t\ttype: 'form',\r\n\t\t\t\t\t\t'component.display': 'wizard',\r\n\t\t\t\t\t});\r\n\t\t\t\t\tnestedForms.forEach((formComponent) => {\r\n\t\t\t\t\t\tformComponent.subFormReady.then((subForm) => {\r\n\t\t\t\t\t\t\tconst pages = subForm.getFastPages({ all: true, withoutFirstLoad: true });\r\n\t\t\t\t\t\t\tconst components = Utils.searchComponents(pages, { key: item.key });\r\n\t\t\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\t\t\tif (item.checkConditions) {\r\n\t\t\t\t\t\t\t\t\tc.checkConditions();\r\n\t\t\t\t\t\t\t\t} else if (item.calculateValue) {\r\n\t\t\t\t\t\t\t\t\tc.calculateValue(this.data);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tconst value = Utils.evaluate(item.value, {\r\n\t\t\t\t\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\t\t\t\t\tinstance: this.formioComponent,\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tc.setValue(value);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tconst components = Utils.searchComponents(this.formioComponent.root.components, {\r\n\t\t\t\t\t\tkey: item.key,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\tif (item.checkConditions) {\r\n\t\t\t\t\t\t\tc.checkConditions();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (item.redraw) {\r\n\t\t\t\t\t\t\tif (c.component.type == 'datetime') c.buildBefore = false;\r\n\t\t\t\t\t\t\tc.redraw(true);\r\n\t\t\t\t\t\t} else if (item.calculateValue) {\r\n\t\t\t\t\t\t\tc.calculateValue(this.data);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tconst value = Utils.evaluate(item.value, {\r\n\t\t\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\t\t\tinstance: this.formioComponent,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tc.setValue(value);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tconvertDateToHijriAndGerg(selectedDate: any): {} {\r\n\t\tconst hijriDate = this.dateHelperService.gregorianToHijri(selectedDate, 'iM/iD/iYYYY');\r\n\r\n\t\treturn {\r\n\t\t\tgregorian: selectedDate,\r\n\t\t\thijri: hijriDate,\r\n\t\t};\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang === 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.forEach((s) => s.unsubscribe());\r\n\t\tthis.subs = [];\r\n\t}\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    {{'ERROR_PAGES.FORBIDDEN' | translate}}

    \r\n

    {{'ERROR_PAGES.NO_PERMISSION' | translate}}

    \r\n \r\n {{'ERROR_PAGES.BACK' | translate}}\r\n \r\n \r\n {{'LAYOUT.LOGOUT' | translate}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    ","\r\n
    \r\n \r\n {{'forms.common.Description Standard' | translate}}\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n {{optionalInput| propertyLocalized : [\"nameAr\", \"nameEn\"] | async}}\r\n \r\n \r\n \r\n
    \r\n {{item.value}}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    ","
    \r\n {{ \"forms.common.Criteria.summary\" | translate }} \r\n \r\n \r\n \r\n\r\n \r\n {{ \"forms.common.Criteria.Member\" | translate }} \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { ResourceDropdownWrapperComponent } from './resource-dropdown-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'resource-dropdown-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'resource-dropdown-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'Resource Dropdown', // Title of the component\r\n};\r\n\r\nexport function registerResourceDropdownWrapperComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, ResourceDropdownWrapperComponent, injector);\r\n}\r\n","\r\n
    \r\n

    {{'forms.common.inicators' | translate}}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n {{'forms.common.indicatorShowSummary' | translate}}\r\n \r\n \r\n\r\n

    \r\n {{ 'forms.common.' + indicator.key | translate}}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import {\r\n\tComponent,\r\n\tInput,\r\n\tViewEncapsulation,\r\n\tOnChanges,\r\n\tSimpleChanges,\r\n\tEventEmitter,\r\n\tOutput,\r\n\tViewChild,\r\n} from '@angular/core';\r\nimport { FormioComponent } from 'dp-formio';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n\tselector: 'app-form-by-key',\r\n\ttemplateUrl: './form-by-key.component.html',\r\n\t// styleUrls: ['./form-by-key.component.scss']\r\n\tencapsulation: ViewEncapsulation.None,\r\n})\r\nexport class FormByKeyComponent {\r\n\t@ViewChild(FormioComponent) formComponent: FormioComponent;\r\n\r\n\t@Input() formKey: string;\r\n\t@Input() submission: any;\r\n\t@Input() readOnly: boolean;\r\n\t@Input() viewOnly: boolean = false;\r\n\t@Input() enableFormSubmit: boolean;\r\n\t@Input() disableFields: string;\r\n\t@Output() onSubmit = new EventEmitter();\r\n\t@Output() onChange = new EventEmitter();\r\n\t@Output() onFormLoad = new EventEmitter();\r\n\t@Output() onCustomEvent = new EventEmitter<{ type: string; data: any, formComponent: FormioComponent }>();\r\n\t@Output() onBeforeSubmit = new EventEmitter();\r\n\r\n\tconstructor() { }\r\n\r\n\tformLoad(formSettings) {\r\n\t\tif (!this.enableFormSubmit || this.readOnly || this.viewOnly)\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tconst array = $(\r\n\t\t\t\t\t`.app-form-by-key [name=\"data[submit]\"],.app-form-by-key [name=\"data[save]\"]`\r\n\t\t\t\t);\r\n\t\t\t\tfor (let index = 0; index < array.length; index++) {\r\n\t\t\t\t\t$(array[index]).hide();\r\n\t\t\t\t}\r\n\t\t\t}, 250);\r\n\r\n\t\tif (this.disableFields)\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis.formComponent.formio.component.properties = {\r\n\t\t\t\t\t...this.formComponent.formio.component.properties,\r\n\t\t\t\t\tdisabled: false,\r\n\t\t\t\t\texcludedFields: this.disableFields,\r\n\t\t\t\t};\r\n\t\t\t\tthis.formComponent.disableCurrentForms();\r\n\t\t\t}, 250);\r\n\r\n\t\tthis.onFormLoad.emit();\r\n\t}\r\n\r\n\tsubmit(submission) {\r\n\t\tthis.onSubmit.emit(submission.submission);\r\n\t}\r\n\r\n\tchange(submission) {\r\n\t\tthis.onChange.emit(submission);\r\n\t}\r\n\tcustomEvent(event) {\r\n\t\tthis.onCustomEvent.emit({ type: event.type, data: event.data, formComponent: this.formComponent });\r\n\t}\r\n\tbeforeSubmit(event) {\r\n\t\tthis.onBeforeSubmit.emit(event);\r\n\t}\r\n}\r\n","import {\r\n\tAfterViewInit,\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport _isEmpty from 'lodash/isEmpty';\r\nimport _isEqual from 'lodash/isEqual';\r\nimport { FormioCustomComponent, FormioComponent, CHARTSTYPES, FormioLoader } from 'dp-formio';\r\n\r\n@Component({\r\n\tselector: 'app-charts-wrapper',\r\n\ttemplateUrl: './charts-wrapper.component.html',\r\n\t// styleUrls: ['./charts-wrapper.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ChartsWrapperComponent\r\n\timplements FormioCustomComponent, OnChanges, AfterViewInit, OnDestroy\r\n{\r\n\t@ViewChild(FormioComponent) formComponent: FormioComponent;\r\n\r\n\tdir: 'rtl' | 'ltr';\r\n\t@Input() required: boolean;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Input() disabled: boolean;\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\r\n\tchartType: string;\r\n\tchartData: any = {};\r\n\tchartLabels: any[] = [];\r\n\tisFOView: boolean;\r\n\tisBOView: boolean;\r\n\taddDelay: boolean;\r\n\tshow: boolean;\r\n\r\n\tpublic get CHARTTYPE(): typeof CHARTSTYPES {\r\n\t\treturn CHARTSTYPES;\r\n\t}\r\n\r\n\tsubscriptions$: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subscriptions$.push(s);\r\n\t}\r\n\r\n\tconstructor(private translateService: TranslateService, public formioLoader: FormioLoader) {\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tif (\r\n\t\t\tchanges &&\r\n\t\t\tchanges.data &&\r\n\t\t\t!_isEmpty(changes.data.currentValue) &&\r\n\t\t\t!_isEqual(changes.data.currentValue, changes.data.previousValue)\r\n\t\t) {\r\n\t\t\tif (\r\n\t\t\t\tthis.customOptions &&\r\n\t\t\t\tthis.customOptions.chartData &&\r\n\t\t\t\tthis.customOptions.chartData.length\r\n\t\t\t) {\r\n\t\t\t\tthis.addDelay = this.customOptions?.addDelay;\r\n\t\t\t\tthis.chartType = this.customOptions.chartType;\r\n\t\t\t\tthis.chartLabels = this.customOptions.labels;\r\n\t\t\t\tthis.fillPieChart();\r\n\t\t\t} else {\r\n\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((data) => {\r\n\t\t\tthis.changeDirection(data.lang);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang == 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\r\n\tfillPieChart() {\r\n\t\tthis.chartData = {\r\n\t\t\tlabels: this.chartLabels.map((q) => this.translateService.instant(q)),\r\n\t\t\tdatasets: [\r\n\t\t\t\t{\r\n\t\t\t\t\tdata: this.customOptions?.chartData,\r\n\t\t\t\t\tbackgroundColor: this.customOptions?.backgroundColor,\r\n\t\t\t\t\thoverBackgroundColor: this.customOptions?.hoverBackgroundColor,\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t};\r\n\r\n\t\tsetTimeout(\r\n\t\t\t() => {\r\n\t\t\t\tthis.show = true;\r\n\t\t\t},\r\n\t\t\tthis.addDelay ? 400 : 0\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subscriptions$.forEach((o) => o.unsubscribe());\r\n\t\tthis.subscriptions$ = [];\r\n\t}\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'tooltip-dialog',\r\n templateUrl: 'tooltip-dialog.component.html',\r\n styleUrls: ['tooltip-dialog.component.scss'],\r\n})\r\nexport class TooltipDialog {\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) { }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close(); \r\n }\r\n\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport {DomSanitizer} from \"@angular/platform-browser\";\r\n\r\n/**\r\n * Generated class for the SafeHtmlPipe pipe.\r\n *\r\n * See https://angular.io/api/core/Pipe for more info on Angular Pipes.\r\n */\r\n@Pipe({\r\n name: 'safeHtml',\r\n})\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n\r\n constructor(private sanitizer:DomSanitizer){}\r\n\r\n transform(html) {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n\r\n}","
    \r\n \r\n
    \r\n
    \r\n
    \r\n {{\r\n category\r\n | propertyLocalized : [\"nameAr\", \"nameEn\"]\r\n | async\r\n }}\r\n
    \r\n

    \r\n {{\r\n category\r\n | propertyLocalized : [\"descriptionAr\", \"descriptionEn\"]\r\n | async\r\n }}\r\n

    \r\n\r\n \r\n
    \r\n \r\n
    \r\n","
    \r\n \r\n
    \r\n\r\n\r\n\r\n
    \r\n \r\n {{'forms.common.a1' | translate}}\r\n \r\n
    \r\n\r\n \r\n \r\n {{ \"forms.common.Criteria.questionCompliance\" | translate }}\r\n \r\n \r\n \r\n {{item.value}}\r\n\r\n \r\n info\r\n \r\n \r\n \r\n \r\n {{\r\n question\r\n | propertyLocalized : [\"errorAr\", \"errorEn\"]\r\n | async\r\n }}\r\n \r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n \r\n {{ \"forms.common.Criteria.Evidence\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n {{ \"forms.common.Criteria.Attachments\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n {{ \"forms.common.Criteria.Notes\" | translate }} \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {{ \"forms.common.Criteria.summaryOfCommendations\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {{ \"forms.common.Criteria.summaryOfSuggestions\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {{ \"forms.common.Criteria.summaryOfRecommendations\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {{ \"forms.common.Criteria.executiveSummary\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {{ \"forms.common.Criteria.Conditions\" | translate }} \r\n \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n","
    \r\n

    \r\n {{\r\n criterion | propertyLocalized : [\"descriptionAr\", \"descriptionEn\"] | async\r\n }}\r\n

    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n {{ item.label }}\r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n","import { Component, Input, OnChanges, OnInit, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { combineLatest, filter, finalize, iif, map, Observable, of, switchMap, takeUntil } from 'rxjs';\r\nimport { CriterionsService } from '../../../services/criterions.service';\r\nimport { AnswerValidator, EditGridRequiredValidator } from '../../../validators';\r\nimport { ICriterion } from '../../../../distribute-team-members/models/criterion';\r\nimport { DecisionInput } from '../../../models/decision-input.model';\r\nimport { CriterionInformation } from '../../../models/criterion-information.mode';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { showToast } from '../../../../toast.helper';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CopyModel } from '../../../models/copy.model';\r\nimport { ExecuteVisitType } from '../../../models/execute-visit.model';\r\nimport { FormioComponent } from 'dp-formio';\r\nimport { CustomEditGridComponent } from 'dp-formio';\r\nimport { ItimadCriterionsService } from '../../../services/itimad-criterions.service';\r\n\r\n@Component({\r\n selector: 'app-question-decision',\r\n templateUrl: './question-decision.component.html',\r\n styleUrls: ['./question-decision.component.scss']\r\n})\r\nexport class QuestionDecisionComponent extends BaseComponent implements OnInit, OnChanges {\r\n @Input() memberId: string;\r\n @Input() decisionPreview: boolean;\r\n @ViewChild(FormioComponent) formioComponent: FormioComponent;\r\n isLoadingResults: boolean;\r\n process$ = this.criterionsService.process$;\r\n question$ = this.criterionsService.questionResult$;\r\n answers$: Observable>;\r\n attachmentFormKey = this.criterionsService.forms.attachmentsFormKey;\r\n form: FormGroup;\r\n\r\n criterion: ICriterion;\r\n decisionInput: DecisionInput;\r\n modelId: number;\r\n\r\n get attachmentsControl() { return this.form.get('attachments'); }\r\n\r\n get isInstitutionEntries() {\r\n return this.decisionInput.executeVisitType == ExecuteVisitType.InstitutionEntries;\r\n }\r\n\r\n get isFinalReportWithInstitutionEntries() {\r\n return this.decisionInput.executeVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries;\r\n }\r\n\r\n get isFinalReport() {\r\n return !this.decisionPreview && (this.decisionInput.executeVisitType == ExecuteVisitType.FinalReport ||\r\n this.decisionInput.executeVisitType == ExecuteVisitType.InstitutionEntries ||\r\n this.decisionInput.executeVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries);\r\n }\r\n\r\n get enabledCopy() {\r\n return !!this.memberId;\r\n }\r\n get isFormDisabled() {\r\n return !this.decisionInput.enableEdit ||\r\n this.enabledCopy ||\r\n this.isInstitutionEntries ||\r\n this.isFinalReportWithInstitutionEntries;\r\n }\r\n\r\n constructor(private formBuilder: FormBuilder,\r\n private criterionsService: CriterionsService,\r\n private itimadCriterionsService: ItimadCriterionsService,\r\n private toastrService: ToastrService,\r\n private translateService: TranslateService) { super(); }\r\n\r\n ngOnInit() {\r\n this.initAnswers();\r\n combineLatest([\r\n this.criterionsService.criterion$\r\n .pipe(filter(data => data.criterionType == 'STICK')),\r\n this.criterionsService.decisionInputs$\r\n ])\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(([criterion, inputs]) => {\r\n this.criterion = criterion;\r\n this.decisionInput = inputs;\r\n this.form?.reset();\r\n this.initForm();\r\n this.registerUpdateFormValidation();\r\n this.getData();\r\n this.registerCopyEvaluation();\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.memberId?.previousValue && changes.memberId?.previousValue != changes.memberId?.currentValue) {\r\n this.getData();\r\n }\r\n }\r\n\r\n copy(controlName: string) {\r\n const value = this.form.controls[controlName].value;\r\n this.criterionsService.sendEvaluation$.next(new CopyModel(controlName, value));\r\n if (controlName == 'termsOfTheRulingWithEvidence') {\r\n this.criterionsService.sendEvaluation$.next(new CopyModel('attachments', this.attachmentsControl.value));\r\n }\r\n }\r\n\r\n submit() {\r\n if (this.form.valid) {\r\n this.isLoadingResults = true;\r\n const value = _cloneDeep(this.form.value);\r\n delete value.question;\r\n\r\n const data: CriterionInformation = {\r\n id: this.modelId,\r\n criterionId: this.criterion.id,\r\n criterionKey: this.criterion.criterionKey,\r\n visitKey: this.decisionInput.visitMetaData.visitKey,\r\n memberId: this.decisionInput.visitMetaData.memberId,\r\n ...value,\r\n isApply: !value.notApply,\r\n evidences: value.attachments.map(item => { return { files: item.file, fileName: item.fileName }; })\r\n };\r\n\r\n of(!!this.modelId)\r\n .pipe(\r\n switchMap((isUpdate) =>\r\n iif(\r\n () => isUpdate,\r\n this.itimadCriterionsService.editCriterionInformation(data, this.isFinalReport),\r\n this.itimadCriterionsService.createCriterionInformation(data, this.isFinalReport)\r\n )\r\n ),\r\n finalize(() => this.isLoadingResults = false)\r\n )\r\n .subscribe(model => {\r\n this._updateForm(model);\r\n this.criterionsService.decisionTaken$.next();\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Saved done\"),\r\n this.translateService.instant(\"forms.common.Criteria.Saved Successfully\"),\r\n false\r\n );\r\n });\r\n }\r\n }\r\n\r\n registerFormioEvent(formSettings: any) {\r\n this.attachmentsControl.updateValueAndValidity();\r\n this.formioComponent.formio.events.on('formio.change', (event) => {\r\n if (event.changed?.instance instanceof CustomEditGridComponent)\r\n this.attachmentsControl.updateValueAndValidity();\r\n });\r\n }\r\n\r\n private initForm() {\r\n this.form = this.formBuilder.group({\r\n question: [this.question$],\r\n notes: [{ value: '', disabled: this.isFormDisabled }],\r\n conditions: [{ value: '', disabled: this.isFormDisabled }],\r\n notApply: [{ value: false, disabled: this.isFormDisabled }],\r\n reviewerEvaluation: [{ value: '', disabled: this.isFormDisabled }],\r\n termsOfTheRulingWithEvidence: [{ value: '', disabled: this.isFormDisabled }, [Validators.required]],\r\n attachments: [[], [Validators.required, EditGridRequiredValidator]],\r\n summaryOfRecommendations: [{ value: '', disabled: this.isFormDisabled }, [Validators.required]],\r\n summaryOfCommendations: [{ value: '', disabled: this.isFormDisabled }, [Validators.required]],\r\n summaryOfSuggestions: [{ value: '', disabled: this.isFormDisabled }, [Validators.required]],\r\n executiveSummary: [{ value: '', disabled: this.isFormDisabled }, [Validators.required]],\r\n }, {\r\n validators: [AnswerValidator()]\r\n });\r\n }\r\n private registerUpdateFormValidation() {\r\n const controls = ['termsOfTheRulingWithEvidence', 'summaryOfRecommendations', 'summaryOfCommendations', 'summaryOfSuggestions', 'executiveSummary'];\r\n this.form.controls.notApply.valueChanges.subscribe(checked => {\r\n controls.forEach(key => {\r\n if (!checked) {\r\n this.form.get(key).setValidators([Validators.required]);\r\n } else {\r\n this.form.get(key).clearValidators();\r\n }\r\n this.form.get(key).updateValueAndValidity();\r\n });\r\n });\r\n this.form.controls.termsOfTheRulingWithEvidence.valueChanges.subscribe(value => {\r\n if (!!value) {\r\n this.attachmentsControl.setValidators([Validators.required, EditGridRequiredValidator]);\r\n } else {\r\n this.attachmentsControl.setValue([]);\r\n this.attachmentsControl.clearValidators();\r\n }\r\n this.attachmentsControl.updateValueAndValidity();\r\n });\r\n }\r\n\r\n private initAnswers() {\r\n this.answers$ = combineLatest([this.question$, this.criterionsService.process$])\r\n .pipe(\r\n filter(([question, process]) => !!question && !!process),\r\n map(([question, process]) => {\r\n if (process.answerMaxScore) {\r\n const generalToolTip = question.answerTooltip ? question.answerTooltip.find(q => !q.score) : { tooltip: '' };\r\n return Array.from({ length: process.answerMaxScore }, (_, i) => {\r\n const answerTooltip = generalToolTip ?? question.answerTooltip.find(q => q.score == i + 1);\r\n return {\r\n value: `${i + 1}`,\r\n tooltipAr: answerTooltip?.tooltipAr,\r\n tooltipEn: answerTooltip?.tooltipEn,\r\n hasTooltip: !!answerTooltip?.tooltipAr || !!answerTooltip?.tooltipEn\r\n }\r\n });\r\n }\r\n }));\r\n }\r\n\r\n private getData() {\r\n this.isLoadingResults = true;\r\n this.itimadCriterionsService.getCriterionInformation(\r\n this.decisionInput.visitMetaData.visitKey,\r\n this.criterion.criterionKey,\r\n this.memberId || this.decisionInput.currentMemberId,\r\n this.isFinalReport)\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => this.isLoadingResults = false)\r\n )\r\n .subscribe(criterionInformation => {\r\n this._updateForm(criterionInformation);\r\n });\r\n }\r\n private _updateForm(data: CriterionInformation) {\r\n this.modelId = data?.id;\r\n this.form.patchValue({\r\n notes: data?.notes,\r\n conditions: data?.conditions,\r\n notApply: !data?.isApply,\r\n reviewerEvaluation: data?.reviewerEvaluation?.toString(),\r\n termsOfTheRulingWithEvidence: data?.termsOfTheRulingWithEvidence,\r\n attachments: data?.evidences?.map(item => { return { file: item.files, fileName: item.fileName }; }) || [],\r\n summaryOfRecommendations: data?.summaryOfRecommendations,\r\n summaryOfCommendations: data?.summaryOfCommendations,\r\n summaryOfSuggestions: data?.summaryOfSuggestions,\r\n executiveSummary: data?.executiveSummary\r\n });\r\n }\r\n\r\n private registerCopyEvaluation() {\r\n if (!this.enabledCopy)\r\n this.criterionsService.sendEvaluation$\r\n .pipe(\r\n filter(data => !!data),\r\n takeUntil(this.destroy$),\r\n )\r\n .subscribe(data => {\r\n if (data.key == 'attachments') {\r\n data.value?.forEach(item => {\r\n item.file?.forEach(file => {\r\n delete file.id;\r\n });\r\n });\r\n }\r\n this.form.patchValue({\r\n [data.key]: data.value\r\n });\r\n });\r\n\r\n }\r\n\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { finalize, takeUntil } from 'rxjs';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { Category } from '../../../models/category.model';\r\nimport { CriterionsService } from '../../../services/criterions.service';\r\n\r\n@Component({\r\n selector: 'app-masar-criteria-preview',\r\n templateUrl: './masar-criteria-preview.component.html',\r\n styleUrls: ['./masar-criteria-preview.component.scss']\r\n})\r\nexport class MasarCriteriaPreviewComponent extends BaseComponent implements OnInit {\r\n isLoadingResults = false;\r\n category$: Observable;\r\n\r\n constructor(private criterionsService: CriterionsService) { super(); }\r\n\r\n ngOnInit(): void {\r\n this.criterionsService.criterion$\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((data) => {\r\n this.getCategory(data.submissionId);\r\n });\r\n }\r\n\r\n private getCategory(criterionId: string) {\r\n this.isLoadingResults = true;\r\n this.category$ = this.criterionsService.getCategory(criterionId)\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => {\r\n this.isLoadingResults = false;\r\n })\r\n );\r\n }\r\n\r\n}\r\n","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn-bd\": \"loYQ\",\n\t\"./bn-bd.js\": \"loYQ\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-mx\": \"tbfe\",\n\t\"./es-mx.js\": \"tbfe\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tk\": \"Wv91\",\n\t\"./tk.js\": \"Wv91\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"RnhZ\";","import { ViewChild } from '@angular/core';\r\nimport { Inject } from '@angular/core';\r\nimport { Component } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\ndeclare var $: any;\r\n@Component({\r\n\tselector: 'reject-reason-org-item',\r\n\ttemplateUrl: 'reject-reason-org-item.component.html',\r\n\tstyleUrls: ['./reject-reason-org-item.component.scss'],\r\n})\r\nexport class RejectReasonOrgItem {\r\n\r\n\tconstructor(public dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: any) {\r\n\t}\r\n\tngOnInit(): void {\r\n\t}\r\n\r\n\tclose() {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\r\n\tsave() {\r\n\t\tthis.dialogRef.close(this.data.reason);\r\n\t}\r\n}\r\n","import { Component, Injector, ViewEncapsulation, OnInit } from '@angular/core';\r\nimport { KeycloakService } from 'keycloak-angular';\r\nimport { UserService } from 'dp-formio';\r\nimport { BaseComponent } from 'src/app/shared/components/base.component';\r\n\r\n@Component({\r\n selector: 'app-formio-demo',\r\n templateUrl: './formio-demo.component.html',\r\n styleUrls: ['./formio-demo.component.scss'],\r\n})\r\n\r\nexport class FormioDemoComponent extends BaseComponent implements OnInit {\r\n formKey: string;\r\n submission: any = {};\r\n extraOptions: any;\r\n\r\n formReady = false;\r\n\r\n constructor(public injector: Injector,\r\n private userService: UserService,\r\n private keycloak: KeycloakService) { super(injector); }\r\n\r\n async ngOnInit(): Promise {\r\n const isLoggedIn = await this.keycloakService.isLoggedIn();\r\n const etecData = await this.userService.getUserData(isLoggedIn ? await this.keycloak.getToken() : null);\r\n const params = this.route.snapshot.params;\r\n this.extraOptions = this.route.snapshot.queryParams;\r\n\r\n this.formKey = params.formKey;\r\n this.submission.data = { ...etecData, ...this.extraOptions };\r\n this.formReady = true;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform, NgZone, ChangeDetectorRef, OnDestroy } from '@angular/core';\r\nimport * as moment from 'moment';\r\n@Pipe({\r\n name: 'displayTime',\r\n pure: false\r\n})\r\nexport class DisplayTimePipe implements PipeTransform {\r\n constructor() { }\r\n transform(value: string, format: string) {\r\n if (!value || !format) return '';\r\n moment.locale('en');\r\n return moment(value, 'hh:mm').format('hh:mm A')\r\n }\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { IndicatorsWrapperComponent } from './indicators-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'indicators-wrapper', // custom type. Formio will identify the field with this type.\r\n selector: 'indicators-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'indicators', // Title of the component\r\n // template: 'input', // Optional: define a template for the element. Default: input\r\n // changeEvent: 'valueChange', // Optional: define the changeEvent when the formio updates the value in the state. Default: 'valueChange',\r\n // editForm: Components.components.textfield.editForm, // Optional: define the editForm of the field. Default: the editForm of a textfield\r\n // documentation: '', // Optional: define the documentation of the field\r\n // weight: 0, // Optional: define the weight in the builder group\r\n // schema: {}, // Optional: define extra default schema for the field\r\n // extraValidators: [], // Optional: define extra validators for the field\r\n // emptyValue: null, // Optional: the emptyValue of the field\r\n // fieldOptions: ['values'], // Optional: explicit field options to get as `Input` from the schema (may edited by the editForm)\r\n};\r\n\r\nexport function registerIndicatorsComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, IndicatorsWrapperComponent, injector);\r\n}\r\n","import { Directive, Optional, Self } from '@angular/core';\r\nimport { DefaultFlexDirective } from '@angular/flex-layout';\r\n\r\n@Directive({\r\n selector: '[appSplitArea]'\r\n})\r\nexport class SplitAreaDirective {\r\n constructor(@Optional() @Self() public flex: DefaultFlexDirective) {\r\n }\r\n}\r\n","import { Component, Injector, ViewEncapsulation } from '@angular/core';\r\nimport { BaseComponent } from './shared/components/base.component';\r\nimport { Utils } from 'formiojs';\r\nimport {\r\n\tregisterAssessmentComponent,\r\n\tregisterChartsWrapperComponent,\r\n\tregisterClassificationIndicatorsComponent,\r\n\tregisterEditgridResourceComponent,\r\n\tregisterEventTreeComponent,\r\n\tregisterFormKeyWrapperComponent,\r\n\tregisterGroupedTableComponent,\r\n\tregisterHijriDateComponent,\r\n\tregisterIndicatorsComponent,\r\n\tregisterMapComponent,\r\n\tregisterMasterDetailsResourceComponent,\r\n\tregisterPDFWrapperComponent,\r\n\tregisterProccessRequirmentsComponent,\r\n\tregisterRatingWrapperComponent,\r\n\tregisterRedirectionButtonComponent,\r\n\tregisterResourceDropdownWrapperComponent,\r\n\tregisterStepperComponent,\r\n\tregisterTableTreeComponent,\r\n\tregisterTableViewWrapperComponent,\r\n\tregisterTemplateComponent,\r\n\tregisterCalenderWrapperComponent,\r\n\tregisterOrgWrapperComponent,\r\n\tregisterHtmlEditorComponent,\r\n\tregisterExecuteVisitComponent,\r\n\tregisterVisitScheduleComponent,\r\n\tregisterResourceAutocompleteWrapperComponent,\r\n\tregisterCardWrapperComponent,\r\n\tregisterDynamicChartWrapperComponent,\r\n\tregisterReviewingEvaluationComponent,\r\n} from 'src/formio-custom-components/src/public-api';\r\n\r\nimport { NavigationStart } from '@angular/router';\r\nimport { forkJoin, of } from 'rxjs';\r\nimport { filter, map } from 'rxjs/operators';\r\nimport { ViewportScroller } from '@angular/common';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n\tselector: 'app-root',\r\n\ttemplateUrl: './app.component.html',\r\n\t// styleUrls: ['./app.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AppComponent extends BaseComponent {\r\n\tfullPage$ = of(false);\r\n\twindowScrolled = false;\r\n\tbackToTop = environment.backToTop;\r\n\r\n\tconstructor(public injector: Injector, private viewportScroller: ViewportScroller) {\r\n\t\tsuper(injector);\r\n\t\tthis._registerCustomComponents(injector);\r\n\t\tthis.fullPage$ = this.router.events.pipe(\r\n\t\t\tfilter((event) => event instanceof NavigationStart),\r\n\t\t\tmap((event: NavigationStart) => event?.url.includes('reset-password'))\r\n\t\t);\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.registerCustomScript();\r\n\t\tthis.registerMatmomScript();\r\n\t\twindow.addEventListener('scroll', () => {\r\n\t\t\tthis.windowScrolled = window.pageYOffset !== 0;\r\n\t\t});\r\n\t}\r\n\r\n\tprivate _registerCustomComponents(injector) {\r\n\t\tregisterTableTreeComponent(injector);\r\n\t\tregisterAssessmentComponent(injector);\r\n\t\tregisterTemplateComponent(injector);\r\n\t\tregisterMasterDetailsResourceComponent(injector);\r\n\t\tregisterProccessRequirmentsComponent(injector);\r\n\t\tregisterMapComponent(injector);\r\n\t\tregisterIndicatorsComponent(injector);\r\n\t\tregisterHijriDateComponent(injector);\r\n\t\tregisterFormKeyWrapperComponent(injector);\r\n\t\tregisterEditgridResourceComponent(injector);\r\n\t\tregisterGroupedTableComponent(injector);\r\n\t\tregisterStepperComponent(injector);\r\n\t\tregisterRedirectionButtonComponent(injector);\r\n\t\tregisterTableViewWrapperComponent(injector);\r\n\t\tregisterPDFWrapperComponent(injector);\r\n\t\tregisterRatingWrapperComponent(injector);\r\n\t\tregisterChartsWrapperComponent(injector);\r\n\t\tregisterClassificationIndicatorsComponent(injector);\r\n\t\tregisterResourceDropdownWrapperComponent(injector);\r\n\t\tregisterEventTreeComponent(injector);\r\n\t\tregisterCalenderWrapperComponent(injector);\r\n\t\tregisterOrgWrapperComponent(injector);\r\n\t\tregisterHtmlEditorComponent(injector);\r\n\t\tregisterExecuteVisitComponent(this.injector);\r\n\t\tregisterVisitScheduleComponent(injector);\r\n\t\tregisterResourceAutocompleteWrapperComponent(injector);\r\n\t\tregisterCardWrapperComponent(injector);\r\n\t\tregisterDynamicChartWrapperComponent(injector);\r\n\t\tregisterReviewingEvaluationComponent(injector);\r\n\t}\r\n\r\n\tscrollTo(elementId) {\r\n\t\tthis.viewportScroller.scrollToAnchor(elementId);\r\n\t}\r\n\r\n\tprivate registerCustomScript() {\r\n\t\tif (environment.enableFormioHelpers) {\r\n\t\t\tconst script = window.document.createElement('script');\r\n\t\t\tscript.src = 'assets/js/formio-helpers.js';\r\n\t\t\tscript.type = 'module';\r\n\t\t\twindow.document.body.appendChild(script);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate registerMatmomScript() {\r\n\t\tif (environment.matomoConfig?.enable) {\r\n\t\t\tforkJoin([\r\n\t\t\t\tthis.configService.getFile(`/assets/js/matomo/matomo.js`),\r\n\t\t\t\tthis.configService.getFile(`/assets/js/matomo/matomo-noscript.js`),\r\n\t\t\t]).subscribe(([jsRaw, otherRaw]) => {\r\n\t\t\t\tconst userId = this.sessionService.getUsername();\r\n\t\t\t\tconst jsContent = Utils.interpolate(jsRaw, {\r\n\t\t\t\t\tconfig: environment.matomoConfig,\r\n\t\t\t\t\tuserId: userId || 'guest',\r\n\t\t\t\t});\r\n\t\t\t\tconst script = window.document.createElement('script');\r\n\t\t\t\tscript.append(jsContent);\r\n\t\t\t\twindow.document.body.appendChild(script);\r\n\r\n\t\t\t\tconst otherContent = Utils.interpolate(otherRaw, { config: environment.matomoConfig });\r\n\t\t\t\tconst noscript = window.document.createElement('noscript');\r\n\t\t\t\tnoscript.append(otherContent);\r\n\t\t\t\twindow.document.body.appendChild(noscript);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n}\r\n","\r\n
    \r\n\t\r\n\t\r\n
    \r\n","import { CalendarOptions } from '@fullcalendar/core';\r\n\r\nexport const DEFAULT_OPTIONS: CalendarOptions = {\r\n\tbuttonIcons: {\r\n\t\tclose: 'times',\r\n\t\tprev: 'chevron-left',\r\n\t\tnext: 'chevron-right',\r\n\t\tprevYear: 'angle-double-left',\r\n\t\tnextYear: 'angle-double-right',\r\n\t},\r\n\tinitialView: 'timeGridWeek',\r\n\tnowIndicator: true,\r\n\tthemeSystem: 'bootstrap',\r\n\tselectable: false,\r\n\tselectMirror: false,\r\n\teditable: false,\r\n\tdayMaxEvents: true,\r\n\teventMinHeight: 30,\r\n\tweekNumbers: true,\r\n\tnavLinks: true,\r\n\t// slotDuration: '00:30:00',\r\n\t// slotMinTime: '07:00:00',\r\n\t// slotMaxTime: '22:30:00',\r\n\tdayMaxEventRows: 3, // not working with height auto\r\n};\r\n","
    \r\n \r\n \r\n
    \r\n \r\n \r\n {{(decisionInputs.isMasar ? 'forms.common.Criteria.facilityEntries' :\r\n 'forms.common.Criteria.institutionEntries') | translate}}\r\n \r\n \r\n {{'forms.common.Criteria.membersEntries' | translate}}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    ","import { QuestionConfig } from './../models/config.model';\r\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewEncapsulation } from \"@angular/core\";\r\n\r\n\r\n@Component({\r\n selector: 'app-question-card',\r\n templateUrl: './question-card.component.html',\r\n // styleUrls: ['./question-card.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class QuestionCardComponent implements OnChanges {\r\n @Input() dir: 'ltr'| 'rtl';\r\n @Input() selectedId: string;\r\n @Input() question: QuestionConfig;\r\n @Output() selectQuestion = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes?.question?.currentValue)\r\n this.question = changes.question.currentValue;\r\n }\r\n\r\n onSelectQuestion() {\r\n this.selectQuestion.emit();\r\n }\r\n\r\n get hitIcons() {\r\n const rawResult = [];\r\n if (this.question.hasNotes) rawResult.push(``);\r\n if (this.question.hasLink) rawResult.push(``);\r\n if (this.question.hasAttachments) rawResult.push(``);\r\n if (this.question.hasPledgeAndAcknowledgment) rawResult.push(``);\r\n if (this.question.isRequired) rawResult.push(`*`);\r\n return rawResult.join(' | ');\r\n }\r\n}","
    \r\n
    \r\n \r\n
    \r\n
    \r\n","\r\n
    \r\n\t\r\n
    ","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { DynamicChartWrapperComponent } from './dynamic-chart-wrapper.component';\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'dynamic-chart', // custom type. Formio will identify the field with this type.\r\n\tselector: 'dynamic-chart', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'Dynamic Chart', // Title of the component\r\n};\r\n\r\nexport function registerDynamicChartWrapperComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, DynamicChartWrapperComponent, injector);\r\n}\r\n","\r\n\r\nexport class ExecutivePlan {\r\n clause?: string;\r\n endDate?: Date;\r\n id?: number;\r\n responsibleName?: string;\r\n responsiblePosition?: string;\r\n startDate?: Date;\r\n visitId?: number;\r\n visitKey?: string;\r\n requiredResources?: string;\r\n expectedOutputs?: string;\r\n evidences?: any[];\r\n\r\n deleted: boolean;\r\n}","
    \r\n \r\n \r\n \r\n
    \r\n \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n storage\r\n
    \r\n {{ \"forms.common.No items added yet\" | translate }}\r\n
    \r\n \r\n \r\n \r\n {{ \"forms.common.No items added yet\" | translate }}\r\n \r\n \r\n

    \r\n {{ \"forms.common.You must add at least one item\" | translate }}\r\n

    \r\n \r\n\r\n \r\n \r\n
    \r\n \r\n \r\n more_vert\r\n \r\n {{\r\n col?.icon || \"text_fields\"\r\n }}\r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n {{ file.originalName }}\r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n {{\r\n item.data[col.key + \"Evaluated\"]\r\n | date : col.dateFormat\r\n }}\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    {{ item.data[col.key + \"Evaluated\"] }}
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n {{ \"forms.common.Details\" | translate }}\r\n \r\n \r\n \r\n {{ \"forms.common.Edit\" | translate }}\r\n \r\n \r\n \r\n {{ \"forms.common.delete\" | translate }}\r\n \r\n \r\n\r\n \r\n \r\n {{ action.label | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {{ col.label }}\r\n \r\n \r\n {{ \"forms.common.\" + col.label | translate }}\r\n \r\n
    \r\n \r\n
    \r\n \r\n {{ col.key }}\r\n \r\n \r\n {{ \"forms.common.\" + col.key | translate }}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n {{ file.originalName }}\r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n {{\r\n item.data[col.key + \"Evaluated\"]\r\n | date : col.dateFormat\r\n }}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    {{ item.data[col.key + \"Evaluated\"] }}
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n {{ state.page + 1 }} {{ \"forms.common.From\" | translate }}\r\n {{ state.pageCount }}\r\n
    \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n drag_indicator\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormIOSkeletonComponent } from './skeleton.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [FormIOSkeletonComponent],\r\n imports: [CommonModule],\r\n exports: [FormIOSkeletonComponent],\r\n})\r\nexport class FormIoSkeletonModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { BaseComponent } from '../../base.component';\r\nimport { CriterionsService } from '../../services/criterions.service';\r\n\r\n@Component({\r\n selector: 'app-masar-criterion-decision',\r\n templateUrl: './masar-criterion-decision.component.html',\r\n styleUrls: ['./masar-criterion-decision.component.scss']\r\n})\r\nexport class MasarCriterionDecisionComponent extends BaseComponent implements OnInit {\r\n criterion$ = this.criterionsService.criterion$;\r\n decisionInputs$ = this.criterionsService.decisionInputs$;\r\n\r\n constructor(private criterionsService: CriterionsService) { super(); }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export * from './questions-container/questions-container-side.component';\r\nexport * from './questions-container/questions-container.component';\r\nexport * from './questions-list/questions-list.component';\r\nexport * from './questions-resource-list/questions-resource-list.component';\r\nexport * from './users-sessions-dialog/users-sessions-dialog.component';\r\n","\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { ProcessConfig, QuestionConfig, StatusConfig } from './../models/config.model';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, QueryList, SimpleChanges, ViewChildren, ViewEncapsulation } from \"@angular/core\";\r\nimport { TooltipDialog } from '../tooltip-dialog/tooltip-dialog.component';\r\nimport { Subscription } from 'rxjs';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { showToast } from '../../toast.helper';\r\nimport { FormioLoader, ResourceNameService } from 'dp-formio';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-question-content',\r\n templateUrl: './question-content.component.html',\r\n // styleUrls: ['./question-content.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader]\r\n})\r\nexport class QuestionContentComponent implements OnInit, OnChanges, OnDestroy {\r\n @ViewChildren('forms') forms: QueryList;\r\n @Input() orginalQuestion: QuestionConfig;\r\n @Input() processConfig: ProcessConfig;\r\n @Input() viewOnly: boolean;\r\n @Input() customOptions: any;\r\n @Input() dir;\r\n @Output() questionChanged = new EventEmitter();\r\n @Output() loading = new EventEmitter();\r\n showForm = true;\r\n formReady = true;\r\n question: QuestionConfig;\r\n\r\n answerArray: Array<{ value: string, tooltip: string }> = [];\r\n linkPattern = /[(http(s)?):\\/\\/(www\\.)?a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/i;\r\n\r\n sub: Subscription;\r\n\r\n constructor(private dialog: MatDialog,\r\n public formioLoader: FormioLoader,\r\n private resourceNameService: ResourceNameService,\r\n private toastrService: ToastrService,\r\n private translateService: TranslateService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.formioLoader.loading = false;\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.orginalQuestion) {\r\n this.question = _cloneDeep(this.orginalQuestion);\r\n this.initAnswers();\r\n }\r\n }\r\n ngOnDestroy() {\r\n this.sub?.unsubscribe();\r\n }\r\n\r\n anwserChange(value) {\r\n this.question.value = `${value}`;\r\n }\r\n\r\n showDialog(message: string) {\r\n const dialogRef = this.dialog.open(TooltipDialog, {\r\n width: '80%',\r\n data: {\r\n dir: this.dir,\r\n message: this.translateService.instant(message)\r\n }\r\n });\r\n }\r\n\r\n changeApply() {\r\n if (this.question.notApply) {\r\n this.question.value = '';\r\n this.question.linkValue = '';\r\n this.question.notesValue = '';\r\n this.question.pledgeValue = false;\r\n\r\n this.question?.attachments?.forEach(q => q.data = []);\r\n this.question?.evaluationItems?.forEach(q => q.score = '');\r\n }\r\n this.showForm = false;\r\n this.formReady = false;\r\n setTimeout(() => this.formReady = true);\r\n }\r\n\r\n formLoad(formSettings) {\r\n setTimeout(() => {\r\n const array = $('.question-content [name=\"data[submit]\"]');\r\n for (let index = 0; index < array.length; index++) {\r\n $(array[index]).hide();\r\n }\r\n this.showForm = true;\r\n }, 250);\r\n }\r\n\r\n saveQuestion() {\r\n this.question.status = StatusConfig.Complete;\r\n this.formioLoader.loading = true;\r\n this.loading.emit(true);\r\n\r\n this.sub = this.resourceNameService.editSubmission(this.customOptions.questionsResource,\r\n this.question._id, { data: this.mapQuestion() })\r\n .subscribe(data => {\r\n this.formioLoader.loading = false;\r\n this.questionChanged.emit(this.question);\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n this.loading.emit(false);\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"ErrorOccurred\"),\r\n this.translateService.instant(\"generalError\"),\r\n true\r\n );\r\n });\r\n }\r\n\r\n private initAnswers() {\r\n if (this.processConfig?.answerMaxScore) {\r\n const generalToolTip = this.question.answerTooltip ? this.question.answerTooltip.find(q => !q.score) : { tooltip: '' };\r\n this.answerArray = Array.from({ length: this.processConfig.answerMaxScore }, (_, i) => {\r\n return {\r\n value: `${i + 1}`,\r\n tooltip: generalToolTip?.tooltip ?? this.question.answerTooltip.find(q => q.score == i + 1)?.tooltip\r\n }\r\n });\r\n }\r\n }\r\n\r\n private mapQuestion() {\r\n const question = _cloneDeep(this.question);\r\n question.evaluationItems?.forEach(q => q.score = `${q.score}`);\r\n delete question.parentCategoryObject;\r\n delete question._id;\r\n return question;\r\n }\r\n}","import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';\r\nimport { CriterionsService } from '../../services/criterions.service';\r\n\r\n@Directive({\r\n selector: '[allowedSummaryType]'\r\n})\r\nexport class AllowedSummaryTypeDirective {\r\n @Input('allowedSummaryType') values: string[];\r\n\r\n constructor(private el: ElementRef,\r\n private renderer: Renderer2,\r\n private criterionsService: CriterionsService) { }\r\n\r\n ngOnInit() {\r\n this.criterionsService.decisionInputs$.subscribe((decisionInputs) => {\r\n if (!this.values.some(q => q == decisionInputs.evaluatedSummaryType)) {\r\n this.renderer.setStyle(this.el.nativeElement, 'display', 'none');\r\n }\r\n });\r\n }\r\n}","import {\r\n Component,\r\n EventEmitter,\r\n Injector,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { LangChangeEvent } from '@ngx-translate/core';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport {\r\n BehaviorSubject,\r\n Observable,\r\n catchError,\r\n filter,\r\n map,\r\n startWith,\r\n switchMap,\r\n takeUntil,\r\n throwError,\r\n} from 'rxjs';\r\nimport { FormioCustomComponent, FormioEvent } from 'dp-formio';\r\nimport { VisitInfoModel } from '../../../shared/model';\r\nimport { removeEmpty } from '../../../shared/utility';\r\nimport { ComponentBase } from './base';\r\nimport { UsersSessionsDialogComponent } from './components';\r\nimport { CommonQuestionModel, FormDialogData, ResourceQuestion } from './models';\r\n@Component({\r\n selector: 'app-distribute-common-questions',\r\n templateUrl: './distribute-common-questions.component.html',\r\n styleUrls: ['./distribute-common-questions.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class DistributeCommonQuestionsComponent\r\n extends ComponentBase\r\n implements FormioCustomComponent, OnInit, OnChanges\r\n{\r\n dir: 'rtl' | 'ltr';\r\n\r\n private _value: any = null;\r\n @Input()\r\n public set value(v) {\r\n this._value = v;\r\n }\r\n public get value() {\r\n return this._value;\r\n }\r\n\r\n formioEvent?: EventEmitter;\r\n\r\n @Input() data: any;\r\n @Input() customOptions: any;\r\n @Input() formioComponent: any;\r\n\r\n @Output() valueChange = new EventEmitter();\r\n\r\n selectedQuestion: CommonQuestionModel = null;\r\n sideOpened = false;\r\n visitInfoSub = new BehaviorSubject(null);\r\n visitInfo$ = this.visitInfoSub.asObservable();\r\n\r\n /**\r\n *\r\n */\r\n constructor(public injector: Injector) {\r\n super(injector);\r\n (this.translateService.onLangChange as Observable)\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n startWith({\r\n lang: this.translateService.currentLang,\r\n }),\r\n map((lang) => (lang.lang == 'ar' ? 'rtl' : 'ltr'))\r\n )\r\n .subscribe((res) => {\r\n this.dir = res;\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes?.data || changes?.value) {\r\n this._getVisitInfo(this.data);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.questionsStore.questionsStore$\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((res) => {\r\n this.updateValue(res);\r\n });\r\n }\r\n\r\n addQuestion(resourceQuestion: ResourceQuestion) {\r\n const visit = this.visitInfoSub.getValue();\r\n const _data: CommonQuestionModel = {\r\n answer: '',\r\n questionKey: resourceQuestion.key,\r\n questionText: resourceQuestion.question,\r\n visitKey: visit.key,\r\n visitId: visit.id,\r\n phase: visit?.phase,\r\n sessions: [],\r\n };\r\n\r\n const dialog = this.dialog.open(\r\n UsersSessionsDialogComponent,\r\n {\r\n width: 'min(80%, 700px)',\r\n panelClass: 'users-dialog',\r\n direction: this.dir,\r\n data: {\r\n visitKey: visit.key,\r\n question: _data,\r\n mode: 'add',\r\n },\r\n }\r\n );\r\n dialog\r\n .afterClosed()\r\n .pipe(\r\n filter(Boolean),\r\n takeUntil(this.destroy$),\r\n switchMap((data: CommonQuestionModel) => {\r\n const payload = removeEmpty(data);\r\n return this.questionsService.createQuestion(payload);\r\n })\r\n )\r\n .subscribe((res) => {\r\n this.questionsStore.pushToStore(res);\r\n });\r\n }\r\n\r\n closeQuestion() {\r\n this.selectedQuestion = null;\r\n this.sideOpened = false;\r\n }\r\n\r\n editQuestion(question: CommonQuestionModel) {\r\n const visit = this.visitInfoSub.getValue();\r\n const dialog = this.dialog.open(\r\n UsersSessionsDialogComponent,\r\n {\r\n width: 'min(80%, 700px)',\r\n panelClass: 'users-dialog',\r\n direction: this.dir,\r\n data: {\r\n visitKey: visit.key,\r\n question: question,\r\n mode: 'edit',\r\n },\r\n }\r\n );\r\n dialog\r\n .afterClosed()\r\n .pipe(\r\n filter(Boolean),\r\n takeUntil(this.destroy$),\r\n switchMap((data: CommonQuestionModel) => {\r\n const payload = removeEmpty(data);\r\n return this.questionsService.updateQuestion(payload);\r\n })\r\n )\r\n .subscribe((res) => {\r\n this.questionsStore.refreshStore();\r\n this._showSuccessAlert();\r\n });\r\n }\r\n\r\n deleteQuestion(question: CommonQuestionModel) {\r\n this._confirmDialog({\r\n confirmText: this.translateService.instant('forms.common.delete'),\r\n description: this.translateService.instant(\r\n 'forms.common.deleteCommonQuestionMessage'\r\n ),\r\n })\r\n .afterClosed()\r\n .pipe(\r\n filter(Boolean),\r\n switchMap((_) => {\r\n return this.questionsService.deleteQuestion(question?.id);\r\n }),\r\n catchError((error) => {\r\n this._showErrorAlert();\r\n return throwError(() => error);\r\n })\r\n )\r\n .subscribe((res) => {\r\n this.questionsStore.removeFromStore(question?.id);\r\n });\r\n }\r\n\r\n openQuestion(question: CommonQuestionModel) {\r\n this.selectedQuestion = question;\r\n this.sideOpened = true;\r\n }\r\n\r\n updateValue(payload) {\r\n this.value = _cloneDeep(payload);\r\n this.valueChange.emit(payload);\r\n }\r\n\r\n private _getVisitInfo(value: Record) {\r\n const data = this.data?.requestDetails?.data;\r\n const key = data?.projectKey || value?.projectKey;\r\n if (key) {\r\n this.questionsService\r\n .getVisitInfo(key)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((res) => {\r\n this.visitInfoSub.next({\r\n ...this.visitInfoSub.getValue(),\r\n key: res.visitKey,\r\n id: res.id,\r\n requestId: res.requestId,\r\n number: res.visitNumber,\r\n phase: res.phase,\r\n visitType: res?.visitType,\r\n });\r\n });\r\n }\r\n }\r\n}\r\n","
    ","
    \r\n\t\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t'NAV.SERVICES_CATALOG' | translate\r\n\t\t\t\t\t\t\t\t}}\r\n\r\n\t\t\t\t\t\t\t{{ 'NAV.MENULIST' |\r\n\t\t\t\t\t\t\t\ttranslate }}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t'NAV.MY_REQUESTS' | translate\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t{{ 'NAV.QUERY_REQUEST' | translate }}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
      \r\n\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t{{ 'LAYOUT.LOGIN' | translate }}\r\n\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t
    • \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
    \r\n\t
    \r\n
    ","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { RedirectionButtonWrapperComponent } from './redirection-button-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'redirection-button-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'redirection-button-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'Redirection Button', // Title of the component\r\n};\r\n\r\nexport function registerRedirectionButtonComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, RedirectionButtonWrapperComponent, injector);\r\n}\r\n","\r\n","
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n","import { Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { animationFrameScheduler, BehaviorSubject, combineLatest, interval } from 'rxjs';\r\nimport { distinctUntilChanged, endWith, map, switchMap, takeUntil, takeWhile } from 'rxjs';\r\nimport { Destroy } from '../observables/destroy';\r\n\r\nconst easeOutQuad = (x: number): number => x * (2 - x);\r\n\r\n@Directive({\r\n selector: '[countUp]',\r\n providers: [Destroy],\r\n})\r\nexport class CountUpDirective implements OnInit {\r\n private readonly count$ = new BehaviorSubject(0);\r\n private readonly duration$ = new BehaviorSubject(1000);\r\n\r\n private readonly currentCount$ = combineLatest([\r\n this.count$,\r\n this.duration$,\r\n ]).pipe(\r\n switchMap(([count, duration]) => {\r\n const startTime = animationFrameScheduler.now();\r\n return interval(0, animationFrameScheduler).pipe(\r\n map(() => animationFrameScheduler.now() - startTime),\r\n map((elapsedTime) => elapsedTime / duration),\r\n takeWhile((progress) => progress <= 1),\r\n map(easeOutQuad),\r\n map((progress) => Math.round(progress * count)),\r\n endWith(count),\r\n distinctUntilChanged()\r\n );\r\n })\r\n );\r\n\r\n @Input('countUp')\r\n set count(count: number) {\r\n this.count$.next(Math.round(count));\r\n }\r\n\r\n @Input()\r\n set duration(duration: number) {\r\n this.duration$.next(duration);\r\n }\r\n\r\n constructor(\r\n private readonly elementRef: ElementRef,\r\n private readonly renderer: Renderer2,\r\n private readonly destroy$: Destroy\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.displayCurrentCount();\r\n }\r\n\r\n private displayCurrentCount(): void {\r\n this.currentCount$\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((currentCount) => {\r\n this.renderer.setProperty(\r\n this.elementRef.nativeElement,\r\n 'innerHTML',\r\n currentCount\r\n );\r\n });\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { GetMemberNamePipe } from './get-member-name.pipe';\r\nimport { GetValuePipe } from './get-value.pipe';\r\nimport { RenderTemplatePipe } from './render-template.pipe';\r\n\r\n\r\nconst pipes = [GetMemberNamePipe, GetValuePipe, RenderTemplatePipe];\r\n\r\n@NgModule({\r\n declarations: pipes,\r\n imports: [CommonModule, TranslateModule],\r\n exports: pipes,\r\n})\r\nexport class FormioPipesModule {}\r\n","export * from './distribute-team-members.module'\r\nexport * from './distribute-team-members.wrapper'\r\n","import _cloneDeep from 'lodash/cloneDeep';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Utils } from 'formiojs';\r\nimport { CategoryConfig, OptionalInputConfig, QuestionConfig, AnswerConfig, AttachmentsConfig, EvaluationItemsConfig } from './../models/config.model';\r\nimport { AfterViewInit, Component, EventEmitter, Inject, OnDestroy, OnInit, ViewEncapsulation } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { Subscription, forkJoin, tap } from 'rxjs';\r\nimport { SortHelper } from '../../../helpers/sort.helper';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { showToast } from '../../toast.helper';\r\nimport { FormioLoader, ResourceNameService } from 'dp-formio';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-assessment-control',\r\n templateUrl: './assessment-control.component.html',\r\n // styleUrls: ['./assessment-control.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader]\r\n})\r\nexport class AssessmentControlComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n currentQuestion: QuestionConfig;\r\n categoryHasChanged = new EventEmitter();\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public formioLoader: FormioLoader,\r\n private toastrService: ToastrService,\r\n private translateService: TranslateService,\r\n private resourceNameService: ResourceNameService) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.data.subCategoryKey) {\r\n //load sub, then load subCat or question\r\n this.sub = this.loadSubCategores(this.data.currentLevel, true)\r\n .subscribe(data => {\r\n const subCategory = this.data.currentLevel.subCategoriresObject.find(q => q.key == this.data.subCategoryKey);\r\n this.openCategory(subCategory);\r\n });\r\n } else {\r\n this.loadData(this.data.currentLevel);\r\n }\r\n }\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.initProgressColor();\r\n this.selectDefaultQuestion();\r\n }\r\n\r\n close() {\r\n if (this.data.selected?.length > 1) {\r\n this.goTo(this.data.selected[this.data.selected.length - 2])\r\n }\r\n else this.dialogRef.close();\r\n }\r\n\r\n openCategory(item) {\r\n console.log(item);\r\n this.data.currentLevel = item;\r\n this.data.selected.push(item);\r\n this.loadData(item);\r\n }\r\n\r\n goTo(item) {\r\n console.log(item);\r\n const index = this.data.selected.findIndex(q => q.id == item.id);\r\n if (index >= 0) {\r\n this.data.currentLevel = item;\r\n this.data.selected.splice(index);\r\n if (!this.data.selected.length) { this.data.selected.push(item); }\r\n }\r\n this.initProgressColor();\r\n this.selectDefaultQuestion();\r\n }\r\n\r\n selectQuestion(question) {\r\n this.currentQuestion = question;\r\n }\r\n\r\n changedQuestion(question: QuestionConfig) {\r\n this.formioLoader.loading = true;\r\n const index = this.data.currentLevel.questionsAssessmentObject.findIndex(q => q._id == question._id);\r\n const progressChanged = this.data.currentLevel.questionsAssessmentObject[index].status != question.status;\r\n\r\n let questionBeforeUpdate = _cloneDeep(this.data.currentLevel.questionsAssessmentObject[index])\r\n\r\n this.data.currentLevel.questionsAssessmentObject[index] = question;\r\n this.data.currentLevel.questionsAssessmentObject = [...this.data.currentLevel.questionsAssessmentObject];\r\n this.data.currentLevel = this.data.currentLevel;\r\n this.currentQuestion = question;\r\n this.updateCategories(questionBeforeUpdate);\r\n }\r\n\r\n changedCategory(category: CategoryConfig) {\r\n this.data.currentLevel.optionalInputs = category.optionalInputs;\r\n this.data.currentLevel.descriptionStandardResult = category.descriptionStandardResult;\r\n this.data.currentLevel = this.data.currentLevel;\r\n }\r\n\r\n get currentPage() {\r\n let page = 0;\r\n if (this.data.dir == 'rtl') {\r\n page = Math.ceil(this.data.currentLevel.questionsAssessmentObject.length / 3) - 1;\r\n }\r\n return page < 0 ? 0 : page;\r\n }\r\n\r\n private updateCategories(questionBeforeUpdate?: QuestionConfig) {\r\n const calls = [];\r\n const completedQuestions = this.data.currentLevel.questionsAssessmentObject.filter(q => q.status).length;\r\n const allQuestions = this.data.currentLevel.questionsAssessmentObject.length;\r\n this.data.currentLevel.percentage = Math.ceil((completedQuestions / allQuestions) * 100);\r\n\r\n const categoryStat = this.calcCategoryStat(this.data.currentLevel, questionBeforeUpdate);\r\n this.data.currentLevel.numberOfApplicable = categoryStat.numberOfApplicable;\r\n this.data.currentLevel.totalEvaluationCriteria = parseFloat(categoryStat.totalEvaluationCriteria).toFixed(2);\r\n\r\n calls.push(this.resourceNameService.\r\n patchSubmission(this.data.customOptions.categoryResource,\r\n this.data.currentLevel._id,\r\n [{\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/percentage\",\r\n \"value\": this.data.currentLevel.percentage\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/scoreResult\",\r\n \"value\": parseFloat(this.data.currentLevel.calculatedScore).toFixed(2)\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/numberOfApplicable\",\r\n \"value\": this.data.currentLevel.numberOfApplicable\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/totalEvaluationCriteria\",\r\n \"value\": this.data.currentLevel.totalEvaluationCriteria=='' || this.data.currentLevel.totalEvaluationCriteria==null || isNaN(Number(this.data.currentLevel.totalEvaluationCriteria)) ? '0' : parseFloat(this.data.currentLevel.totalEvaluationCriteria).toFixed(2)\r\n }\r\n ]));\r\n if (this.data.currentLevel.percentage && this.data.currentLevel.parentCategoryObject?.subCategoriresObject) {\r\n const parentAllCategories = this.data.currentLevel.parentCategoryObject.subCategoriresObject.length;\r\n const parentCompletedCategories = this.data.currentLevel.parentCategoryObject.subCategoriresObject.filter(q => q.percentage == 100).length;\r\n this.data.currentLevel.parentCategoryObject.percentage = Math.ceil((parentCompletedCategories / parentAllCategories) * 100);\r\n\r\n const categoryStat = this.calcCategoryStat(this.data.currentLevel.parentCategoryObject, questionBeforeUpdate);\r\n this.data.currentLevel.parentCategoryObject.numberOfApplicable = categoryStat.numberOfApplicable;\r\n this.data.currentLevel.parentCategoryObject.totalEvaluationCriteria = parseFloat(categoryStat.totalEvaluationCriteria).toFixed(2);\r\n\r\n\r\n calls.push(this.resourceNameService.\r\n patchSubmission(this.data.customOptions.categoryResource,\r\n this.data.currentLevel.parentCategoryObject._id,\r\n [{\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/percentage\",\r\n \"value\": this.data.currentLevel.parentCategoryObject.percentage\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/scoreResult\",\r\n \"value\": parseFloat(this.data.currentLevel.parentCategoryObject.calculatedScore).toFixed(2)\r\n \r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/numberOfApplicable\",\r\n \"value\": this.data.currentLevel.parentCategoryObject.numberOfApplicable\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/totalEvaluationCriteria\",\r\n \"value\": this.data.currentLevel.parentCategoryObject.totalEvaluationCriteria=='' || this.data.currentLevel.parentCategoryObject.totalEvaluationCriteria==null || isNaN(Number(this.data.currentLevel.parentCategoryObject.totalEvaluationCriteria)) ? '0' : parseFloat(this.data.currentLevel.parentCategoryObject.totalEvaluationCriteria).toFixed(2)\r\n \r\n }]));\r\n }\r\n this.sub = forkJoin(calls).subscribe(data => {\r\n this.data.currentLevel.scoreResult = parseFloat(this.data.currentLevel.calculatedScore).toFixed(2);\r\n this.categoryHasChanged.emit(this.data.currentLevel);\r\n if (data.length > 1) this.data.currentLevel.parentCategoryObject.scoreResult = parseFloat(this.data.currentLevel.parentCategoryObject.calculatedScore).toFixed(2);\r\n this.formioLoader.loading = false;\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Saved done\"),\r\n this.translateService.instant(\"forms.common.Saved Successfully\"),\r\n false\r\n );\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"ErrorOccurred\"),\r\n this.translateService.instant(\"generalError\"),\r\n true\r\n );\r\n });\r\n }\r\n\r\n questionLoadion(event) {\r\n this.formioLoader.loading = event;\r\n }\r\n\r\n private calcCategoryStat(category: CategoryConfig, questionBeforeUpdate: QuestionConfig) {\r\n let totalEvaluationCriteria = category.totalEvaluationCriteria || 0;\r\n let numberOfApplicable = category.numberOfApplicable || 0;\r\n\r\n if (questionBeforeUpdate &&\r\n ((!questionBeforeUpdate.notApply && questionBeforeUpdate.value) ||\r\n (this.currentQuestion.notApply && questionBeforeUpdate.value && questionBeforeUpdate.notApply != this.currentQuestion.notApply))) {\r\n //remove old answer and then reCalc variables\r\n totalEvaluationCriteria -= (+questionBeforeUpdate.value || 0) * (questionBeforeUpdate.weight || 1);\r\n numberOfApplicable -= questionBeforeUpdate.weight || 1;\r\n }\r\n if (!this.currentQuestion.notApply) {\r\n totalEvaluationCriteria += (+this.currentQuestion.value || 0) * (this.currentQuestion.weight || 1);\r\n numberOfApplicable += this.currentQuestion.weight || 1;\r\n }\r\n return {\r\n totalEvaluationCriteria: Number(totalEvaluationCriteria).toFixed(2),\r\n numberOfApplicable: numberOfApplicable\r\n }\r\n }\r\n\r\n private loadData(category: CategoryConfig) {\r\n this.formioLoader.loading = true;\r\n this.currentQuestion = null;\r\n if (category.questionsAssessment?.length) {\r\n if (category.questionsAssessmentObject?.length) {\r\n this.formioLoader.loading = false;\r\n this.selectDefaultQuestion();\r\n return;\r\n } else {\r\n this.loadQuestions(category);\r\n }\r\n } else {\r\n if (category.subCategoriresObject?.length) {\r\n this.formioLoader.loading = false;\r\n return;\r\n } else {\r\n this.loadSubCategores(category);\r\n }\r\n }\r\n }\r\n\r\n private loadSubCategores(category: CategoryConfig, withResult = false) {\r\n const categoryResource = Utils.interpolate(this.data.customOptions.categoryResource, { data: this.data.data });\r\n const subCategoryQuery = Utils.interpolate(this.data.customOptions.subCategoryQuery, { data: this.data.data, key: category.key });\r\n\r\n const method = this.resourceNameService.loadCustomByFilterdKey(categoryResource, `${subCategoryQuery}`)\r\n .pipe(tap((result: any[]) => {\r\n category.subCategoriresObject = SortHelper.recursiveSort(result.map(c => {\r\n const item = new CategoryConfig();\r\n const mappedItem = { _id: c._id, ...c.data };\r\n item.color = category.color;\r\n SortHelper.copyProps(mappedItem, item);\r\n if (item.optionalInputs)\r\n item.optionalInputs = item.optionalInputs.map(o => {\r\n const oInput = new OptionalInputConfig();\r\n SortHelper.copyProps(o, oInput);\r\n return oInput;\r\n });\r\n else item.optionalInputs = [];\r\n item.parentCategoryObject = category;\r\n item.processConfigObject = this.data.processConfig;\r\n return item;\r\n }), 'asc');\r\n }));\r\n if (withResult) return method;\r\n this.sub = method.subscribe(result => {\r\n this.initProgressColor();\r\n this.formioLoader.loading = false;\r\n }, error => this.formioLoader.loading = false);\r\n }\r\n\r\n private loadQuestions(category: CategoryConfig) {\r\n const questionsResource = Utils.interpolate(this.data.customOptions.questionsResource, { data: this.data.data });\r\n const questionsSelect = Utils.interpolate(this.data.customOptions.questionsSelect, { data: this.data.data, category: category });\r\n this.sub = this.resourceNameService.loadCustomByFilterdKey(questionsResource, `${questionsSelect}`)\r\n .subscribe((result: any[]) => {\r\n category.questionsAssessmentObject = SortHelper.sort(result.map(c => {\r\n const item = new QuestionConfig();\r\n const mappedItem = { _id: c._id, ...c.data };\r\n SortHelper.copyProps(mappedItem, item);\r\n item.parentCategoryObject = category;\r\n\r\n item.answerTooltip = item.answerTooltip?.map(a => {\r\n const aInput = new AnswerConfig();\r\n SortHelper.copyProps(a, aInput);\r\n return aInput;\r\n }) || [];\r\n\r\n item.attachments = item.attachments?.map(a => {\r\n const aInput = new AttachmentsConfig();\r\n SortHelper.copyProps(a, aInput);\r\n return aInput;\r\n }) || [];\r\n\r\n item.evaluationItems = SortHelper.recursiveSort(item.evaluationItems?.map(a => {\r\n const aInput = new EvaluationItemsConfig();\r\n !a.score ? a.score = '' : a.score = +a.score;\r\n SortHelper.copyProps(a, aInput);\r\n return aInput;\r\n }) || [], 'asc');\r\n\r\n if (item.hasEvaluationItems) {\r\n item.evaluationLevels = this.data.processConfig.evaluationLevels;\r\n }\r\n\r\n return item;\r\n }), this.data.dir == 'rtl' ? 'desc' : 'asc');\r\n\r\n this.selectDefaultQuestion();\r\n this.formioLoader.loading = false;\r\n }, error => this.formioLoader.loading = false);\r\n }\r\n\r\n private initProgressColor() {\r\n setTimeout(() => {\r\n if (this.data.currentLevel.subCategoriresObject && this.data.currentLevel.subCategoriresObject.length) {\r\n this.data.currentLevel.subCategoriresObject.forEach(item => {\r\n $(`#bar_${item._id} .p-progressbar-value`).css(\"background-color\", item.color);\r\n });\r\n }\r\n });\r\n }\r\n\r\n private selectDefaultQuestion() {\r\n if (this.data.processConfig.categoryLevelCount == this.data.currentLevel.levelNumber && this.data.currentLevel.questionsAssessmentObject) {\r\n setTimeout(() => {\r\n const index = this.data.dir == 'rtl' ? this.data.currentLevel.questionsAssessmentObject.length - 1 : 0;\r\n this.selectQuestion(this.data.currentLevel.questionsAssessmentObject[index]);\r\n }, 100);\r\n }\r\n }\r\n}\r\n","import { TranslateService } from '@ngx-translate/core';\r\nimport { HttpClient, HttpResponse } from '@angular/common/http';\r\nimport { Injectable, OnInit, EventEmitter } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { map, publishReplay, refCount } from 'rxjs/operators';\r\nimport { environment } from '../../../environments/environment';\r\nimport * as SockJS from 'sockjs-client';\r\nimport * as Stomp from 'webstomp-client';\r\nimport { KeycloakService } from 'keycloak-angular';\r\nimport { SessionService } from '../../core/services/session.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NotificationsService implements OnInit {\r\n stompClient = null;\r\n subscriber = null;\r\n connection: Promise;\r\n connectedPromise: any;\r\n listenerObserver: EventEmitter = new EventEmitter();\r\n alreadyConnectedOnce = false;\r\n pageSize = 15;\r\n private subscription: Stomp.Subscription;\r\n\r\n // tslint:disable-next-line:variable-name\r\n private _notifications = [];\r\n get notifications(): Array {\r\n return this._notifications;\r\n }\r\n // tslint:disable-next-line:variable-name\r\n private _notificationsCount = 0;\r\n get notificationsCount(): number {\r\n return this._notificationsCount;\r\n }\r\n constructor(\r\n private http: HttpClient,\r\n private sessionService: SessionService,\r\n public router: Router,\r\n private keycloak: KeycloakService,\r\n private translateService: TranslateService,\r\n\r\n ) {\r\n this.connect();\r\n this.connection = this.createConnection();\r\n this.subscribe();\r\n this.getCount();\r\n this.translateService.onLangChange\r\n .subscribe(data => {\r\n this.fetchNotifications(true);\r\n });\r\n }\r\n getCount() {\r\n this.doCountNew(this.sessionService.getUsername()).subscribe((data) => {\r\n this._notificationsCount = data;\r\n });\r\n }\r\n\r\n async connect() {\r\n if (this.connectedPromise === null) {\r\n this.connection = this.createConnection();\r\n }\r\n // building absolute path so that websocket doesn't fail when deploying with a context path\r\n let url;\r\n url = `${environment.gateway}${environment.endpoints.socket}`;\r\n const socket = new SockJS(url);\r\n this.stompClient = Stomp.over(socket);\r\n const headers = {\r\n // Upgrade: 'websocket',\r\n // Connection: 'Upgrade',\r\n token: `${await this.keycloak.getToken()}`\r\n };\r\n this.stompClient.connect(\r\n headers,\r\n () => {\r\n this.connectedPromise('success');\r\n this.connectedPromise = null;\r\n if (!this.alreadyConnectedOnce) {\r\n this.alreadyConnectedOnce = true;\r\n }\r\n }\r\n );\r\n }\r\n\r\n disconnect() {\r\n if (this.stompClient !== null) {\r\n this.stompClient.disconnect();\r\n this.stompClient = null;\r\n }\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n this.subscription = null;\r\n }\r\n this.alreadyConnectedOnce = false;\r\n }\r\n\r\n\r\n\r\n subscribe() {\r\n this.connection.then(() => {\r\n this.subscriber = this.stompClient.subscribe('/user/topic/notification', data => {\r\n const notification = JSON.parse(data.body);\r\n this._notifications.unshift(notification);\r\n this.getCount();\r\n this.listenerObserver.emit(notification);\r\n });\r\n });\r\n }\r\n\r\n unsubscribe() {\r\n if (this.subscriber !== null) {\r\n this.subscriber.unsubscribe();\r\n }\r\n }\r\n\r\n private createConnection(): Promise {\r\n return new Promise((resolve, reject) => (this.connectedPromise = resolve));\r\n }\r\n ngOnInit() {\r\n this.doCountNew(this.sessionService.getUsername()).subscribe((data) => {\r\n this._notificationsCount = data;\r\n });\r\n }\r\n fetchNotifications(withReset = false) {\r\n if (withReset) {\r\n this._notifications = [];\r\n }\r\n\r\n const observable = this.doGetNotifications(this.sessionService.getUsername(), {\r\n page: this._notifications.length > 0 ? Math.ceil(this._notifications.length / this.pageSize) : 0,\r\n size: this.pageSize,\r\n paged: true,\r\n sort: 'sendDate,desc',\r\n sorted: true,\r\n lang: this.translateService.currentLang.toUpperCase()\r\n });\r\n observable.subscribe((notifications) => {\r\n this._notifications = this._notifications.concat(notifications.items);\r\n });\r\n return observable;\r\n }\r\n resetCount() {\r\n this._notificationsCount = 0;\r\n\r\n /*\r\n this.restService.resetCountNew(this.keycloakService.getUsername()).subscribe(() => {\r\n });\r\n */\r\n }\r\n markAllAsRead() {\r\n this.doMarkAllAsRead(this.sessionService.getUsername()).subscribe(() => {\r\n this._notifications.forEach(item => item.status = 'READ');\r\n });\r\n }\r\n updateStatus(notification, onOpen = false) {\r\n const bool = (notification.status === 'UN_READ' || notification.status === 'NEW' || onOpen);\r\n if (bool) {\r\n this.doMarkAsRead(notification.id).subscribe(() => {\r\n notification.status = 'READ';\r\n this.getCount();\r\n });\r\n } else {\r\n this.doMarkAsUnread(notification.id).subscribe(() => {\r\n notification.status = 'UN_READ';\r\n this.getCount();\r\n });\r\n }\r\n }\r\n deleteNotification(notification) {\r\n this.doDeleteNotification(notification.id).subscribe(() => {\r\n this._notifications.filter((item, index) => {\r\n if (item.id === notification.id) {\r\n this._notifications.splice(index, 1);\r\n return;\r\n }\r\n });\r\n });\r\n }\r\n\r\n doGetNotifications(userId, queryParams = {}) {\r\n const endpoint = `${environment.gateway}${environment.endpoints.notifications}system-notifications/all/backOffice/${userId}`;\r\n return this.http.get(endpoint, { observe: 'response', params: queryParams }).pipe(\r\n map((resp: HttpResponse) => ({\r\n totalCount: resp.headers.get('x-total-count'),\r\n items: resp.body.map((item) => item)\r\n })),\r\n publishReplay(1),\r\n refCount()\r\n );\r\n }\r\n doCountNew(userId, queryParams = {}) {\r\n const endpoint = `${environment.gateway}${environment.endpoints.notifications}system-notifications/countNew/${userId}`;\r\n return this.http.get(endpoint, { params: queryParams }).pipe(\r\n );\r\n }\r\n doResetCountNew(userId, queryParams = {}) {\r\n const endpoint = `${environment.gateway}${environment.endpoints.notifications}system-notifications/resetCount/${userId}`;\r\n return this.http.put(endpoint, { params: queryParams }).pipe(\r\n );\r\n }\r\n doCountUnread(userId, queryParams = {}) {\r\n const endpoint = `${environment.gateway}${environment.endpoints.notifications}system-notifications/countUnRead/${userId}`;\r\n return this.http.get(endpoint, { params: queryParams }).pipe(\r\n );\r\n }\r\n doMarkAllAsRead(userId, queryParams = {}) {\r\n const endpoint = `${environment.gateway}${environment.endpoints.notifications}system-notifications/markAllAsRead/${userId}`;\r\n return this.http.put(endpoint, { params: queryParams }).pipe(\r\n );\r\n }\r\n doMarkAsRead(notificationId, queryParams = {}) {\r\n const endpoint = `${environment.gateway}${environment.endpoints.notifications}system-notifications/markAsRead/${notificationId}`;\r\n return this.http.put(endpoint, { params: queryParams }).pipe(\r\n );\r\n }\r\n doMarkAsUnread(notificationId, queryParams = {}) {\r\n const endpoint = `${environment.gateway}${environment.endpoints.notifications}system-notifications/markAsUnRead/${notificationId}`;\r\n return this.http.put(endpoint, { params: queryParams }).pipe(\r\n );\r\n }\r\n doDeleteNotification(notificationId, queryParams = {}) {\r\n const endpoint = `${environment.gateway}${environment.endpoints.notifications}system-notifications/${notificationId}`;\r\n return this.http.delete(endpoint, { params: queryParams }).pipe(\r\n );\r\n }\r\n}","import { DatePipe } from '@angular/common';\r\nimport { HttpClient, HttpResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { DashletFilterAdapter } from './dashlet-filter.adapter';\r\nimport { RequestModel } from './my-requests/model';\r\n\r\ninterface filterData {\r\n\tservices: string[];\r\n\tstatuses: string[];\r\n\trequestDateAfter: string;\r\n\trequestDateBefore: string;\r\n\tsortBy: string;\r\n\tsortDirection: string;\r\n\tsort: string;\r\n\tpage: number;\r\n\tsize: number;\r\n}\r\ntype LockTypes = 'digital signature' | 'receive a task';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root',\r\n})\r\nexport class RequestsService {\r\n\tconstructor(\r\n\t\tprivate http: HttpClient,\r\n\t\tprivate datePipe: DatePipe,\r\n\t\tprivate dashletFilterAdapter: DashletFilterAdapter,\r\n\t\tprivate translate: TranslateService\r\n\t) { }\r\n\r\n\tverifyToken(token) {\r\n\t\treturn this.http.get(`${environment.formio.appUrl}/recaptcha?recaptchaToken=${token}`);\r\n\t}\r\n\r\n\tunlockRequest(requestId, reason: LockTypes = 'digital signature') {\r\n\t\tconst endpoint = `${environment.gateway}${environment.endpoints.myRequests}/${requestId}/unlock`;\r\n\t\treturn this.http\r\n\t\t\t.post(endpoint, {\r\n\t\t\t\treason: reason,\r\n\t\t\t})\r\n\t\t\t.pipe(map((resp) => resp));\r\n\t}\r\n\tlockRequest(requestId, reason: LockTypes = 'digital signature') {\r\n\t\tconst endpoint = `${environment.gateway}${environment.endpoints.myRequests}/${requestId}/lock`;\r\n\t\treturn this.http\r\n\t\t\t.post(endpoint, {\r\n\t\t\t\treason: reason,\r\n\t\t\t})\r\n\t\t\t.pipe(map((resp) => resp));\r\n\t}\r\n\r\n\tgetRequests(queryParams): Observable<{\r\n\t\titems: RequestModel[];\r\n\t\ttotalCount: string;\r\n\t}> {\r\n\t\treturn this.http\r\n\t\t\t.get(`${environment.gateway}${environment.endpoints.myRequests}`, {\r\n\t\t\t\tobserve: 'response',\r\n\t\t\t\tparams: this.dashletFilterAdapter.adapt(queryParams),\r\n\t\t\t})\r\n\t\t\t.pipe(\r\n\t\t\t\tmap((resp: HttpResponse) => {\r\n\t\t\t\t\treturn { items: resp.body, totalCount: resp.headers.get('X-Total-Count') };\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t}\r\n\tqueryRequests(queryParams): Observable {\r\n\t\treturn this.http\r\n\t\t\t.get(`${environment.gateway}${environment.endpoints.myRequests}`, {\r\n\t\t\t\tparams: {\r\n\t\t\t\t\t...queryParams,\r\n\t\t\t\t\tlanguage: this.translate.currentLang,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\t.pipe(map((resp) => resp));\r\n\t}\r\n\tqueryAnonymousRequests(id): Observable {\r\n\t\treturn this.http\r\n\t\t\t.get(`${environment.gateway}${environment.endpoints.myRequests}/anonymous/${id}`, {\r\n\t\t\t\tparams: {\r\n\t\t\t\t\tlanguage: this.translate.currentLang,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\t.pipe(map((resp) => resp));\r\n\t}\r\n\r\n\tgetGeneric(url, queryParams = {}): Observable {\r\n\t\tconst endpoint = `${url}`;\r\n\t\treturn this.http.get(endpoint, { params: queryParams }).pipe(\r\n\t\t\tcatchError((e) => {\r\n\t\t\t\tthrow e;\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\tgetTaskByProcessInstanceId(queryParams = {}, isAnonymous: boolean = false): Observable {\r\n\t\treturn this.http\r\n\t\t\t.get(\r\n\t\t\t\t`${environment.gateway}${isAnonymous ? environment.endpoints.anonymousTasks : environment.endpoints.tasks\r\n\t\t\t\t}`,\r\n\t\t\t\t{\r\n\t\t\t\t\tparams: {\r\n\t\t\t\t\t\t...queryParams,\r\n\t\t\t\t\t\t...this.dashletFilterAdapter.adapt(queryParams),\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t\t.pipe(map((resp) => resp));\r\n\t}\r\n\tgetRequest(id, queryParams = {}): Observable {\r\n\t\treturn this.http\r\n\t\t\t.get(`${environment.gateway}${environment.endpoints.myRequests}/${id}`, {\r\n\t\t\t\tparams: this.dashletFilterAdapter.adapt(queryParams),\r\n\t\t\t})\r\n\t\t\t.pipe(map((resp) => resp));\r\n\t}\r\n\tgetTaskRequest(id): Observable {\r\n\t\treturn this.http\r\n\t\t\t.get(`${environment.gateway}${environment.endpoints.myRequests}`, {\r\n\t\t\t\tparams: {\r\n\t\t\t\t\t'id.equals': id\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\t.pipe(map((resp) => resp));\r\n\t}\r\n\tgetRequestsCount(serviceId) {\r\n\t\tconst d = new Date(new Date().getFullYear(), 0, 1);\r\n\t\treturn this.http\r\n\t\t\t.get(`${environment.gateway}${environment.endpoints.count}`, {\r\n\t\t\t\tparams: {\r\n\t\t\t\t\t'requestDate.greaterOrEqualThan': this.datePipe.transform(d, 'yyyy-MM-ddTHH:mm:ss') + 'z',\r\n\t\t\t\t\t'serviceId.equals': serviceId,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\t.pipe(map((resp) => resp));\r\n\t}\r\n\r\n\tgetListOfUserSegments(): Observable {\r\n\t\treturn this.http.get(\r\n\t\t\t`${environment.gateway}${environment.endpoints.myBeneficiarySegments}`\r\n\t\t);\r\n\t}\r\n\r\n\tcheckRequestFeedback(serviceKey, requestId): Observable {\r\n\t\tconst endpoint = `${environment.gateway}${environment.endpoints.requestFeedback}/${serviceKey}/request/${requestId}/available`;\r\n\t\treturn this.http.get(endpoint);\r\n\t}\r\n}\r\n","import { Inject } from '@angular/core';\r\nimport { Component } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';import { FormioLoader } from 'dp-formio';\r\n\r\ndeclare var $: any;\r\n@Component({\r\n\tselector: 'add-edit-event-item',\r\n\ttemplateUrl: 'add-edit-event-item.component.html',\r\n\tstyleUrls: ['./add-edit-event-item.component.scss'],\r\n})\r\nexport class AddEditEventItem {\r\n\r\n\tconstructor(public dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: any,\r\n\t\tprivate loader: FormioLoader) {\r\n\t}\r\n\tngOnInit(): void {\r\n\t\tthis.loader.loading = false;\r\n\t}\r\n\r\n\tcustomEvent(event: any) {\r\n\t\tif (event.type == 'customCancel') this.dialogRef.close();\r\n\t}\r\n\r\n\tbeforeSubmit(event: any) {\r\n\t\tthis.dialogRef.close(event.data);\r\n\t}\r\n\r\n\tonFormLoad() {\r\n\t\ttry {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tconst button = $('#cancel');\r\n\t\t\t\tif (!button) {\r\n\t\t\t\t\tthis.onFormLoad();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tsetTimeout(() => button.prop('disabled', false), 500);\r\n\t\t\t}, 350);\r\n\t\t} catch (e) { }\r\n\t}\r\n}\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FormioComponent, ConfirmationDialogComponent } from 'dp-formio';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { filter, finalize, iif, of, switchMap, take, takeUntil } from 'rxjs';\r\nimport { DecisionInput } from '../../models/decision-input.model';\r\nimport { ExecuteVisitType } from '../../models/execute-visit.model';\r\nimport { BaseComponent } from '../../base.component';\r\nimport { CriterionsService } from '../../services/criterions.service';\r\nimport { MasarCriterionsService } from '../../services/masar-criterions.service';\r\nimport { showToast } from '../../../toast.helper';\r\nimport { FinalReportMistakes } from '../../models/final-report-mistakes.model';\r\nimport { AddEditMistakeComponent } from './add-edit-mistake/add-edit-mistake.dialog';\r\n\r\n@Component({\r\n selector: 'app-masar-mistake-list',\r\n templateUrl: './masar-mistake-list.component.html',\r\n styleUrls: ['./masar-mistake-list.component.scss', '../data-table.scss']\r\n})\r\nexport class MasarMistakeListComponent extends BaseComponent implements OnInit {\r\n @Input() disabled = false;\r\n decisionInput$ = this.criterionsService.decisionInputs$;\r\n isLoadingResults: boolean = false;\r\n institutionEntries = ExecuteVisitType.InstitutionEntries;\r\n\r\n dataSource: FinalReportMistakes[] = [];\r\n displayedColumns = [\r\n 'mistakeLevel',\r\n 'criterionKey',\r\n 'mistake',\r\n 'suggestedSolution',\r\n 'actions'\r\n ];\r\n\r\n\r\n\r\n constructor(private matDialog: MatDialog,\r\n private criterionsService: CriterionsService,\r\n private masarCriterionsService: MasarCriterionsService,\r\n private translateService: TranslateService,\r\n private toastrService: ToastrService) { super(); }\r\n\r\n ngOnInit() {\r\n this.getData();\r\n }\r\n\r\n showMistake(decisionInput: DecisionInput, mistake: FinalReportMistakes = null, isViewOnly: boolean = false, index: number = null) {\r\n const dir = this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr';\r\n this.matDialog.open(AddEditMistakeComponent, {\r\n width: 'min(80%,900px)',\r\n direction: dir,\r\n maxHeight: '90vh',\r\n autoFocus: false,\r\n restoreFocus: false,\r\n data: {\r\n viewOnly: isViewOnly,\r\n visitKey: decisionInput.visitMetaData.visitKey,\r\n model: mistake || new FinalReportMistakes(),\r\n dir: dir\r\n }\r\n })\r\n .afterClosed()\r\n .pipe(\r\n filter(data => !!data),\r\n take(1)\r\n )\r\n .subscribe((result: any) => {\r\n const model: FinalReportMistakes = {\r\n ...result,\r\n responseDecision: 'true',\r\n visitKey: decisionInput.visitMetaData.visitKey,\r\n };\r\n\r\n of(!!result.id)\r\n .pipe(\r\n switchMap((isUpdate) =>\r\n iif(\r\n () => isUpdate,\r\n this.masarCriterionsService.editFinalReportMistakes(model),\r\n this.masarCriterionsService.createFinalReportMistakes(model)\r\n )\r\n ),\r\n finalize(() => this.isLoadingResults = false)\r\n )\r\n .subscribe(model => {\r\n this.getData();\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Saved done\"),\r\n this.translateService.instant(\"forms.common.Criteria.Saved Successfully\"),\r\n false\r\n );\r\n });\r\n });\r\n }\r\n\r\n deleteMistake(id: number) {\r\n const dir = this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr';\r\n this.matDialog.open(ConfirmationDialogComponent, {\r\n direction: dir,\r\n data: {\r\n dir: dir,\r\n message: 'forms.common.Are you sure to delete this item',\r\n buttonText: {\r\n ok: 'forms.common.yes',\r\n cancel: 'forms.common.cancel',\r\n }\r\n },\r\n width: \"40vw\",\r\n panelClass: 'confirmation-dialog',\r\n })\r\n .afterClosed()\r\n .pipe(filter(data => !!data))\r\n .subscribe(() => {\r\n this.masarCriterionsService.deleteFinalReportMistakes(id)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n this.getData();\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Delete Mistake\"),\r\n this.translateService.instant(\"forms.common.Criteria.Delete Mistake Successfully\"),\r\n false\r\n );\r\n });\r\n });\r\n }\r\n\r\n private getData() {\r\n this.isLoadingResults = true;\r\n this.masarCriterionsService.getFinalReportMistakes(this.criterionsService.decisionInputs$.getValue().visitMetaData.visitKey)\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => this.isLoadingResults = false)\r\n )\r\n .subscribe(data => {\r\n this.dataSource = data;\r\n this.updateResultData();\r\n });\r\n }\r\n private updateResultData() {\r\n const value = this.criterionsService.results$.getValue();\r\n value.finalReportMistakes = this.dataSource;\r\n this.criterionsService.results$.next(value);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FormioCustomComponent } from 'dp-formio';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-number-counter-wrapper',\r\n templateUrl: './number-counter-wrapper.component.html',\r\n // styleUrls: ['./number-counter-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class NumberCounterWrapperComponent implements FormioCustomComponent, OnDestroy, OnChanges {\r\n dir: 'rtl' | 'ltr';\r\n @Input() required: boolean;\r\n @Input() value: any = {};\r\n @Output() valueChange = new EventEmitter();\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n @Input() data: any;\r\n @Input() customOptions: any;\r\n @Input() formioComponent: any;\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n counter = 0;\r\n\r\n constructor(private translateService: TranslateService) {\r\n this.changeDirection(this.translateService.currentLang);\r\n this.sub = this.translateService.onLangChange.subscribe(data => {\r\n this.changeDirection(data.lang);\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.customOptions) {\r\n this.counter = this.value || this.customOptions.default || 0;\r\n this.notifyValue();\r\n }\r\n }\r\n\r\n notifyValue() {\r\n if (this.required) {\r\n if (\r\n (this.customOptions.min != null && this.counter < this.customOptions.min) ||\r\n (this.customOptions.max != null && this.counter > this.customOptions.max)\r\n ) {\r\n this.value = null;\r\n this.valueChange.emit(this.value);\r\n return;\r\n }\r\n }\r\n\r\n this.value = this.counter;\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n changeValue() {\r\n if (this.customOptions?.enableUserEntry &&\r\n (this.counter < this.customOptions.min || this.counter > this.customOptions.max)) {\r\n this.counter = this.customOptions.default || 0;\r\n this.notifyValue();\r\n }\r\n }\r\n\r\n minus() {\r\n if (this.counter - (this.customOptions.step || 1) >= this.customOptions.min) {\r\n this.counter = this.counter - (this.customOptions.step || 1);\r\n this.notifyValue();\r\n }\r\n }\r\n add() {\r\n if (this.counter + (this.customOptions.step || 1) <= this.customOptions.max) {\r\n this.counter = this.counter + (this.customOptions.step || 1);\r\n this.notifyValue();\r\n }\r\n }\r\n\r\n private changeDirection(lang) {\r\n this.dir = null;\r\n setTimeout(() => { this.dir = lang === 'ar' ? 'rtl' : 'ltr'; });\r\n }\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n}\r\n","import { Output, EventEmitter, OnChanges, SimpleChanges, ChangeDetectorRef, OnDestroy, Injector, OnInit } from '@angular/core';\r\nimport { Component, Inject, Input } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Utils } from 'formiojs';\r\nimport { Subscription } from 'rxjs';\r\nimport { ResourceNameService } from 'dp-formio';\r\n\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'add-edit-dialog',\r\n templateUrl: 'add-edit-dialog.component.html',\r\n styleUrls: ['./add-edit-dialog.component.scss'],\r\n})\r\nexport class AddEditDialog implements OnInit, OnChanges, OnDestroy {\r\n @Input() data: any;\r\n @Output() close = new EventEmitter();\r\n\r\n submissionId: string;\r\n submission: any = {};\r\n formReady = false;\r\n disableFields: string = '';\r\n\r\n dialogRef: MatDialogRef;\r\n dialogData: any;\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n constructor(public fb: FormBuilder,\r\n private resourceNameService: ResourceNameService,\r\n private injector: Injector) {\r\n try {\r\n this.dialogRef = injector.get(MatDialogRef);\r\n this.dialogData = injector.get(MAT_DIALOG_DATA);\r\n } catch { }\r\n }\r\n ngOnInit() {\r\n if (!this.data) {\r\n this.data = this.dialogData;\r\n this.ngOnChanges(null);\r\n }\r\n \r\n\t\t$('.custom-modal-component mat-dialog-container').scroll(function () {\r\n\t\t\t$('.flatpickr-calendar').each((i,item) => {\r\n\t\t\t\t$(item).removeClass('open');\r\n\t\t\t});\r\n\t\t});\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.formReady = false;\r\n this.disableFields = '';\r\n this.submissionId = '';\r\n this.submission = {};\r\n\r\n setTimeout(() => {\r\n let extraOptions = {};\r\n if (this.data.extra)\r\n extraOptions = Utils.evaluate(this.data.extra, {\r\n submission: this.data.data,\r\n parentRowSubmission: this.data.parentRowSubmission,\r\n rowSubmission: this.data.rowSubmission\r\n });\r\n\r\n if (this.data.disableFields) {\r\n const fields = [];\r\n this.data.disableFields.forEach(element => {\r\n const defaultValue = Utils.evaluate(element.default, { branches: this.data.branches, rowSubmission: this.data.rowSubmission });\r\n extraOptions[element.name] = defaultValue;\r\n if (!this.data.isView && Utils.evaluate(element.disabled, { branches: this.data.branches }))\r\n fields.push(element.name);\r\n });\r\n this.disableFields = fields.join();\r\n }\r\n\r\n\r\n if (this.data.rowSubmission)\r\n this.submissionId = this.data.rowSubmission._id;\r\n\r\n this.loadResource(extraOptions);\r\n });\r\n }\r\n\r\n loadResource(extraOptions: any) {\r\n if (this.submissionId) {\r\n this.sub = this.resourceNameService.loadCustomByKeyId(this.data.resource, this.submissionId)\r\n .subscribe(data => {\r\n this.submission = data;\r\n this.submission.data = { ...extraOptions, ...this.submission.data };\r\n this.formReady = true;\r\n });\r\n } else {\r\n this.submission.data = { ...extraOptions };\r\n this.formReady = true;\r\n }\r\n }\r\n\r\n onFormLoad() {\r\n try {\r\n setTimeout(() => {\r\n const button = $('#columnsCancel');\r\n if (!button) {\r\n this.onFormLoad();\r\n return;\r\n }\r\n button.prop(\"disabled\", false)\r\n }, 350)\r\n } catch (e) { }\r\n }\r\n\r\n onSubmit(submission) {\r\n this.data.rowSubmission = submission;\r\n this.data.fields.filter(q => q.viewInTree).forEach(element => {\r\n element.value = submission.data[element.name];\r\n });\r\n this.close.emit(this.data);\r\n if (this.dialogRef) this.dialogRef.close(this.data);\r\n }\r\n\r\n onCustomEvent(event) {\r\n if (event.type == 'customCancel') {\r\n this.close.emit();\r\n if (this.dialogRef) this.dialogRef.close();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n}\r\n","import {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatAutocompleteTrigger } from '@angular/material/autocomplete';\r\nimport { Router } from '@angular/router';\r\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\r\nimport { Utils } from 'formiojs';\r\nimport {\r\n\tObservable,\r\n\tSubscription,\r\n\tcatchError,\r\n\tdebounceTime,\r\n\tdistinctUntilChanged,\r\n\tiif,\r\n\tmap,\r\n\tstartWith,\r\n\tswitchMap,\r\n\ttap,\r\n} from 'rxjs';\r\nimport {\r\n\tFormioCustomComponent,\r\n\tResourceNameService,\r\n} from 'dp-formio';\r\nimport { EvaluationDisplayPipe } from './pipe/evaluation-display.pipe';\r\ndeclare var $: any;\r\n\r\nexport enum HooksEnum {\r\n\tAfterLoadOptions = 'afterLoadOptions',\r\n\tOnValueChange = 'onValueChange',\r\n\tOnInit = 'onInt',\r\n}\r\n\r\n@Component({\r\n\tselector: 'app-resource-autocomplete-wrapper',\r\n\ttemplateUrl: './resource-autocomplete-wrapper.component.html',\r\n\t// styleUrls: ['./resource-autocomplete-wrapper.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\t// providers: [FormioLoader]\r\n\tproviders: [EvaluationDisplayPipe],\r\n})\r\nexport class ResourceAutocompleteWrapperComponent\r\n\timplements FormioCustomComponent, OnChanges, OnInit, OnDestroy\r\n{\r\n\t@ViewChild(MatAutocompleteTrigger)\r\n\tautocompleteTrigger: MatAutocompleteTrigger;\r\n\r\n\tdir: 'rtl' | 'ltr';\r\n\t@Input() required: boolean;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Input() disabled: boolean;\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\r\n\tlabelHint: any;\r\n\r\n\tprivate subs: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subs.push(s);\r\n\t}\r\n\r\n\tfilterControl = new FormControl();\r\n\tfilteredOptions: Observable;\r\n\toptionsList = [];\r\n\r\n\tconstructor(\r\n\t\tprivate router: Router,\r\n\t\tprivate resourceNameService: ResourceNameService,\r\n\t\tprivate translateService: TranslateService,\r\n\t\tprivate evaluationDisplayPipe: EvaluationDisplayPipe\r\n\t) {\r\n\t\tthis._prepareDir();\r\n\t}\r\n\r\n\tdisplayAs = (item: any) => {\r\n\t\tif (!item || Object.keys(item).length === 0) return '';\r\n\t\treturn this.evaluationDisplayPipe.transform(\r\n\t\t\titem,\r\n\t\t\tthis.customOptions?.displayField\r\n\t\t);\r\n\t};\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tthis.filterControl.setValue(this.value);\r\n\t\tthis._disableOrEnableCtrl();\r\n\t\tif (this.customOptions) {\r\n\t\t\tthis._updateFilteredList();\r\n\t\t}\r\n\t\tthis.initLabelHint();\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis._runHookIfActive(HooksEnum.OnInit, {\r\n\t\t\toptionsList: this.optionsList,\r\n\t\t\tselectedItem: this.value,\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.forEach((s) => s.unsubscribe());\r\n\t\tthis.subs = [];\r\n\t}\r\n\r\n\tnotifyValue() {\r\n\t\tif (this.customOptions?.selectedValue) {\r\n\t\t\tthis.value = Utils.interpolate(this.customOptions.selectedValue, {\r\n\t\t\t\tdata: this.data,\r\n\t\t\t\tselectedItem: this.filterControl.value,\r\n\t\t\t\ttranslate: this.translateService,\r\n\t\t\t});\r\n\t\t\tthis.valueChange.emit(this.value);\r\n\t\t} else {\r\n\t\t\tthis.resetValue();\r\n\t\t}\r\n\t\tthis._runHookIfActive(HooksEnum.OnValueChange, {\r\n\t\t\toptionsList: this.optionsList,\r\n\t\t\tselectedItem: this.value,\r\n\t\t\titem: this.filterControl.value,\r\n\t\t});\r\n\t\tthis.initLabelHint();\r\n\t}\r\n\r\n\topenAutocomplete(): void {\r\n\t\tthis.autocompleteTrigger.openPanel();\r\n\t}\r\n\r\n\tprivate _disableOrEnableCtrl() {\r\n\t\tif (this.disabled || this.viewOnly) {\r\n\t\t\tthis.filterControl.disable();\r\n\t\t} else {\r\n\t\t\tthis.filterControl.enable();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _updateFilteredList() {\r\n\t\tlet evaluatedUrl = '';\r\n\t\tif (this.customOptions.url)\r\n\t\t\tevaluatedUrl = Utils.interpolate(this.customOptions.url, {\r\n\t\t\t\tconfig: this.formioComponent.root.form.config,\r\n\t\t\t\tdata: this.data,\r\n\t\t\t\ttranslate: this.translateService.instant,\r\n\t\t\t});\r\n\r\n\t\tthis.filteredOptions = this.filterControl.valueChanges.pipe(\r\n\t\t\tdebounceTime(300),\r\n\t\t\tdistinctUntilChanged(),\r\n\t\t\tmap((filterValue) => {\r\n\t\t\t\tif (this.customOptions?.enableUserEntry) this.notifyValue();\r\n\t\t\t\tconst query = this.customOptions?.query\r\n\t\t\t\t\t? Utils.evaluate(this.customOptions.query, {\r\n\t\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\t\tfilterValue,\r\n\t\t\t\t\t\t\ttranslate: this.translateService,\r\n\t\t\t\t\t })\r\n\t\t\t\t\t: '';\r\n\t\t\t\treturn query;\r\n\t\t\t}),\r\n\t\t\tswitchMap((query) =>\r\n\t\t\t\tiif(\r\n\t\t\t\t\t() => !!evaluatedUrl,\r\n\t\t\t\t\tthis.resourceNameService.load(evaluatedUrl, query),\r\n\t\t\t\t\tthis.resourceNameService.loadCustomByKeyExists(\r\n\t\t\t\t\t\tthis.customOptions.resource,\r\n\t\t\t\t\t\tquery\r\n\t\t\t\t\t)\r\n\t\t\t\t).pipe(\r\n\t\t\t\t\tcatchError((error) => {\r\n\t\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\t\treturn [];\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t),\r\n\t\t\ttap((data) => {\r\n\t\t\t\tthis.optionsList = data;\r\n\t\t\t\tthis._runHookIfActive(HooksEnum.AfterLoadOptions, {\r\n\t\t\t\t\toptionsList: this.optionsList,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate resetValue() {\r\n\t\tthis.value = null;\r\n\t\tthis.valueChange.emit(this.value);\r\n\t}\r\n\r\n\tprivate _runHookIfActive(_hook: string, params: Record = {}) {\r\n\t\tconst hook = this._getHook(_hook);\r\n\t\treturn hook?.active ? this._evaluate(hook?.execute, params) : null;\r\n\t}\r\n\r\n\tprivate _getHook(hook: string) {\r\n\t\tconst _hook = this.customOptions?.hooks?.[hook];\r\n\t\treturn _hook ?? { active: false, execute: '' };\r\n\t}\r\n\r\n\tprivate _evaluate(query: string, params: Record = {}) {\r\n\t\treturn Utils.evaluate(query, {\r\n\t\t\tutils: Utils,\r\n\t\t\tinstance: this.formioComponent,\r\n\t\t\tsubmission: this.formioComponent?.root?.data,\r\n\t\t\ttranslate: this.translateService,\r\n\t\t\tdata: this.data,\r\n\t\t\tvalue: this.value,\r\n\t\t\tcomponent: this.formioComponent.component,\r\n\t\t\t...params,\r\n\t\t});\r\n\t}\r\n\r\n\tprivate _prepareDir() {\r\n\t\tthis.sub = (\r\n\t\t\tthis.translateService.onLangChange as Observable\r\n\t\t)\r\n\t\t\t.pipe(\r\n\t\t\t\tstartWith({\r\n\t\t\t\t\tlang: this.translateService.currentLang,\r\n\t\t\t\t}),\r\n\t\t\t\tmap((data) => (data.lang === 'ar' ? 'rtl' : 'ltr'))\r\n\t\t\t)\r\n\t\t\t.subscribe((dir) => {\r\n\t\t\t\tthis.dir = dir;\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate initLabelHint() {\r\n\t\tif (this.customOptions?.labelHint) {\r\n\t\t\tthis.labelHint = Utils.evaluate(this.customOptions?.labelHint, {\r\n\t\t\t\tdata: this.data,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Category } from '../../../../models/category.model';\r\nimport { CriterionsService } from '../../../../services/criterions.service';\r\n\r\n@Component({\r\n selector: 'app-total-statistic-preview',\r\n templateUrl: './total-statistic-preview.component.html',\r\n styleUrls: ['./total-statistic-preview.component.scss']\r\n})\r\nexport class TotalStatisticPreviewComponent implements OnInit {\r\n @Input() category: Category;\r\n process$ = this.criterionsService.process$;\r\n\r\n constructor(private criterionsService: CriterionsService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n\r\n
    \r\n\r\n
    \r\n","import {\r\n\tAfterViewInit,\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { FormioCustomComponent, FormioLoader } from 'dp-formio';\r\n\r\n@Component({\r\n\tselector: 'rating-wrapper',\r\n\ttemplateUrl: './rating-wrapper.component.html',\r\n\t// styleUrls: ['./rating-wrapper.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tproviders: [FormioLoader],\r\n})\r\nexport class RatingWrapperComponent\r\n\timplements FormioCustomComponent, AfterViewInit, OnDestroy\r\n{\r\n\tdir: 'rtl' | 'ltr';\r\n\r\n\t@ViewChild('form') form: any;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Output() formSubmitted = new EventEmitter();\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\tdisabled: boolean;\r\n\tratingScale: number;\r\n\r\n\tsubscriptions$: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subscriptions$.push(s);\r\n\t}\r\n\r\n\tconstructor(private translateService: TranslateService) {\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((data) => {\r\n\t\t\tthis.changeDirection(data.lang);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang == 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\r\n\tnotifyValue(rate) {\r\n\t\tthis.value = rate;\r\n\t\tthis.valueChange.emit(this.value);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subscriptions$.forEach((o) => o.unsubscribe());\r\n\t\tthis.subscriptions$ = [];\r\n\t}\r\n}\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FormioComponent, ConfirmationDialogComponent } from 'dp-formio';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { filter, finalize, take, takeUntil, iif } from 'rxjs';\r\nimport { showToast } from '../../../toast.helper';\r\nimport { BaseComponent } from '../../base.component';\r\nimport { DecisionInput } from '../../models/decision-input.model';\r\nimport { ExecuteVisitType } from '../../models/execute-visit.model';\r\nimport { Summary } from '../../models/summary.model';\r\nimport { CriterionsService } from '../../services/criterions.service';\r\nimport { AddEditResponseComponent } from './add-edit-response/add-edit-response.dialog';\r\nimport { AddEditSummaryComponent } from './add-edit-summary/add-edit-summary.dialog';\r\nimport { ItimadCriterionsService } from '../../services/itimad-criterions.service';\r\n\r\n@Component({\r\n selector: 'app-decision-summary',\r\n templateUrl: './decision-summary.component.html',\r\n styleUrls: ['./decision-summary.component.scss', '../data-table.scss']\r\n})\r\nexport class DecisionSummaryComponent extends BaseComponent implements OnInit {\r\n @ViewChild(FormioComponent) formioComponent: FormioComponent;\r\n @Input() title: string;\r\n @Input() type: string;\r\n @Input() filter: string;\r\n decisionInput$ = this.criterionsService.decisionInputs$;\r\n isLoadingResults: boolean = false;\r\n expandedFilter: boolean = false;\r\n finalReport = ExecuteVisitType.FinalReport;\r\n institutionEntries = ExecuteVisitType.InstitutionEntries;\r\n finalReportWithInstitutionEntries = ExecuteVisitType.FinalReportWithInstitutionEntries;\r\n\r\n dataSource: Summary[] = [];\r\n displayedColumns = [\r\n 'summary',\r\n 'finalReportResponse',\r\n 'actions'\r\n ];\r\n\r\n hasResponse = false;\r\n enabledSummary = false;\r\n\r\n get isRecommendations() { return this.type == 'recommendations-summaries' };\r\n\r\n constructor(private matDialog: MatDialog,\r\n private criterionsService: CriterionsService,\r\n private itimadCriterionsService: ItimadCriterionsService,\r\n private translateService: TranslateService,\r\n private toastrService: ToastrService) { super(); }\r\n\r\n ngOnInit() {\r\n this.getData();\r\n this.registerCopyEvaluation();\r\n\r\n this.decisionInput$.pipe(\r\n takeUntil(this.destroy$),\r\n ).subscribe(input => {\r\n\r\n this.hasResponse = this.isRecommendations &&\r\n (input.executeVisitType == this.institutionEntries ||\r\n input.executeVisitType == this.finalReportWithInstitutionEntries);\r\n\r\n this.enabledSummary = !input.viewOnly &&\r\n (\r\n input.executeVisitType == this.finalReport ||\r\n (this.isRecommendations && input.executeVisitType == this.finalReportWithInstitutionEntries)\r\n );\r\n });\r\n }\r\n\r\n showSummary(decisionInput: DecisionInput, summary: Summary = null, isViewOnly: boolean = false) {\r\n const dir = this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr';\r\n this.matDialog.open(AddEditSummaryComponent, {\r\n width: 'min(80%,900px)',\r\n direction: dir,\r\n maxHeight: '90vh',\r\n autoFocus: false,\r\n restoreFocus: false,\r\n data: {\r\n isViewOnly,\r\n summary: summary?.summaryText || '',\r\n dir: dir\r\n }\r\n })\r\n .afterClosed()\r\n .pipe(\r\n filter(data => !!data),\r\n take(1)\r\n )\r\n .subscribe((result: any) => {\r\n if (summary) summary.summaryText = result;\r\n else {\r\n const model: Summary = {\r\n visitId: decisionInput.visitMetaData.visitId,\r\n visitKey: decisionInput.visitMetaData.visitKey,\r\n reviewerId: decisionInput.visitMetaData.reviewerId,\r\n summaryText: result,\r\n deleted: false\r\n };\r\n this.dataSource = [...this.dataSource, model];\r\n }\r\n });\r\n }\r\n undo(index: number) {\r\n this.dataSource[index].deleted = false;\r\n this.dataSource = [...this.dataSource];\r\n }\r\n deleteSummary(index: number) {\r\n this.matDialog.open(ConfirmationDialogComponent, {\r\n direction: this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr',\r\n data: {\r\n message: 'forms.common.Are you sure to delete this item',\r\n buttonText: {\r\n ok: 'forms.common.yes',\r\n cancel: 'forms.common.cancel',\r\n }\r\n },\r\n width: \"40vw\",\r\n panelClass: 'confirmation-dialog',\r\n })\r\n .afterClosed()\r\n .pipe(filter(data => !!data))\r\n .subscribe(() => {\r\n // this.dataSource.splice(index, 1);\r\n this.dataSource[index].deleted = true;\r\n this.dataSource = [...this.dataSource];\r\n });\r\n }\r\n showResponse(decisionInput: DecisionInput, summary: Summary) {\r\n const dir = this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr';\r\n this.matDialog.open(AddEditResponseComponent, {\r\n width: 'min(80%,900px)',\r\n direction: dir,\r\n maxHeight: '90vh',\r\n autoFocus: false,\r\n restoreFocus: false,\r\n data: {\r\n summary: summary?.summaryText || '',\r\n summaryId: summary.id,\r\n id: summary.finalReportResponseId,\r\n visitMetaData: decisionInput.visitMetaData,\r\n viewOnly: decisionInput.viewOnly || decisionInput.executeVisitType != this.institutionEntries,\r\n dir: dir\r\n }\r\n })\r\n .afterClosed()\r\n .pipe(\r\n filter(data => !!data),\r\n take(1)\r\n )\r\n .subscribe((result: any) => {\r\n summary.finalReportResponseId = result;\r\n });\r\n }\r\n\r\n submit(decisionInput: DecisionInput) {\r\n this.isLoadingResults = true;\r\n this.dataSource.forEach((item, index) => { item.noteOrder = ++index; });\r\n this.itimadCriterionsService.saveSummaries(this.type, this.dataSource)\r\n .pipe(finalize(() => this.isLoadingResults = false))\r\n .subscribe(data => {\r\n this.getData();\r\n // this.dataSource = [...data];\r\n this.criterionsService.decisionTaken$.next();\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Saved done\"),\r\n this.translateService.instant(\"forms.common.Criteria.Saved Successfully\"),\r\n false\r\n );\r\n });\r\n }\r\n\r\n private getData() {\r\n this.isLoadingResults = true;\r\n this.itimadCriterionsService.getSummaries(\r\n this.criterionsService.decisionInputs$.getValue().visitMetaData.visitKey,\r\n this.type,\r\n this.isRecommendations\r\n ).pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => this.isLoadingResults = false)\r\n ).subscribe(data => {\r\n this.dataSource = data;\r\n this.updateResultData();\r\n });\r\n }\r\n\r\n private registerCopyEvaluation() {\r\n this.criterionsService.sendSummary$\r\n .pipe(\r\n filter(data => data?.key == this.filter),\r\n takeUntil(this.destroy$),\r\n )\r\n .subscribe(data => {\r\n const visitMetaData = this.criterionsService.decisionInputs$.getValue().visitMetaData;\r\n const model: Summary = {\r\n visitId: visitMetaData.visitId,\r\n visitKey: visitMetaData.visitKey,\r\n reviewerId: visitMetaData.reviewerId,\r\n summaryText: data.value,\r\n deleted: false\r\n };\r\n this.dataSource = [...this.dataSource, model];\r\n });\r\n }\r\n private updateResultData() {\r\n const value = this.criterionsService.results$.getValue();\r\n value[this.filter] = this.dataSource;\r\n this.criterionsService.results$.next(value);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { KeycloakService, KeycloakAuthGuard } from 'keycloak-angular';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class RoleGuard extends KeycloakAuthGuard {\r\n constructor(protected router: Router,\r\n protected keycloakAngular: KeycloakService) {\r\n super(router, keycloakAngular);\r\n }\r\n\r\n isAccessAllowed(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (this.authenticated) {\r\n const requiredRoles = route.data.roles;\r\n if (!requiredRoles || requiredRoles.length === 0) {\r\n return resolve(true);\r\n } else {\r\n if (!this.roles || this.roles.length === 0) {\r\n resolve(false);\r\n }\r\n let granted: boolean = false;\r\n for (const requiredRole of requiredRoles) {\r\n if (this.roles.indexOf(requiredRole) > -1 || this.roles.some(q => q.includes(environment.roles.admin))) {\r\n granted = true;\r\n break;\r\n }\r\n }\r\n if (granted) {\r\n resolve(granted);\r\n\r\n } else {\r\n if (['/403'].indexOf(this.router.url) === -1) localStorage.setItem('_previousUrl', this.router.url);\r\n this.router.navigate(['403']);\r\n resolve(false);\r\n }\r\n }\r\n } else {\r\n resolve(true);\r\n }\r\n });\r\n }\r\n}","import {\r\n\tAfterViewInit,\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n\tChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { catchError, finalize, map, noop, of, Subscription, tap } from 'rxjs';\r\nimport { Utils } from 'formiojs';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\nimport { KeycloakService } from 'keycloak-angular';\r\nimport { FormioLoader, STEPPERTABSTATUS, ResourceNameService, UserService, CUSTOMFORMACTIONS, SuccessToast, ErrorToast } from 'dp-formio';\r\n\r\n@Component({\r\n\tselector: 'lib-stepper-wrapper',\r\n\ttemplateUrl: './stepper-wrapper.component.html',\r\n\t// styleUrls: ['./stepper-wrapper.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tproviders: [FormioLoader],\r\n})\r\nexport class StepperWrapperComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy {\r\n\t@ViewChild('form') form: any;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\r\n\tdir: 'rtl' | 'ltr';\r\n\t@Output() formSubmitted = new EventEmitter();\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\tstepperMenu: {\r\n\t\tformSubmissionId?;\r\n\t\tformKey?;\r\n\t\tsubmit?;\r\n\t\tsubmitted?;\r\n\t\torder?;\r\n\t\tformiokey?;\r\n\t\tsummarySubmissionId?;\r\n\t\tstatus?;\r\n\t}[] = [];\r\n\tmessageInfo: { [k: string]: any } = {};\r\n\tsummaryResourceKey: string;\r\n\thistorySummaryResourceKey: string;\r\n\tresource = '';\r\n\tquery = '';\r\n\tformSubmission: any;\r\n\tsummaryFormSubmission: any;\r\n\tactiveStep: number = 0;\r\n\tcurrentForm: any;\r\n\tformReady = false;\r\n\tdecisionsFormSubmission: any = {};\r\n\tdecisionsFormReady = false;\r\n\tisRequirmentsFormReadOnly = false;\r\n\tisFOView: boolean;\r\n\tisBOView: boolean;\r\n\tparentRoute: string;\r\n\tparentTaskId: string;\r\n\tisNestedStepper: boolean;\r\n\tisLoggedIn = false;\r\n\r\n\tpublic get TABSTATUS(): typeof STEPPERTABSTATUS {\r\n\t\treturn STEPPERTABSTATUS;\r\n\t}\r\n\r\n\tsubscriptions$: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subscriptions$.push(s);\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate translateService: TranslateService,\r\n\t\tprivate resourceNameService: ResourceNameService,\r\n\t\tprivate toastrService: ToastrService,\r\n\t\tpublic formioLoader: FormioLoader,\r\n\t\tprivate userService: UserService,\r\n\t\tprivate keycloak: KeycloakService,\r\n\t\tprivate route: ActivatedRoute,\r\n\t\tprivate location: Location,\r\n\t\tprivate cdRef: ChangeDetectorRef\r\n\t) {\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((data) => {\r\n\t\t\tthis.changeDirection(data.lang);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang == 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tif (this.customOptions) {\r\n\t\t\tthis.messageInfo = this.customOptions.messageInfo;\r\n\r\n\t\t\tthis.summaryResourceKey = this.customOptions.summaryResourceKey;\r\n\t\t\tthis.historySummaryResourceKey = this.customOptions.historySummaryResourceKey;\r\n\t\t\tthis.isNestedStepper = this.customOptions.isNestedStepper;\r\n\t\t\tthis.isFOView = this.data?.isFOView;\r\n\t\t\tthis.isBOView = this.data?.isBOView;\r\n\r\n\t\t\tif (this.customOptions.stepperData) {\r\n\t\t\t\tif (\r\n\t\t\t\t\tchanges &&\r\n\t\t\t\t\tchanges.data &&\r\n\t\t\t\t\tchanges.data.currentValue &&\r\n\t\t\t\t\tchanges.data.currentValue.stepperWrapper &&\r\n\t\t\t\t\tchanges.data.currentValue.stepperWrapper.stepper &&\r\n\t\t\t\t\tchanges.data.currentValue.stepperWrapper.stepper.length &&\r\n\t\t\t\t\t!this.isNestedStepper\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.stepperMenu = Utils.evaluate(this.customOptions.stepperData, {\r\n\t\t\t\t\t\tdata: this.data.stepperWrapper.stepper,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.loadSubStepper(() => {\r\n\t\t\t\t\t\tthis.activeStep = this.data.activeStepIndex || 0;\r\n\t\t\t\t\t\tthis.currentForm = this.stepperMenu[this.activeStep];\r\n\r\n\t\t\t\t\t\tthis.data.activeTab = { data: { ...this.currentForm } };\r\n\t\t\t\t\t\tthis.data.activeStepIndex = this.activeStep;\r\n\r\n\t\t\t\t\t\tthis.getSubmissions();\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t} else if (this.customOptions.resource || this.customOptions.query) {\r\n\t\t\t\tthis.resource = this.formioComponent.interpolate(this.customOptions.resource, {\r\n\t\t\t\t\tdata: this.data,\r\n\t\t\t\t});\r\n\t\t\t\tthis.query = this.formioComponent.interpolate(this.customOptions.query, {\r\n\t\t\t\t\tdata: this.data,\r\n\t\t\t\t});\r\n\t\t\t\tthis.getStepperData();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate loadSubStepper(callback) {\r\n\t\tif (this.customOptions.subStepper) {\r\n\t\t\tif (this.data.subStepper) callback();\r\n\r\n\t\t\tthis.resource = this.formioComponent.interpolate(this.customOptions.subStepper.resource, {\r\n\t\t\t\tdata: this.data,\r\n\t\t\t});\r\n\t\t\tthis.query = this.formioComponent.interpolate(this.customOptions.subStepper.query, {\r\n\t\t\t\tdata: this.data,\r\n\t\t\t});\r\n\t\t\tthis.loadStepperData(() => callback());\r\n\t\t} else callback();\r\n\t}\r\n\r\n\tloadStepperData(callback) {\r\n\t\tthis.formioLoader.loading = true;\r\n\t\tthis.sub = this.resourceNameService\r\n\t\t\t.loadCustomByFilterdKey(this.resource, this.query)\r\n\t\t\t.pipe(\r\n\t\t\t\tmap((res: any[]) =>\r\n\t\t\t\t\tres.map((elem) => {\r\n\t\t\t\t\t\treturn { summarySubmissionId: elem._id, ...elem.data };\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t)\r\n\t\t\t.subscribe(\r\n\t\t\t\t(data) => {\r\n\t\t\t\t\tthis.data.subStepper = data;\r\n\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t\tthis.updateRootIfExist();\r\n\t\t\t\t\tcallback();\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t\tthrow error;\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t}\r\n\r\n\tprivate updateRootIfExist() {\r\n\t\tthis.formioComponent?.root.components\r\n\t\t\t?.filter((q) => q.type == 'form')\r\n\t\t\t?.forEach((form) => {\r\n\t\t\t\tform.subForm.components.forEach((c) => {\r\n\t\t\t\t\tc.calculateValue();\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\tasync ngOnInit() {\r\n\t\tconst queryParams: string[] = this.route.snapshot.queryParamMap.keys;\r\n\t\tif (queryParams.length) {\r\n\t\t\tif (this.route.snapshot.queryParamMap.has('parentRoute')) {\r\n\t\t\t\tthis.parentRoute = this.route.snapshot.queryParamMap.get('parentRoute');\r\n\r\n\t\t\t\tthis.parentTaskId = this.route.snapshot.queryParamMap.get('taskId');\r\n\r\n\t\t\t\tthis.decisionsFormSubmission.parentRoute =\r\n\t\t\t\t\tthis.route.snapshot.queryParamMap.get('parentRoute');\r\n\r\n\t\t\t\ttry {\r\n\t\t\t\t\tthis.isLoggedIn = await this.keycloak.isLoggedIn();\r\n\t\t\t\t\tconst userData = await this.userService.getUserData(\r\n\t\t\t\t\t\tthis.isLoggedIn ? await this.keycloak.getToken() : null\r\n\t\t\t\t\t);\r\n\t\t\t\t\tthis.decisionsFormSubmission.userName = userData?.user_preferred_username;\r\n\t\t\t\t\tthis.decisionsFormSubmission.fullName = userData?.user_name;\r\n\t\t\t\t\tthis.decisionsFormSubmission.userData = userData;\r\n\t\t\t\t} catch (error) {\r\n\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tthis.location.back();\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.location.back();\r\n\t\t}\r\n\t}\r\n\r\n\tgetStepperData() {\r\n\t\tthis.formioLoader.loading = true;\r\n\t\tthis.sub = this.resourceNameService\r\n\t\t\t.loadCustomByFilterdKey(this.resource, this.query)\r\n\t\t\t.pipe(\r\n\t\t\t\tmap((res: any[]) =>\r\n\t\t\t\t\tres.map((elem) => {\r\n\t\t\t\t\t\treturn { summarySubmissionId: elem._id, ...elem.data };\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t)\r\n\t\t\t.subscribe(\r\n\t\t\t\t(data) => {\r\n\t\t\t\t\tthis.stepperMenu = [...data];\r\n\t\t\t\t\tthis.currentForm = this.stepperMenu[this.activeStep];\r\n\t\t\t\t\tthis.notifyValue();\r\n\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t},\r\n\t\t\t\t(error) => {\r\n\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t\tthrow error;\r\n\t\t\t\t},\r\n\t\t\t\t() => {\r\n\t\t\t\t\tthis.getSubmissions();\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetSubmissions() {\r\n\t\tthis.resourceNameService\r\n\t\t\t.loadCustomByKeyId(this.currentForm.formKey, this.currentForm.formSubmissionId)\r\n\t\t\t.pipe(\r\n\t\t\t\ttap((res: any) => {\r\n\t\t\t\t\tif (res && res.data) {\r\n\t\t\t\t\t\tthis.formSubmission = {\r\n\t\t\t\t\t\t\tdata: {\r\n\t\t\t\t\t\t\t\t...res.data,\r\n\t\t\t\t\t\t\t\t...this.data,\r\n\t\t\t\t\t\t\t\tparentRoute: this.parentRoute,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\tfinalize(() => {\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\t\t\ttop: 0,\r\n\t\t\t\t\t\t\tleft: 0,\r\n\t\t\t\t\t\t\tbehavior: 'smooth',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t// this.isNestedStepper ? (this.formReady = true) : (this.decisionsFormReady = true);\r\n\t\t\t\t\tthis.formReady = true;\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\tthis.decisionsFormReady = true;\r\n\t\t\t\t\t});\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError((error) => {\r\n\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t\tthis.decisionsFormReady = false;\r\n\t\t\t\t\treturn of(0);\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.subscribe();\r\n\t}\r\n\r\n\tnotifyValue() {\r\n\t\tthis.value = {\r\n\t\t\tnestedStepperData: [...this.stepperMenu],\r\n\t\t};\r\n\t\tthis.valueChange.emit(this.value);\r\n\t}\r\n\r\n\tformLoad(evnet) {\r\n\t\tsetTimeout(() => {\r\n\t\t\tif (!this.isNestedStepper) {\r\n\t\t\t\tthis.form?.formio?.off('stepSubmited');\r\n\t\t\t\tthis.form?.formio?.on('stepSubmited', (formKey) => {\r\n\t\t\t\t\tthis.data.subStepper.find((q) => q.formKey == formKey).submitted = true;\r\n\r\n\t\t\t\t\tthis.customOptions.notifyCalculatedFileds?.forEach((key) => {\r\n\t\t\t\t\t\tconst components = Utils.searchComponents(this.formioComponent.root.components, {\r\n\t\t\t\t\t\t\tkey: key,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\t\tc.calculateValue();\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tconst nestedForms = Utils.searchComponents(this.formioComponent.root.components, {\r\n\t\t\t\t\t\t\ttype: 'form',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tnestedForms.forEach((formComponent) => {\r\n\t\t\t\t\t\t\tformComponent.subFormReady.then((subForm) => {\r\n\t\t\t\t\t\t\t\tconst components = Utils.searchComponents(subForm.components, { key: key });\r\n\t\t\t\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\t\t\t\tc.calculateValue();\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.form?.formio?.off('notifyParentStepper');\r\n\t\t\t\tthis.form?.formio?.on('notifyParentStepper', () => {\r\n\t\t\t\t\tthis.changeParentTabSubmittedFlag();\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tonLoadDecisions(event) {\r\n\t\tif (this.formSubmission.data) {\r\n\t\t\tthis.data.decisionsSubmission = event.data;\r\n\t\t\tthis.formSubmission.data.decisionsSubmission = event.data;\r\n\t\t\tif (this.form?.submission?.data)\r\n\t\t\t\tthis.form.submission.data.decisionsSubmission = event.data;\r\n\t\t\tthis.form?.formio?.setSubmission(this.formSubmission);\r\n\t\t\tthis.valueChange.emit(this.value);\r\n\t\t}\r\n\t}\r\n\r\n\tonSelectStep(index: number, form: any, isSideItem = false) {\r\n\t\tif (this.activeStep === index && isSideItem) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.data.activeTab = { data: { ...form } };\r\n\t\tthis.data.activeStepIndex = index;\r\n\t\tthis.formioComponent.currentForm.triggerChange();\r\n\r\n\t\twindow.scrollTo({\r\n\t\t\ttop: 0,\r\n\t\t\tleft: 0,\r\n\t\t\tbehavior: 'smooth',\r\n\t\t});\r\n\r\n\t\tthis.currentForm = null;\r\n\t\tthis.formReady = false;\r\n\t\tthis.decisionsFormReady = false;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.currentForm = form;\r\n\t\t\tif (this.isNestedStepper) {\r\n\t\t\t\tthis.getSubmissions();\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis.activeStep = index;\r\n\t}\r\n\r\n\tcustomSave(event) {\r\n\t\tconst eventData = _cloneDeep(event);\r\n\r\n\t\tconst formKeys = Utils.searchComponents(this.form.formio.components, {\r\n\t\t\t'component.input': true,\r\n\t\t}).map((q) => q.component.key);\r\n\r\n\t\tfor (let prop in eventData.data) {\r\n\t\t\tif (!formKeys.includes(prop)) {\r\n\t\t\t\tdelete eventData.data[prop];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//this block for buttons scope\r\n\t\tif (eventData?.component?.properties?.effectedTab) {\r\n\t\t\teventData.component.properties.effectedTab.split(',').forEach((index) => {\r\n\t\t\t\tthis.stepperMenu[index].submitted = false;\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (eventData?.component?.properties?.callsWhenEffectedTab) {\r\n\t\t\tthis.form.makeCalls(this.form.form, null, JSON.parse(eventData.component.properties.callsWhenEffectedTab), [], []);\r\n\t\t}\r\n\r\n\t\t//this block for form scope\r\n\t\tif (this.form?.form?.properties?.effectedTabKeys) {\r\n\t\t\tconst formsKeys = JSON.parse(this.form.form.properties.effectedTabKeys);\r\n\t\t\tformsKeys.forEach((item) => {\r\n\t\t\t\tif (Utils.evaluate(item.conditional, { data: eventData.data }))\r\n\t\t\t\t\tthis.stepperMenu.find(q => q.formKey == item.key).submitted = false;\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (this.form?.form?.properties?.callsWhenEffectedTab) {\r\n\t\t\tthis.form.makeCalls(this.form.form, null, JSON.parse(this.form.form.properties.callsWhenEffectedTab), [], []);\r\n\t\t}\r\n\r\n\t\tswitch (eventData.type) {\r\n\t\t\tcase CUSTOMFORMACTIONS.SAVE:\r\n\t\t\t\tthis.checkFormValidation(eventData.data);\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase CUSTOMFORMACTIONS.SAVEDRAFT:\r\n\t\t\t\tthis.onSaveData(eventData.data, true);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tcheckFormValidation(data: any) {\r\n\t\tif (!this.form.formio.checkValidity(this.form.formio.data, true)) {\r\n\t\t\tthis.form.onError(this.form.formio.errors);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.onSaveData(data);\r\n\t}\r\n\r\n\tonSaveData(formData: any, saveDraft = false) {\r\n\t\tthis.formioLoader.loading = true;\r\n\r\n\t\tconst body: any = {\r\n\t\t\tdata: {\r\n\t\t\t\t...formData,\r\n\t\t\t},\r\n\t\t};\r\n\r\n\t\tsaveDraft ? (body.state = 'draft') : noop();\r\n\r\n\t\tlet isDataSaved = false;\r\n\r\n\t\tthis.sub = this.resourceNameService\r\n\t\t\t.editSubmission(this.currentForm.formKey, this.currentForm.formSubmissionId, {\r\n\t\t\t\t...body,\r\n\t\t\t})\r\n\t\t\t.pipe(\r\n\t\t\t\ttap((res) => {\r\n\t\t\t\t\tif (res && res.data) {\r\n\t\t\t\t\t\tisDataSaved = true;\r\n\t\t\t\t\t\tthis.toastrService.show(this.translateService.instant('Saved Message'), '', {\r\n\t\t\t\t\t\t\ttoastClass: 'notification-toast',\r\n\t\t\t\t\t\t\tcloseButton: true,\r\n\t\t\t\t\t\t\tenableHtml: true,\r\n\t\t\t\t\t\t\ttoastComponent: SuccessToast,\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tif (!saveDraft && this.isNestedStepper) {\r\n\t\t\t\t\t\t\tthis.formioComponent.root.emit('stepSubmited', this.currentForm.formKey);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\tfinalize(() => {\r\n\t\t\t\t\tif (isDataSaved && !saveDraft) {\r\n\t\t\t\t\t\tthis.changeTabSubmittedFlag(saveDraft);\r\n\t\t\t\t\t} else if (isDataSaved && saveDraft) {\r\n\t\t\t\t\t\tif (this.currentForm.submitted && !this.form.formio.isValid()) {\r\n\t\t\t\t\t\t\tthis.changeTabSubmittedFlag(saveDraft);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError((error) => {\r\n\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t\treturn of(0);\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.subscribe();\r\n\t}\r\n\r\n\tchangeTabSubmittedFlag(saveDraft: boolean) {\r\n\t\tthis.resourceNameService\r\n\t\t\t.patchSubmission(this.summaryResourceKey, this.currentForm.summarySubmissionId, [\r\n\t\t\t\t{\r\n\t\t\t\t\top: 'add',\r\n\t\t\t\t\tpath: '/data/submitted',\r\n\t\t\t\t\tvalue: !saveDraft ? true : false,\r\n\t\t\t\t},\r\n\t\t\t])\r\n\t\t\t.pipe(\r\n\t\t\t\ttap((res) => {\r\n\t\t\t\t\tif (res && res.data) {\r\n\t\t\t\t\t\tthis.changeTabColor(saveDraft);\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\tfinalize(() => {\r\n\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.subscribe();\r\n\t}\r\n\r\n\tchangeParentTabSubmittedFlag() {\r\n\t\tthis.resourceNameService\r\n\t\t\t.patchSubmission(this.summaryResourceKey, this.currentForm.summarySubmissionId, [\r\n\t\t\t\t{\r\n\t\t\t\t\top: 'add',\r\n\t\t\t\t\tpath: '/data/submitted',\r\n\t\t\t\t\tvalue: false,\r\n\t\t\t\t},\r\n\t\t\t])\r\n\t\t\t.pipe(\r\n\t\t\t\ttap((res) => {\r\n\t\t\t\t\tif (res && res.data) {\r\n\t\t\t\t\t\tthis.data.stepperWrapper.stepper.map((item: any) => {\r\n\t\t\t\t\t\t\tif (item.formKey === this.currentForm.formKey) {\r\n\t\t\t\t\t\t\t\titem.submitted = false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\tfinalize(() => {\r\n\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.subscribe();\r\n\t}\r\n\r\n\tafterDecisionSubmitted(event) {\r\n\t\tif (event && event.submission && event.submission.data) {\r\n\t\t\tif (this.customOptions.saveSummaryToHisotryResource) {\r\n\t\t\t\tthis.saveDecisionToHistoryResource({\r\n\t\t\t\t\t...event.submission.data,\r\n\t\t\t\t\tsubmissionId: event.submission._id,\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\tthis.changeTabColor(false, true, event.submission.data);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tasync saveDecisionToHistoryResource(data) {\r\n\t\tthis.formioLoader.loading = true;\r\n\r\n\t\tif (this.parentTaskId != data.taskId) {\r\n\t\t\tconst body = {\r\n\t\t\t\t...data,\r\n\t\t\t\ttaskId: this.parentTaskId,\r\n\t\t\t};\r\n\r\n\t\t\t// To Create New Record in History Summary Resource\r\n\t\t\tconst historyItem: any = await this.addOrEditSummary(\r\n\t\t\t\tnull,\r\n\t\t\t\tbody,\r\n\t\t\t\tthis.historySummaryResourceKey\r\n\t\t\t);\r\n\r\n\t\t\t// To Update Record in Parent Summmary Resource\r\n\t\t\tawait this.addOrEditSummary(\r\n\t\t\t\tdata.submissionId,\r\n\t\t\t\t{ ...body, historySummaryId: historyItem._id },\r\n\t\t\t\tthis.summaryResourceKey\r\n\t\t\t);\r\n\r\n\t\t\tthis.formioLoader.loading = false;\r\n\t\t\tthis.changeTabColor(false, true, data);\r\n\t\t} else {\r\n\t\t\t// In case of parent tasId is equal to current summary taskId\r\n\r\n\t\t\tlet historySummaryItem: any;\r\n\t\t\tconst query = `_id=${data.historySummaryId}`;\r\n\t\t\tthis.resourceNameService\r\n\t\t\t\t.loadCustomByFilterdKey(this.historySummaryResourceKey, query)\r\n\t\t\t\t.subscribe(\r\n\t\t\t\t\t(res: any[]) => {\r\n\t\t\t\t\t\tif (res && res.length) {\r\n\t\t\t\t\t\t\thistorySummaryItem = res[0];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\t() => {\r\n\t\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t\t\tthis.changeTabColor(false, true, data);\r\n\t\t\t\t\t},\r\n\t\t\t\t\tasync () => {\r\n\t\t\t\t\t\t// To Create New Record in History Summary Resource\r\n\t\t\t\t\t\tawait this.addOrEditSummary(\r\n\t\t\t\t\t\t\thistorySummaryItem._id,\r\n\t\t\t\t\t\t\tdata,\r\n\t\t\t\t\t\t\tthis.historySummaryResourceKey\r\n\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t\t\tthis.changeTabColor(false, true, data);\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\taddOrEditSummary(submissionId: string, obj, resource: string): Promise {\r\n\t\treturn new Promise(async (resolve, reject) => {\r\n\t\t\ttry {\r\n\t\t\t\tlet result: any;\r\n\t\t\t\tif (submissionId) {\r\n\t\t\t\t\tresult = await this.resourceNameService\r\n\t\t\t\t\t\t.editSubmission(resource, submissionId, { data: obj })\r\n\t\t\t\t\t\t.toPromise();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tresult = await this.resourceNameService\r\n\t\t\t\t\t\t.addSubmission(resource, { data: obj })\r\n\t\t\t\t\t\t.toPromise();\r\n\t\t\t\t}\r\n\t\t\t\tresolve(result);\r\n\t\t\t} catch (e) {\r\n\t\t\t\tthis.toastrService.show(\r\n\t\t\t\t\tthis.translateService.instant('History not saved!'),\r\n\t\t\t\t\tthis.translateService.instant('ErrorOccurred'),\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttoastClass: 'notification-toast',\r\n\t\t\t\t\t\tcloseButton: true,\r\n\t\t\t\t\t\tenableHtml: true,\r\n\t\t\t\t\t\ttoastComponent: ErrorToast,\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\treject(e);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tchangeTabColor(saveDraft, isDecisionForm = false, decisionSubmission: any = {}) {\r\n\t\tif (!this.isNestedStepper) {\r\n\t\t\tthis.data.stepperWrapper.stepper.map((item: any) => {\r\n\t\t\t\tif (item.formKey === this.currentForm.formKey) {\r\n\t\t\t\t\tisDecisionForm\r\n\t\t\t\t\t\t? (item.status = decisionSubmission.status)\r\n\t\t\t\t\t\t: (item.submitted = !saveDraft ? true : false);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.stepperMenu.map((item: any) => {\r\n\t\t\t\tif (item.formKey === this.currentForm.formKey) {\r\n\t\t\t\t\titem.submitted = !saveDraft ? true : false;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tconst isAllStepsSubmitted = this.stepperMenu.every((step: any) => step.submitted);\r\n\t\t\tif (!isAllStepsSubmitted && saveDraft) {\r\n\t\t\t\tthis.formioComponent.root.emit('notifyParentStepper', null);\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.cdRef.detectChanges();\r\n\t\tthis.formioComponent.currentForm.triggerChange();\r\n\r\n\t\tif (!saveDraft) {\r\n\t\t\tthis.moveToNextStep();\r\n\t\t}\r\n\t}\r\n\r\n\tmoveToNextStep() {\r\n\t\tconst index =\r\n\t\t\tthis.activeStep < this.stepperMenu.length - 1\r\n\t\t\t\t? this.activeStep + 1\r\n\t\t\t\t: this.stepperMenu.length - 1;\r\n\r\n\t\tconst form = this.stepperMenu[index];\r\n\r\n\t\tthis.onSelectStep(index, form, index === this.stepperMenu.length - 1 ? true : false);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subscriptions$.forEach((o) => o.unsubscribe());\r\n\t\tthis.subscriptions$ = [];\r\n\t}\r\n}\r\n","
    \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\t\r\n \r\n \r\n \r\n
    \r\n {{ \"forms.common.generalReport\" | translate }}\r\n \r\n {{ \"forms.common.evaluation\" | translate }}\r\n
    \r\n {{ criterion | propertyLocalized : [\"nameAr\", \"nameEn\"] | async }}\r\n {{ criterion.totalEvaluation || 0 }}
    \r\n {{ \"forms.common.total\" | translate }}\r\n {{ evaluations }}
    \r\n
    \r\n","import { SharedModule } from './shared/shared.module';\r\nimport { LOCALE_ID, NgModule } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { CoreModule } from './core/core.module';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { TranslateLoaderHelper } from './core/helpers/translate-loader.helper';\r\nimport { KeycloakAngularModule } from 'keycloak-angular';\r\nimport { FormioDemoComponent } from './modules/formio-demo/formio-demo.component';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DynamicQrComponent } from './modules/dynamic-qr/dynamic-qr.component';\r\nimport { PagesComponent } from './modules/pages/pages.component';\r\nimport { APP_BASE_HREF } from '@angular/common';\r\n@NgModule({\r\n\tdeclarations: [AppComponent,\r\n\t\tFormioDemoComponent,\r\n\t\tDynamicQrComponent,\r\n\t\tPagesComponent,\r\n\t],\r\n\timports: [\r\n\t\tCoreModule,\r\n\t\tSharedModule,\r\n\t\tAppRoutingModule,\r\n\t\tKeycloakAngularModule,\r\n\t\tNgbModule,\r\n\t\tTranslateModule.forRoot({\r\n\t\t\tloader: {\r\n\t\t\t\tprovide: TranslateLoader,\r\n\t\t\t\tuseClass: TranslateLoaderHelper,\r\n\t\t\t\tdeps: [HttpClient],\r\n\t\t\t},\r\n\t\t}),\r\n\t],\r\n\tproviders: [\r\n\t\t{ provide: APP_BASE_HREF, useValue: '' }\r\n\t],\r\n\tbootstrap: [AppComponent],\r\n\tentryComponents: [],\r\n})\r\nexport class AppModule { }\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { ChartsWrapperComponent } from './charts-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'charts-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'charts-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'Charts', // Title of the component\r\n};\r\n\r\nexport function registerChartsWrapperComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, ChartsWrapperComponent, injector);\r\n}\r\n","\r\n \r\n \r\n \r\n","\r\n\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n\r\n\r\n
    \r\n","import {\r\n\tAfterViewInit,\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { FormioCustomComponent, FormioLoader } from 'dp-formio';\r\nimport { Utils } from 'formiojs';\r\n\r\nimport { Chart, registerables } from 'chart.js';\r\nChart.register(...registerables);\r\ndeclare var echarts: any;\r\n\r\n@Component({\r\n\tselector: 'dynamic-chart-wrapper',\r\n\ttemplateUrl: './dynamic-chart-wrapper.component.html',\r\n\t// styleUrls: ['./dynamic-chart-wrapper.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tproviders: [FormioLoader],\r\n})\r\nexport class DynamicChartWrapperComponent\r\n\timplements FormioCustomComponent, OnChanges, AfterViewInit, OnDestroy {\r\n\tdir: 'rtl' | 'ltr';\r\n\r\n\t@ViewChild('form') form: any;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Output() formSubmitted = new EventEmitter();\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\tdisabled: boolean;\r\n\tisReady = false;\r\n\tchart: any;\r\n\r\n\tsubscriptions$: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subscriptions$.push(s);\r\n\t}\r\n\r\n\tconstructor(private translateService: TranslateService,\r\n\t\tprivate loader: FormioLoader) {\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((data) => {\r\n\t\t\tthis.changeDirection(data.lang);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang == 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.chart?.destroy();\r\n\t\tthis.subscriptions$.forEach((o) => o.unsubscribe());\r\n\t\tthis.subscriptions$ = [];\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tif (this.customOptions) {\r\n\t\t\tthis.loader.loading = true;\r\n\t\t\tif (this.customOptions.eventName) this.makeCalls();\r\n\t\t\telse {\r\n\t\t\t\tthis.loader.loading = false;\r\n\t\t\t\tsetTimeout(() => this.initChart(), 250);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate makeCalls() {\r\n\t\tif (this.formioComponent?.root?.form?.properties[this.customOptions.eventName]) {\r\n\t\t\tthis.formioComponent.root.events.emit('formio.makeCalls',\r\n\t\t\t\tthis.formioComponent.root.form,\r\n\t\t\t\tnull,\r\n\t\t\t\tJSON.parse(this.formioComponent.root.form.properties[this.customOptions.eventName]),\r\n\t\t\t\t[],\r\n\t\t\t\t[],\r\n\t\t\t\ttrue,\r\n\t\t\t\t() => this.initChart());\r\n\t\t}\r\n\t}\r\n\r\n\tprivate initChart() {\r\n\t\tthis.loader.loading = false;\r\n\t\tif (this.customOptions.echartsOption) {\r\n\t\t\tthis.initEChart();\r\n\t\t} else {\r\n\t\t\tconst labels = this.customOptions.labels ?\r\n\t\t\t\tUtils.evaluate(this.customOptions.labels, { translate: this.translateService.instant, data: this.data }) :\r\n\t\t\t\t[];\r\n\t\t\tconst ctx = (document.getElementById(`chartJs-${this.formioComponent.component.key}`) as any).getContext(\"2d\");\r\n\t\t\tChart.getChart(`chartJs-${this.formioComponent.component.key}`)?.destroy();\r\n\t\t\tthis.chart = new Chart(ctx, {\r\n\t\t\t\ttype: this.customOptions.type,\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tlabels: this.customOptions.translateLabels ?\r\n\t\t\t\t\t\tlabels.map(q => this.translateService.instant(`forms.common.${q}`)) :\r\n\t\t\t\t\t\tlabels,\r\n\t\t\t\t\tdatasets: Utils.evaluate(this.customOptions.datasets, { translate: this.translateService, data: this.data })\r\n\t\t\t\t},\r\n\t\t\t\toptions: this.customOptions.options\r\n\t\t\t});\r\n\t\t\tsetTimeout(() => this.isReady = true);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate initEChart() {\r\n\t\tconst chart = echarts.init(document.getElementById(`eChart-${this.formioComponent.component.key}`));\r\n\t\tconst option = Utils.evaluate(this.customOptions.echartsOption, { translate: this.translateService, data: this.data });\r\n\t\tchart.setOption(option);\r\n\t\tchart.resize();\r\n\t\twindow.addEventListener('resize', () => { chart.resize(); });\r\n\t}\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { map, Observable } from \"rxjs\";\r\nimport { ICriterion } from \"../../distribute-team-members/models/criterion\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MemberModel } from \"../models/member.model\";\r\nimport { CriterionInformation, MemberCriterionInformation } from \"../models/criterion-information.mode\";\r\nimport { Summary } from \"../models/summary.model\";\r\nimport { PagingResponse } from \"../models/paging-response.model\";\r\nimport { ExecutivePlan } from \"../models/executive-plan.model\";\r\nimport { FinalReportMistakes } from \"../models/final-report-mistakes.model\";\r\nimport { FinalReportResponse } from \"../models/final-report-response.model\";\r\nimport { FormioAppConfig } from \"dp-formio\";\r\nimport { PAGE_SIZE } from \"./criterions.service\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ItimadCriterionsService {\r\n private baseUrl = this.formioAppConfig.gateway;\r\n\r\n constructor(private formioAppConfig: FormioAppConfig,\r\n private http: HttpClient) {\r\n }\r\n\r\n get criterionPath() {\r\n return this.formioAppConfig.endpoints.criterion;\r\n }\r\n get finalReportMistakes() {\r\n const path = this.formioAppConfig.endpoints.finalReportMistakes;\r\n return path;\r\n }\r\n get finalReportResponses() {\r\n const path = this.formioAppConfig.endpoints.finalReportResponses;\r\n return path;\r\n }\r\n private criterionInformationsEndpoint(isFinal: boolean = false) {\r\n const path = isFinal ?\r\n this.formioAppConfig.endpoints.finalCriterionInformations :\r\n this.formioAppConfig.endpoints.criterionInformations;\r\n return path;\r\n }\r\n\r\n getAllCriterionByVisitKey(visitKey: string): Observable {\r\n const url = `${this.baseUrl}${this.criterionPath}visit/${visitKey}/members`;\r\n return this.http.get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n }).pipe(\r\n map(data => {\r\n data.forEach(item => {\r\n if (item.numberOfApplicable > 0)\r\n item.calculatedSavedScore = item.totalEvaluationCriteria / item.numberOfApplicable;\r\n });\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n getMyCriterionByVisitKey(visitKey: string, reviewerId): Observable {\r\n const url = `${this.baseUrl}${this.criterionPath}visit/${visitKey}/members/reviewer/${reviewerId}`;\r\n return this.http.get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n }).pipe(\r\n map(data => {\r\n data.forEach(item => {\r\n if (item.numberOfApplicable > 0)\r\n item.calculatedSavedScore = item.totalEvaluationCriteria / item.numberOfApplicable;\r\n });\r\n return data;\r\n })\r\n );\r\n }\r\n\r\n //summary filter\r\n getStickQuestionByVisitKey(visitKey: string): Observable {\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.criterion}STICK/visit/${visitKey}`;\r\n return this.http.get(url);\r\n }\r\n\r\n //summary filter\r\n getMembersByVisitKey(visitKey: string): Observable {\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.visitMembers}visit/${visitKey}`;\r\n return this.http\r\n .get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n });\r\n }\r\n\r\n //summary filter\r\n getCriterionInformationForAll(params: any): Observable> {\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.criterionInformations}visit/summaries`;\r\n return this.http.get(url, {\r\n observe: 'response',\r\n params: params\r\n }).pipe(\r\n map((response) => {\r\n return {\r\n totalItems: Number(response.headers.get('x-total-count')),\r\n data: response.body,\r\n size: params?.size ?? PAGE_SIZE,\r\n page: params?.page ?? 0,\r\n };\r\n })\r\n );\r\n }\r\n\r\n getCriterionInformationForMainCriterion(visitKey: string, criterionKey: string, memberId: string, isFinal: boolean = false): Observable {\r\n let url = `${this.baseUrl}${this.criterionInformationsEndpoint(isFinal)}${criterionKey}/visit/${visitKey}`;\r\n if (!isFinal) url += `/member/${memberId}`;\r\n return this.http.get(url);\r\n }\r\n\r\n getCriterionInformation(visitKey: string, criterionKey: string, memberId: string, isFinal: boolean = false): Observable {\r\n const url = `${this.baseUrl}${this.criterionInformationsEndpoint(isFinal)}`;\r\n const params: any = {\r\n 'visitKey.equals': visitKey,\r\n 'criterionKey.equals': criterionKey\r\n };\r\n if (!isFinal) params['memberId.equals'] = memberId;\r\n\r\n return this.http.get(url, {\r\n params: params\r\n }).pipe(map(data => data.length ? data[0] : null));\r\n }\r\n\r\n createCriterionInformation(payload: CriterionInformation, isFinal: boolean = false): Observable {\r\n const url = `${this.baseUrl}${this.criterionInformationsEndpoint(isFinal)}`;\r\n return this.http.post(url, payload);\r\n }\r\n\r\n editCriterionInformation(payload: CriterionInformation, isFinal: boolean = false): Observable {\r\n const url = `${this.baseUrl}${this.criterionInformationsEndpoint(isFinal)}`;\r\n return this.http.put(url, payload);\r\n }\r\n\r\n getSummaries(visitKey: string, type: string, isCustom: boolean = false): Observable {\r\n // v1 for get summaryOfRecommendations with finalReportResponseId\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.reportingservice}${isCustom ? 'v1/' : ''}${type}`;\r\n return this.http.get(url, {\r\n params: {\r\n 'visitKey.equals': visitKey,\r\n 'deleted.equals': 'false'\r\n },\r\n responseType: 'json'\r\n });\r\n }\r\n\r\n saveSummaries(type: string, payload: Summary[]): Observable {\r\n const url = `${this.baseUrl}${this.formioAppConfig.endpoints.reportingservice}v1/${type}`;\r\n return this.http.post(url, payload);\r\n }\r\n\r\n getExecutivePlan(visitKey: string): Observable {\r\n const path = this.formioAppConfig.endpoints.executivePlan;\r\n const pathSegments = path.split('api/');\r\n const executivePlan = pathSegments[0] + `api/` + pathSegments[1];\r\n\r\n const url = `${this.baseUrl}${executivePlan}`;\r\n return this.http.get(url, {\r\n params: {\r\n 'visitKey.equals': visitKey,\r\n 'deleted.equals': 'false'\r\n }\r\n });\r\n }\r\n\r\n saveExecutivePlan(payload: ExecutivePlan[]): Observable {\r\n const path = this.formioAppConfig.endpoints.customExecutivePlan;\r\n const pathSegments = path.split('api/v1/');\r\n const executivePlan = pathSegments[0] + `api/v1/` + pathSegments[1];\r\n\r\n const url = `${this.baseUrl}${executivePlan}`;\r\n return this.http.post(url, payload);\r\n }\r\n\r\n getFinalReportMistakes(visitKey: string, criterionKey: string): Observable {\r\n const url = `${this.baseUrl}${this.finalReportMistakes}`;\r\n return this.http.get(url, {\r\n params: {\r\n 'visitKey.equals': visitKey,\r\n 'criterionKey.equals': criterionKey\r\n }\r\n }).pipe(map(data => data.length ? data[0] : null));;\r\n }\r\n\r\n createFinalReportMistakes(payload: FinalReportMistakes): Observable {\r\n const url = `${this.baseUrl}${this.finalReportMistakes}`;\r\n return this.http.post(url, payload);\r\n }\r\n\r\n editFinalReportMistakes(payload: FinalReportMistakes): Observable {\r\n const url = `${this.baseUrl}${this.finalReportMistakes}`;\r\n return this.http.put(url, payload);\r\n }\r\n\r\n deleteFinalReportMistakes(id: number): Observable {\r\n const url = `${this.baseUrl}${this.finalReportMistakes}/${id}`;\r\n return this.http.delete(url);\r\n }\r\n\r\n getFinalReportResponses(id: string): Observable {\r\n const url = `${this.baseUrl}${this.finalReportResponses}${id}`;\r\n return this.http.get(url);\r\n }\r\n\r\n createFinalReportResponses(payload: FinalReportResponse): Observable {\r\n const url = `${this.baseUrl}${this.finalReportResponses}`;\r\n return this.http.post(url, payload);\r\n }\r\n\r\n editFinalReportResponses(payload: FinalReportResponse): Observable {\r\n const url = `${this.baseUrl}${this.finalReportResponses}`;\r\n return this.http.put(url, payload);\r\n }\r\n}\r\n\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Injector,\r\n Input,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { Observable, combineLatest, map } from 'rxjs';\r\nimport { ComponentBase } from '../../base/base.component';\r\nimport { CommonQuestionModel, ResourceQuestion } from '../../models';\r\n\r\ntype QuestionType = { active: boolean; data: ResourceQuestion };\r\n\r\n@Component({\r\n selector: 'app-questions-resource-list',\r\n templateUrl: './questions-resource-list.component.html',\r\n styleUrls: ['./questions-resource-list.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class QuestionsResourceListComponent extends ComponentBase {\r\n questions$: Observable;\r\n\r\n @Input() value: ResourceQuestion[];\r\n\r\n @Output() addQuestion = new EventEmitter();\r\n\r\n resourceName: string;\r\n\r\n @Input() set query(val: { resourceName: string; visitType: string }) {\r\n if (val) {\r\n this.questions$ = this._getResource(val);\r\n }\r\n }\r\n\r\n trackByFn(index: number, item: QuestionType) {\r\n return item?.data?._id;\r\n }\r\n\r\n /**\r\n *\r\n */\r\n constructor(public injector: Injector) {\r\n super(injector);\r\n }\r\n\r\n add(question: ResourceQuestion) {\r\n this.addQuestion.emit(question);\r\n }\r\n\r\n private _getResource({ resourceName, visitType }) {\r\n return combineLatest([\r\n this.questionsService.getResourceData(resourceName, {\r\n limit: Number.MAX_SAFE_INTEGER,\r\n sort: 'data.order',\r\n 'data.type__regex':\r\n `${visitType}`.toLowerCase() === 'programmatic'\r\n ? 'institutionalProgrammatic'\r\n : 'institutionalAccreditation',\r\n }),\r\n this.questionsStore.questionsStore$,\r\n ]).pipe(this.mapResourceQuestionsAndUpdateByIsAdded());\r\n }\r\n\r\n mapResourceQuestionsAndUpdateByIsAdded() {\r\n return map(\r\n ([resourceQuestions, commonQuestions]: [\r\n ResourceQuestion[],\r\n CommonQuestionModel[]\r\n ]) => {\r\n return resourceQuestions.map((faq) => {\r\n return {\r\n data: faq,\r\n active: commonQuestions.every((itm) => itm.questionKey !== faq.key),\r\n };\r\n });\r\n }\r\n );\r\n }\r\n}\r\n","import { DatePipe } from '@angular/common';\r\nimport { Component, Inject } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { MasarCriterionsService } from '../../../services/masar-criterions.service';\r\n\r\n@Component({\r\n\tselector: 'app-add-edit-mistake',\r\n\ttemplateUrl: './add-edit-mistake.dialog.html',\r\n\tstyleUrls: ['./add-edit-mistake.dialog.scss'],\r\n})\r\nexport class AddEditMistakeComponent extends BaseComponent {\r\n\tform: FormGroup;\r\n\tcriterions$ = this.masarCriterionsService.getMainCriterionByVisitKey(this.data.visitKey);\r\n\r\n\tcriterionKey = 'criterion';\r\n\tmistakeLevels = [\r\n\t\t// { key: 'executiveSummary', label: 'forms.common.Criteria.executiveSummary' },\r\n\t\t{ key: this.criterionKey, label: 'forms.common.Criteria.Criterion' },\r\n\t];\r\n\r\n\tconstructor(\r\n\t\tpublic dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: any,\r\n\t\tprivate fb: FormBuilder,\r\n\t\tprivate datePipe: DatePipe,\r\n\t\tprivate masarCriterionsService: MasarCriterionsService\r\n\t) {\r\n\t\tsuper();\r\n\t\tthis.initForm();\r\n\t}\r\n\r\n\tsave() {\r\n\t\tconst data = this.form.value;\r\n\t\tdata.mistakeLevel = this.criterionKey;\r\n\t\tthis.dialogRef.close(data);\r\n\t}\r\n\r\n\tcancel(): void {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\r\n\tchangeMistakeLevel() {\r\n\t\t// const criterionControlKey = 'criterionKey';\r\n\t\t// if (this.form.value.mistakeLevel == this.criterionKey) {\r\n\t\t// \tthis.form.get(criterionControlKey).setValidators([Validators.required]);\r\n\t\t// } else {\r\n\t\t// \tthis.form.get(criterionControlKey).setValue(null);\r\n\t\t// \tthis.form.get(criterionControlKey).clearValidators();\r\n\t\t// }\r\n\t\t// this.form.get(criterionControlKey).updateValueAndValidity();\r\n\t}\r\n\r\n\tprivate initForm() {\r\n\t\tthis.form = this.fb.group({\r\n\t\t\tid: [this.data.model.id || null],\r\n\t\t\tmistakeLevel: [\r\n\t\t\t\t{ value: this.data.model.mistakeLevel || this.criterionKey, disabled: true },\r\n\t\t\t\t[Validators.required],\r\n\t\t\t],\r\n\t\t\tcriterionKey: [\r\n\t\t\t\t{ value: this.data.model.criterionKey || '', disabled: this.data.viewOnly },\r\n\t\t\t\t[Validators.required],\r\n\t\t\t],\r\n\t\t\tmistake: [\r\n\t\t\t\t{ value: this.data.model.mistake || '', disabled: this.data.viewOnly },\r\n\t\t\t\t[Validators.required],\r\n\t\t\t],\r\n\t\t\tsuggestedSolution: [\r\n\t\t\t\t{ value: this.data.model.suggestedSolution || '', disabled: this.data.viewOnly },\r\n\t\t\t\t[Validators.required],\r\n\t\t\t],\r\n\t\t});\r\n\t}\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { CommentsHistoryWrapperComponent } from './comments-history-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'comments-history-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'comments-history-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'View All Comments History', // Title of the component\r\n};\r\n\r\nexport function registerCommentsHistoryWrapperComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, CommentsHistoryWrapperComponent, injector);\r\n}\r\n","import { Component, Injector, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { combineLatest } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { BaseComponent } from '../base.component';\r\n\r\n@Component({\r\n\tselector: 'app-footer',\r\n\ttemplateUrl: './footer.component.html',\r\n\tstyleUrls: ['./footer.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n})\r\nexport class FooterComponent extends BaseComponent {\r\n\tfooterContent$ = combineLatest([\r\n\t\tthis.configService.footerTemplate$,\r\n\t\tthis.translateService.onLangChange,\r\n\t]).pipe(map(([tpl]) => this._prepareTemplate(tpl as any)));\r\n\r\n\tconstructor(public injector: Injector) {\r\n\t\tsuper(injector);\r\n\t}\r\n\tprivate _prepareTemplate(tpl: string) {\r\n\t\treturn tpl.replace(/{#(.*?)#}/g, (match, p1) => this.translateService.instant(p1));\r\n\t}\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { Process } from '../models/process.model';\r\n\r\n@Pipe({\r\n name: 'displayOrderPattern',\r\n})\r\nexport class DisplayOrderPatternPipe implements PipeTransform {\r\n constructor() {\r\n }\r\n\r\n transform(value: number, process: Process): string {\r\n if (!process) return ``;\r\n if (process.displayNumberBy == 'order')\r\n return `${value}`;\r\n else {\r\n return process.questionNumberPattern.replace('{{i}}', `${value}`);\r\n }\r\n }\r\n}\r\n","import { SwitchLangService } from 'src/app/core/services/switch-lang.service';\r\nimport { LoggerService } from './../services/logger.service';\r\nimport { Platform } from '@ionic/angular';\r\nimport { KeycloakEventType, KeycloakService } from 'keycloak-angular';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ConfigService } from '../services/config.service';\r\nimport { SessionService } from '../services/session.service';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\n\r\nexport function initializer(\r\n\tkeycloak: KeycloakService,\r\n\tsession: SessionService,\r\n\tplatform: Platform,\r\n\tconfigService: ConfigService,\r\n\tloggerService: LoggerService,\r\n\tswitchLangService: SwitchLangService\r\n): () => Promise {\r\n\treturn (): Promise => {\r\n\t\treturn new Promise(async (resolve, reject) => {\r\n\t\t\ttry {\r\n\t\t\t\tif (configService)\r\n\t\t\t\t\tconfigService.loadConfig().then(() => {\r\n\t\t\t\t\t\tconfigService.setupEssentials();\r\n\t\t\t\t\t});\r\n\t\t\t} catch (e) {\r\n\t\t\t\tloggerService.warn(e);\r\n\t\t\t}\r\n\t\t\tplatform.ready().then(async () => {\r\n\t\t\t\ttry {\r\n\t\t\t\t\t//const loginUrl = `${environment.keycloak.url}/realms/${environment.keycloak.realm}/protocol/openid-connect/auth?kc_locale=ar`;\r\n\t\t\t\t\t\t//window.location.href = loginUrl;\r\n\t\t\t\t\tawait keycloak.init({\r\n\t\t\t\t\t\tconfig: environment.keycloak,\r\n\t\t\t\t\t\tloadUserProfileAtStartUp: false,\r\n\t\t\t\t\t\tinitOptions: {\r\n\t\t\t\t\t\t\tonLoad: 'check-sso',\r\n\t\t\t\t\t\t\tcheckLoginIframe: false,\r\n\t\t\t\t\t\t\t //redirectUri: loginUrl\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tenableBearerInterceptor: true,\r\n\t\t\t\t\t\tbearerExcludedUrls: [\r\n\t\t\t\t\t\t\t'/assets/', // due to call ngx-translate\r\n\t\t\t\t\t\t\t'/localization/submission/',\r\n\t\t\t\t\t\t\t// environment.statisticsApi.api,\r\n\t\t\t\t\t\t\tenvironment.keycloak.url,\r\n\t\t\t\t\t\t\tenvironment.cms,\r\n\t\t\t\t\t\t\t'/api/requests/count',\r\n\t\t\t\t\t\t\t// environment.formio.api.requestForm,\r\n\t\t\t\t\t\t\t// environment.formio.api.master,\r\n\t\t\t\t\t\t\t// environment.gateway\r\n\t\t\t\t\t\t\t// environment.gateway\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tif (await keycloak.isLoggedIn()) {\r\n\t\t\t\t\t\tconst token = await keycloak.getToken();\r\n\t\t\t\t\t\tlocalStorage.setItem('_token', token);\r\n\t\t\t\t\t\tif (localStorage.getItem('needLogin') == 'true' || !localStorage.getItem('needLogin')) {\r\n\t\t\t\t\t\t\t//take lang from token and change language\r\n\t\t\t\t\t\t\tconst helper = new JwtHelperService();\r\n\t\t\t\t\t\t\tconst decodedToken = helper.decodeToken(token);\r\n\t\t\t\t\t\t\tswitchLangService.changeLang((decodedToken.locale || 'ar').toLowerCase());\r\n\t\t\t\t\t\t\tlocalStorage.setItem('needLogin', 'false');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tawait session.checkLicense();\r\n\t\t\t\t\t\tawait session.loadUserProfile();\r\n\r\n\t\t\t\t\t\tkeycloak.keycloakEvents$.subscribe(async (event) => {\r\n\t\t\t\t\t\t\tif (event.type == KeycloakEventType.OnTokenExpired) {\r\n\t\t\t\t\t\t\t\tkeycloak.updateToken(1);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (event.type == KeycloakEventType.OnAuthRefreshError) {\r\n\t\t\t\t\t\t\t\tlocalStorage.setItem('needLogin', 'true');\r\n\t\t\t\t\t\t\t\talert('hello etec');\r\n\t\t\t\t\t\t\t\tkeycloak.login();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (event.type == KeycloakEventType.OnAuthRefreshSuccess) {\r\n\t\t\t\t\t\t\t\tconst token = await keycloak.getToken();\r\n\t\t\t\t\t\t\t\tlocalStorage.setItem('_token', token);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlocalStorage.setItem('_token', '');\r\n\t\t\t\t\t\tconst kc = keycloak.getKeycloakInstance();\r\n\t\t\t\t\t\tloggerService.log(kc);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tresolve(true);\r\n\t\t\t\t} catch (error) {\r\n\t\t\t\t\treject(error);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t};\r\n}\r\n","import { formatDate } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Injector, ViewEncapsulation } from '@angular/core';\r\nimport { Formio } from 'formiojs';\r\nimport HijriDate from 'hijri-date/lib/safe';\r\nimport { combineLatest, from, Observable, of } from 'rxjs';\r\nimport { startWith, switchMap } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ResourceNameService, UserService } from 'dp-formio';\r\nimport { BaseComponent } from '../base.component';\r\nimport { MenuItem } from './models/menu-item/menu.item.interface';\r\n\r\n@Component({\r\n\tselector: 'app-header',\r\n\ttemplateUrl: './header.component.html',\r\n\t// styleUrls: ['./header.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HeaderComponent extends BaseComponent {\r\n\tlogo = '';\r\n\tloggedIn = false;\r\n\tuserDetails: { [k: string]: any };\r\n\tmyDate = new Date();\r\n\tnewDate: string;\r\n\ttime: string;\r\n\ttodaysDataTime: string;\r\n\ttoday = new HijriDate().format('dd mmmm yyyy');\r\n\tmenuItems: MenuItem[];\r\n\r\n\ttype = '';\r\n\tshowDashboardCounters = environment.showDashboardCounters;\r\n\tlanguages = [\r\n\t\t{ name: 'ENGLISH', code: 'en' },\r\n\t\t{ name: 'ARABIC', code: 'ar' },\r\n\t];\r\n\tselectedLang = this.translateService.currentLang;\r\n\r\n\tconstructor(public injector: Injector,\r\n\t\tprivate userService: UserService,\r\n\t\tprivate resourceNameService: ResourceNameService) {\r\n\t\tsuper(injector);\r\n\t\tthis._registerDelayPlugin();\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.initModelsManagementResource();\r\n\t\tthis.switchLangService.changeLang();\r\n\t\tthis._prepareDates();\r\n\r\n\t\tcombineLatest([\r\n\t\t\tfrom(this.keycloakService.isLoggedIn()).pipe(\r\n\t\t\t\tswitchMap((isLogin) => (isLogin ? this._getUserDataToken() : of(isLogin)))\r\n\t\t\t),\r\n\t\t\tthis.keycloakService.keycloakEvents$.pipe(startWith({})),\r\n\t\t]).subscribe(([DataToken]) => {\r\n\t\t\tthis.loggedIn = !!DataToken;\r\n\t\t\tthis.type = DataToken ? DataToken?.type : '';\r\n\t\t});\r\n\t}\r\n\r\n\tlogout() {\r\n\t\tlocalStorage.setItem('needLogin', 'true');\r\n\t\tlocalStorage.setItem('_etec_data', null);\r\n\t\t\r\n\t\tconst redirectUri = environment.keycloak.disableLoginRedirectUri ?\r\n\t\t\twindow.location.origin :\r\n\t\t\tnull;\r\n\t\tthis.keycloakService.logout(redirectUri);\r\n\t}\r\n\r\n\tlogin() {\r\n\t\tthis.keycloakService.login();\r\n\t}\r\n\r\n\r\n\t// #region private methods\r\n\r\n\tprivate _getUserDataToken(): Observable {\r\n\t\treturn combineLatest([\r\n\t\t\tthis.sessionService.loadUserProfile(),\r\n\t\t\tthis.keycloakService.getToken(),\r\n\t\t]).pipe(\r\n\t\t\tswitchMap(([profile, token]) => {\r\n\t\t\t\tthis.userDetails = profile;\r\n\t\t\t\treturn from(this.userService.getTokenData(token));\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate _prepareDates(): void {\r\n\t\tthis.newDate = formatDate(this.myDate, ' d MMMM y', this.translateService.currentLang);\r\n\t\tthis.time = this.myDate.toLocaleString('en-US', { hour: 'numeric', hour12: true });\r\n\t\tthis.todaysDataTime = formatDate(this.myDate, ' hh:mm a', 'en-US', '+3');\r\n\t}\r\n\r\n\tprivate _registerDelayPlugin(): void {\r\n\t\tconst DelayPlugin = {\r\n\t\t\tpriority: 100,\r\n\t\t\tpreRequest: (requestArgs) => {\r\n\t\t\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\t\tif (!requestArgs.opts) {\r\n\t\t\t\t\t\trequestArgs.opts = {};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!requestArgs.opts.header) {\r\n\t\t\t\t\t\trequestArgs.opts.header = new Headers();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (requestArgs.type === 'submission') {\r\n\t\t\t\t\t\trequestArgs.opts.header.append('content-type', `application/json`);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tresolve(true);\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t};\r\n\r\n\t\tFormio.registerPlugin(DelayPlugin, 'delay');\r\n\t}\r\n\t//#endregion\r\n\r\n\tprivate initModelsManagementResource() {\r\n\t\tthis.sub = this.resourceNameService.modelsManagementResource.subscribe(\r\n\t\t\t(data) => {\r\n\t\t\t\tif (!data) this.getModelsManagement();\r\n\t\t\t\telse this.initModelsManagement(data);\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\tprivate getModelsManagement() {\r\n\t\tthis.sub = this.resourceNameService\r\n\t\t\t.getManageMenuData()\r\n\t\t\t.subscribe((data) => {\r\n\t\t\t\tthis.initModelsManagement(data);\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate initModelsManagement(data) {\r\n\t\tthis.menuItems = [];\r\n\t\tif (data && data.length) {\r\n\t\t\tdata[0]?.data?.menus?.filter(q => !q.internalPage)?.forEach((item) => {\r\n\t\t\t\tconst _appearance = (!item.appearance?.length || item.appearance.includes('frontOffice')) && item.isActive;\r\n\t\t\t\tif (_appearance) {\r\n\t\t\t\t\tthis.menuItems.push(this.resourceNameService.generateMenuItem(item, 'ModelsManagement'));\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n}\r\n","
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {{ 'forms.common.Criteria.ErrorsData' | translate }}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n
    \r\n {{ \"forms.common.Criteria.mistakeLevel\" | translate }}\r\n \r\n
    {{ ('forms.common.Criteria.' + row?.mistakeLevel) | translate\r\n }}
    \r\n
    \r\n {{ \"forms.common.Criteria.MasarCriteria\" | translate }}\r\n \r\n
    \r\n \r\n {{ row?.criterionKey }}\r\n \r\n
    \r\n
    \r\n {{ \"forms.common.Criteria.mistake\" | translate }}\r\n \r\n
    {{ row?.mistake }}
    \r\n
    \r\n {{ \"forms.common.Criteria.suggestedSolution\" | translate }}\r\n \r\n
    {{ row?.suggestedSolution }}
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {{ \"forms.common.No items added yet\" | translate }}\r\n
    \r\n
    \r\n
    ","\r\n\r\nexport enum IndicatorStatus {\r\n NotComplete, Completed\r\n}\r\nexport class Indicator {\r\n constructor(public id: string,\r\n public key: string,\r\n public icon: string,\r\n public order: number\r\n ) { }\r\n\r\n status?: IndicatorStatus;\r\n domains: IndicatorDomain[] = [];\r\n\r\n // Calculated\r\n isCached = false;\r\n attachmentsFormKey = false;\r\n requestId: string;\r\n submissionId: string;\r\n resultSubmissionId: string;\r\n}\r\n\r\nexport class IndicatorDomain {\r\n constructor(public id: string,\r\n public key: string,\r\n public domainNumber: string,\r\n public description: string,\r\n public order: number) { }\r\n\r\n notes: string;\r\n recommendations: string;\r\n decision?: IndicatorStatus;\r\n questions: IndicatorQuestions[] = [];\r\n attachments: any[] = [];\r\n attachmentsInstance: any[] = [];\r\n\r\n // Calculated\r\n resultSubmissionId: string;\r\n}\r\n\r\nexport class IndicatorQuestions {\r\n constructor(public id: string,\r\n public order: number,\r\n public description: string,\r\n public key: string,\r\n public domainKey: string\r\n ) { }\r\n\r\n answer: number;\r\n}","export const CRITERION_TYPE = 'STICK'","import {\r\n\tComponent,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tSimpleChanges,\r\n\tViewEncapsulation\r\n} from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\r\nimport { FormioLoader, BaseFormIoCustomComponent, ResourceNameService } from 'dp-formio';\r\nimport { finalize, map, mergeMap, Observable, startWith, take, takeUntil } from 'rxjs';\r\nimport { SortHelper } from '../../helpers/sort.helper';\r\nimport { AssessmentControlComponent } from './control/assessment-control.component';\r\nimport {\r\n\tCategoryConfig,\r\n\tEvaluationItemsConfig,\r\n\tEvaluationLevelsConfig,\r\n\tOptionalInputConfig,\r\n\tProcessConfig,\r\n\tScoreConditionsConfig\r\n} from './models/config.model';\r\nvar count = 0;\r\ndeclare var $: any;\r\n@Component({\r\n\tselector: 'app-assessment-wrapper',\r\n\ttemplateUrl: './assessment-wrapper.component.html',\r\n\t// styleUrls: ['./assessment-wrapper.component.scss']\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tproviders: [FormioLoader],\r\n})\r\nexport class AssessmentWrapperComponent\r\n\textends BaseFormIoCustomComponent\r\n\timplements OnDestroy, OnChanges {\r\n\tdir: 'rtl' | 'ltr';\r\n\t@Input() required: boolean;\r\n\r\n\t@Input()\r\n\tviewOnly: boolean;\r\n\r\n\t@Input()\r\n\tdata: any;\r\n\r\n\t@Input()\r\n\tcustomOptions: any;\r\n\r\n\t@Input()\r\n\tformioComponent: any;\r\n\r\n\tproccessResource = '';\r\n\tproccessSelect = '';\r\n\tprocessConfig: ProcessConfig;\r\n\r\n\tcategoryResource = '';\r\n\tcategorySelect = '';\r\n\tcategories: CategoryConfig[] = [];\r\n\r\n\tchartData: any;\r\n\r\n\tconstructor(\r\n\t\tprivate translateService: TranslateService,\r\n\t\tprivate dialog: MatDialog,\r\n\t\tprivate resourceNameService: ResourceNameService,\r\n\t\tprivate formioLoader: FormioLoader\r\n\t) {\r\n\t\tsuper();\r\n\t\t(this.translateService.onLangChange as Observable)\r\n\t\t\t.pipe(\r\n\t\t\t\ttakeUntil(this.destroy$),\r\n\t\t\t\tstartWith({\r\n\t\t\t\t\tlang: this.translateService.currentLang,\r\n\t\t\t\t}),\r\n\t\t\t\tmap((data) => (data.lang == 'ar' ? 'rtl' : 'ltr'))\r\n\t\t\t)\r\n\t\t\t.subscribe((dir) => {\r\n\t\t\t\tthis.dir = dir;\r\n\t\t\t});\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tthis.formioLoader.loading = false;\r\n\t\tif ((changes.viewOnly || changes.customOptions) && this.customOptions) {\r\n\t\t\tif (this.viewOnly) {\r\n\t\t\t\tthis.required = false;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (changes.customOptions && this.customOptions?.proccessResource) {\r\n\t\t\tthis._interpolateData();\r\n\t\t\tthis._getAssessmentsResources();\r\n\t\t}\r\n\t}\r\n\r\n\tonResized(event) {\r\n\t\t$('#bars').height(event.newHeight - 20);\r\n\t}\r\n\r\n\topenCategory(category: CategoryConfig) {\r\n\t\tthis.openDialog(category);\r\n\t}\r\n\r\n\topenSubCategory(data: any) {\r\n\t\tthis.openDialog(data.parent, data.key);\r\n\t}\r\n\r\n\tprivate openDialog(category?: CategoryConfig, subCategoryKey?: string) {\r\n\t\tconst dialog = this.dialog.open(AssessmentControlComponent, {\r\n\t\t\tdata: {\r\n\t\t\t\tdir: this.dir,\r\n\t\t\t\tdata: this.data,\r\n\t\t\t\tviewOnly: this.viewOnly,\r\n\t\t\t\tcustomOptions: this.customOptions,\r\n\t\t\t\tprocessConfig: this.processConfig,\r\n\t\t\t\tcategories: this.categories,\r\n\t\t\t\tcurrentLevel: category,\r\n\t\t\t\tselected: [category],\r\n\t\t\t\tsubCategoryKey,\r\n\t\t\t},\r\n\t\t\theight: '100vh',\r\n\t\t\twidth: '100vw',\r\n\t\t\tpanelClass: 'full-screen-modal',\r\n\t\t\tdisableClose: true,\r\n\t\t});\r\n\t\tdialog\r\n\t\t\t.afterClosed()\r\n\t\t\t.pipe(take(1), takeUntil(this.destroy$))\r\n\t\t\t.subscribe((_) => {\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t});\r\n\t}\r\n\r\n\tnotifyValue() {\r\n\t\tconst invalid = this.required && this.categories.some((q) => q?.hasError);\r\n\t\tthis.value = invalid ? null : true;\r\n\t\tthis.valueChange.emit(this.value);\r\n\t}\r\n\r\n\tprivate _interpolateData(): void {\r\n\t\tthis.proccessResource = this.formioComponent.interpolate(this.customOptions.proccessResource, {\r\n\t\t\tdata: this.data,\r\n\t\t});\r\n\t\tthis.proccessSelect = this.formioComponent.interpolate(this.customOptions.proccessSelect, {\r\n\t\t\tdata: this.data,\r\n\t\t});\r\n\r\n\t\tthis.categoryResource = this.formioComponent.interpolate(this.customOptions.categoryResource, {\r\n\t\t\tdata: this.data,\r\n\t\t});\r\n\t\tthis.categorySelect = this.formioComponent.interpolate(this.customOptions.categorySelect, {\r\n\t\t\tdata: this.data,\r\n\t\t});\r\n\t}\r\n\r\n\tprivate _getCategoryAssessment(result): Observable {\r\n\t\tif (result?.length) {\r\n\t\t\tthis.processConfig = { _id: result[0]._id, ...result[0].data };\r\n\r\n\t\t\tthis.processConfig.scoreConditions = result[0].data.scoreConditions.map((o) => {\r\n\t\t\t\tconst oInput = new ScoreConditionsConfig();\r\n\t\t\t\tSortHelper.copyProps(o, oInput);\r\n\t\t\t\treturn oInput;\r\n\t\t\t});\r\n\r\n\t\t\tthis.processConfig.evaluationItems =\r\n\t\t\t\tresult[0].data.evaluationItems?.map((o) => {\r\n\t\t\t\t\tconst oInput = new EvaluationItemsConfig();\r\n\t\t\t\t\tSortHelper.copyProps(o, oInput);\r\n\t\t\t\t\treturn oInput;\r\n\t\t\t\t}) || [];\r\n\r\n\t\t\tthis.processConfig.evaluationLevels =\r\n\t\t\t\tresult[0].data.evaluationLevels?.map((o) => {\r\n\t\t\t\t\tconst oInput = new EvaluationLevelsConfig();\r\n\t\t\t\t\tSortHelper.copyProps(o, oInput);\r\n\t\t\t\t\treturn oInput;\r\n\t\t\t\t}) || [];\r\n\r\n\t\t\treturn this.resourceNameService.loadCustomByFilterdKey(\r\n\t\t\t\tthis.categoryResource,\r\n\t\t\t\t`data.key__in=${this.processConfig.categoryAssessment.join()}${this.categorySelect}`\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\tprivate _getAssessmentsResources() {\r\n\t\tif (!this.formioComponent.visible) return;\r\n\t\tthis.formioLoader.loading = true;\r\n\t\tthis.resourceNameService\r\n\t\t\t.loadCustomByFilterdKey(this.proccessResource, this.proccessSelect)\r\n\t\t\t.pipe(\r\n\t\t\t\ttakeUntil(this.destroy$),\r\n\t\t\t\tmergeMap((result) => this._getCategoryAssessment(result)),\r\n\t\t\t\tfinalize(() => {\r\n\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.subscribe((result: any[]) => {\r\n\t\t\t\tthis.categories = SortHelper.recursiveSort(\r\n\t\t\t\t\tresult.map((c) => this._prepareCategoryConfig(c)),\r\n\t\t\t\t\t'asc'\r\n\t\t\t\t);\r\n\r\n\t\t\t\tthis.chartData = {\r\n\t\t\t\t\tdatasets: [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tdata: this.categories.map((q) => q.percentage),\r\n\t\t\t\t\t\t\tbackgroundColor: this.categories.map((q) => q.color),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t],\r\n\t\t\t\t\tlabels: this.categories.map((q) => q.name),\r\n\t\t\t\t};\r\n\r\n\t\t\t\tthis.categories.forEach((item) => {\r\n\t\t\t\t\t$(`#bar_${item._id} .p-progressbar-value`).css('background-color', item.color);\r\n\t\t\t\t});\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate _prepareCategoryConfig(c: any): CategoryConfig {\r\n\t\t{\r\n\t\t\tconst item = new CategoryConfig();\r\n\t\t\tSortHelper.copyProps({ _id: c._id, ...c.data }, item);\r\n\t\t\titem.optionalInputs = !item.optionalInputs\r\n\t\t\t\t? []\r\n\t\t\t\t: item.optionalInputs.map((o) => {\r\n\t\t\t\t\tconst oInput = new OptionalInputConfig();\r\n\t\t\t\t\tSortHelper.copyProps(o, oInput);\r\n\t\t\t\t\treturn oInput;\r\n\t\t\t\t});\r\n\t\t\titem.processConfigObject = this.processConfig;\r\n\t\t\treturn item;\r\n\t\t}\r\n\t}\r\n}\r\n","import { CategoryConfig, ProcessConfig } from './../models/config.model';\r\nimport { Component, EventEmitter, Input, Output, ViewEncapsulation } from \"@angular/core\";\r\n\r\n\r\n@Component({\r\n selector: 'app-total-statistic',\r\n templateUrl: './total-statistic.component.html',\r\n // styleUrls: ['./total-statistic.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TotalStatisticComponent {\r\n @Input() category: CategoryConfig;\r\n @Input() process: ProcessConfig;\r\n}","import {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport { BehaviorSubject, Subject, takeUntil, tap } from 'rxjs';\r\nimport { FormioEvent } from 'dp-formio';\r\nimport {\r\n\tEVENTS,\r\n\tHooksType,\r\n\tSelectCustomOptionsType,\r\n\tSelectRequestOptionsType,\r\n\tSelectRequestType,\r\n\tevaluatedString,\r\n} from './models';\r\nimport { CustomSelectService } from './services';\r\n\r\nimport { NgSelectConfig } from '@ng-select/ng-select';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CustomComponent, Utils } from 'formiojs';\r\n\r\n@Component({\r\n\tselector: 'cs-custom-select',\r\n\ttemplateUrl: './custom-select.component.html',\r\n\tstyleUrls: ['./custom-select.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tproviders: [CustomSelectService],\r\n})\r\nexport class CustomSelectComponent implements OnDestroy, OnChanges {\r\n\tformioEvent?: EventEmitter;\r\n\tdestroy$ = new Subject();\r\n\t@Input() data: Record;\r\n\t@Input() customOptions: SelectCustomOptionsType;\r\n\t@Input() formioComponent: CustomComponent;\r\n\r\n\t@Input() required: boolean;\r\n\t@Input() disabled: boolean;\r\n\t@Input() viewOnly: boolean;\r\n\r\n\t@Input() value: any;\r\n\t@Output() valueChange = new EventEmitter();\r\n\r\n\tprivate readonly _optionsSub = new BehaviorSubject([]);\r\n\r\n\toptions$ = this._optionsSub.asObservable().pipe(\r\n\t\ttap((data) => {\r\n\t\t\tthis._callHook(EVENTS.afterLoadItems, data);\r\n\t\t\tthis._dispatchEvent(EVENTS.afterLoadItems, data);\r\n\t\t})\r\n\t);\r\n\r\n\titemTemplate: evaluatedString;\r\n\tgroupTemplate: evaluatedString;\r\n\tselectedTemplate: evaluatedString;\r\n\tbindValue: string;\r\n\tbindLabel: string;\r\n\tgroupBy: string;\r\n\tbindGroup: string;\r\n\tmultiple: boolean = false;\r\n\tcloseOnSelect: boolean = true;\r\n\tselectableGroup: boolean = false;\r\n\tselectableGroupAsModel: boolean = false;\r\n\tdispatchEvents: boolean = false;\r\n\thideSelected: boolean = false;\r\n\thooks: HooksType;\r\n\tsearchFn: (term: string, item: any) => boolean;\r\n\tconstructor(\r\n\t\tprivate selectService: CustomSelectService,\r\n\t\tprivate _config: NgSelectConfig,\r\n\t\tprivate translateService: TranslateService\r\n\t) {}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.destroy$.next();\r\n\t\tthis.destroy$.complete();\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tif (changes.customOptions?.currentValue) {\r\n\t\t\tthis._prepareOptions();\r\n\t\t\tthis._prepareData();\r\n\t\t}\r\n\t}\r\n\r\n\tupdateValue(value: any) {\r\n\t\tthis.value = value;\r\n\t\tthis.valueChange.emit(value);\r\n\t\tthis._callHook(EVENTS.afterValueChange, value);\r\n\t\tthis._dispatchEvent(EVENTS.afterValueChange, value);\r\n\t}\r\n\r\n\tonChange(data: any) {\r\n\t\tthis._callHook(EVENTS.onChange, data);\r\n\t\tthis._dispatchEvent(EVENTS.onChange, data);\r\n\t}\r\n\r\n\tonAdd(data: any) {\r\n\t\tthis._callHook(EVENTS.onAdd, data);\r\n\t\tthis._dispatchEvent(EVENTS.onAdd, data);\r\n\t}\r\n\r\n\tonRemove(data: any) {\r\n\t\tthis._dispatchEvent(EVENTS.onRemove, data);\r\n\t\tthis._dispatchEvent(EVENTS.onRemove, data);\r\n\t}\r\n\r\n\tonSearch(data: { term: string; items: any[] }) {\r\n\t\tthis._callHook(EVENTS.onSearch, data);\r\n\t\tthis._dispatchEvent(EVENTS.onSearch, data);\r\n\t}\r\n\r\n\tprivate _prepareOptions() {\r\n\t\tthis.itemTemplate = this.customOptions?.itemTemplate;\r\n\t\tthis.groupTemplate = this.customOptions?.groupTemplate;\r\n\t\tthis.selectedTemplate = this.customOptions?.selectedTemplate;\r\n\t\tthis.bindLabel = this.customOptions?.bindLabel;\r\n\t\tthis.bindValue = this.customOptions?.bindValue;\r\n\t\tthis.bindGroup = this.customOptions?.bindGroup;\r\n\t\tthis.groupBy = this.customOptions?.groupBy;\r\n\t\tthis.multiple = this.customOptions?.multiple;\r\n\t\tthis.selectableGroup = this.customOptions?.selectableGroup;\r\n\t\tthis.selectableGroupAsModel = this.customOptions?.selectableGroupAsModel;\r\n\t\tthis.dispatchEvents = this.customOptions?.dispatchEvents;\r\n\t\tthis.hooks = this.customOptions?.hooks;\r\n\t\tthis.hideSelected = this.customOptions?.hideSelected;\r\n\t\tthis.searchFn = this._search(this.customOptions?.searchFields);\r\n\t}\r\n\r\n\tprivate _search(searchFields: string): (term: string, item: any) => boolean {\r\n\t\tconst fields = `${searchFields}`.split(',') || [];\r\n\t\treturn (term: string, item: any) => {\r\n\t\t\tif (!fields?.length) {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t`${item[this.bindLabel]}`.toLowerCase().includes(term.toLowerCase()) ||\r\n\t\t\t\t\t`${item[this.bindValue]}`.toLowerCase().includes(term.toLowerCase())\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\treturn fields.some((field) => `${item?.[field]}`.toLowerCase().includes(term.toLowerCase()));\r\n\t\t};\r\n\t}\r\n\r\n\tprivate _prepareData() {\r\n\t\tif (this.customOptions.url) {\r\n\t\t\tthis._getDataFromUrl();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (this.customOptions.request && this.customOptions.request?.url) {\r\n\t\t\tthis._getDataFromRequest();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _getDataFromRequest() {\r\n\t\ttry {\r\n\t\t\tconst url = this._evaluate(this.customOptions.request.url);\r\n\t\t\tif (url) {\r\n\t\t\t\tconst requestData = this._prepareRequest(url, this.customOptions.request);\r\n\r\n\t\t\t\tthis.selectService\r\n\t\t\t\t\t.request(requestData)\r\n\t\t\t\t\t.pipe(takeUntil(this.destroy$))\r\n\t\t\t\t\t.subscribe((res) => {\r\n\t\t\t\t\t\tif (!this.customOptions.request?.onSuccess) {\r\n\t\t\t\t\t\t\tthis._optionsSub.next(res);\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tconst _evaluateData = this._evaluate(this.customOptions.request?.onSuccess, {\r\n\t\t\t\t\t\t\tresponse: res,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis._optionsSub.next(_evaluateData || res);\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _prepareRequest(url: any, request: SelectRequestOptionsType) {\r\n\t\tconst _data = {\r\n\t\t\turl: url,\r\n\t\t\tmethod: request?.method || 'GET',\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json',\r\n\t\t\t},\r\n\t\t};\r\n\r\n\t\tif (request.params) {\r\n\t\t\t_data['params'] = this._evaluate(request.params) || {};\r\n\t\t}\r\n\t\tif (request.headers) {\r\n\t\t\t_data['headers'] = this._evaluate(request.headers) || null;\r\n\t\t}\r\n\t\tif (request.body) {\r\n\t\t\t_data['body'] = this._evaluate(request.body) || null;\r\n\t\t}\r\n\r\n\t\treturn _data as SelectRequestType;\r\n\t}\r\n\r\n\tprivate _getDataFromUrl() {\r\n\t\ttry {\r\n\t\t\tconst url = this._interpolate(this.customOptions.url);\r\n\t\t\tthis.selectService\r\n\t\t\t\t.get(url)\r\n\t\t\t\t.pipe(takeUntil(this.destroy$))\r\n\t\t\t\t.subscribe((res) => {\r\n\t\t\t\t\tthis._optionsSub.next(res);\r\n\t\t\t\t});\r\n\t\t} catch (error) {}\r\n\t}\r\n\r\n\tprivate _interpolate(string: string, data: Record = {}) {\r\n\t\treturn Utils.interpolate(string, Object.assign(this._evaluateData(), data));\r\n\t}\r\n\r\n\tprivate _evaluate(string: string, data: Record = {}) {\r\n\t\treturn Utils.evaluate(string, Object.assign(this._evaluateData(), data));\r\n\t}\r\n\r\n\tprivate getFormConfig() {\r\n\t\tconst config =\r\n\t\t\tthis.formioComponent.root.form.config ||\r\n\t\t\tthis.formioComponent?.wizard?.config ||\r\n\t\t\tthis.formioComponent.root?.wizard?.config;\r\n\t\treturn config;\r\n\t}\r\n\r\n\tprivate _evaluateData() {\r\n\t\treturn {\r\n\t\t\tconfig: this.getFormConfig(),\r\n\t\t\tdata: this.data,\r\n\t\t\tinstance: this.formioComponent,\r\n\t\t\tsubmission: this.formioComponent.root.submission,\r\n\t\t\tutils: Utils,\r\n\t\t};\r\n\t}\r\n\r\n\tprivate _callHook(hook: (typeof EVENTS)[keyof typeof EVENTS], data: unknown) {\r\n\t\tif (this.hooks?.[hook]) {\r\n\t\t\tthis._evaluate(this.hooks[hook], { hookData: data });\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _dispatchEvent(event: (typeof EVENTS)[keyof typeof EVENTS], data: unknown) {\r\n\t\tif (this.dispatchEvents) {\r\n\t\t\tthis.formioComponent.element.dispatchEvent(\r\n\t\t\t\tnew CustomEvent(`CUSTOM_SELECT__${event}`, {\r\n\t\t\t\t\tbubbles: true,\r\n\t\t\t\t\tdetail: data,\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { TemplateObjectsService } from '../template-process/services/template-objects.service';\r\n\r\n@Component({\r\n selector: 'edit-template-dialog',\r\n templateUrl: 'edit-template-dialog.component.html',\r\n styleUrls: ['./edit-template-dialog.component.scss'],\r\n})\r\nexport class EditTemplateDialog {\r\n private result: any = {};\r\n constructor(private documentTemplatesService: TemplateObjectsService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any) {\r\n console.log(data);\r\n }\r\n\r\n onSaveMerged($event) {\r\n this.result.evaluated = $event;\r\n }\r\n onSaveTemplate($event) {\r\n this.result.template = $event;\r\n }\r\n onSaveAsPDF(data) {\r\n // this.documentTemplatesService.saveBase64DocAsPDF(data).subscribe(result => {\r\n // this.saveBlobPDF(result);\r\n // }, error => {\r\n // console.error(error);\r\n // }, () => {\r\n // this.dialogRef.close();\r\n // });\r\n }\r\n onProcessFinish($event) {\r\n this.dialogRef.close(this.result);\r\n }\r\n\r\n private saveBlobPDF(blobData: any): void {\r\n const a = document.createElement('a');\r\n const objectUrl = URL.createObjectURL(blobData);\r\n // a.style = 'display: none';\r\n a.href = objectUrl;\r\n a.download = (this.data.name || 'sample') + '.pdf';\r\n a.click();\r\n URL.revokeObjectURL(objectUrl);\r\n }\r\n\r\n}\r\n","import {\r\n\tAfterViewInit,\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport * as html2pdf from 'html2pdf.js';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { PrimeNGConfig } from 'primeng/api';\r\nimport { FormioLoader, FormioCustomComponent } from 'dp-formio';\r\n@Component({\r\n\tselector: 'pdf-wrapper',\r\n\ttemplateUrl: './pdf-wrapper.component.html',\r\n\t// styleUrls: ['./pdf-wrapper.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tproviders: [FormioLoader],\r\n})\r\nexport class PDFWrapperComponent implements FormioCustomComponent, AfterViewInit, OnDestroy {\r\n\tdir: 'rtl' | 'ltr';\r\n\r\n\t@ViewChild('form') form: any;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Output() formSubmitted = new EventEmitter();\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\tdisabled: boolean;\r\n\r\n\tsubscriptions$: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subscriptions$.push(s);\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate translateService: TranslateService,\r\n\t\tpublic dialog: MatDialog,\r\n\t\tprivate primengConfig: PrimeNGConfig\r\n\t) {\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t\tthis.primengConfig.ripple = true;\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((data) => {\r\n\t\t\tthis.changeDirection(data.lang);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang == 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\r\n\tgeneratePDF() {\r\n\t\t// $(`#${this.customOptions.containerIdName}`).css('visibility', 'visible');\r\n\t\t// $(`#${this.customOptions.containerIdName}`).height('auto');\r\n\r\n\t\t// setTimeout(() => {\r\n\t\t// \tconst input = document.getElementById(this.customOptions.containerIdName);\r\n\t\t// \thtml2canvas(input).then((canvas) => {\r\n\t\t// \t\tconst imgData = canvas.toDataURL('image/png');\r\n\t\t// \t\tconst pdf = new jsPDF();\r\n\t\t// \t\tpdf.addImage(imgData, 'PNG', 5, 5, 200, 230);\r\n\t\t// \t\tpdf.save('download.pdf');\r\n\r\n\t\t// \t\tsetTimeout(() => {\r\n\t\t// \t\t\t$(`#${this.customOptions.containerIdName}`).css('visibility', 'hidden');\r\n\t\t// \t\t\t$(`#${this.customOptions.containerIdName}`).height(0);\r\n\t\t// \t\t});\r\n\t\t// \t});\r\n\t\t// });\r\n\r\n\t\t// Choose the element id which you want to export.\r\n\t\t// var formTemp = document.getElementsByClassName('formio-component-panel2Columns');\r\n\t\t// var summary = document.getElementById('summary');\r\n\r\n\t\tconst container = document.createElement('div');\r\n\t\tcontainer.classList.add('container');\r\n\r\n\t\tvar row = document.createElement('div');\r\n\t\trow.classList.add('row');\r\n\t\tcontainer.appendChild(row);\r\n\r\n\t\tconst col = document.createElement('div');\r\n\t\tcol.classList.add('col-12');\r\n\t\trow.appendChild(col);\r\n\r\n\t\tlet clonedClassContainer: any;\r\n\t\tif (this.customOptions.containerClassName) {\r\n\t\t\tconst classContainer = document.getElementsByClassName(this.customOptions.containerClassName);\r\n\t\t\tclonedClassContainer = classContainer[0].cloneNode(true);\r\n\t\t\tcol.appendChild(clonedClassContainer);\r\n\t\t}\r\n\r\n\t\tlet clonedIdContainer: any;\r\n\t\tif (this.customOptions.containerIdName) {\r\n\t\t\tconst idContainer = document.getElementById(this.customOptions.containerIdName);\r\n\t\t\tclonedIdContainer = idContainer.cloneNode(true);\r\n\r\n\t\t\tif (this.dir === 'rtl') {\r\n\t\t\t\tconst texts = clonedIdContainer.querySelectorAll(\r\n\t\t\t\t\t'span.transalableSpan, div.transalableSpan'\r\n\t\t\t\t);\r\n\t\t\t\ttexts.forEach((text: any) => {\r\n\t\t\t\t\ttext.style.font = 'icon';\r\n\t\t\t\t\ttext.style.wordSpacing = '3px';\r\n\t\t\t\t});\r\n\t\t\t\t// clonedIdContainer.setAttribute('', 'data-html2canvas-ignore');\r\n\t\t\t}\r\n\r\n\t\t\tcol.appendChild(clonedIdContainer);\r\n\t\t}\r\n\r\n\t\t// choose the container and pass it to html2pdf() function and call the save() on it to save as pdf.\r\n\t\thtml2pdf().set(this.customOptions.pdfOptions).from(container).save();\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subscriptions$.forEach((o) => o.unsubscribe());\r\n\t\tthis.subscriptions$ = [];\r\n\t}\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewEncapsulation,\r\n OnDestroy,\r\n OnChanges,\r\n SimpleChanges,\r\n} from \"@angular/core\";\r\nimport { FormioCustomComponent } from \"dp-formio\";\r\nimport { Utils } from \"formiojs\";\r\nimport { CustomComponent } from \"formiojs\";\r\nimport { BehaviorSubject, Subject } from \"rxjs\";\r\nimport { Criterion, ReviewingEvaluationCustomOptionsType } from \"./models\";\r\n\r\n@Component({\r\n selector: \"app-reviewing-evaluation-wrapper\",\r\n templateUrl: \"./reviewing-evaluation-wrapper.component.html\",\r\n // styleUrls: ['./reviewing-evaluation-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [],\r\n})\r\nexport class ReviewingEvaluationWrapperComponent\r\n implements FormioCustomComponent, OnDestroy, OnChanges\r\n{\r\n destroy$ = new Subject();\r\n @Input() data: Record;\r\n @Input() customOptions: ReviewingEvaluationCustomOptionsType;\r\n @Input() formioComponent: CustomComponent;\r\n\r\n @Input() required: boolean;\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n\r\n @Input() value: any;\r\n @Output() valueChange = new EventEmitter();\r\n\r\n private readonly _criterionsSub = new BehaviorSubject([]);\r\n criterions$ = this._criterionsSub.asObservable();\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.customOptions?.currentValue) {\r\n this.prepareData();\r\n }\r\n }\r\n updateValue() {\r\n const criterions = this._criterionsSub.value;\r\n let values = {\r\n data: criterions.map(({ key, totalEvaluation, notes }) => ({\r\n key,\r\n totalEvaluation,\r\n notes,\r\n })),\r\n };\r\n\r\n const isInvalidTotalEvaluation =\r\n this.required &&\r\n !criterions.every((criterion) =>\r\n criterion.subCriterions.every(\r\n (subCriterion) => subCriterion.totalEvaluation > 0\r\n )\r\n );\r\n\r\n if (isInvalidTotalEvaluation) {\r\n values = null;\r\n }\r\n\r\n this.value = values;\r\n this.valueChange.emit(values);\r\n this.updateBindedComponent();\r\n }\r\n\r\n private updateBindedComponent() {\r\n if (this.customOptions.bindWith) {\r\n const components = Utils.searchComponents(\r\n this.formioComponent.root.components,\r\n { key: this.customOptions.bindWith }\r\n );\r\n components.forEach((c) => {\r\n c.setValue(this.data[this.customOptions.bindWith]);\r\n });\r\n this.formioComponent?.currentForm?.triggerChange();\r\n }\r\n }\r\n private prepareData() {\r\n if (this.data[this.customOptions.bindWith]) {\r\n const data = this.data[this.customOptions.bindWith] as Criterion[];\r\n\r\n data.forEach((item) => {\r\n item.subCriterions.forEach((sub) => {\r\n sub.evaluation.forEach((evaluation) => {\r\n const from = +evaluation.fromRange;\r\n const to = +evaluation.toRange;\r\n\r\n evaluation.items = Array.from(\r\n { length: to - from + 1 },\r\n (_, index) => ({\r\n label: `${index + from}`,\r\n value: index + from,\r\n })\r\n );\r\n });\r\n });\r\n });\r\n\r\n this._criterionsSub.next(data);\r\n if (this.value) this.updateValue();\r\n }\r\n }\r\n}\r\n","import {\r\n\tAfterViewInit,\r\n\tComponent,\r\n\tEventEmitter,\r\n\tforwardRef,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\n\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { FullCalendarComponent } from '@fullcalendar/angular';\r\nimport {\r\n\tCalendar,\r\n\tCalendarOptions,\r\n\tDateSelectArg,\r\n\tDayCellMountArg,\r\n\tEventClickArg,\r\n\tEventHoveringArg,\r\n\tEventInput,\r\n} from '@fullcalendar/core';\r\n//NOTE: Plugins in v5 must be after import calendar from core\r\nimport dayGridPlugin from '@fullcalendar/daygrid';\r\nimport interactionPlugin from '@fullcalendar/interaction';\r\nimport timeGridPlugin from '@fullcalendar/timegrid';\r\n\r\nimport arLocale from '@fullcalendar/core/locales/ar';\r\nimport arSaLocale from '@fullcalendar/core/locales/ar-sa';\r\nimport enLocale from '@fullcalendar/core/locales/en-gb';\r\nimport { DateClickArg, EventResizeDoneArg } from '@fullcalendar/interaction';\r\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\r\nimport { Utils } from 'formiojs';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport * as moment from 'moment';\r\nimport {\r\n\tBehaviorSubject,\r\n\tdelay,\r\n\tdistinctUntilChanged,\r\n\tfilter,\r\n\tObservable,\r\n\tSubject,\r\n\ttake,\r\n\ttakeUntil,\r\n} from 'rxjs';\r\nimport {\r\n\tConfirmationDialogComponent,\r\n\tFormioCustomComponent,\r\n\tFormioLoader,\r\n} from 'dp-formio';\r\nimport { DEFAULT_OPTIONS } from './calendar.options';\r\nimport { CustomCalenderOptions, DialogEventHook, RedirectObjType } from './models';\r\nimport { DialogData, DialogResult } from './models/dialog-data';\r\nimport { ScheduleDialogComponent } from './schedule-dialog/schedule-dialog.component';\r\n@Component({\r\n selector: 'app-calendar-wrapper',\r\n templateUrl: './calendar-wrapper.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader],\r\n})\r\nexport class CalenderWrapperComponent\r\n implements FormioCustomComponent, OnInit, OnChanges, OnDestroy, AfterViewInit\r\n{\r\n lang = this.translateService.currentLang;\r\n dir: 'rtl' | 'ltr';\r\n @Input() value: any = {};\r\n @Output() valueChange = new EventEmitter();\r\n\r\n @Input() required: boolean;\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n @Input() data: any;\r\n @Input() customOptions: Partial;\r\n @Input() formioComponent: any;\r\n\r\n @ViewChild('calendar') fullCalendar: FullCalendarComponent;\r\n calendarApi: Calendar;\r\n private _isOpTionsReadySub = new BehaviorSubject(false);\r\n isOpTionsReady$ = this._isOpTionsReadySub.asObservable();\r\n\r\n destroy$ = new Subject();\r\n calendarOptions: CalendarOptions;\r\n customCalendarOptions = {};\r\n calendarEvents = [];\r\n\r\n constructor(\r\n private formioLoader: FormioLoader,\r\n private translateService: TranslateService,\r\n public dialog: MatDialog,\r\n public router: Router,\r\n public route: ActivatedRoute\r\n ) {\r\n forwardRef(() => Calendar);\r\n }\r\n\r\n ngOnInit() {\r\n this._subscribeToLanguage();\r\n this._prepareEvents();\r\n this._triggerResize();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.isOpTionsReady$\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n filter((data) => data),\r\n delay(50)\r\n )\r\n .subscribe((res) => {\r\n this.calendarApi = this.fullCalendar.getApi();\r\n this._goToDate();\r\n });\r\n }\r\n private _goToDate() {\r\n const jumpToDate = this.customOptions?.jumpToDate?.active;\r\n if (this.calendarApi && jumpToDate) {\r\n const date = this._evaluate(\r\n {\r\n _string: this.customOptions?.jumpToDate.dataKey,\r\n },\r\n ''\r\n );\r\n\r\n if (date) {\r\n this.calendarApi.gotoDate(date);\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes?.customOptions) {\r\n this._isOpTionsReadySub.next(false);\r\n this._initCalendar();\r\n }\r\n\r\n if (this.formioComponent?.visible && changes.value) {\r\n this._triggerResize();\r\n }\r\n\r\n if (changes.value) {\r\n this._prepareEvents();\r\n }\r\n\r\n if ((changes.viewOnly || changes.value) && this.calendarApi) {\r\n this.calendarApi.render();\r\n }\r\n }\r\n\r\n notifyValue(value = this.calendarEvents) {\r\n this.calendarEvents = value;\r\n this.calendarOptions.events = this.calendarEvents;\r\n this.value = _cloneDeep({ events: value });\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n private _subscribeToLanguage() {\r\n (this.translateService.onLangChange as Observable)\r\n .pipe(\r\n distinctUntilChanged((prev, curr) => prev.lang === curr.lang),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe((data) => {\r\n this.dir = data.lang === 'ar' ? 'rtl' : 'ltr';\r\n this.lang = data.lang;\r\n });\r\n }\r\n\r\n private _triggerResize() {\r\n //workaround for calendar init\r\n setTimeout(function () {\r\n window.dispatchEvent(new Event('resize'));\r\n }, 1);\r\n }\r\n\r\n private _canEdit() {\r\n return this.customOptions?.actions?.edit ?? false;\r\n }\r\n private _canAdd() {\r\n return this.customOptions?.actions?.add ?? false;\r\n }\r\n private _canDelete() {\r\n return this.customOptions?.actions?.delete ?? false;\r\n }\r\n private _canClear() {\r\n return this.customOptions?.actions?.clear ?? false;\r\n }\r\n private _canView() {\r\n return this.customOptions?.actions?.view ?? true;\r\n }\r\n private _showAddButton() {\r\n return this.customOptions?.buttons?.add ?? false;\r\n }\r\n private _showDateTypeBtns() {\r\n return this.customOptions?.buttons?.dateType ?? false;\r\n }\r\n\r\n private _prepareEvents() {\r\n this.calendarEvents = this.value?.events ?? [];\r\n if (this.calendarOptions?.events) {\r\n this.calendarOptions.events = this.calendarEvents;\r\n }\r\n }\r\n\r\n private _initCalendar(options = DEFAULT_OPTIONS) {\r\n const customButtons = [\r\n this._canClear() && !this.viewOnly ? 'clearEvents' : '',\r\n this._showAddButton() && !this.viewOnly ? 'addEvent' : '',\r\n ]\r\n .filter((btn) => !!btn)\r\n .join(',');\r\n\r\n const dateButtons = [\r\n this._showDateTypeBtns() && 'hijri',\r\n this._showDateTypeBtns() && 'gregorian',\r\n ]\r\n .filter((btn) => !!btn)\r\n .join(',');\r\n\r\n this.calendarOptions = {\r\n ...options,\r\n plugins: [timeGridPlugin, dayGridPlugin, interactionPlugin],\r\n customButtons: {\r\n clearEvents: {\r\n text: this.translateService.instant('forms.common.clear'),\r\n click: () => {\r\n this._clearAllEvents();\r\n },\r\n },\r\n addEvent: {\r\n text: this.translateService.instant('forms.common.addEvent'),\r\n click: (event) => {\r\n if (this._canAdd() && !this.viewOnly) {\r\n this._openEventDialog({}, 'date');\r\n }\r\n },\r\n },\r\n gregorian: {\r\n text: this.translateService.instant('gregorian'),\r\n click: () => {\r\n this.calendarOptions.locale = this.lang;\r\n },\r\n },\r\n hijri: {\r\n text: this.translateService.instant('hijri'),\r\n click: () => {\r\n this.calendarOptions.locale = 'ar-sa';\r\n },\r\n },\r\n },\r\n headerToolbar: {\r\n left:\r\n `prev,next` +\r\n (customButtons ? ' ' + customButtons : '') +\r\n (dateButtons ? +' ' + dateButtons : ''),\r\n center: 'title',\r\n right: 'dayGridMonth,timeGridWeek,timeGridDay',\r\n },\r\n\r\n events: this.calendarEvents,\r\n locale: this.lang,\r\n locales: [arLocale, enLocale, arSaLocale],\r\n ...(this.customOptions?.calendar ?? {}),\r\n eventClick: (args) => this._handleEventClick(args),\r\n eventResize: (args) => this._handleEventResize(args),\r\n select: (args) => this._handleSelect(args),\r\n navLinkDayClick: (date, jsEvent) => this._handleDayClick(date, jsEvent),\r\n eventMouseEnter: (args) => {\r\n this._handleEventMouseEnter(args);\r\n },\r\n eventMouseLeave: (args) => {\r\n this._handleEventMouseLeave(args);\r\n },\r\n dateClick: (args) => {\r\n let _continue = true;\r\n const _hook = this.customOptions.hooks?.dateClick;\r\n if (_hook && _hook.active) {\r\n _continue = this._evaluate(\r\n {\r\n _string: _hook.dataKey,\r\n params: {\r\n date: args.date,\r\n moment: moment,\r\n },\r\n },\r\n null\r\n );\r\n }\r\n if (_continue) {\r\n this._handleDateClick(args);\r\n }\r\n },\r\n dayCellDidMount: (args: DayCellMountArg) => {\r\n const _hook = this.customOptions.hooks?.dayCellDidMount;\r\n if (_hook && _hook.active) {\r\n this._evaluate(\r\n {\r\n _string: _hook.dataKey,\r\n params: {\r\n el: args.el,\r\n date: args.date,\r\n moment: moment,\r\n },\r\n },\r\n ''\r\n );\r\n }\r\n },\r\n eventContent: (arg, ce) => {\r\n const titleText = this.translateService.instant(\r\n arg.event?.title || arg.event?.extendedProps.data?.sessionType\r\n );\r\n\r\n const isSessionRequired =\r\n arg.event.extendedProps?.data?.data?.requiredSession || false;\r\n\r\n const childs = [];\r\n if (isSessionRequired) {\r\n childs.push(ce('b', { style: { color: 'red' } }, ' * '));\r\n }\r\n\r\n const content = ce(\r\n 'div',\r\n {\r\n class: 'd-flex align-items-center',\r\n },\r\n null,\r\n [\r\n ce(\r\n 'div',\r\n {\r\n class: 'fc-daygrid-event-dot',\r\n style: !this.viewOnly ? { borderColor: arg.event.borderColor } : {},\r\n },\r\n null\r\n ),\r\n ce('div', { class: 'fc-event-time' }, arg.timeText),\r\n ce('div', { class: 'fc-event-title' }, titleText, [childs]),\r\n ]\r\n );\r\n return content;\r\n },\r\n };\r\n this._isOpTionsReadySub.next(true);\r\n }\r\n\r\n //#region handlers\r\n\r\n private _handleEventMouseEnter(args: EventHoveringArg) {\r\n const isRequired = args.event.extendedProps?.data?.data?.requiredSession || false;\r\n\r\n if (isRequired || this.viewOnly || !this._canDelete()) {\r\n return;\r\n }\r\n\r\n const btn = this._appendDeleteButton(args.el);\r\n btn.onclick = (event) => {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this._openConfirmDialog(\r\n this.translateService.instant('forms.common.deleteEventMsg')\r\n ).subscribe((res) => {\r\n this._deleteEvent(args.event.id);\r\n });\r\n };\r\n }\r\n\r\n private _handleEventMouseLeave(args: EventHoveringArg) {\r\n if (this._canDelete() && !this.viewOnly) {\r\n const el = args.el;\r\n const btn = el.querySelector('#delete-event');\r\n if (btn) {\r\n el.removeChild(btn);\r\n }\r\n }\r\n }\r\n\r\n private _handleEventResize(args: EventResizeDoneArg): void {\r\n if (args.event.display.match(/background/)) {\r\n return null;\r\n }\r\n if (this._canEdit() && !this.viewOnly) {\r\n this._openEventDialog(args, 'resize');\r\n }\r\n }\r\n\r\n private _handleDayClick(date: Date, jsEvent: any): void {\r\n if (this._canDelete() && !this.viewOnly) {\r\n this._openConfirmDialog(\r\n this.translateService.instant('forms.common.clearDayMsg')\r\n ).subscribe((res) => {\r\n this.calendarEvents = this._clearDayEvents(date);\r\n this.notifyValue(this.calendarEvents);\r\n });\r\n return null;\r\n }\r\n this.calendarApi.changeView('timeGridDay', date.toISOString());\r\n }\r\n\r\n private _handleEventClick(arg: EventClickArg): void {\r\n if (arg.event.display.match(/background/)) {\r\n return null;\r\n }\r\n const event = this.calendarEvents.find((ev) => ev.id === arg.event.id);\r\n const redirect = this.customOptions?.event?.redirect;\r\n if (redirect && redirect?.url) {\r\n this._redirectEvent(event, redirect);\r\n return;\r\n }\r\n\r\n const canOpenDialog = this.customOptions?.event?.openDialog;\r\n if (canOpenDialog?.active) {\r\n const data = Utils.evaluate(canOpenDialog.dataKey, {\r\n submission: this.data,\r\n event: event,\r\n moment: moment,\r\n });\r\n if (!data) {\r\n return;\r\n }\r\n }\r\n\r\n if (this._canView()) {\r\n this._openEventDialog(event, 'event');\r\n }\r\n }\r\n\r\n private _redirectEvent(event: EventInput, redirectObj: RedirectObjType) {\r\n const evaluatedUrl = this._evaluate(\r\n {\r\n _string: redirectObj?.url,\r\n params: {\r\n event: event,\r\n route: this.route.snapshot,\r\n },\r\n },\r\n ''\r\n );\r\n if (redirectObj.external) {\r\n window.open(evaluatedUrl);\r\n return;\r\n }\r\n this.router.navigate(evaluatedUrl, {\r\n ...(redirectObj.relative ? { relativeTo: this.route } : {}),\r\n ...(redirectObj.skipLocationChange ? { skipLocationChange: true } : {}),\r\n });\r\n }\r\n\r\n private _handleSelect(arg: DateSelectArg) {\r\n //Note select and click not working together\r\n if (this._canAdd() && !this.viewOnly) {\r\n const event = {\r\n ...arg,\r\n data: {\r\n start: arg.start,\r\n end: arg.end,\r\n },\r\n };\r\n this._openEventDialog(event, 'select');\r\n }\r\n }\r\n\r\n private _handleDateClick(arg: DateClickArg) {\r\n const dialogHook = this.customOptions?.dialogHook ?? 'afterSubmit';\r\n if (this._canAdd() && !this.viewOnly && !this._showAddButton()) {\r\n const event = {\r\n ...arg,\r\n data: {\r\n ...(dialogHook === 'afterSubmit'\r\n ? { data: { start: arg.dateStr, end: arg.dateStr } }\r\n : { start: arg.dateStr, end: arg.dateStr }),\r\n },\r\n };\r\n\r\n this._openEventDialog(event, 'date');\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n private _openEventDialog(event: any, type: DialogData['type']) {\r\n const dialogHook = this.customOptions?.dialogHook ?? 'afterSubmit';\r\n const _evaluate = this._evaluate({\r\n params: { event: event, type: type },\r\n });\r\n let calculatedSubmission = { rootData: this.data, data: {} };\r\n if (this.customOptions?.event?.dialogForm?.override) {\r\n calculatedSubmission = Object.assign(calculatedSubmission, _evaluate);\r\n } else {\r\n if (dialogHook === 'afterSubmit') {\r\n calculatedSubmission = {\r\n ...calculatedSubmission,\r\n ...event?.data,\r\n data: {\r\n ...(event?.data?.data ?? {}),\r\n ...(_evaluate?.data ?? {}),\r\n },\r\n };\r\n } else {\r\n calculatedSubmission = {\r\n ...calculatedSubmission,\r\n data: {\r\n ...(event?.data ?? {}),\r\n ...(_evaluate?.data ?? {}),\r\n },\r\n };\r\n }\r\n }\r\n\r\n const dialogCustomOptions = this.customOptions?.dialog?.options ?? {};\r\n const dialog = this.dialog.open(ScheduleDialogComponent, {\r\n width: 'min(80%,900px)',\r\n direction: this.dir,\r\n maxHeight: '90vh',\r\n autoFocus: false,\r\n restoreFocus: false,\r\n ...dialogCustomOptions,\r\n data: {\r\n formKey: this.customOptions?.event?.formKey ?? '',\r\n type: type,\r\n event: event,\r\n options: this.customOptions,\r\n viewOnly: this.viewOnly,\r\n disabled: this.disabled,\r\n submission: calculatedSubmission,\r\n dialogHook,\r\n },\r\n });\r\n dialog\r\n .afterClosed()\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n filter((rs) => !!rs)\r\n )\r\n .subscribe((res: DialogResult) => {\r\n if (type === 'date' || type === 'select') {\r\n this._addEvent(res);\r\n }\r\n if (type === 'event') {\r\n this._updateEvent(res, event?.id);\r\n }\r\n });\r\n }\r\n\r\n private _openConfirmDialog(message = '', ok: string = null, cancel: string = null) {\r\n return this.dialog\r\n .open(ConfirmationDialogComponent, {\r\n width: 'min(80% , 250px)',\r\n direction: this.dir,\r\n restoreFocus: false,\r\n data: {\r\n message: message,\r\n buttonText: {\r\n cancel: cancel ?? this.translateService.instant('forms.common.cancel'),\r\n ok: ok ?? this.translateService.instant('forms.common.yes'),\r\n },\r\n },\r\n })\r\n .afterClosed()\r\n .pipe(\r\n take(1),\r\n filter((rs) => !!rs)\r\n );\r\n }\r\n\r\n //#region events\r\n private _addEvent({ data, hook }: DialogResult) {\r\n const dialogHook = hook ?? 'afterSubmit';\r\n let id = undefined;\r\n if (dialogHook === 'afterSubmit') {\r\n id = data?.data?.sessionId ?? data?.data?.id ?? data?._id;\r\n } else {\r\n id = data?.sessionId ?? data?.id;\r\n }\r\n id ??= Utils.guid();\r\n const eventData = this._mapToEventObject({ data, id, dialogHook });\r\n this.notifyValue([...this.calendarEvents, eventData]);\r\n }\r\n\r\n private _updateEvent({ data, hook }: DialogResult, id: any) {\r\n const dialogHook: DialogEventHook = hook ?? 'afterSubmit';\r\n const index = this.calendarEvents.findIndex((itm) => itm.id === id);\r\n if (index >= 0) {\r\n this.calendarEvents[index] = this._mapToEventObject({\r\n data,\r\n id,\r\n dialogHook,\r\n });\r\n this.notifyValue(this.calendarEvents);\r\n }\r\n }\r\n\r\n private _mapToEventObject(event: {\r\n data: any;\r\n id?: any;\r\n dialogHook?: DialogEventHook;\r\n }) {\r\n const style = this.customOptions?.event?.style ?? {};\r\n\r\n const colors = {\r\n invalid: this.customOptions.colors?.invalid ?? 'var(--invalid-color, red)',\r\n valid:\r\n this.customOptions.colors?.valid ??\r\n 'var(--valid-color,var(--primaryColor , green))',\r\n };\r\n\r\n const _data = event?.dialogHook === 'afterSubmit' ? event.data?.data : event.data;\r\n\r\n return {\r\n id: event.id,\r\n color: _data?.Submit ? colors.valid : colors.invalid,\r\n ...style,\r\n ...(_data?.title ? { title: _data?.title } : {}),\r\n ...(_data?.start ? { start: this._toUtcDate(_data?.start) } : {}),\r\n ...(_data?.end ? { end: this._toUtcDate(_data?.end) } : {}),\r\n data: event.data,\r\n };\r\n }\r\n\r\n private _deleteEvent(id) {\r\n const data = this.calendarEvents.filter((event) => event?.id !== id);\r\n this.notifyValue(data);\r\n }\r\n\r\n private _clearAllEvents() {\r\n this._openConfirmDialog(\r\n this.translateService.instant('forms.common.clearEventsMsg')\r\n ).subscribe((res) => {\r\n const events = this.calendarEvents.filter(\r\n (event) => event.data?.data?.requiredSession\r\n );\r\n\r\n this.calendarEvents = events;\r\n this.notifyValue(this.calendarEvents);\r\n });\r\n }\r\n\r\n private _clearDayEvents(startDate) {\r\n const startDay = moment(startDate).startOf('day');\r\n const endDay = moment(startDate).endOf('day');\r\n const inDay = (date) =>\r\n moment(date).isSame(startDay) ||\r\n (moment(date).isAfter(startDay) && moment(date).isBefore(endDay));\r\n return this.calendarEvents.filter((event) => {\r\n const start = inDay(this._toLocalDate(event.start));\r\n if ('end' in event) {\r\n const end = inDay(this._toLocalDate(event.end));\r\n return !(start && end) || event?.data?.data?.requiredSession;\r\n }\r\n return !start || event?.data?.data?.requiredSession;\r\n });\r\n }\r\n\r\n //#endregion\r\n\r\n private _appendDeleteButton(el: HTMLElement) {\r\n const btn = document.createElement('button');\r\n btn.className = 'delete-event';\r\n btn.innerHTML = '';\r\n btn.id = 'delete-event';\r\n el.appendChild(btn);\r\n return btn;\r\n }\r\n\r\n private _evaluate(\r\n { _string = this.customOptions?.event?.dialogForm?.data, params = {} } = {},\r\n emptyObj: any = { data: {} }\r\n ) {\r\n try {\r\n return _string\r\n ? Utils.evaluate(_string, { submission: this.data, ...params }) || emptyObj\r\n : emptyObj;\r\n } catch (error) {\r\n return emptyObj;\r\n }\r\n }\r\n\r\n _toUtcDate(date) {\r\n return moment.utc(new Date(date)).format();\r\n }\r\n\r\n _toLocalDate(date) {\r\n return moment.utc(date).local();\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { PagingResponse, Reviewer } from \"./models/reviewer.model\";\r\nimport { map, Observable } from \"rxjs\";\r\nimport { Country } from \"./models/country.model\";\r\nimport { Language } from \"./models/language.model\";\r\nimport { GeneralSpecialty } from \"./models/general-specialty.model\";\r\nimport { FormioAppConfig } from \"dp-formio\";\r\n\r\nexport const PAGE_SIZE = 10;\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class OrgService {\r\n private baseUrl = this.formioAppConfig.gateway;\r\n\r\n constructor(private formioAppConfig: FormioAppConfig,\r\n private http: HttpClient) {\r\n }\r\n\r\n getCountries(): Observable {\r\n return this.http.get(`${this.formioAppConfig.formio.appUrl}countriesinformation/submission`, {\r\n params: {\r\n limit: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n }).pipe(\r\n map(result => {\r\n return result.map(item => {\r\n const model: Country = {\r\n ...item.data,\r\n _id: item._id\r\n };\r\n return model;\r\n });\r\n })\r\n );\r\n }\r\n\r\n getLanguages(): Observable {\r\n return this.http.get(`${this.formioAppConfig.formio.appUrl}manuallanguage/submission`, {\r\n params: {\r\n limit: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n }).pipe(\r\n map(result => {\r\n return result.map(item => {\r\n const model: Language = {\r\n ...item.data,\r\n _id: item._id\r\n };\r\n return model;\r\n });\r\n })\r\n );\r\n }\r\n\r\n getGeneralSpecialty(): Observable {\r\n return this.http.get(`${this.formioAppConfig.formio.appUrl}specializationname/submission`, {\r\n params: {\r\n limit: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n }).pipe(\r\n map(result => {\r\n return result.map(item => {\r\n const model: GeneralSpecialty = {\r\n ...item.data,\r\n _id: item._id\r\n };\r\n return model;\r\n });\r\n })\r\n );\r\n }\r\n getLocalResidenceCity(): Observable {\r\n return this.http.get(`${this.formioAppConfig.formio.appUrl}ksacitieslistresource/submission`, {\r\n params: {\r\n limit: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n }).pipe(\r\n map(result => {\r\n return result.map(item => {\r\n const model: GeneralSpecialty = {\r\n ...item.data,\r\n _id: item._id\r\n };\r\n return model;\r\n });\r\n })\r\n );\r\n }\r\n\r\n getReviewers(params: any, isMassar: boolean = false): Observable> {\r\n const endpoint = !isMassar ?\r\n this.formioAppConfig.endpoints.customReviewersAvailable :\r\n this.formioAppConfig.endpoints.customMasarReviewersAvailable;\r\n const url = `${this.baseUrl}${endpoint}`;\r\n return this.http.get(url, {\r\n observe: 'response',\r\n params: params\r\n }).pipe(\r\n map((response) => {\r\n return {\r\n totalItems: Number(response.headers.get('x-total-count')),\r\n data: response.body,\r\n size: params?.size ?? PAGE_SIZE,\r\n page: params?.page ?? 0,\r\n };\r\n })\r\n );\r\n }\r\n\r\n getByEndpoint(url: string): Observable {\r\n return this.http.get(url);\r\n }\r\n}\r\n\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnInit,\r\n OnChanges,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport {\r\n NG_VALUE_ACCESSOR,\r\n NG_VALIDATORS,\r\n ControlValueAccessor,\r\n Validator,\r\n AbstractControl,\r\n ValidationErrors,\r\n} from '@angular/forms';\r\nimport { MatSelect, MatSelectChange } from '@angular/material/select';\r\nimport { iif, Observable } from 'rxjs';\r\nimport { MemberModel } from '../models/member.model';\r\nimport { CriterionsService } from '../services/criterions.service';\r\n\r\n@Component({\r\n selector: 'lib-members-selector',\r\n templateUrl: './members-selector.component.html',\r\n styleUrls: ['./members-selector.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MembersSelectorComponent),\r\n multi: true,\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => MembersSelectorComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class MembersSelectorComponent\r\n implements OnInit, OnChanges, ControlValueAccessor, Validator {\r\n @ViewChild(MatSelect) matSelect: MatSelect;\r\n @Input() mode: 'BySession' | 'ByCriterion' = 'BySession';\r\n @Input() bindReviewer: boolean;\r\n @Input() visitKey: string;\r\n @Input() criterionKey: string;\r\n @Input() sessionId: string | number;\r\n @Output() selectionChange: EventEmitter =\r\n new EventEmitter();\r\n @Output() valueChange: EventEmitter = new EventEmitter();\r\n onChange: any = () => { };\r\n onTouch: any = () => { };\r\n onValidationChange: any = () => { };\r\n\r\n disabled = false;\r\n value: any = null;\r\n members$: Observable;\r\n constructor(\r\n public cd: ChangeDetectorRef,\r\n private criterionsService: CriterionsService\r\n ) { }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n this.cd.markForCheck();\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n this.cd.markForCheck();\r\n }\r\n validate(control: AbstractControl): ValidationErrors {\r\n return control.valid ? null : control.errors;\r\n }\r\n registerOnValidatorChange?(fn: () => void): void {\r\n this.onValidationChange = fn;\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.members$ = iif(() => this.mode == 'BySession',\r\n this.criterionsService.getSessionMembers(this.visitKey, this.sessionId),\r\n this.criterionsService.getCriterionMembers(this.visitKey, this.criterionKey));\r\n }\r\n\r\n modelChange(value) {\r\n this.value = value;\r\n this.onChange(value);\r\n }\r\n selectionChanged(event: MatSelectChange) {\r\n this.selectionChange.emit(new MatSelectChange(this.matSelect, event.value));\r\n this.valueChange.emit(event.value);\r\n this.onChange(event.value);\r\n this.onTouch();\r\n }\r\n}\r\n","\r\n\t
    \r\n\t\t\r\n\t
    \r\n
    \r\n\r\n\r\n\t
    \r\n\t\t
    \r\n\t\t\t

    \r\n\t\t\t\t{{ 'forms.common.' + data.title | translate }} - {{ 'forms.common.' + roles[data.submission.data.role] |\r\n\t\t\t\ttranslate}}\r\n\t\t\t

    \r\n\r\n\t\t\t\r\n\t\t
    \r\n\r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\t\t {{ \"forms.common.name\" | translate }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    {{ row | propertyLocalized : ['arabicName','englishName'] | async\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t {{ \"forms.common.Gender\" | translate }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    {{ 'forms.common.' + row?.gender | translate}}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t {{ \"forms.common.nationality\" | translate }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    {{ 'forms.common.' + row?.nationality |\r\n\t\t\t\t\t\t\t\ttranslate}}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t {{ \"forms.common.ResidenceCountry\" | translate }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    {{ 'forms.common.' +\r\n\t\t\t\t\t\t\t\trow?.residenceCountry |\r\n\t\t\t\t\t\t\t\ttranslate}}
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t {{ \"forms.common.ResidencePlace\" | translate }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    {{ 'forms.common.' +\r\n\t\t\t\t\t\t\t\trow?.residencePlace |\r\n\t\t\t\t\t\t\t\ttranslate}}
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t {{ \"forms.common.ResidenceCity\" | translate }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    {{ 'forms.common.' +\r\n\t\t\t\t\t\t\t\trow?.residenceCity |\r\n\t\t\t\t\t\t\t\ttranslate}}
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t {{ \"forms.common.workSide\" | translate }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    {{ row?.workDestination}}
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t {{ \"forms.common.publicSpecialty\" | translate }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    {{ 'forms.common.' + row?.generalSpecialty | translate}}
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t {{ \"forms.common.reviewerState\" | translate }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    {{ \"forms.common.\" + row?.reviewerState | translate }}
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{{'forms.common.Details' | translate}}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{{ \"forms.common.No items added yet\" | translate }}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\r\n\t\t
    \r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t
    \r\n\t
    \r\n
    \r\n","
    \r\n

    Fields to be used

    \r\n
    Click to copy to clipboard
    \r\n
    \r\n
    \r\n \r\n \r\n
    {{item.text}}
    \r\n
    {{item.value}}
    \r\n
    \r\n
    \r\n
    \r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { ExternalService } from 'dp-formio';\r\n\r\nexport function createExternalService(http: HttpClient) {\r\n return new ExternalService(http);\r\n}","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\n\r\nimport { DistributeTeamMembersComponent } from './distribute-team-members.component';\r\n\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'distribute-team',\r\n selector: 'distribute-team',\r\n title: 'distribute-team',\r\n};\r\n\r\nexport function registerDistributeTeamMembersComponent(injector: Injector) {\r\n registerCustomFormioComponent(\r\n COMPONENT_OPTIONS,\r\n DistributeTeamMembersComponent,\r\n injector\r\n );\r\n}\r\n\r\n ","import { TranslateService } from '@ngx-translate/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Component, EventEmitter, Input, Output, ViewEncapsulation } from \"@angular/core\";\r\nimport { TooltipDialog } from '../../assessment-wrapper/tooltip-dialog/tooltip-dialog.component';\r\nimport { IndicatorQuestions } from '../models/indicator.model';\r\n\r\n\r\n@Component({\r\n selector: 'app-indicator-question',\r\n templateUrl: './indicator-question.component.html',\r\n // styleUrls: ['./indicator-question.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class IndicatorQuestionComponent {\r\n @Input() dir;\r\n @Input() question: IndicatorQuestions;\r\n @Input() viewOnly: boolean;\r\n\r\n constructor(private dialog: MatDialog,\r\n private translateService: TranslateService) {\r\n\r\n }\r\n\r\n showDialog(message: string) {\r\n const dialogRef = this.dialog.open(TooltipDialog, {\r\n width: '80%',\r\n data: {\r\n dir: this.dir,\r\n message: this.translateService.instant(message)\r\n }\r\n });\r\n }\r\n\r\n checkValue(event) {\r\n if (this.question.answer < 0 || this.question.answer == null) this.question.answer = 0;\r\n event.target.value = this.question.answer;\r\n }\r\n}\r\n","
    \r\n
    \r\n

    {{ 'DISTRIBUTE.members' | translate }}

    \r\n \r\n \r\n \r\n {{ member?.reviewer | getMemberName }}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n

    {{ 'DISTRIBUTE.addMembers' | translate }}

    \r\n\r\n \r\n \r\n \r\n \r\n {{ member?.reviewer | getMemberName }}\r\n \r\n \r\n \r\n \r\n \r\n {{ member?.reviewer |\r\n getMemberName }} \r\n\r\n \r\n \r\n
    \r\n
    \r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { NumberCounterWrapperComponent } from './number-counter-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'number-counter',\r\n selector: 'number-counter',\r\n title: 'number counter wrapper'\r\n};\r\n\r\nexport function registerNumberCounterComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, NumberCounterWrapperComponent, injector);\r\n}","import { utils } from 'formiojs/utils';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BehaviorSubject, Subscription, forkJoin, Subject, Observable, debounceTime, distinctUntilChanged } from 'rxjs';\r\nimport { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnDestroy, Output, SimpleChanges, ViewEncapsulation } from '@angular/core';\r\nimport { MatTreeNestedDataSource } from '@angular/material/tree';\r\nimport { NestedTreeControl } from '@angular/cdk/tree';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { Utils } from 'formiojs';\r\nimport { AddEditDialog } from './add-edit-dialog/add-edit-dialog.component';\r\nimport { FormioLoader, FormioCustomComponent, ResourceNameService } from 'dp-formio';\r\nimport * as DeleteConfirmationDialog from 'dp-formio';\r\n\r\n@Component({\r\n selector: 'app-table-tree-wrapper',\r\n templateUrl: './table-tree-wrapper.component.html',\r\n // styleUrls: ['./table-tree-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader]\r\n})\r\nexport class TableTreeWrapperComponent implements FormioCustomComponent, OnChanges, OnDestroy {\r\n dir: \"rtl\" | \"ltr\";\r\n @Input() value: any = {};\r\n @Output() valueChange = new EventEmitter();\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n @Input() data: any;\r\n @Input() customOptions: any;\r\n @Input() formioComponent: any;\r\n private sub: Subscription;\r\n name: string;\r\n readonly dataSource: BehaviorSubject;\r\n readonly filterDataSource: BehaviorSubject;\r\n readonly treeSource: MatTreeNestedDataSource;\r\n readonly filteredTreeSource: MatTreeNestedDataSource;\r\n filterUpdate = new Subject();\r\n filterKeyword = '';\r\n /** tree control */\r\n readonly treeControl = new NestedTreeControl(node => node.childrens);\r\n readonly hasChild = (_: number, node: any) => !!node.childrens && node.childrens.length > 0;\r\n readonly trackBy = (_: number, node: any) => node.id;\r\n\r\n branches = [];\r\n\r\n windowProperties = {\r\n fullscreen: false,\r\n open: false\r\n };\r\n activeNode = null;\r\n activeParentNode = null;\r\n activeNodeData = null;\r\n activeNodeState: 'add' | 'edit';\r\n\r\n showMainBranch: any;\r\n\r\n modifyInDialog: boolean;\r\n\r\n constructor(private translateService?: TranslateService,\r\n private resourceNameService?: ResourceNameService,\r\n private formioLoader?: FormioLoader,\r\n private dialog?: MatDialog) {\r\n if (this.translateService) {\r\n this.initFilterListener();\r\n this.treeSource = new MatTreeNestedDataSource();\r\n this.filteredTreeSource = new MatTreeNestedDataSource();\r\n\r\n this.dataSource = new BehaviorSubject([]);\r\n this.filterDataSource = new BehaviorSubject([]);\r\n\r\n this.dataSource.subscribe(items => {\r\n this.treeSource.data = null;\r\n this.treeSource.data = items;\r\n });\r\n\r\n this.filterDataSource.subscribe(items => {\r\n this.filteredTreeSource.data = null;\r\n this.filteredTreeSource.data = items;\r\n });\r\n\r\n this.dataSource.next([]);\r\n this.filterDataSource.next([]);\r\n // this.notifyValue();\r\n this.changeDirection(this.translateService.currentLang);\r\n this.sub = this.translateService.onLangChange.subscribe(data => {\r\n this.changeDirection(data.lang);\r\n });\r\n this.sub = this.checklistSelection.changed.subscribe(data => {\r\n console.log(data.source.selected);\r\n });\r\n }\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.formioLoader.loading = false;\r\n if (this.customOptions) {\r\n this.name = Object.keys(this.customOptions)[0];\r\n if (this.customOptions.modifyInDialog) this.modifyInDialog = this.customOptions.modifyInDialog;\r\n this.checkMainBranch();\r\n if (this.value) this.fillData();\r\n }\r\n }\r\n\r\n private changeDirection(lang) {\r\n this.dir = null;\r\n setTimeout(() => {\r\n this.dir = lang == 'ar' ? 'rtl' : 'ltr';\r\n });\r\n }\r\n\r\n checkIsMain = (item, prop, node?) => {\r\n if (this.showMainBranch && this.showMainBranch?.fieldName) {\r\n if (prop && prop.rowSubmission) {\r\n item.isMain = prop.rowSubmission.data[this.showMainBranch.fieldName] == true;\r\n\r\n } else if (node && node.rowSubmission) {\r\n item.isMain = node.rowSubmission.data[this.showMainBranch.fieldName] == true;\r\n }\r\n\r\n }\r\n }\r\n checkResources = (item, prop, node?) => {\r\n if (prop && prop.resource) {\r\n item.resource = prop.resource;\r\n item.extra = prop.extra;\r\n\r\n } else if (node && node.resource) {\r\n item.resource = node.resource;\r\n item.extra = node.extra;\r\n }\r\n }\r\n dialogConfig = (prop, node?) => {\r\n const item: any = {\r\n dir: this.dir,\r\n isAdd: prop.isAdd,\r\n name: prop.name ?? node.translatedName,\r\n fields: prop.fields ?? _cloneDeep(node.fields),\r\n branches: this.branches,\r\n rowSubmission: prop.rowSubmission ?? (node?.rowSubmission ?? null),\r\n parentRowSubmission: prop.parentRowSubmission ?? (node?.parentRowSubmission ?? null),\r\n resource: prop.resource ?? node.resource,\r\n apiKey: prop.apiKey ?? node.apiKey,\r\n parentApiKey: prop.parentApiKey ?? node.parentApiKey,\r\n extra: prop.extra ?? node.extra,\r\n disableFields: prop.disableFields ?? (node?.disableFields ?? null),\r\n icon: prop.icon ?? node.icon,\r\n color: prop.color ?? node.color,\r\n isView: prop.viewMode ?? false,\r\n data: this.data,\r\n value: this.branches\r\n }\r\n this.checkIsMain(item, prop, node);\r\n this.checkResources(item, prop, node);\r\n return item;\r\n };\r\n itemSetup = (prop, node?) => {\r\n const item: any = {\r\n id: prop.id ?? node.id,\r\n name: prop.name ?? node.prop,\r\n translatedName: prop.translatedName ?? node.translatedName,\r\n fields: prop.fields ?? node.fields,\r\n branches: this.branches,\r\n rowSubmission: prop.rowSubmission ?? node.rowSubmission,\r\n parentRowSubmission: prop.parentRowSubmission ?? node.parentRowSubmission,\r\n resource: prop.resource ?? node.resource,\r\n apiKey: prop.apiKey ?? node.apiKey,\r\n parentApiKey: prop.parentApiKey ?? node.parentApiKey,\r\n extra: prop.extra ?? node.extra,\r\n disableFields: prop.disableFields ?? node.disableFields,\r\n icon: prop.icon ?? node.icon,\r\n color: prop.color ?? node.color,\r\n actions: prop.actions ?? node.actions,\r\n childrens: prop.children ?? node.childrens\r\n };\r\n this.checkIsMain(item, prop, node);\r\n this.checkResources(item, prop, node);\r\n return item;\r\n };\r\n\r\n createDialog(isAdd: boolean, level: any, parentNode = null) {\r\n this.clearActive();\r\n this.activeNodeState = 'add';\r\n this.activeNode = level;\r\n this.activeParentNode = parentNode;\r\n this.activeNodeData = this.dialogConfig({\r\n isAdd: isAdd,\r\n name: Object.keys(level)[0],\r\n fields: _cloneDeep(level[Object.keys(level)[0]].fields),\r\n rowSubmission: level[Object.keys(level)[0]].rowSubmission,\r\n parentRowSubmission: parentNode?.rowSubmission ?? null,\r\n resource: level[Object.keys(level)[0]].resource,\r\n apiKey: level[Object.keys(level)[0]].apiKey,\r\n parentApiKey: level[Object.keys(level)[0]].parentApiKey,\r\n extra: level[Object.keys(level)[0]].extra,\r\n disableFields: level[Object.keys(level)[0]].disableFields,\r\n icon: level[Object.keys(level)[0]].icon,\r\n color: level[Object.keys(level)[0]].color,\r\n data: this.data\r\n });\r\n this.checkOpenInDialog();\r\n }\r\n\r\n editDialog(node: any) {\r\n this.clearActive();\r\n this.activeNodeState = 'edit';\r\n this.activeNode = node;\r\n this.activeParentNode = null;\r\n this.activeNodeData = this.dialogConfig({ isAdd: false }, node);\r\n this.checkOpenInDialog();\r\n }\r\n\r\n viewDialog(node: any) {\r\n this.clearActive();\r\n this.activeNode = node;\r\n this.activeNodeData = this.dialogConfig({ viewMode: true }, node);\r\n this.checkOpenInDialog();\r\n }\r\n\r\n private checkOpenInDialog() {\r\n if (this.modifyInDialog) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = Utils.guid();\r\n dialogConfig.panelClass = \"custom-modal-component\";\r\n dialogConfig.direction = this.dir;\r\n dialogConfig.data = this.activeNodeData;\r\n this.dialog.closeAll();\r\n const modalDialog = this.dialog.open(AddEditDialog, dialogConfig);\r\n modalDialog.afterClosed().subscribe(data => {\r\n this.closeActive(data);\r\n });\r\n }\r\n }\r\n\r\n closeActive(result: any) {\r\n if (result) {\r\n this.formioLoader.loading = true;\r\n if (this.activeNodeState == 'add') {\r\n this.fillSource(result, this.activeNode, this.activeParentNode)\r\n } else if (this.activeNodeState == 'edit') {\r\n const comfirmed = result?.rowSubmission?.data?.accredited ? `` : '';\r\n const colorStyle = result.color ? `color: ${result?.color} !important;` : '';\r\n const icon = result.icon ? `` : '';\r\n const item = this.itemSetup({\r\n name: `${icon || ''} ${comfirmed} ${this.translateService.instant(`forms.common.${this.activeNode.translatedName}`)} :` + result.fields.filter(q => q.viewInTree && q.value).map(q => q.value).join(' • '),\r\n fields: result.fields,\r\n rowSubmission: result.rowSubmission,\r\n parentRowSubmission: result.parentRowSubmission,\r\n resource: result.resource,\r\n apiKey: result.apiKey,\r\n parentApiKey: result.parentApiKey,\r\n extra: result.extra,\r\n disableFields: result.disableFields,\r\n }, this.activeNode);\r\n this.findInDataSourceAndUpdate(this.dataSource.value, item);\r\n this.dataSource.next([...this.dataSource.value]);\r\n this.notifyValue();\r\n }\r\n this.formioLoader.loading = false;\r\n }\r\n this.clearActive();\r\n }\r\n clearActive() {\r\n this.activeNode = null;\r\n this.activeParentNode = null;\r\n this.activeNodeData = null;\r\n this.activeNodeState = null;\r\n }\r\n\r\n\r\n fillSource(result: any, level: any, parentNode = null, notify: boolean = true) {\r\n const comfirmed = level[Object.keys(level)[0]].confirmedFieldName && result?.rowSubmission?.data[level[Object.keys(level)[0]].confirmedFieldName] ?\r\n `` : '';\r\n const colorStyle = result.color ? `color: ${result?.color} !important;` : '';\r\n const icon = result?.icon ? `` : '';\r\n const newItem = this.itemSetup({\r\n id: Utils.guid(),\r\n name: `${icon || ''} ${comfirmed} ${this.translateService.instant(`forms.common.${Object.keys(level)[0]}`)} : ` + result.fields.filter(q => q.viewInTree && q.value).map(q => q.value).join(' • '),\r\n translatedName: Object.keys(level)[0],\r\n actions: level[Object.keys(level)[0]].actions,\r\n children: []\r\n }, result);\r\n if (parentNode) {\r\n this.findInDataSourceAndFill(this.dataSource.value, parentNode, newItem);\r\n this.dataSource.next([...this.dataSource.value]);\r\n if (notify) this.notifyValue();\r\n return newItem;\r\n } else {\r\n this.dataSource.next([\r\n ...this.dataSource.value,\r\n {\r\n ...newItem\r\n }\r\n ]);\r\n if (notify) this.notifyValue();\r\n return newItem;\r\n }\r\n }\r\n\r\n createNode(parentNode, bindWith) {\r\n const node = this.findNode(this.customOptions, bindWith);\r\n this.createDialog(true, node, parentNode);\r\n }\r\n\r\n findNode(startedPoint, bindWith) {\r\n for (let item in startedPoint) {\r\n if (item == bindWith) return startedPoint;\r\n else {\r\n const branchOfNods = startedPoint[item].childrens.find(q => this.findNode(q, bindWith));\r\n if (branchOfNods) return this.findNode(branchOfNods, bindWith);\r\n }\r\n }\r\n }\r\n findNodeByKey(startedPoint, key) {\r\n for (let item in startedPoint) {\r\n if (Object.values(startedPoint[item]).includes(key)) return startedPoint[item];\r\n else {\r\n const bindWith = startedPoint[item].actions?.find(q => !!q.bindWith)?.bindWith ?? null;\r\n if (bindWith) {\r\n const branchOfNods = startedPoint[item].childrens.find(q => this.findNode(q, bindWith));\r\n if (branchOfNods) return this.findNodeByKey(branchOfNods, key);\r\n }\r\n }\r\n }\r\n }\r\n\r\n findInDataSourceAndFill(startedPoint, parentNode, newItem) {\r\n startedPoint.forEach(q => {\r\n if (q.id == parentNode.id) q.childrens.push(newItem);\r\n else this.findInDataSourceAndFill(q.childrens, parentNode, newItem);\r\n });\r\n }\r\n\r\n findInDataSourceAndUpdate(startedPoint, item) {\r\n for (let index = 0; index < startedPoint.length; index++) {\r\n if (startedPoint[index].id == item.id) startedPoint[index] = { ...item };\r\n else this.findInDataSourceAndUpdate(startedPoint[index].childrens, item);\r\n }\r\n }\r\n\r\n removeNode(node) {\r\n if (node.childrens && node.childrens.length) {\r\n DeleteConfirmationDialog.build(this.formioComponent, null, null,\r\n 'This item cannot be deleted Please delete the items associated with it first');\r\n return;\r\n }\r\n //check if has related\r\n if (this.customOptions.relatedEntityWhenDelete) {\r\n let hasRelated = false;\r\n this.customOptions.relatedEntityWhenDelete.forEach(item => {\r\n const result = Utils.evaluate(item.value, { removedId: node.rowSubmission._id, value: this.data[item.key] });\r\n if (result) hasRelated = true;\r\n });\r\n\r\n if (hasRelated) {\r\n DeleteConfirmationDialog.build(this.formioComponent, null, null,\r\n 'This item cannot be deleted Please delete the items associated with it first');\r\n return;\r\n }\r\n }\r\n\r\n //delete item\r\n DeleteConfirmationDialog.build(this.formioComponent, () => {\r\n this.deleteFromResource(node);\r\n }, null, 'Are you sure to delete this item');\r\n }\r\n\r\n deleteFromResource(node) {\r\n this.formioLoader.loading = true;\r\n this.sub = this.resourceNameService.deleteResourceData(node.resource, node.rowSubmission._id)\r\n .subscribe(() => {\r\n const data = this.dataSource.value;\r\n this.dataSource.next(this.deepRemoveNode(_cloneDeep(data), node));\r\n this.checklistSelection.clear();\r\n this.clearActive()\r\n this.notifyValue();\r\n this.formioLoader.loading = false;\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n });\r\n }\r\n\r\n deepRemoveNode(data: any[], node: any | any[]) {\r\n const result = [];\r\n data.forEach(item => {\r\n if (item.childrens && item.childrens.length)\r\n item.childrens = this.deepRemoveNode(item.childrens, node);\r\n if (node instanceof Array) {\r\n if (!node.find(q => q.id == item.id)) result.push(item);\r\n } else if (item.id != node.id) result.push(item);\r\n });\r\n return result;\r\n }\r\n\r\n getRemovedNode(data: any[], node: any | any[], removedNodes: any[] = []) {\r\n data.forEach(item => {\r\n if (item.childrens && item.childrens.length)\r\n this.getRemovedNode(item.childrens, node, removedNodes);\r\n\r\n if (item.id && item.id == node.id && item.fields && item.fields.length)\r\n removedNodes.push(item.fields[0].value);\r\n });\r\n\r\n return removedNodes;\r\n }\r\n\r\n hasAction(node, action) {\r\n return !!node.actions.find(q => q.name == action);\r\n }\r\n\r\n private initFilterListener() {\r\n this.sub = this.filterUpdate.pipe(\r\n debounceTime(350),\r\n distinctUntilChanged())\r\n .subscribe(keyword => {\r\n this.filterData(keyword);\r\n });\r\n }\r\n\r\n private filterData(keyword: string = '') {\r\n if (keyword.length) {\r\n const data = [];\r\n this.dataSource.value.forEach(node => {\r\n this.recursiveFilterNode(keyword, data, node, node);\r\n });\r\n this.filterDataSource.next(data);\r\n } else {\r\n this.filterDataSource.next([]);\r\n this.filterDataSource.next(_cloneDeep(this.dataSource.value));\r\n }\r\n }\r\n\r\n private recursiveFilterNode(keyword: string, array: any[], parentNode: any, currentNode: any) {\r\n if (currentNode.fields.some(f => f.value.includes(keyword))) {\r\n if (array.find(n => n.id == parentNode.id)) return;\r\n array.push(parentNode);\r\n } else {\r\n if (currentNode.childrens)\r\n currentNode.childrens.forEach(c => {\r\n this.recursiveFilterNode(keyword, array, parentNode, c);\r\n });\r\n }\r\n }\r\n\r\n private notifyValue() {\r\n this.filterData(this.filterKeyword);\r\n const branches = [];\r\n for (const temp of this.dataSource.value) {\r\n let item = this.getFiledsValue(temp);\r\n this.getChildrensValue(item, temp);\r\n branches.push(item);\r\n }\r\n this.branches = branches;\r\n\r\n const branchesIds = [];\r\n for (const temp of this.dataSource.value) {\r\n let item = this.getFiledsValue(temp, true);\r\n this.getChildrensValue(item, temp, true);\r\n branchesIds.push(item);\r\n }\r\n this.value = { branchesData: branchesIds };\r\n this.valueChange.emit(this.value);\r\n\r\n setTimeout(() => {\r\n this.saveResultObjectsOn();\r\n this.afterChangeValue();\r\n this.checkMainBranch();\r\n });\r\n }\r\n\r\n private saveResultObjectsOn() {\r\n if (this.customOptions && this.customOptions.saveResultObjectsOn) {\r\n if (this.formioComponent.root.wizard) {\r\n const pages = this.formioComponent.root.getFastPages({ all: true, withoutFirstLoad: true });\r\n const components = Utils.searchComponents(pages, { key: this.customOptions.saveResultObjectsOn });\r\n components.forEach(c => {\r\n c.setValue(this.branches ?? []);\r\n });\r\n } else {\r\n const nestedForms = Utils.searchComponents(this.formioComponent.root.components, { type: 'form', 'component.display': 'wizard' });\r\n nestedForms.forEach(formComponent => {\r\n formComponent.subFormReady.then((subForm) => {\r\n const pages = subForm.getFastPages({ all: true, withoutFirstLoad: true });\r\n const components = Utils.searchComponents(pages, { key: this.customOptions.saveResultObjectsOn });\r\n components.forEach(c => {\r\n c.setValue(this.branches ?? []);\r\n });\r\n });\r\n });\r\n }\r\n }\r\n }\r\n\r\n checkMainBranch() {\r\n if (this.customOptions && this.customOptions.showMainBranch) {\r\n this.showMainBranch = this.customOptions.showMainBranch;\r\n const mainBranch = Utils.evaluate(this.customOptions.showMainBranch.condition, { value: this.branches });\r\n if (mainBranch) {\r\n this.showMainBranch.hasMainBransh = true;\r\n this.showMainBranch.fields.forEach(item => {\r\n if (item.type == \"pair\") {\r\n const key = this.translateService.currentLang.toLowerCase() == 'ar' ? item.nameAr : item.nameEn;\r\n item.value = mainBranch[key].split(' - ')[0];\r\n }\r\n else item.value = mainBranch[item.name];\r\n });\r\n }\r\n }\r\n }\r\n\r\n private afterChangeValue() {\r\n if (this.customOptions && this.customOptions.afterChange)\r\n this.customOptions.afterChange.forEach(item => {\r\n if (item.value) {\r\n const value = Utils.evaluate(item.value, { branches: _cloneDeep(this.branches), data: this.data, instance: this.formioComponent });\r\n this.data[item.key] = value;\r\n }\r\n\r\n if (item.justInData) {\r\n const value = Utils.evaluate(item.value, { branches: _cloneDeep(this.branches), data: this.data, instance: this.formioComponent });\r\n this.data[item.key] = value;\r\n } else\r\n if (this.formioComponent.root.wizard) {\r\n const pages = this.formioComponent.root.getFastPages({ all: true, withoutFirstLoad: true });\r\n const components = Utils.searchComponents(pages, { key: item.key });\r\n components.forEach(c => {\r\n if (item.notifyChange) {\r\n c.calculateValue(this.data);\r\n c.triggerChange();\r\n }\r\n else {\r\n const value = Utils.evaluate(item.value, { branches: _cloneDeep(this.branches), data: this.data, instance: this.formioComponent });\r\n c.setValue(value);\r\n }\r\n });\r\n } else {\r\n const nestedForms = Utils.searchComponents(this.formioComponent.root.components, { type: 'form', 'component.display': 'wizard' });\r\n nestedForms.forEach(formComponent => {\r\n formComponent.subFormReady.then((subForm) => {\r\n const pages = subForm.getFastPages({ all: true, withoutFirstLoad: true });\r\n const components = Utils.searchComponents(pages, { key: item.key });\r\n components.forEach(c => {\r\n if (item.notifyChange) {\r\n c.calculateValue(this.data);\r\n c.triggerChange();\r\n }\r\n else {\r\n const value = Utils.evaluate(item.value, { branches: _cloneDeep(this.branches), data: this.data, instance: this.formioComponent });\r\n c.setValue(value);\r\n }\r\n });\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n private getFiledsValue(node, justIds: boolean = false) {\r\n let item = {};\r\n if (!justIds) {\r\n for (const [key, value] of Object.entries(node.rowSubmission.data)) {\r\n item[key] = value;\r\n }\r\n item[`_id`] = node.rowSubmission._id;\r\n }\r\n item[`${node.apiKey}SubmissionId`] = node.rowSubmission._id;\r\n return item;\r\n }\r\n\r\n private getChildrensValue(item, node, justIds: boolean = false) {\r\n if (justIds) {\r\n const subProps = node.actions.filter(q => q.bindWith).map(q => q.bindWith);\r\n subProps.forEach(key => {\r\n const apiKey = this.findNode(this.customOptions, key)[key].apiKey;\r\n item[apiKey] = [];\r\n });\r\n\r\n if (node?.childrens?.length > 0) {\r\n node.childrens.forEach(q => {\r\n const child = this.getFiledsValue(q, justIds);\r\n if (q.childrens.length > 0) this.getChildrensValue(child, q, justIds);\r\n if (item && item[q.apiKey]) item[q.apiKey].push(child);\r\n });\r\n }\r\n } else {\r\n const subProps = node.actions.filter(q => q.bindWith).map(q => q.bindWith);\r\n subProps.forEach(key => {\r\n item[key] = [];\r\n });\r\n\r\n if (node?.childrens?.length > 0) {\r\n node.childrens.forEach(q => {\r\n const child = this.getFiledsValue(q, justIds);\r\n if (q.childrens.length > 0) this.getChildrensValue(child, q, justIds);\r\n if (item && item[q.translatedName]) item[q.translatedName].push(child);\r\n });\r\n }\r\n }\r\n }\r\n\r\n private fillData() {\r\n const levelsIds: Array<{ node: any, ids: string[] }> = [];\r\n this.value.branchesData.forEach(item => {\r\n const key = Object.keys(item).find(q => q.endsWith('SubmissionId'))\r\n const node = this.findNodeByKey(this.customOptions, key.replace('SubmissionId', ''));\r\n this.recursiveFillResourceLevel(levelsIds, item, key, node);\r\n });\r\n\r\n if (this.customOptions.saveResultObjectsOn && this.data[this.customOptions.saveResultObjectsOn] && this.data[this.customOptions.saveResultObjectsOn].length) {\r\n this.fillDataResult(levelsIds, this.data[this.customOptions.tableTreeLevels]);\r\n } else {\r\n if (levelsIds && levelsIds.length) this.formioLoader.loading = true;\r\n const apiRequests = levelsIds.map(q => {\r\n return this.resourceNameService.loadCustomByFilterdKey(q.node.resource, `_id__in=${q.ids.join()}&sort=created`);\r\n });\r\n forkJoin(apiRequests).subscribe(result => {\r\n this.fillDataResult(levelsIds, result);\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n });\r\n }\r\n }\r\n\r\n private fillDataResult(levelsIds: any[], result: any[]) {\r\n this.branches = [];\r\n this.dataSource.next([]);\r\n this.filterDataSource.next([]);\r\n\r\n result[0].forEach(q => {\r\n const item = this.fillFromApi(levelsIds, 0, q, result);\r\n this.branches.push(item);\r\n });\r\n\r\n this.branches.forEach(data => {\r\n const level = this.customOptions;\r\n const item = {\r\n fields: _cloneDeep(level[Object.keys(level)[0]].fields),\r\n icon: level[Object.keys(level)[0]].icon,\r\n color: level[Object.keys(level)[0]].color,\r\n apiKey: level[Object.keys(level)[0]].apiKey,\r\n parentApiKey: level[Object.keys(level)[0]].parentApiKey,\r\n extra: level[Object.keys(level)[0]].extra,\r\n disableFields: level[Object.keys(level)[0]].disableFields,\r\n resource: level[Object.keys(level)[0]].resource,\r\n rowSubmission: result[0].find(q => q._id == data._id),\r\n parentRowSubmission: null,\r\n childrens: []\r\n };\r\n item.fields.forEach(prop => {\r\n if (data[prop.name]) prop.value = data[prop.name];\r\n });\r\n const currentNode = this.fillSource(item, level, null, false);\r\n level[Object.keys(level)[0]].actions.filter(q => q.bindWith).forEach(element => {\r\n if (data[element.bindWith]) {\r\n const node = this.findNode(this.customOptions, element.bindWith);\r\n this.findAndFillSubData(data[element.bindWith], node, currentNode, result, levelsIds, null, false);\r\n }\r\n });\r\n });\r\n\r\n this.filterData();\r\n this.formioLoader.loading = false;\r\n this.notifyValue();\r\n\r\n if (this.customOptions.showMainBranch &&\r\n this.customOptions.showMainBranch.enableDefaultSelect &&\r\n this.filteredTreeSource.data.length &&\r\n !this.modifyInDialog) {\r\n this.viewDialog(this.filteredTreeSource.data[0]);\r\n }\r\n }\r\n\r\n private recursiveFillResourceLevel(levelsIds, item, key, node) {\r\n\r\n const index = levelsIds.findIndex(q => q.node.resource == node.resource);\r\n if (index >= 0) {\r\n levelsIds[index].ids.push(item[key]);\r\n }\r\n else levelsIds.push({ node: node, ids: [item[key]] });\r\n\r\n const bindWith = node.actions.find(q => !!q.bindWith)?.bindWith ?? null;\r\n\r\n if (bindWith)\r\n node.childrens.filter(q => q[bindWith]).forEach(element => {\r\n (item[element[bindWith].apiKey] ?? []).forEach(item => {\r\n const key = Object.keys(item).find(q => q.endsWith('SubmissionId'))\r\n const node = this.findNodeByKey(this.customOptions, key.replace('SubmissionId', ''));\r\n this.recursiveFillResourceLevel(levelsIds, item, key, node);\r\n });\r\n });\r\n\r\n }\r\n\r\n private fillFromApi(levelsIds, levelsIdsIndex, nodeApiData, allApisData) {\r\n const item = { ...nodeApiData.data, _id: nodeApiData._id };\r\n\r\n const subProps = levelsIds[levelsIdsIndex].node.actions.filter(q => q.bindWith).map(q => q.bindWith);\r\n subProps.forEach(key => {\r\n const subNode = this.findNode(this.customOptions, key)[key];\r\n const subNodeIndex = levelsIds.findIndex(q => q.node.resource == subNode.resource);\r\n if (subNodeIndex >= 0) {\r\n const tempItems = allApisData[subNodeIndex].filter(q => q.data[levelsIds[subNodeIndex].node.parentApiKey] == item._id);\r\n tempItems.forEach(tempItem => {\r\n const temp = this.fillFromApi(levelsIds, subNodeIndex, tempItem, allApisData);\r\n if (!item[key]) item[key] = [];\r\n item[key].push(temp);\r\n });\r\n }\r\n });\r\n return item;\r\n }\r\n\r\n private findAndFillSubData(array, level, parrentNode, result, levelsIds, parentRowSubmission = null, notify: boolean) {\r\n array.forEach(data => {\r\n const item = {\r\n fields: _cloneDeep(level[Object.keys(level)[0]].fields),\r\n icon: level[Object.keys(level)[0]].icon,\r\n color: level[Object.keys(level)[0]].color,\r\n apiKey: level[Object.keys(level)[0]].apiKey,\r\n parentApiKey: level[Object.keys(level)[0]].parentApiKey,\r\n extra: level[Object.keys(level)[0]].extra,\r\n disableFields: level[Object.keys(level)[0]].disableFields,\r\n resource: level[Object.keys(level)[0]].resource,\r\n rowSubmission: result[levelsIds.findIndex(q => q.node.resource == level[Object.keys(level)[0]].resource)].find(q => q._id == data._id),\r\n parentRowSubmission: parentRowSubmission,\r\n childrens: []\r\n };\r\n item.fields.forEach(prop => {\r\n if (data[prop.name]) prop.value = data[prop.name];\r\n });\r\n const currentNode = this.fillSource(item, level, parrentNode, notify);\r\n level[Object.keys(level)[0]].actions.filter(q => q.bindWith).forEach(element => {\r\n if (data[element.bindWith]) {\r\n const node = this.findNode(this.customOptions, element.bindWith);\r\n this.findAndFillSubData(data[element.bindWith], node, currentNode, result, levelsIds, item.rowSubmission, notify);\r\n }\r\n });\r\n });\r\n }\r\n\r\n /* Selection Code */\r\n checklistSelection = new SelectionModel(true);\r\n getLevel = (node: any) => node.level;\r\n\r\n todoLeafItemSelectionToggle(node: any): void {\r\n this.checklistSelection.toggle(node);\r\n this.checkAllParentsSelection(node);\r\n }\r\n\r\n checkAllParentsSelection(node: any): void {\r\n let parent: any | null = this.getParentNode(node);\r\n while (parent) {\r\n this.checkRootNodeSelection(parent);\r\n parent = this.getParentNode(parent);\r\n }\r\n }\r\n\r\n getParentNode(node: any): any | null {\r\n const currentLevel = this.getLevel(node);\r\n\r\n if (currentLevel < 1) {\r\n return null;\r\n }\r\n\r\n if (!this.treeControl.dataNodes) return;\r\n const startIndex = this.treeControl.dataNodes.indexOf(node) - 1;\r\n\r\n for (let i = startIndex; i >= 0; i--) {\r\n const currentNode = this.treeControl.dataNodes[i];\r\n\r\n if (this.getLevel(currentNode) < currentLevel) {\r\n return currentNode;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n checkRootNodeSelection(node: any): void {\r\n const nodeSelected = this.checklistSelection.isSelected(node);\r\n const descendants = this.treeControl.getDescendants(node);\r\n const descAllSelected = descendants.length > 0 && descendants.every(child => {\r\n return this.checklistSelection.isSelected(child);\r\n });\r\n if (nodeSelected && !descAllSelected) {\r\n this.checklistSelection.deselect(node);\r\n } else if (!nodeSelected && descAllSelected) {\r\n this.checklistSelection.select(node);\r\n }\r\n }\r\n\r\n descendantsAllSelected(node: any): boolean {\r\n const descendants = this.treeControl.getDescendants(node);\r\n const descAllSelected = descendants.length > 0 && descendants.every(child => {\r\n return this.checklistSelection.isSelected(child);\r\n });\r\n // if (descAllSelected) this.checklistSelection.select(node);\r\n // else this.checklistSelection.deselect(node);\r\n return descAllSelected;\r\n }\r\n\r\n descendantsPartiallySelected(node: any): boolean {\r\n const descendants = this.treeControl.getDescendants(node);\r\n const result = descendants.some(child => this.checklistSelection.isSelected(child));\r\n return result && !this.descendantsAllSelected(node);\r\n }\r\n\r\n todoItemSelectionToggle(node: any): void {\r\n this.checklistSelection.toggle(node);\r\n const descendants = this.treeControl.getDescendants(node);\r\n this.checklistSelection.isSelected(node)\r\n ? this.checklistSelection.select(...descendants)\r\n : this.checklistSelection.deselect(...descendants);\r\n\r\n // Force update for the parent\r\n descendants.forEach(child => this.checklistSelection.isSelected(child));\r\n this.checkAllParentsSelection(node);\r\n }\r\n\r\n /* End Selection Code */\r\n\r\n ngOnDestroy() {\r\n if (this.sub) this.sub.unsubscribe();\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { QuestionSession } from 'src/formio-custom-components/src/lib/custom-component/components/distribute-common-questions/models';\r\n\r\n@Pipe({\r\n name: 'membersLength',\r\n})\r\nexport class MembersLengthPipe implements PipeTransform {\r\n transform(value: QuestionSession[]): number {\r\n if (!Array.isArray(value) || !value.length) {\r\n return 0;\r\n }\r\n\r\n const data = value.reduce((acc, item) => {\r\n const _item = item.members.split(',');\r\n return [...acc, ..._item];\r\n }, []);\r\n\r\n const set = new Set(data);\r\n\r\n return set.size;\r\n }\r\n}\r\n","import { Injectable, OnDestroy } from \"@angular/core\";\r\nimport { Observable, ReplaySubject } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class Destroy extends Observable implements OnDestroy {\r\n private readonly destroySubject$ = new ReplaySubject(1);\r\n\r\n constructor() {\r\n super((subscriber) => this.destroySubject$.subscribe(subscriber));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroySubject$.next();\r\n this.destroySubject$.complete();\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n\r\n
    \r\n
    ","
    \r\n\t\r\n\t\t\r\n\r\n\t\t
    \r\n\t\t
    \r\n\t
    \r\n\r\n\t
    \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
    \r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{{'forms.common.' + node.data.dataItem.role | translate}}
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    {{currentLang == 'ar' ? node.data.dataItem.arabicName :\r\n\t\t\t\t\t\t\tnode.data.dataItem.englishName}}
    \r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\r\n\t\t
    \r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t{{'forms.common.NoDecision' | translate}}\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t{{'forms.common.Approve' | translate}}\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t{{'forms.common.Reject' | translate}}\r\n\t\t\t
    \r\n\t\t
    \r\n\t
    \r\n
    ","\r\nimport { TemplateObjectsService } from './template-process/services/template-objects.service';\r\nimport { Component, EventEmitter, Input, OnChanges, OnDestroy, Output, SimpleChanges, ViewEncapsulation } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { EditTemplateDialog } from './edit-template-dialog/edit-template-dialog.component';\r\nimport { Utils } from 'formiojs';\r\nimport download from 'downloadjs';\r\nimport { FormioLoader, FormioCustomComponent, ResourceNameService, ViewerComponent } from 'dp-formio';\r\n\r\n@Component({\r\n selector: 'app-template-wrapper',\r\n templateUrl: './template-wrapper.component.html',\r\n // styleUrls: ['./template-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader]\r\n})\r\nexport class TemplateWrapperComponent implements FormioCustomComponent, OnDestroy, OnChanges {\r\n dir: 'rtl' | 'ltr';\r\n @Input() required: boolean;\r\n\r\n @Input()\r\n value: any = {};\r\n\r\n @Output()\r\n valueChange = new EventEmitter();\r\n\r\n @Input()\r\n disabled: boolean;\r\n\r\n @Input()\r\n viewOnly: boolean;\r\n\r\n @Input()\r\n data: any;\r\n\r\n @Input()\r\n customOptions: any;\r\n\r\n @Input()\r\n formioComponent: any;\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n selectedTemplate: any;\r\n resource = '';\r\n query = '';\r\n templates: any[] = [];\r\n\r\n evaluatedTemplate: any;\r\n baseValue: any;\r\n\r\n constructor(private translateService: TranslateService,\r\n private dialog: MatDialog,\r\n private resourceNameService: ResourceNameService,\r\n private templateObjectsService: TemplateObjectsService,\r\n private formloader: FormioLoader) {\r\n this.changeDirection(this.translateService.currentLang);\r\n this.sub = this.translateService.onLangChange.subscribe(data => {\r\n this.changeDirection(data.lang);\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.customOptions && this.customOptions.resource) {\r\n this.resource = this.customOptions.resource;\r\n if (this.customOptions.query)\r\n this.query = this.formioComponent.interpolate(this.customOptions.query, { data: this.data });\r\n this.getTemplatesResources();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n changeTemplate(event) {\r\n if (!event) {\r\n this.evaluatedTemplate = null;\r\n this.notifyValue();\r\n return;\r\n }\r\n console.log(event);\r\n\r\n this.evaluatedTemplate = null;\r\n this.sub = this.resourceNameService.loadCustomByKeyId(this.resource, event._id)\r\n .subscribe(res => {\r\n this.selectedTemplate.res = res;\r\n this.editTemplate();\r\n });\r\n }\r\n\r\n editTemplate(base64: string = null) {\r\n this.formloader.loading = true;\r\n this.sub = this.templateObjectsService.getRequestData(this.data.requestDetails.data.currentRoute.split('?case=')[1])\r\n .subscribe(requestData => {\r\n this.templateObjectsService.PROCESS_HOST_URL = this.selectedTemplate.processHostUrl;\r\n const fields = [];\r\n\r\n const flattenData = this.flatten(this.data);\r\n //remove brackets from any phone number\r\n Object.keys(flattenData).forEach(key => {\r\n if (/^\\([0-9]{5}\\)[0-9]{9}$/i.test(flattenData[key]))\r\n flattenData[key] = flattenData[key].replace(/\\(|\\)/g, '');\r\n });\r\n\r\n //localizedFields\r\n this.selectedTemplate.res.data.localizedFields.forEach(key => {\r\n if (flattenData[key]) flattenData[key] = this.translateService.instant(`forms.common.${flattenData[key]}`);\r\n });\r\n\r\n for (const [key, value] of Object.entries(flattenData)) {\r\n const keyParts = key.split('_');\r\n if (value === '' || typeof value == 'number' || typeof value == 'string' || value instanceof Date || value instanceof Boolean) {\r\n fields.push({ key: `\\${${key}}`, label: this.translateService.instant(keyParts[keyParts.length - 1]) });\r\n }\r\n else if (value instanceof Array && value.length) {\r\n if (value[0] === '' || typeof value == 'number' || typeof value == 'string' || value[0] instanceof Date || value instanceof Boolean) {\r\n fields.push({ key: `\\${${key}}`, label: this.translateService.instant(keyParts[keyParts.length - 1]) });\r\n }\r\n }\r\n }\r\n\r\n const selectedTemplate = {\r\n requestType: requestData[0].serviceId,\r\n requestId: requestData[0].data,\r\n uid: this.selectedTemplate.res._id,\r\n // uid: base64 ? '' : this.selectedTemplate.res._id,\r\n referenceNumber: this.selectedTemplate.res.data.order,\r\n creationDate: new Date(),\r\n name: this.translateService.instant(`forms.common.${this.selectedTemplate.res.data.value}`),\r\n fields\r\n };\r\n\r\n document.dir = 'ltr';\r\n const dialogRef = this.dialog.open(EditTemplateDialog, {\r\n width: '100vw',\r\n maxWidth: '100vw',\r\n height: '100vh',\r\n panelClass: 'template-wrapper-dialog',\r\n data: {\r\n dir: this.dir,\r\n selectedTemplate,\r\n data: flattenData\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n document.dir = this.translateService.currentLang === 'ar' ? 'rtl' : 'ltr';\r\n if (result && result.evaluated) {\r\n console.log(result);\r\n this.evaluatedTemplate = result.evaluated;\r\n } else {\r\n if (!base64) this.initByValue();\r\n }\r\n this.notifyValue();\r\n });\r\n this.formloader.loading = false;\r\n }, error => {\r\n this.formloader.loading = false;\r\n });\r\n }\r\n\r\n downloadTemplateFile() {\r\n download(\"data:application/pdf;base64,\" + encodeURI(this.evaluatedTemplate), this.evaluatedTemplateName, 'pdf');\r\n }\r\n viewTemplateFile(isTemplate: boolean = false) {\r\n const dailog = this.dialog.open(ViewerComponent, {\r\n position: { top: '0', right: '0' },\r\n data: {\r\n data: {\r\n originalName: this.evaluatedTemplateName,\r\n url: \"data:application/pdf;base64,\" + encodeURI(this.evaluatedTemplate)\r\n },\r\n dir: this.dir,\r\n annotationEnabled: false\r\n },\r\n height: '100vh',\r\n width: '100vw',\r\n panelClass: 'full-screen-modal',\r\n });\r\n if (this.viewOnly) this.updateAfterOpen();\r\n }\r\n\r\n private changeDirection(lang) {\r\n this.dir = null;\r\n setTimeout(() => { this.dir = lang === 'ar' ? 'rtl' : 'ltr'; });\r\n }\r\n private getTemplatesResources() {\r\n this.formloader.loading = true;\r\n this.sub = this.resourceNameService.loadCustomByFilterdKey(this.resource, this.query)\r\n .subscribe(data => {\r\n this.templates = data.map(q => {\r\n return {\r\n _id: q._id,\r\n ...q.data,\r\n value: this.translateService.instant(`forms.common.${q.data.value}`),\r\n template: q.data.template[0]\r\n };\r\n }).sort(function (a, b) {\r\n if (a.order < b.order) { return -1; }\r\n else if (a.order > b.order) { return 1; }\r\n else { return 0; }\r\n });\r\n console.log(this.templates);\r\n if (this.value) {\r\n this.baseValue = { ...this.value };\r\n this.initByValue();\r\n }\r\n this.formloader.loading = false;\r\n }, error => {\r\n this.formloader.loading = false;\r\n });\r\n }\r\n\r\n private initByValue() {\r\n if (this.baseValue && Object.keys(this.baseValue.selectedTemplate).length) {\r\n this.selectedTemplate = this.baseValue.selectedTemplate;\r\n this.evaluatedTemplate = this.baseValue.evaluated;\r\n } else {\r\n this.selectedTemplate = null;\r\n this.evaluatedTemplate = null;\r\n }\r\n }\r\n\r\n private notifyValue() {\r\n if (!this.selectedTemplate && this.required) {\r\n this.value = null;\r\n } else {\r\n const result = {\r\n selectedTemplate: this.selectedTemplate,\r\n evaluated: this.evaluatedTemplate\r\n };\r\n\r\n this.value = result;\r\n }\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n private traverseAndFlatten(currentNode, target, flattenedKey = null) {\r\n for (var key in currentNode) {\r\n if (currentNode.hasOwnProperty(key)) {\r\n var newKey;\r\n if (flattenedKey === undefined) {\r\n newKey = key;\r\n } else {\r\n newKey = flattenedKey ? flattenedKey + '_' + key : key;\r\n }\r\n\r\n var value = currentNode[key];\r\n if (typeof value === \"object\") {\r\n this.traverseAndFlatten(value, target, newKey);\r\n } else {\r\n target[newKey] = value;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private flatten(obj) {\r\n var flattenedObject = {};\r\n this.traverseAndFlatten(obj, flattenedObject);\r\n return flattenedObject;\r\n }\r\n\r\n private updateAfterOpen() {\r\n if (this.customOptions && this.customOptions.afterOpen)\r\n this.customOptions.afterOpen.forEach(item => {\r\n const components = Utils.searchComponents(this.formioComponent.root.components, { key: item.key });\r\n components.forEach(c => {\r\n const value = this.formioComponent.interpolate(item.value, { data: this.data });\r\n c.setValue(value);\r\n });\r\n });\r\n }\r\n\r\n get evaluatedTemplateName() {\r\n const nameSegments = this.selectedTemplate.template.originalName.split('.');\r\n return nameSegments.slice(0, nameSegments.length - 1).join('.') + '.pdf';\r\n }\r\n}\r\n","import {\r\n\tAfterViewInit,\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOptional,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { catchError, finalize, of, Subscription, tap } from 'rxjs';\r\nimport _isEmpty from 'lodash/isEmpty';\r\nimport _isEqual from 'lodash/isEqual';\r\nimport { Evaluator } from 'formiojs/utils/utils';\r\nimport jsPDF from 'jspdf';\r\nimport 'jspdf-autotable';\r\nimport html2canvas from 'html2canvas';\r\nimport { FormioLoader, FormioCustomComponent, FormioComponent, STEPPERTABSTATUS, ResourceNameService, FormioTranslate } from 'dp-formio';\r\n\r\ndeclare var $;\r\n\r\n@Component({\r\n\tselector: 'app-table-view-wrapper',\r\n\ttemplateUrl: './table-view-wrapper.component.html',\r\n\t// styleUrls: ['./table-view-wrapper.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tproviders: [FormioLoader],\r\n})\r\nexport class TableViewWrapperComponent\r\n\timplements FormioCustomComponent, OnChanges, AfterViewInit, OnDestroy\r\n{\r\n\t@ViewChild(FormioComponent) formComponent: FormioComponent;\r\n\r\n\tdir: 'rtl' | 'ltr';\r\n\t@Input() required: boolean;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Input() disabled: boolean;\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\r\n\tsubmission: any = {};\r\n\tshowColumns: any[] = [];\r\n\tresourceData = [];\r\n\ttranslationsObj: string;\r\n\tconditionalField: string;\r\n\tcomponentKey: string;\r\n\tisFOView: boolean;\r\n\tisBOView: boolean;\r\n\texportColumns: any[];\r\n\tshowLoader: boolean;\r\n\topenDialog: boolean;\r\n\tdownloadPDF: boolean;\r\n\r\n\tpublic get TABSTATUS(): typeof STEPPERTABSTATUS {\r\n\t\treturn STEPPERTABSTATUS;\r\n\t}\r\n\r\n\tsubscriptions$: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subscriptions$.push(s);\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate formioLoader: FormioLoader,\r\n\t\tprivate resourceNameService: ResourceNameService,\r\n\t\tprivate translateService: TranslateService,\r\n\t\t@Optional() private translate: FormioTranslate\r\n\t) {\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tif (\r\n\t\t\tchanges &&\r\n\t\t\tchanges.data &&\r\n\t\t\t!_isEmpty(changes.data.currentValue) &&\r\n\t\t\t!_isEqual(changes.data.currentValue, changes.data.previousValue)\r\n\t\t) {\r\n\t\t\tif (this.customOptions) {\r\n\t\t\t\tthis.customOptions.downloadPDF == true\r\n\t\t\t\t\t? (this.downloadPDF = true)\r\n\t\t\t\t\t: (this.downloadPDF = false);\r\n\t\t\t\tif (this.customOptions.showColumns && this.customOptions.showColumns.length) {\r\n\t\t\t\t\tthis.isFOView = this.customOptions.isFOView;\r\n\t\t\t\t\tthis.isBOView = this.customOptions.isBOView;\r\n\r\n\t\t\t\t\tthis.conditionalField = this.customOptions.conditionalField;\r\n\t\t\t\t\tthis.translationsObj = this.customOptions.translationsObj;\r\n\r\n\t\t\t\t\tthis.showColumns = this.customOptions.showColumns;\r\n\t\t\t\t\tif (this.isFOView) {\r\n\t\t\t\t\t\tthis.showColumns = this.customOptions.showFOColumns;\r\n\t\t\t\t\t} else if (this.isBOView) {\r\n\t\t\t\t\t\tthis.showColumns = this.customOptions.showBOColumns;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.submission.data = {\r\n\t\t\t\t\t\t...this.data,\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tif (this.data) {\r\n\t\t\t\t\t\tthis.getResourceData();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((data) => {\r\n\t\t\tthis.changeDirection(data.lang);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang == 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\r\n\tprivate getResourceData() {\r\n\t\tthis.formioLoader.loading = true;\r\n\r\n\t\tconst query = this.customOptions.query\r\n\t\t\t? Evaluator.interpolate(this.customOptions.query, { data: this.data })\r\n\t\t\t: `${this.customOptions.queryField}${this.customOptions.queryOperator}${this.data.varRequestId}&limit=${this.customOptions.limit}&${this.customOptions.sortParam}`;\r\n\r\n\t\tthis.sub = this.resourceNameService\r\n\t\t\t.loadCustomByFilterdKey(this.customOptions.resource, query)\r\n\t\t\t.pipe(\r\n\t\t\t\ttap((response: any[]) => {\r\n\t\t\t\t\tif (response && response.length) {\r\n\t\t\t\t\t\tconst data: any[] = response.map((item: any) => {\r\n\t\t\t\t\t\t\treturn item.data;\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tthis.FilterFOColumns(data);\r\n\r\n\t\t\t\t\t\tthis.resourceData = [...data];\r\n\r\n\t\t\t\t\t\tthis.notifyValue();\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\tfinalize(() => {\r\n\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError((error) => {\r\n\t\t\t\t\tthis.formioLoader.loading = false;\r\n\t\t\t\t\treturn of([0]);\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.subscribe();\r\n\t}\r\n\r\n\tFilterFOColumns(resourceData: any[]) {\r\n\t\tif (resourceData && resourceData.length && this.isFOView && this.conditionalField) {\r\n\t\t\tif (!resourceData[0][this.conditionalField]) {\r\n\t\t\t\tthis.showColumns = this.customOptions.showCustomFOColumns;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.exportColumns = this.showColumns.map((col) => ({\r\n\t\t\ttitle: this.translate.instant(this.translationsObj + col.key),\r\n\t\t\tdataKey: col.key,\r\n\t\t}));\r\n\t}\r\n\r\n\tnotifyValue() {\r\n\t\tthis.value = {\r\n\t\t\ttableData: [...this.resourceData],\r\n\t\t};\r\n\t\tthis.valueChange.emit(this.value);\r\n\t}\r\n\r\n\t// exportPDF2() {\r\n\t// \tconst input = document.getElementById('summaryContainer');\r\n\t// \thtml2canvas(input, { scale: 5 }).then((canvas) => {\r\n\t// \t\tconst imgData = canvas.toDataURL('image/png', 1.0);\r\n\t// \t\tconst pdf = new jsPDF('p', 'mm', 'a4');\r\n\t// \t\tpdf.setFontSize(30);\r\n\t// \t\tpdf.addImage(imgData, 'PNG', 45, 5, 120, 250);\r\n\t// \t\tpdf.save('download.pdf');\r\n\t// \t\tthis.openDialog = false;\r\n\t// \t\tsetTimeout(() => {\r\n\t// \t\t\tthis.showLoader = true;\r\n\t// \t\t}, 1000);\r\n\t// \t});\r\n\t// }\r\n\r\n\texportPDF() {\r\n\t\tvar HTML_Width = $('.summaryContainerClass').width();\r\n\t\tvar HTML_Height = $('.summaryContainerClass').height();\r\n\t\tvar canvas_image_width = HTML_Width;\r\n\t\tvar canvas_image_height = HTML_Height;\r\n\t\tvar top_left_margin = 15;\r\n\t\tvar PDF_Width = HTML_Width + top_left_margin * 5;\r\n\t\tvar PDF_Height = PDF_Width * 1.6 + top_left_margin * 2;\r\n\r\n\t\tvar totalPDFPages = Math.ceil(HTML_Height / PDF_Height) - 1;\r\n\r\n\t\thtml2canvas($('.summaryContainerClass')[0], { allowTaint: true, useCORS: true, scale: 2 }).then(\r\n\t\t\t(canvas) => {\r\n\t\t\t\tcanvas.getContext('2d');\r\n\r\n\t\t\t\tvar imgData = canvas.toDataURL('image/jpeg', 1.0);\r\n\t\t\t\tvar pdf = new jsPDF('p', 'pt', [PDF_Width, PDF_Height]);\r\n\t\t\t\tpdf.setLineHeightFactor(3);\r\n\t\t\t\tpdf.addImage(\r\n\t\t\t\t\timgData,\r\n\t\t\t\t\t'JPG',\r\n\t\t\t\t\ttop_left_margin,\r\n\t\t\t\t\ttop_left_margin,\r\n\t\t\t\t\tcanvas_image_width,\r\n\t\t\t\t\tcanvas_image_height\r\n\t\t\t\t);\r\n\t\t\t\tpdf.setLineHeightFactor(3);\r\n\r\n\t\t\t\tfor (var i = 1; i <= totalPDFPages; i++) {\r\n\t\t\t\t\tpdf.addPage(PDF_Width, 'p');\r\n\t\t\t\t\tpdf.addImage(\r\n\t\t\t\t\t\timgData,\r\n\t\t\t\t\t\t'JPG',\r\n\t\t\t\t\t\ttop_left_margin,\r\n\t\t\t\t\t\t-(PDF_Height * i) + top_left_margin * 4,\r\n\t\t\t\t\t\tcanvas_image_width,\r\n\t\t\t\t\t\tcanvas_image_height\r\n\t\t\t\t\t);\r\n\t\t\t\t\tpdf.setLineHeightFactor(3);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tpdf.save('Document.pdf');\r\n\t\t\t\tthis.openDialog = false;\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tthis.showLoader = false;\r\n\t\t\t\t}, 500);\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tshowDialog() {\r\n\t\tthis.openDialog = true;\r\n\t\tthis.showLoader = true;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.exportPDF();\r\n\t\t}, 1000);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subscriptions$.forEach((o) => o.unsubscribe());\r\n\t\tthis.subscriptions$ = [];\r\n\t}\r\n}\r\n","import {\r\n\tAfterViewInit,\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { FormioCustomComponent, FormioLoader } from 'dp-formio';\r\n\r\n@Component({\r\n\tselector: 'card-wrapper',\r\n\ttemplateUrl: './card-wrapper.component.html',\r\n\t// styleUrls: ['./card-wrapper.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tproviders: [FormioLoader],\r\n})\r\nexport class CardWrapperComponent\r\n\timplements FormioCustomComponent, AfterViewInit, OnDestroy\r\n{\r\n\tdir: 'rtl' | 'ltr';\r\n\r\n\t@ViewChild('form') form: any;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Output() formSubmitted = new EventEmitter();\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\tdisabled: boolean;\r\n\r\n\tsubscriptions$: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subscriptions$.push(s);\r\n\t}\r\n\r\n\tget hasTitle() {\r\n\t\treturn !!this.customOptions?.title?.toString()?.trim().length;\r\n\t}\r\n\r\n\tget hasDescription() {\r\n\t\treturn !!this.customOptions?.description?.toString()?.trim().length;\r\n\t}\r\n\r\n\tconstructor(private translateService: TranslateService) {\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((data) => {\r\n\t\t\tthis.changeDirection(data.lang);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang == 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\r\n\tnotifyValue(rate) {\r\n\t\tthis.value = rate;\r\n\t\tthis.valueChange.emit(this.value);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subscriptions$.forEach((o) => o.unsubscribe());\r\n\t\tthis.subscriptions$ = [];\r\n\t}\r\n\tevaluateAction(event: string) {\r\n\t\tif (!event) return;\r\n\t\teval(event);\r\n\t}\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport {\r\n\tFormioCustomComponentInfo,\r\n\tregisterCustomFormioComponent,\r\n} from 'dp-formio';\r\nimport { ReviewingEvaluationWrapperComponent } from './reviewing-evaluation-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'reviewing-evaluation',\r\n\tselector: 'reviewing-evaluation',\r\n\ttitle: 'reviewing-evaluation',\r\n};\r\n\r\nexport function registerReviewingEvaluationComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, ReviewingEvaluationWrapperComponent, injector);\r\n}\r\n","import { AbstractControl, FormGroup, ValidatorFn } from \"@angular/forms\";\r\n\r\n\r\n\r\nexport function EditGridRequiredValidator(control: AbstractControl): { [key: string]: any } | null {\r\n if (control.value && control.value.length <= 0) {\r\n return { 'invalid': true };\r\n }\r\n return null;\r\n}\r\n\r\nexport function EvidencesRequiredValidator(control: AbstractControl): { [key: string]: any } | null{\r\n const evidences = control.value;\r\n\r\n let hasError = false;\r\n if (!evidences?.length || !evidences.some(q => q.selected)) {\r\n hasError = true;\r\n }\r\n return hasError ? { 'evidencesInvalid': true } : null;\r\n}\r\n\r\nexport function AnswerValidator(): ValidatorFn {\r\n return (group: FormGroup) => {\r\n const question = group.value.question?.value;\r\n const answer = group.value.reviewerEvaluation;\r\n\r\n let hasError = false;\r\n if (question && answer) {\r\n hasError = (+answer || 0) * (question?.weight || 1) < question?.averageToPass;\r\n }\r\n return hasError ? { 'answerInvalid': true } : null;\r\n };\r\n}\r\n\r\nexport function MasarAnswerValidator(): ValidatorFn {\r\n return (group: FormGroup) => {\r\n const subAnswers = group.value.subAnswers;\r\n const averageToPass = group.value.question?.value?.averageToPass;\r\n const notApply = group.value.notApply;\r\n\r\n const evaluationsAnswerd = subAnswers.filter(q => !!q.score);\r\n group.value.reviewerEvaluation = (evaluationsAnswerd.reduce((a, b) => a + +b.score * (b.evaluationItem.weight || 1), 0) / evaluationsAnswerd.length);\r\n\r\n let hasError = false;\r\n if (!notApply) {\r\n if (subAnswers.some(q => q.hasError)) hasError = true;\r\n else hasError = (group.value.reviewerEvaluation || 0) < averageToPass;\r\n }\r\n\r\n return hasError ? { 'masarAnswerInvalid': true } : null;\r\n };\r\n}\r\n\r\nexport function MasarSubAnswerValidator(): ValidatorFn {\r\n return (group: FormGroup) => {\r\n const evaluationItem = group.value.evaluationItem;\r\n const answer = group.value.score;\r\n\r\n let hasError = answer == null || answer == undefined;\r\n if (evaluationItem && !!answer) {\r\n hasError = (+answer || 0) * (evaluationItem?.weight || 1) < evaluationItem?.averageToPass;\r\n group.value.hasError = hasError;\r\n }\r\n return hasError ? { 'masarSubAnswerInvalid': true } : null;\r\n };\r\n}","\r\n
    {{'forms.common.Overall evaluation of the criteria' | translate}}
    \r\n \r\n \r\n
    \r\n \r\n {{'forms.common.The total quality levels assessment' | translate}}\r\n \r\n \r\n {{'forms.common.The total evaluation criteria' | translate}}\r\n \r\n\r\n {{category.totalEvaluationCriteria | number : '1.1-1'}}\r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n \r\n {{'forms.common.The number of applicable quality levels' | translate}}\r\n \r\n \r\n {{'forms.common.The number of applicable criteria' | translate}}\r\n \r\n\r\n {{category.numberOfApplicable}}\r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n {{'forms.common.Average Rating Criterion' | translate}}\r\n\r\n {{category.calculatedSavedScore | number : '1.1-1'}}\r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n {{'forms.common.The overall evaluation score of the standard' | translate}}\r\n\r\n {{category.calculatedSavedScore | number : '1.1-1'}} {{'forms.common.points' | translate}} -\r\n {{category.calculatedSavedScore | evaluationScoreMessage : process | propertyLocalized : [\"messageAr\",\r\n \"messageEn\"] | async }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { PDFWrapperComponent } from './pdf-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'pdf-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'pdf-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'Download PDF', // Title of the component\r\n};\r\n\r\nexport function registerPDFWrapperComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, PDFWrapperComponent, injector);\r\n}\r\n","\r\nexport class SortHelper {\r\n static recursiveSort(data: any[], dir: 'asc' | 'desc') {\r\n if (data.length == 1) {\r\n for (const key of Object.keys(data[0])) {\r\n if (data[0][key] instanceof Array) data[0][key] = this.recursiveSort(data[0][key], dir);\r\n }\r\n return data;\r\n }\r\n else {\r\n const result = data.sort((a, b) => {\r\n for (const key of Object.keys(a)) { if (a[key] instanceof Array) a[key] = this.recursiveSort(a[key], dir); }\r\n for (const key of Object.keys(b)) { if (b[key] instanceof Array) b[key] = this.recursiveSort(b[key], dir); }\r\n\r\n if (a.order < b.order) return dir == 'asc' ? -1 : 1;\r\n else if (a.order > b.order) return dir == 'asc' ? 1 : -1;\r\n else return 0;\r\n });\r\n return result;\r\n }\r\n }\r\n static sort(data: any[], dir: 'asc' | 'desc') {\r\n const result = data.sort((a, b) => {\r\n if (a.order < b.order) return dir == 'asc' ? -1 : 1;\r\n else if (a.order > b.order) return dir == 'asc' ? 1 : -1;\r\n else return 0;\r\n });\r\n return result;\r\n }\r\n\r\n static copyProps(source, target) {\r\n for (let p in source) target[p] = source[p];\r\n }\r\n}","
    \r\n

    \r\n {{'forms.common.' + data.title | translate}}\r\n \r\n

    \r\n\r\n \r\n \r\n \r\n
    ","
    \r\n\t
    \r\n\t\t\r\n\t\t\t{{\r\n\t\t\t\tcustomOptions?.btnConfig?.btnText | translate\r\n\t\t\t}}\r\n\t\t\t{{\r\n\t\t\t\tcustomOptions?.btnConfig?.icon\r\n\t\t\t}}\r\n\t\t\r\n\t
    \r\n
    \r\n\r\n\r\n","import { Component, Input, OnChanges, OnInit, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { AbstractControl, FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { combineLatest, filter, finalize, forkJoin, iif, map, Observable, of, switchMap, takeUntil } from 'rxjs';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FormioAppConfig, FormioComponent, ViewerComponent } from 'dp-formio';\r\nimport { CustomEditGridComponent } from 'dp-formio';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { Process } from '../../../models/process.model';\r\nimport { ICriterion } from '../../../../distribute-team-members/models/criterion';\r\nimport { DecisionInput } from '../../../models/decision-input.model';\r\nimport { ExecuteVisitType } from '../../../models/execute-visit.model';\r\nimport { CriterionsService } from '../../../services/criterions.service';\r\nimport { CopyModel } from '../../../models/copy.model';\r\nimport { CriterionInformation } from '../../../models/criterion-information.mode';\r\nimport { showToast } from '../../../../toast.helper';\r\nimport { EditGridRequiredValidator, EvidencesRequiredValidator, MasarAnswerValidator, MasarSubAnswerValidator } from '../../../validators';\r\nimport { MasarCriterionsService } from '../../../services/masar-criterions.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\nexport interface AttachmentItem {\r\n selected: boolean;\r\n file?: any;\r\n fileName: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-masar-question-decision',\r\n templateUrl: './masar-question-decision.component.html',\r\n styleUrls: ['./masar-question-decision.component.scss']\r\n})\r\nexport class MasarQuestionDecisionComponent extends BaseComponent implements OnInit, OnChanges {\r\n @Input() memberId: string;\r\n @Input() decisionPreview: boolean;\r\n @ViewChild(FormioComponent) formioComponent: FormioComponent;\r\n isLoadingResults: boolean;\r\n documents: any[];\r\n process: Process;\r\n process$ = this.criterionsService.process$;\r\n question$ = this.criterionsService.questionResult$;\r\n criterion$ = this.criterionsService.criterion$;\r\n answers$: Observable>;\r\n form: FormGroup;\r\n\r\n criterion: ICriterion;\r\n decisionInput: DecisionInput;\r\n modelId: number;\r\n lastSubAnswers: any[];\r\n\r\n get displayedColumns(): string[] {\r\n return this.isFormDisabled ? ['fileName'] : ['selected', 'fileName']\r\n };\r\n\r\n get subAnswers() { return this.form?.get(\"subAnswers\") as FormArray; }\r\n get evidences() { return this.form?.get(\"evidences\") as FormArray; }\r\n get isSessionDetails() {\r\n return this.decisionInput.executeVisitType == ExecuteVisitType.SessionDetails;\r\n }\r\n\r\n get isInstitutionEntries() {\r\n return this.decisionInput.executeVisitType == ExecuteVisitType.InstitutionEntries;\r\n }\r\n\r\n get isFinalReportWithInstitutionEntries() {\r\n return this.decisionInput.executeVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries;\r\n }\r\n\r\n get isFinalReport() {\r\n return !this.decisionPreview && (this.decisionInput.executeVisitType == ExecuteVisitType.FinalReport ||\r\n this.decisionInput.executeVisitType == ExecuteVisitType.InstitutionEntries ||\r\n this.decisionInput.executeVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries);\r\n }\r\n\r\n get enabledCopy() {\r\n return !!this.memberId;\r\n }\r\n\r\n get enabledCopyToExecutiveSummary() {\r\n return this.masarCriterionsService.allCriterionEvaluated$.value &&\r\n this.decisionInput.enableEdit &&\r\n this.decisionInput.executeVisitType == ExecuteVisitType.FinalReport;\r\n }\r\n\r\n get isFormDisabled() {\r\n return !this.decisionInput?.enableEdit ||\r\n this.enabledCopy ||\r\n this.isInstitutionEntries ||\r\n this.isFinalReportWithInstitutionEntries ||\r\n !this.criterion$.value.allQuestionsAnswered ||\r\n this.isSessionNotStarted;\r\n }\r\n get isSessionNotStarted() {\r\n return !!this.decisionInput?.visitMetaData?.sessionChecked && !this.decisionInput?.visitMetaData?.sessionChecked?.sessionStarted;\r\n }\r\n\r\n constructor(private formBuilder: FormBuilder,\r\n private criterionsService: CriterionsService,\r\n private masarCriterionsService: MasarCriterionsService,\r\n private toastrService: ToastrService,\r\n private translateService: TranslateService,\r\n private formioAppConfig: FormioAppConfig,\r\n private dialog: MatDialog) { super(); }\r\n\r\n ngOnInit() {\r\n this.initAnswers();\r\n combineLatest([\r\n this.criterionsService.criterion$\r\n .pipe(filter(data => data.criterionType == 'STICK')),\r\n this.criterionsService.decisionInputs$\r\n ])\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(([criterion, inputs]) => {\r\n this.criterion = criterion;\r\n this.decisionInput = inputs;\r\n this.subAnswers?.clear();\r\n this.evidences?.clear();\r\n this.form?.reset();\r\n this.initForm();\r\n this.registerUpdateFormValidation();\r\n this.getData();\r\n this.registerCopyEvaluation();\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.memberId?.previousValue && changes.memberId?.previousValue != changes.memberId?.currentValue) {\r\n this.getData();\r\n }\r\n }\r\n\r\n copy(controlName: string) {\r\n const value = this.form.controls[controlName].value;\r\n if (this.enabledCopyToExecutiveSummary)\r\n this.criterionsService.sendToExecutiveSummary$.next(new CopyModel(controlName, value));\r\n else {\r\n this.criterionsService.sendEvaluation$.next(new CopyModel(controlName, value));\r\n if (controlName == 'evaluationJustifications') {\r\n this.criterionsService.sendEvaluation$.next(new CopyModel('evidences', this.evidences.value));\r\n }\r\n }\r\n }\r\n\r\n submit() {\r\n if (this.form.valid) {\r\n this.isLoadingResults = true;\r\n const value = _cloneDeep(this.form.value);\r\n delete value.question;\r\n\r\n const data: CriterionInformation = {\r\n id: this.modelId,\r\n criterionId: this.criterion.id,\r\n criterionKey: this.criterion.criterionKey,\r\n visitKey: this.decisionInput.visitMetaData.visitKey,\r\n memberId: this.decisionInput.visitMetaData.memberId,\r\n ...value,\r\n isApply: !value.notApply,\r\n evidences: value.evidences.filter(q => q.selected).map(item => { return { files: [item.file], fileName: item.fileName }; }),\r\n subAnswers: JSON.stringify(value.subAnswers)\r\n };\r\n\r\n of(!!this.modelId)\r\n .pipe(\r\n switchMap((isUpdate) =>\r\n iif(\r\n () => isUpdate,\r\n this.masarCriterionsService.editCriterionInformation(data, this.isFinalReport),\r\n this.masarCriterionsService.createCriterionInformation(data, this.isFinalReport)\r\n )\r\n ),\r\n finalize(() => this.isLoadingResults = false)\r\n )\r\n .subscribe(model => {\r\n this._updateForm(model, this.documents);\r\n this.criterionsService.decisionTaken$.next();\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Saved done\"),\r\n this.translateService.instant(\"forms.common.Criteria.Saved Successfully\"),\r\n false\r\n );\r\n });\r\n }\r\n }\r\n\r\n toggleAllEvidences(checked: boolean) {\r\n this.evidences.controls.forEach((control) => {\r\n control.get('selected').setValue(checked);\r\n });\r\n }\r\n\r\n openFile(file: any) {\r\n this.dialog.open(ViewerComponent, {\r\n position: {\r\n top: '0',\r\n right: '0',\r\n },\r\n data: {\r\n dir: this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr',\r\n data: file,\r\n appUrl: this.formioAppConfig.formio.appUrl,\r\n formId: this.formioAppConfig.keys.attachmentsId\r\n },\r\n height: '100vh',\r\n width: '100vw',\r\n panelClass: 'full-screen-modal',\r\n });\r\n }\r\n\r\n private initForm() {\r\n this.form = this.formBuilder.group({\r\n question: [this.question$],\r\n notApply: [{ value: false, disabled: this.isFormDisabled }],\r\n evaluationJustifications: [{ value: '', disabled: this.isFormDisabled }, [Validators.required]],\r\n evidences: this.formBuilder.array([]),\r\n subAnswers: this.formBuilder.array([])\r\n }, {\r\n validators: [MasarAnswerValidator()]\r\n });\r\n }\r\n private registerUpdateFormValidation() {\r\n const controls = ['evaluationJustifications'];\r\n this.form.controls.notApply.valueChanges.subscribe(checked => {\r\n this.subAnswers.clear();\r\n controls.forEach(key => {\r\n if (!checked) {\r\n this.form.get(key).setValidators([Validators.required]);\r\n } else {\r\n this.form.get(key).reset();\r\n this.form.get(key).clearValidators();\r\n this.lastSubAnswers = [];\r\n }\r\n this.form.get(key).updateValueAndValidity();\r\n });\r\n });\r\n this.form.controls.evaluationJustifications.valueChanges.subscribe(value => {\r\n if (!!value) {\r\n this.evidences.setValidators([]);\r\n } else {\r\n const evidencesValue = this.evidences.value;\r\n evidencesValue.forEach(evidence => { evidence.selected = false; });\r\n this.evidences.setValue(evidencesValue);\r\n this.evidences.clearValidators();\r\n }\r\n this.evidences.updateValueAndValidity();\r\n });\r\n }\r\n\r\n private initAnswers() {\r\n this.answers$ = combineLatest([this.question$, this.criterionsService.process$])\r\n .pipe(\r\n filter(([question, process]) => !!question && !!process),\r\n map(([question, process]) => {\r\n this.process = process;\r\n this.subAnswers.clear();\r\n question.evaluationItems.forEach(q => {\r\n this.subAnswers.push(this.formBuilder.group({\r\n evaluationItem: [q],\r\n id: [{ value: q.id, disabled: this.isFormDisabled }, [Validators.required]],\r\n score: [{ value: this.lastSubAnswers?.find(sa => sa.evaluationItem.id == q.id)?.score, disabled: this.isFormDisabled }, []]\r\n }, {\r\n validators: [MasarSubAnswerValidator()]\r\n }));\r\n });\r\n\r\n if (process.answerMaxScore) {\r\n const generalToolTip = question.answerTooltip ? question.answerTooltip.find(q => !q.score) : { tooltip: '' };\r\n return Array.from({ length: process.answerMaxScore }, (_, i) => {\r\n const answerTooltip = generalToolTip ?? question.answerTooltip.find(q => q.score == i + 1);\r\n return {\r\n value: `${i + 1}`,\r\n tooltipAr: answerTooltip?.tooltipAr,\r\n tooltipEn: answerTooltip?.tooltipEn,\r\n hasTooltip: !!answerTooltip?.tooltipAr || !!answerTooltip?.tooltipEn\r\n }\r\n });\r\n }\r\n }));\r\n }\r\n\r\n private getData() {\r\n this.isLoadingResults = true;\r\n forkJoin([\r\n this.masarCriterionsService.getCriterionInformation(\r\n this.decisionInput.visitMetaData.visitKey,\r\n this.criterion.criterionKey,\r\n this.memberId || this.decisionInput.currentMemberId,\r\n this.isFinalReport),\r\n this.isFormDisabled ?\r\n of(null) :\r\n this.masarCriterionsService.getDocuments(this.criterion.id)\r\n ]).pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => {\r\n this.isLoadingResults = false;\r\n })\r\n ).subscribe((results) => {\r\n this._updateForm(results[0], results[1]);\r\n });\r\n }\r\n private _updateForm(data: CriterionInformation, documents: any[]) {\r\n let files;\r\n if (documents?.length) {\r\n this.documents = documents;\r\n files = documents.map((attachment) => {\r\n const selectedDocument = data?.evidences?.find(q => q.files[0].key == attachment?.file[0].key) || false;\r\n return this.formBuilder.group({\r\n selected: [{ value: !!selectedDocument, disabled: this.isFormDisabled }],\r\n fileName: [attachment.fileName],\r\n file: attachment.file\r\n });\r\n });\r\n } else {\r\n files = data?.evidences?.map((attachment) => {\r\n return this.formBuilder.group({\r\n selected: [{ value: true, disabled: this.isFormDisabled }],\r\n fileName: [attachment.fileName],\r\n file: attachment.files\r\n });\r\n }) || [];\r\n }\r\n\r\n\r\n this.modelId = data?.id;\r\n this.form.patchValue({\r\n notApply: !data ? false : !data?.isApply,\r\n evaluationJustifications: data?.evaluationJustifications || '',\r\n });\r\n this.form.setControl('evidences', new FormArray(files));\r\n this.lastSubAnswers = data?.subAnswers ? JSON.parse(data.subAnswers) : [];\r\n this.initAnswers();\r\n }\r\n\r\n private registerCopyEvaluation() {\r\n if (!this.enabledCopy)\r\n this.criterionsService.sendEvaluation$\r\n .pipe(\r\n filter(data => !!data),\r\n takeUntil(this.destroy$),\r\n )\r\n .subscribe(data => {\r\n if (data.key == 'evidences') {\r\n data.value?.forEach(item => {\r\n item.file?.forEach(file => {\r\n delete file.id;\r\n });\r\n });\r\n }\r\n this.form.patchValue({\r\n [data.key]: data.value\r\n });\r\n });\r\n\r\n }\r\n\r\n}","
    \r\n
    \r\n
    \r\n \r\n {{ \"forms.common.Criteria.clause\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.startDate\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.endDate\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.responsibleName\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.responsiblePosition\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    ","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { FormIoSkeletonModule } from '../../../shared/components';\r\nimport { DeleteDialogModule } from '../../../shared/components/delete-dialog/delete-dialog.module';\r\nimport { FormioPipesModule } from '../../../shared/pipes';\r\nimport {\r\n QuestionsContainerComponent,\r\n QuestionsContainerSideComponent,\r\n QuestionsListComponent,\r\n UsersSessionsDialogComponent,\r\n} from './components';\r\nimport { QuestionItemComponent } from './components/question-item/question-item.component';\r\nimport { QuestionsResourceListComponent } from './components/questions-resource-list/questions-resource-list.component';\r\nimport { DistributeCommonQuestionsComponent } from './distribute-common-questions.component';\r\nimport { CommonQuestionsService, QuestionsStoreService } from './services';\r\nimport { MembersLengthPipe } from './pipes/members-length.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n DistributeCommonQuestionsComponent,\r\n QuestionsResourceListComponent,\r\n QuestionsListComponent,\r\n UsersSessionsDialogComponent,\r\n QuestionsContainerSideComponent,\r\n QuestionsContainerComponent,\r\n QuestionItemComponent,\r\n MembersLengthPipe,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TranslateModule,\r\n MatListModule,\r\n MatButtonModule,\r\n MatCheckboxModule,\r\n MatIconModule,\r\n FormIoSkeletonModule,\r\n MatDialogModule,\r\n FormioPipesModule,\r\n MatSidenavModule,\r\n MatTooltipModule,\r\n DeleteDialogModule,\r\n ],\r\n entryComponents: [DistributeCommonQuestionsComponent],\r\n exports: [DistributeCommonQuestionsComponent],\r\n providers: [CommonQuestionsService, QuestionsStoreService],\r\n})\r\nexport class DistributeCommonQuestionsModule {}\r\n","
    \r\n \r\n \r\n
    \r\n {{'forms.common.inicatorsNotComplete' | translate}}\r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n {{'forms.common.inicatorsCompleted' | translate}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    ","
    \r\n \r\n \r\n
    \r\n \r\n \r\n {{(decisionInputs.isMasar ? 'forms.common.Criteria.facilityEntries' :\r\n 'forms.common.Criteria.institutionEntries') | translate}}\r\n \r\n \r\n {{'forms.common.Criteria.membersEntries' | translate}}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    ","export * from './config.const';","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { HijriDateComponent } from './hijri-date.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'hijri-date', // custom type. Formio will identify the field with this type.\r\n selector: 'hijri-date', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'hijri date', // Title of the component\r\n// template: 'input', // Optional: define a template for the element. Default: input\r\n// changeEvent: 'valueChange', // Optional: define the changeEvent when the formio updates the value in the state. Default: 'valueChange',\r\n// editForm: Components.components.textfield.editForm, // Optional: define the editForm of the field. Default: the editForm of a textfield\r\n// documentation: '', // Optional: define the documentation of the field\r\n// weight: 0, // Optional: define the weight in the builder group\r\n// schema: {}, // Optional: define extra default schema for the field\r\n// extraValidators: [], // Optional: define extra validators for the field\r\n// emptyValue: null, // Optional: the emptyValue of the field\r\n// fieldOptions: ['values'], // Optional: explicit field options to get as `Input` from the schema (may edited by the editForm)\r\n};\r\n\r\nexport function registerHijriDateComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, HijriDateComponent, injector);\r\n}","import { ICriterion } from \"../../distribute-team-members/models/criterion\";\r\nimport { ExecutivePlan } from \"./executive-plan.model\";\r\nimport { FinalReportMistakes } from \"./final-report-mistakes.model\";\r\nimport { Summary } from \"./summary.model\";\r\n\r\nexport class ExecuteVisitResult {\r\n criterion: ICriterion[];\r\n flatCriterion: ICriterion[];\r\n\r\n summaryOfRecommendations: Summary[];\r\n summaryOfCommendations: Summary[];\r\n summaryOfSuggestions: Summary[];\r\n executiveSummary: Summary[] | string;\r\n\r\n executivePlan: ExecutivePlan[];\r\n finalReportMistakes: FinalReportMistakes[];\r\n responseNotesDecision:boolean;\r\n}","import { NestedTreeControl } from '@angular/cdk/tree';\r\n\r\nimport {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { MatTreeNestedDataSource } from '@angular/material/tree';\r\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\r\nimport { Observable, startWith, takeUntil } from 'rxjs';\r\nimport { RolesTypeEnum } from 'src/formio-custom-components/src/lib/shared/model/roles';\r\nimport { CRITERION_TYPE } from '../../const';\r\nimport { ICriterion } from '../../models/criterion';\r\nimport { DistributeService } from '../../services/distribute.service';\r\nimport { BaseComponent } from '../base.component';\r\n@Component({\r\n selector: 'app-criterions-tree',\r\n templateUrl: './criterions-tree.component.html',\r\n styleUrls: ['./criterions-tree.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class CriterionsTreeComponent extends BaseComponent implements OnInit, OnChanges {\r\n @Output() changeCriterion = new EventEmitter();\r\n @Input() criterions: ICriterion[] = [];\r\n\r\n selectedNode: ICriterion = null;\r\n treeControl = new NestedTreeControl((node) => node?.subCriteria);\r\n\r\n dataSource: MatTreeNestedDataSource;\r\n\r\n readonly hasChild = (_: number, node: ICriterion) => {\r\n if (this.userRole === RolesTypeEnum.MASAR) {\r\n return !!node.subCriteria && !!node.subCriteria.length;\r\n }\r\n return (\r\n !!node.subCriteria &&\r\n node.subCriteria.filter((itm) => itm.criterionType !== CRITERION_TYPE).length > 0\r\n );\r\n };\r\n\r\n //&&\r\n //\r\n readonly trackBy = (_: number, node: ICriterion) => node.id;\r\n\r\n lang: string;\r\n constructor(\r\n private distributeService: DistributeService,\r\n public translateService: TranslateService\r\n ) {\r\n super();\r\n (this.translateService.onLangChange as Observable)\r\n .pipe(\r\n startWith({\r\n lang: this.translateService.currentLang,\r\n }),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe((res) => {\r\n this.lang = res.lang;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dataSource = new MatTreeNestedDataSource();\r\n this.dataSource.data = this.criterions;\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.criterions && this.dataSource) {\r\n this.dataSource.data = null;\r\n this.dataSource.data = changes.criterions.currentValue;\r\n this.expand(this.dataSource.data, this.selectedNode.id);\r\n }\r\n }\r\n\r\n rowClicked(node: ICriterion) {\r\n if (this.selectedNode?.id !== node?.id) {\r\n this.selectedNode = node;\r\n this.changeCriterion.emit(node);\r\n }\r\n }\r\n\r\n expand(data: ICriterion[], id: number): any {\r\n data.forEach((node) => {\r\n if (node.subCriteria && node.subCriteria.find((c) => c.id === id)) {\r\n this.treeControl.expand(node);\r\n this.expand(this.dataSource.data, node.id);\r\n } else if (node.subCriteria && node.subCriteria.find((c) => c.subCriteria)) {\r\n this.expand(node.subCriteria, id);\r\n }\r\n });\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n
    {{category.displayOrder}}
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n

    {{category.name}}

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    category.levelNumber\">\r\n \r\n \r\n \r\n \r\n {{'forms.common.There are no items' | translate}}\r\n \r\n \r\n {{option.name}}\r\n \r\n \r\n \r\n \r\n
    \r\n Loading...\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    ","\r\n
    \r\n \r\n {{'forms.common.Description Standard' | translate}}\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n {{optionalInput| propertyLocalized : [\"nameAr\", \"nameEn\"] | async}}\r\n \r\n \r\n \r\n
    \r\n {{item.value}}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n","export * from './base.component';\r\n","
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n {{ \"forms.common.Arabic Label\" | translate }}\r\n \r\n \r\n\r\n \r\n {{ \"forms.common.English Label\" | translate }}\r\n \r\n \r\n\r\n \r\n {{ \"forms.common.Email\" | translate }}\r\n \r\n \r\n\r\n \r\n {{ \"forms.common.gender\" | translate }}\r\n \r\n \r\n {{'forms.common.' + option.label | translate}}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {{ \"forms.common.nationality\" | translate }}\r\n \r\n \r\n {{'forms.common.' + option.label | translate}}\r\n \r\n \r\n \r\n\r\n \r\n {{ \"forms.common.ResidenceCountry\" | translate }}\r\n \r\n \r\n {{'forms.common.' + option.label | translate}}\r\n \r\n \r\n \r\n \r\n\r\n \r\n {{ \"forms.common.ResidencePlace\" | translate }}\r\n \r\n \r\n {{'forms.common.' + option.label | translate}}\r\n \r\n \r\n \r\n\r\n \r\n {{ \"forms.common.ResidenceCity\" | translate }}\r\n \r\n \r\n {{'forms.common.' + option.value | translate}}\r\n \r\n \r\n \r\n \r\n \r\n {{ \"forms.common.workSide\" | translate }}\r\n \r\n \r\n\r\n \r\n {{ \"forms.common.Languages\" | translate }}\r\n \r\n \r\n {{'forms.common.' + option.value | translate}}\r\n \r\n \r\n \r\n\r\n \r\n {{ \"forms.common.delicateSpecialization\" | translate }}\r\n \r\n \r\n\r\n \r\n {{ \"forms.common.publicSpecialty\" | translate }}\r\n \r\n \r\n {{'forms.common.' + option.value | translate}}\r\n \r\n \r\n \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    ","import { Directive, ElementRef, Input, OnInit } from '@angular/core';\r\nimport { Utils } from 'formiojs';\r\n\r\n@Directive({\r\n selector: '[appDisplayExternalActions]'\r\n})\r\nexport class DisplayExternalActionsDirective implements OnInit {\r\n\r\n constructor(private readonly el: ElementRef) {\r\n }\r\n\r\n @Input() appDisplayExternalActions: boolean;\r\n\r\n @Input() row;\r\n\r\n @Input() submission;\r\n\r\n ngOnInit(): void {\r\n this.appDisplayExternalActions ?\r\n this.appDisplayExternalActions = Utils.evaluate(this.appDisplayExternalActions, {\r\n row: this.row.data,\r\n submission: this.submission\r\n }) : this.appDisplayExternalActions = true;\r\n\r\n this.displayAction(this.appDisplayExternalActions);\r\n }\r\n\r\n private displayAction(display) {\r\n if (!display) {\r\n this.el.nativeElement.style.display = 'none';\r\n }\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { from, Observable, ReplaySubject } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { FormConfigService } from 'dp-formio';\r\nimport { DEFAULT_CONFIG, DEFAULTS_IMAGES, DEFAULTS_THEM_OPTIONS } from '../consts';\r\n\r\ndeclare let FontFace: any;\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ConfigService {\r\n\tprivate storageCssKey = '_fo_css_variable';\r\n\tprivate style = 'locale-style';\r\n\tprivate config = null;\r\n\r\n\tget logo(): string {\r\n\t\treturn !this.config || !this.config?.logo\r\n\t\t\t? null\r\n\t\t\t: `${environment.cms}${this.config?.logo?.path}`;\r\n\t}\r\n\r\n\tget smallLogo(): string {\r\n\t\treturn !this.config || !this.config.smallLogo\r\n\t\t\t? null\r\n\t\t\t: `${environment.cms}${this.config.smallLogo.path}`;\r\n\t}\r\n\r\n\tget userAvatar(): string {\r\n\t\treturn !this.config || !this.config?.userAvatar\r\n\t\t\t? null\r\n\t\t\t: `${environment.cms}${this.config?.userAvatar?.path}`;\r\n\t}\r\n\r\n\tfooterSub = new ReplaySubject();\r\n\tfooterTemplate$: Observable = this.footerSub.asObservable();\r\n\r\n\tconstructor(private http: HttpClient, private formConfigService: FormConfigService) {}\r\n\r\n\tgetFile(filePath: string) {\r\n\t\treturn this.http.get(filePath, { responseType: 'text' as any });\r\n\t}\r\n\r\n\tgetAppConfig(queryParams = {}): Observable {\r\n\t\tconst defaultConfig$ = from([\r\n\t\t\t{\r\n\t\t\t\tentries: DEFAULT_CONFIG,\r\n\t\t\t},\r\n\t\t]);\r\n\r\n\t\tif (!environment.appConfig['endpoint'] || !environment.appConfig['id']) {\r\n\t\t\treturn defaultConfig$;\r\n\t\t}\r\n\t\tconst endpoint = `${environment.cms}${environment.appConfig['endpoint']}?filter[_id]=${environment.appConfig['id']}`;\r\n\r\n\t\treturn this.http.post(endpoint, {}).pipe(catchError((e) => defaultConfig$));\r\n\t}\r\n\r\n\tasync loadConfig(): Promise {\r\n\t\tconst cssVariable = localStorage.getItem(this.storageCssKey);\r\n\t\tconst cachedData = JSON.parse(cssVariable);\r\n\t\tif (!cssVariable || !cachedData?.entries?.length) {\r\n\t\t\treturn this.getUpdatedConfig();\r\n\t\t}\r\n\r\n\t\tconst currentRevision = cachedData.entries[0].revisionsNumber;\r\n\r\n\t\tif (!environment.appConfig['frontOfficeSettings']) {\r\n\t\t\tthis.getUpdatedConfig();\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\tconst isSameVersion = await this._validateCurrentRevisions(currentRevision);\r\n\t\t\treturn isSameVersion ? this.getDefaultCachedData(cachedData) : this.getUpdatedConfig();\r\n\t\t} catch (e) {\r\n\t\t\treturn this.getDefaultCachedData(cachedData);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate async _validateCurrentRevisions(currentRevision) {\r\n\t\tconst endpoint = `${environment.cms}/${environment.appConfig['frontOfficeSettings']}`;\r\n\t\tconst result = await this.http.post(endpoint, {}).toPromise();\r\n\t\treturn result.revisionsNumber == currentRevision;\r\n\t}\r\n\r\n\tprivate getDefaultCachedData(cachedData) {\r\n\t\treturn new Promise((resolve, _) => {\r\n\t\t\tthis.config = cachedData.entries[0];\r\n\t\t\tresolve(this.config);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate getUpdatedConfig() {\r\n\t\treturn new Promise(async (resolve, reject) => {\r\n\t\t\tif (this.config) {\r\n\t\t\t\tresolve(this.config);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.getAppConfig()\r\n\t\t\t\t.toPromise()\r\n\t\t\t\t.then(\r\n\t\t\t\t\tasync (result) => {\r\n\t\t\t\t\t\tlocalStorage.setItem(this.storageCssKey, JSON.stringify(result));\r\n\t\t\t\t\t\tthis.config = result.entries[0];\r\n\t\t\t\t\t\tresolve(this.config);\r\n\t\t\t\t\t},\r\n\t\t\t\t\t() => reject('App Config could not be loaded.')\r\n\t\t\t\t);\r\n\t\t});\r\n\t}\r\n\r\n\tsetupEssentials(): void {\r\n\t\tif (!this.config) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.formConfigService.config$.next(this.config);\r\n\t\tthis.changeFont();\r\n\t\tconst cssVars = this._generateCssVars();\r\n\t\tthis._appendCssVarsToRoot(cssVars);\r\n\t\tthis.loadOverrideCss();\r\n\t\tthis.footerSub.next(this.config?.footer ?? '');\r\n\t}\r\n\r\n\tprivate _extendsOptions(config): { [x: string]: any } {\r\n\t\treturn {\r\n\t\t\t...DEFAULTS_THEM_OPTIONS,\r\n\t\t\t...config,\r\n\t\t\tfontFamily: !!config?.fontFamily ? 'font' : DEFAULTS_THEM_OPTIONS?.fontFamily,\r\n\t\t\tfavicon: !!config?.favicon?.path\r\n\t\t\t\t? `${environment.cms}${config?.favicon?.path}`\r\n\t\t\t\t: DEFAULTS_THEM_OPTIONS.favicon,\r\n\t\t};\r\n\t}\r\n\r\n\tprivate _getCssColorVar(key, color): string {\r\n\t\tconst [red, green, blue] = color.match(/[\\d\\.]+/g);\r\n\t\tconst parts = red + ',' + green + ',' + blue;\r\n\t\treturn `--${key}:${color};--${key}-parts:${parts} ;`;\r\n\t}\r\n\r\n\tprivate _generateCssVars(): string {\r\n\t\tlet cssVars = '';\r\n\t\tconst imagesKeys = Object.keys(DEFAULTS_IMAGES);\r\n\t\tconst options = this._extendsOptions(this.config);\r\n\t\tconst excludesKeys = ['customCss', 'footer'];\r\n\t\tfor (const [key, value] of Object.entries(options)) {\r\n\t\t\tif (value && !excludesKeys.includes(key)) {\r\n\t\t\t\tif (key === 'name') {\r\n\t\t\t\t\tdocument.title = `${value}`;\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tif (key === 'fontFamily') {\r\n\t\t\t\t\tcssVars += `--font:${value};`;\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (CSS.supports('color', value as any)) {\r\n\t\t\t\t\tcssVars += this._getCssColorVar(key, value);\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (imagesKeys.includes(key) && (value as any)?.path) {\r\n\t\t\t\t\tconst path = `url(\"${environment.cms}${(value as any)?.path}\")`;\r\n\t\t\t\t\tcssVars += `--${key}:${path};`;\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (key === 'favicon') {\r\n\t\t\t\t\tdocument.getElementById('favicon').setAttribute('href', `${value}`);\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn cssVars;\r\n\t}\r\n\r\n\tprivate _appendCssVarsToRoot(cssVars): void {\r\n\t\tconst sheet = document.createElement('style');\r\n\t\tsheet.id = 'root';\r\n\t\tsheet.innerHTML = `:root{${cssVars}}`;\r\n\t\tdocument.head.appendChild(sheet);\r\n\t}\r\n\r\n\tprivate changeFont(): void {\r\n\t\tif (this.config.fontFamily) {\r\n\t\t\tvar customFont = new FontFace('font', `url(${this.config.fontFamily})`);\r\n\t\t\tcustomFont\r\n\t\t\t\t.load()\r\n\t\t\t\t.then((loaded_face) => {\r\n\t\t\t\t\t(document as any).fonts.add(loaded_face);\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate loadOverrideCss(): void {\r\n\t\tconst head = document.head || document.getElementsByTagName('head')[0];\r\n\r\n\t\tconst stylesheet = document.createElement('link');\r\n\t\tstylesheet.rel = 'stylesheet';\r\n\t\tstylesheet.href = this.style + '.css';\r\n\t\thead.appendChild(stylesheet);\r\n\r\n\t\tconst css = this.config?.customCss ?? '';\r\n\t\tvar style = document.createElement('style') as any;\r\n\t\tstyle.type = 'text/css';\r\n\t\tstyle.innerHTML = css;\r\n\t\thead.appendChild(style);\r\n\t}\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { resolveFieldData } from 'src/formio-custom-components/src/lib/shared/utility';\r\n\r\n@Pipe({\r\n\tname: 'getValue',\r\n})\r\nexport class GetValuePipe implements PipeTransform {\r\n\ttransform(option: any, optionValue: any, _default: string = 'value'): any {\r\n\t\treturn getOptionValue(option, optionValue, _default);\r\n\t}\r\n}\r\n\r\nexport function getOptionValue(\r\n\toption: any,\r\n\toptionValue: any,\r\n\t_default: string = 'value'\r\n) {\r\n\tconst result = optionValue\r\n\t\t? resolveFieldData(option, optionValue)\r\n\t\t: option && option?.[_default] !== undefined\r\n\t\t? option?.[_default]\r\n\t\t: null;\r\n\treturn result;\r\n}\r\n","var map = {\n\t\"./ion-action-sheet.entry.js\": [\n\t\t\"dUtr\",\n\t\t\"common\",\n\t\t0\n\t],\n\t\"./ion-alert.entry.js\": [\n\t\t\"Q8AI\",\n\t\t\"common\",\n\t\t1\n\t],\n\t\"./ion-app_8.entry.js\": [\n\t\t\"hgI1\",\n\t\t\"common\",\n\t\t2\n\t],\n\t\"./ion-avatar_3.entry.js\": [\n\t\t\"CfoV\",\n\t\t\"common\",\n\t\t3\n\t],\n\t\"./ion-back-button.entry.js\": [\n\t\t\"Nt02\",\n\t\t\"common\",\n\t\t4\n\t],\n\t\"./ion-backdrop.entry.js\": [\n\t\t\"Q2Bp\",\n\t\t5\n\t],\n\t\"./ion-button_2.entry.js\": [\n\t\t\"0Pbj\",\n\t\t\"common\",\n\t\t6\n\t],\n\t\"./ion-card_5.entry.js\": [\n\t\t\"ydQj\",\n\t\t\"common\",\n\t\t7\n\t],\n\t\"./ion-checkbox.entry.js\": [\n\t\t\"4fMi\",\n\t\t\"common\",\n\t\t8\n\t],\n\t\"./ion-chip.entry.js\": [\n\t\t\"czK9\",\n\t\t\"common\",\n\t\t9\n\t],\n\t\"./ion-col_3.entry.js\": [\n\t\t\"/CAe\",\n\t\t10\n\t],\n\t\"./ion-datetime_3.entry.js\": [\n\t\t\"WgF3\",\n\t\t\"common\",\n\t\t11\n\t],\n\t\"./ion-fab_3.entry.js\": [\n\t\t\"uQcF\",\n\t\t\"common\",\n\t\t12\n\t],\n\t\"./ion-img.entry.js\": [\n\t\t\"wHD8\",\n\t\t13\n\t],\n\t\"./ion-infinite-scroll_2.entry.js\": [\n\t\t\"2lz6\",\n\t\t14\n\t],\n\t\"./ion-input.entry.js\": [\n\t\t\"ercB\",\n\t\t\"common\",\n\t\t15\n\t],\n\t\"./ion-item-option_3.entry.js\": [\n\t\t\"MGMP\",\n\t\t\"common\",\n\t\t16\n\t],\n\t\"./ion-item_8.entry.js\": [\n\t\t\"9bur\",\n\t\t\"common\",\n\t\t17\n\t],\n\t\"./ion-loading.entry.js\": [\n\t\t\"cABk\",\n\t\t\"common\",\n\t\t18\n\t],\n\t\"./ion-menu_3.entry.js\": [\n\t\t\"kyFE\",\n\t\t\"common\",\n\t\t19\n\t],\n\t\"./ion-modal.entry.js\": [\n\t\t\"TvZU\",\n\t\t\"common\",\n\t\t20\n\t],\n\t\"./ion-nav_2.entry.js\": [\n\t\t\"vnES\",\n\t\t\"common\",\n\t\t21\n\t],\n\t\"./ion-popover.entry.js\": [\n\t\t\"qCuA\",\n\t\t\"common\",\n\t\t22\n\t],\n\t\"./ion-progress-bar.entry.js\": [\n\t\t\"0tOe\",\n\t\t\"common\",\n\t\t23\n\t],\n\t\"./ion-radio_2.entry.js\": [\n\t\t\"h11V\",\n\t\t\"common\",\n\t\t24\n\t],\n\t\"./ion-range.entry.js\": [\n\t\t\"XGij\",\n\t\t\"common\",\n\t\t25\n\t],\n\t\"./ion-refresher_2.entry.js\": [\n\t\t\"nYbb\",\n\t\t\"common\",\n\t\t26\n\t],\n\t\"./ion-reorder_2.entry.js\": [\n\t\t\"smMY\",\n\t\t\"common\",\n\t\t27\n\t],\n\t\"./ion-ripple-effect.entry.js\": [\n\t\t\"STjf\",\n\t\t28\n\t],\n\t\"./ion-route_4.entry.js\": [\n\t\t\"k5eQ\",\n\t\t\"common\",\n\t\t29\n\t],\n\t\"./ion-searchbar.entry.js\": [\n\t\t\"OR5t\",\n\t\t\"common\",\n\t\t30\n\t],\n\t\"./ion-segment_2.entry.js\": [\n\t\t\"fSgp\",\n\t\t\"common\",\n\t\t31\n\t],\n\t\"./ion-select_3.entry.js\": [\n\t\t\"lfGF\",\n\t\t\"common\",\n\t\t32\n\t],\n\t\"./ion-slide_2.entry.js\": [\n\t\t\"5xYT\",\n\t\t33\n\t],\n\t\"./ion-spinner.entry.js\": [\n\t\t\"nI0H\",\n\t\t\"common\",\n\t\t34\n\t],\n\t\"./ion-split-pane.entry.js\": [\n\t\t\"NAQR\",\n\t\t35\n\t],\n\t\"./ion-tab-bar_2.entry.js\": [\n\t\t\"knkW\",\n\t\t\"common\",\n\t\t36\n\t],\n\t\"./ion-tab_2.entry.js\": [\n\t\t\"TpdJ\",\n\t\t\"common\",\n\t\t37\n\t],\n\t\"./ion-text.entry.js\": [\n\t\t\"ISmu\",\n\t\t\"common\",\n\t\t38\n\t],\n\t\"./ion-textarea.entry.js\": [\n\t\t\"U7LX\",\n\t\t\"common\",\n\t\t39\n\t],\n\t\"./ion-toast.entry.js\": [\n\t\t\"L3sA\",\n\t\t\"common\",\n\t\t40\n\t],\n\t\"./ion-toggle.entry.js\": [\n\t\t\"IUOf\",\n\t\t\"common\",\n\t\t41\n\t],\n\t\"./ion-virtual-scroll.entry.js\": [\n\t\t\"8Mb5\",\n\t\t42\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"kLfG\";\nmodule.exports = webpackAsyncContext;","import { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { finalize, takeUntil } from 'rxjs';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { Category } from '../../../models/category.model';\r\nimport { CriterionsService } from '../../../services/criterions.service';\r\n\r\n@Component({\r\n selector: 'app-criteria-preview',\r\n templateUrl: './criteria-preview.component.html',\r\n styleUrls: ['./criteria-preview.component.scss']\r\n})\r\nexport class CriteriaPreviewComponent extends BaseComponent implements OnInit {\r\n isLoadingResults = false;\r\n category$: Observable;\r\n\r\n constructor(private criterionsService: CriterionsService) { super(); }\r\n\r\n ngOnInit(): void {\r\n this.criterionsService.criterion$\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((data) => {\r\n this.getCategory(data.submissionId);\r\n });\r\n }\r\n\r\n private getCategory(criterionId: string) {\r\n this.isLoadingResults = true;\r\n this.category$ = this.criterionsService.getCategory(criterionId)\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => {\r\n this.isLoadingResults = false;\r\n })\r\n );\r\n }\r\n\r\n}\r\n","
    \r\n\t
    \r\n\t\t\r\n\t
    \r\n\t\r\n
    \r\n","import { Pipe, PipeTransform, NgZone, ChangeDetectorRef, OnDestroy } from '@angular/core';\r\n@Pipe({\r\n name: 'calculatedRatio',\r\n pure: false\r\n})\r\nexport class CalculatedRatioPipe implements PipeTransform {\r\n constructor() { }\r\n transform(item: any, firstFiled: string, secondFiled: string, key: string) {\r\n const first = +item[firstFiled] || 0;\r\n const second = +item[secondFiled] || 0;\r\n let result = '';\r\n if (second && first) {\r\n const ratio = second % first > 0 ? (second / first).toFixed(1) : (second / first);\r\n result = ratio + ':' + 1;\r\n } else {\r\n result = '0:0';\r\n }\r\n if (key) item[key] = result;\r\n return result;\r\n }\r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { FormioAppConfig } from 'dp-formio';\r\n\r\n@Injectable()\r\nexport class CustomSelectService {\r\n\t/**\r\n\t *\r\n\t */\r\n\tconstructor(\r\n\t\tprivate formioAppConfig: FormioAppConfig,\r\n\t\tprivate http: HttpClient\r\n\t) {}\r\n\r\n\trequest[]>({\r\n\t\tmethod,\r\n\t\turl,\r\n\t\tbody,\r\n\t\theaders,\r\n\t\tparams,\r\n\t}: {\r\n\t\tmethod: string;\r\n\t\turl: string;\r\n\t\tbody?: any;\r\n\t\theaders?: HttpHeaders | Record;\r\n\t\tparams?: Record;\r\n\t}): Observable {\r\n\t\treturn this.http.request(method, url, {\r\n\t\t\tbody: body,\r\n\t\t\theaders,\r\n\t\t\tparams,\r\n\t\t});\r\n\t}\r\n\r\n\tget(url: string) {\r\n\t\treturn this.http.get(url);\r\n\t}\r\n}\r\n","import { OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { Inject } from '@angular/core';\r\nimport { Component } from '@angular/core';\r\nimport { BehaviorSubject, finalize, Subject, takeUntil } from 'rxjs';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { PagingResponse, Reviewer } from '../models/reviewer.model';\r\nimport { PageEvent } from '@angular/material/paginator';\r\nimport { OrgService, PAGE_SIZE } from '../org.service';\r\nimport { Sort } from '@angular/material/sort';\r\nimport { FormioAppConfig, FormioComponent, FormioLoader } from 'dp-formio';\r\nimport { Utils } from 'formiojs';\r\nimport { ViewFormDialog } from '../view-form/view-form.component';\r\n\r\n@Component({\r\n\tselector: 'add-edit-org-item',\r\n\ttemplateUrl: 'add-edit-org-item.component.html',\r\n\tstyleUrls: ['./add-edit-org-item.component.scss'],\r\n})\r\nexport class AddEditOrgItem implements OnInit, OnDestroy {\r\n\t@ViewChild(FormioComponent) formComponent: FormioComponent;\r\n\tdestroy$ = new Subject();\r\n\tisLoadingResults = false;\r\n\texpandedFilter = false;\r\n\tdataSource = [];\r\n\tdisplayedColumns = [\r\n\t\t'name',\r\n\t\t'gender',\r\n\t\t'nationality',\r\n\t\t'residenceCountry',\r\n\t\t'residencePlace',\r\n\t\t'residenceCity',\r\n\t\t'workDestination',\r\n\t\t'generalSpecialty',\r\n\t\t'reviewerState',\r\n\t\t'details',\r\n\t\t'actions'\r\n\t];\r\n\r\n\tpageSize = PAGE_SIZE;\r\n\tselectedPage = 0;\r\n\ttotalItems = 0;\r\n\tdataSource$ = new BehaviorSubject>(null);\r\n\tselectedRow: Reviewer = null;\r\n\tfilterQuery: any = {};\r\n\tdetails = false;\r\n\r\n\troles = {\r\n\t\t'teamLeader': 'Team Leader',\r\n\t\t'spareTeamLeader': 'Spare Team Leader',\r\n\t\t'members': 'Members',\r\n\t\t'spareMembers': 'Spare Members',\r\n\t\t'observers': 'Observers',\r\n\t\t'spareObservers': 'Spare Observers',\r\n\t\t'traineeReviewers': 'Trainee Reviewers',\r\n\t\t'spareTraineeReviewer': 'Spare Trainee Reviewer'\r\n\t}\r\n\r\n\tconstructor(public dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: any,\r\n\t\tprivate dialog: MatDialog,\r\n\t\tprivate loader: FormioLoader,\r\n\t\tprivate orgService: OrgService,\r\n\t\tprivate formioAppConfig: FormioAppConfig) {\r\n\t}\r\n\tngOnInit(): void {\r\n\t\tthis.loader.loading = false;\r\n\t\tif (!this.data.isFormio) {\r\n\t\t\tthis.onSearch()\r\n\t\t}\r\n\t}\r\n\tngOnDestroy(): void {\r\n\t\tthis.destroy$.next();\r\n\t\tthis.destroy$.complete();\r\n\t}\r\n\r\n\tselectRow(row: Reviewer) {\r\n\t\tif (this.details) {\r\n\t\t\tthis.details = false;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.selectedRow = row;\r\n\t}\r\n\r\n\tshowDetails(event: any, row: Reviewer) {\r\n\t\tevent.preventDefault();\r\n\t\tconst model = Utils.evaluate(this.data.customOptions.profileResourceData, { config: this.formioAppConfig, ...row });\r\n\t\tthis.details = true;\r\n\r\n\t\tthis.dialog.open(ViewFormDialog, {\r\n\t\t\tdata: {\r\n\t\t\t\tformKey: model.formKey,\r\n\t\t\t\tendpoint: model.endpoint,\r\n\t\t\t\tdir: this.data.dir,\r\n\t\t\t},\r\n\t\t\twidth: '70%',\r\n\t\t});\r\n\t}\r\n\r\n\tsortData(event: Sort): void {\r\n\t\tthis.filterQuery.sort = event.direction ? `${event.active},${event.direction}` : '';\r\n\t\tthis.onSearch(this.filterQuery);\r\n\t}\r\n\tcancel() {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\tchangePage(event: PageEvent) {\r\n\t\tthis.pageSize = event.pageSize;\r\n\t\tthis.selectedPage = event.pageIndex;\r\n\t\tthis.onSearch(this.filterQuery);\r\n\t}\r\n\r\n\tsearchWithReset(query = {}) {\r\n\t\tthis.selectedPage = 0;\r\n\t\tthis.onSearch(query);\r\n\t}\r\n\r\n\tonSearch(query = {}) {\r\n\t\tthis.filterQuery = query;\r\n\t\tthis.getData();\r\n\t}\r\n\tonClear() {\r\n\t\tthis.searchWithReset();\r\n\t}\r\n\r\n\tcustomEvent(event: any) {\r\n\t\tif (event.component.key == 'cancel') this.dialogRef.close();\r\n\t}\r\n\r\n\tbeforeSubmit(event: any) {\r\n\t\tthis.dialogRef.close(event.data);\r\n\t}\r\n\r\n\tsave() {\r\n\t\tthis.data.submission.data.member = this.selectedRow;\r\n\t\tthis.dialogRef.close(this.data.submission.data);\r\n\t}\r\n\r\n\tprivate getData() {\r\n\t\tthis.isLoadingResults = true;\r\n\t\tconst selectedIds = this.data.submission.data.selectedIds;\r\n\t\tconst visitKey = this.data.submission.data.visitKey;\r\n\r\n\t\tlet position = '';\r\n\t\tconst role = this.data.submission.data.role.toLowerCase();\r\n\t\tif (role.includes('teamleader'))\r\n\t\t\tposition = 'TEAMLEADER';\r\n\t\telse if (this.data.isMassar && role.includes('traineereviewer'))\r\n\t\t\tposition = 'traineeReviewer';\r\n\t\telse if (role.includes('reviewer'))\r\n\t\t\tposition = 'REVIEWER';\r\n\t\telse if (!this.data.isMassar && role.includes('observers'))\r\n\t\t\tposition = 'OBSERVER';\r\n\t\telse\r\n\t\t\tposition = 'REVIEWER';\r\n\r\n\t\tconst data = {\r\n\t\t\tsize: this.pageSize,\r\n\t\t\tpage: this.selectedPage,\r\n\t\t\t...(selectedIds ? { 'id.notIn': selectedIds } : {}),\r\n\t\t\t'visitKey': visitKey,\r\n\t\t\t'position.equals': position,\r\n\t\t\t...this.filterQuery,\r\n\t\t};\r\n\t\tthis.orgService\r\n\t\t\t.getReviewers(data, this.data.isMassar == true)\r\n\t\t\t.pipe(\r\n\t\t\t\tfinalize(() => this.isLoadingResults = false),\r\n\t\t\t\ttakeUntil(this.destroy$)\r\n\t\t\t)\r\n\t\t\t.subscribe((res) => {\r\n\t\t\t\tconst item = res.data.find(q => q.id == this.data.submission.data.id);\r\n\t\t\t\tif (item) this.selectedRow = item;\r\n\t\t\t\tthis.dataSource$.next(res);\r\n\t\t\t});\r\n\t}\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { VisitScheduleComponent } from './visit-schedule.component';\r\n\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'visit-schedule-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'visit-schedule-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'visit schedule schedule', // Title of the component\r\n\t// template: 'input', // Optional: define a template for the element. Default: input\r\n\t// changeEvent: 'valueChange', // Optional: define the changeEvent when the formio updates the value in the state. Default: 'valueChange',\r\n\t// editForm: Components.components.textfield.editForm, // Optional: define the editForm of the field. Default: the editForm of a textfield\r\n\t// documentation: '', // Optional: define the documentation of the field\r\n\t// weight: 0, // Optional: define the weight in the builder group\r\n\t// schema: {}, // Optional: define extra default schema for the field\r\n\t// extraValidators: [], // Optional: define extra validators for the field\r\n\t// emptyValue: null, // Optional: the emptyValue of the field\r\n\t// fieldOptions: ['values'], // Optional: explicit field options to get as `Input` from the schema (may edited by the editForm)\r\n};\r\n\r\nexport function registerVisitScheduleComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, VisitScheduleComponent, injector);\r\n}\r\n","import { Injector, ViewEncapsulation } from '@angular/core';\r\nimport { Component, OnInit, Input } from '@angular/core';\r\nimport { BaseComponent } from '../base.component';\r\n\r\n@Component({\r\n\tselector: 'app-page',\r\n\ttemplateUrl: './page.component.html',\r\n\t// styleUrls: ['./page.component.css']\r\n\tencapsulation: ViewEncapsulation.None,\r\n})\r\nexport class PageComponent extends BaseComponent implements OnInit {\r\n\t@Input() pageTitle?;\r\n\t@Input() pageTitleNarrow?;\r\n\t@Input() hasBackButton?;\r\n\t@Input() showLoader = false;\r\n\r\n\tconstructor(public injector: Injector) {\r\n\t\tsuper(injector);\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tsetTimeout(() => {\r\n\t\t\twindow.scrollTo({\r\n\t\t\t\ttop: 0,\r\n\t\t\t\tleft: 0,\r\n\t\t\t\tbehavior: 'smooth',\r\n\t\t\t});\r\n\t\t}, 1000);\r\n\t}\r\n\r\n\tback() {\r\n\t\twindow.history.back();\r\n\t}\r\n}\r\n","import { Directive, ElementRef, Output } from '@angular/core';\r\nimport { fromEvent, map, Observable, switchMap, takeUntil } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[appSplitHandle]'\r\n})\r\nexport class SplitHandleDirective {\r\n\r\n @Output() drag: Observable<{ x: number, y: number }>;\r\n\r\n constructor(ref: ElementRef) {\r\n\r\n const getMouseEventPosition = (event: MouseEvent) => ({ x: event.movementX, y: event.movementY });\r\n\r\n const mousedown$ =\r\n fromEvent(ref.nativeElement, 'mousedown').pipe(map(getMouseEventPosition));\r\n const mousemove$ = fromEvent(document, 'mousemove').pipe(map(getMouseEventPosition));\r\n const mouseup$ = fromEvent(document, 'mouseup');\r\n\r\n this.drag = mousedown$.pipe(\r\n switchMap((mousedown: MouseEvent) =>\r\n mousemove$.pipe(map(mousemove => ({\r\n x: mousemove.x - mousedown.x,\r\n y: mousemove.y - mousedown.y\r\n }))\r\n ,\r\n takeUntil(mouseup$)\r\n )))\r\n ;\r\n }\r\n}\r\n","
    \r\n\r\n

    {{question?.questionText}}

    \r\n
    \r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Utils } from 'formiojs';\r\n\r\n@Pipe({\r\n name: 'evaluationDisplay',\r\n})\r\nexport class EvaluationDisplayPipe implements PipeTransform {\r\n constructor(private translateService: TranslateService) {}\r\n\r\n transform(resourceItem: any, evaluateString): string {\r\n if (typeof resourceItem === 'string' || !resourceItem) {\r\n return resourceItem;\r\n }\r\n return Utils.evaluate(evaluateString, {\r\n item: resourceItem,\r\n translate: this.translateService,\r\n });\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n\r\n \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n {{node.criterionKey}}\r\n {{\r\n node\r\n | propertyLocalized : [\"criterionArabicName\", \"criterionEnglishName\"]\r\n | async\r\n }}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { takeUntil } from 'rxjs';\r\nimport { BaseComponent } from '../../base.component';\r\nimport { MemberModel } from '../../models/member.model';\r\nimport { CriterionsService } from '../../services/criterions.service';\r\n\r\n@Component({\r\n selector: 'app-criterion-preview',\r\n templateUrl: './criterion-preview.component.html',\r\n styleUrls: ['./criterion-preview.component.scss']\r\n})\r\nexport class CriterionPreviewComponent extends BaseComponent implements OnInit {\r\n criterion$ = this.criterionsService.criterion$;\r\n decisionInputs$ = this.criterionsService.decisionInputs$;\r\n currentTab = 0;\r\n member: MemberModel = null;\r\n\r\n constructor(private criterionsService: CriterionsService) { super(); }\r\n\r\n ngOnInit() {\r\n this.criterion$\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(_ => this.member = null);\r\n }\r\n\r\n}\r\n","
    \r\n \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n *\r\n \r\n  \r\n \r\n
    \r\n
    \r\n
    \r\n {{'forms.common.At least one item must be added to each of the following' | translate}}\r\n
    \r\n\r\n
      \r\n
    1. \r\n
      \r\n {{optionalInput.name}}\r\n \r\n
      \r\n
      \r\n
      \r\n {{i + 1}} - \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
    2. \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    ","
    \r\n
    \r\n
    \r\n \r\n {{ \"forms.common.Criteria.mistakeLevel\" | translate }}\r\n \r\n \r\n \r\n \r\n {{ option.label | translate }}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n {{ \"forms.common.Criteria.Criterion\" | translate }}\r\n \r\n \r\n \r\n \r\n {{option.criterionKey}} - \r\n {{\r\n option\r\n | propertyLocalized : [\"criterionArabicName\", \"criterionEnglishName\"]\r\n | async\r\n }}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n {{ \"forms.common.Criteria.mistake\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.suggestedSolution\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    ","import { OnInit, Injector } from '@angular/core';\r\nimport { Output, EventEmitter, OnChanges, SimpleChanges, OnDestroy, Inject } from '@angular/core';\r\nimport { Component, Input } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { Utils } from 'formiojs';\r\nimport { Subscription } from 'rxjs';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ResourceNameService, SuccessToast } from 'dp-formio';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'add-edit-editgrid-content',\r\n templateUrl: 'add-edit-editgrid-content.component.html',\r\n styleUrls: ['./add-edit-editgrid-content.component.scss'],\r\n})\r\nexport class AddEditEditgridContent implements OnInit, OnChanges, OnDestroy {\r\n @Input() data: any;\r\n @Output() close = new EventEmitter();\r\n\r\n submissionId: string;\r\n submission: any = {};\r\n formReady = false;\r\n\r\n dialogRef: MatDialogRef;\r\n dialogData: any;\r\n\r\n readConfigFrom: string;\r\n backToGrid = true;\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) {\r\n this.subs.push(s);\r\n }\r\n\r\n constructor(\r\n public fb: FormBuilder,\r\n private resourceNameService: ResourceNameService,\r\n private toastrService: ToastrService,\r\n private translateService: TranslateService,\r\n private injector: Injector\r\n ) {\r\n try {\r\n this.dialogRef = injector.get(MatDialogRef);\r\n this.dialogData = injector.get(MAT_DIALOG_DATA);\r\n } catch { }\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.data) {\r\n this.data = this.dialogData;\r\n this.ngOnChanges(null);\r\n }\r\n $('.custom-modal-component mat-dialog-container').scroll(function () {\r\n $('.flatpickr-calendar').each((i, item) => {\r\n $(item).removeClass('open');\r\n });\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.formReady = false;\r\n this.submissionId = '';\r\n this.submission = {};\r\n\r\n setTimeout(() => {\r\n let extraOptions = {};\r\n if (this.data.extra)\r\n extraOptions = Utils.evaluate(this.data.extra, {\r\n submission: this.data.data,\r\n editGridItems: this.data.editGridItems,\r\n rowSubmission: this.data.rowSubmission,\r\n });\r\n\r\n if (this.data.rowSubmission) this.submissionId = this.data.rowSubmission._id;\r\n\r\n this.readConfigFrom = this.data.resource?.readConfigFrom;\r\n this.loadResource(extraOptions);\r\n });\r\n }\r\n\r\n loadResource(extraOptions: any) {\r\n if (this.submissionId) {\r\n const resource = this.data.resource?.writeSubmissionOn || this.data.resource;\r\n const method = this.data.isEndpoint ?\r\n this.resourceNameService.loadById(this.data.evaluatedUrl, this.submissionId) :\r\n this.resourceNameService.loadCustomByKeyId(resource, this.submissionId);\r\n\r\n this.sub = method.subscribe((data) => {\r\n this.submission = data;\r\n this.submission.data = { ...extraOptions, ...this.submission.data };\r\n this.formReady = true;\r\n });\r\n } else {\r\n this.submission.data = { ...extraOptions };\r\n this.formReady = true;\r\n }\r\n }\r\n\r\n onFormLoad() {\r\n try {\r\n setTimeout(() => {\r\n const button = $('#columnsCancel');\r\n if (!button) {\r\n this.onFormLoad();\r\n return;\r\n }\r\n setTimeout(() => button.prop('disabled', false), 500);\r\n }, 350);\r\n } catch (e) { }\r\n }\r\n\r\n onSubmit(submission) {\r\n console.log(submission);\r\n if (this.data.isEndpoint) {\r\n this.sub = this.resourceNameService\r\n .saveByData(!this.submissionId, this.data.evaluatedUrl, submission.data)\r\n .subscribe((data) => {\r\n this.saveAndContinue(data);\r\n });\r\n return;\r\n }\r\n\r\n if (this.readConfigFrom) {\r\n this.sub = this.resourceNameService\r\n .saveResourceData(!this.submissionId, this.data.resource?.writeSubmissionOn, submission.data)\r\n .subscribe((data) => {\r\n this.saveAndContinue(data);\r\n });\r\n } else {\r\n this.saveAndContinue(submission);\r\n }\r\n }\r\n\r\n private saveAndContinue(data) {\r\n if (this.backToGrid) {\r\n this.closeWithSubmission(data);\r\n } else {\r\n if (this.data.closeActive) {\r\n this.data.rowSubmission = data;\r\n this.data.closeActive(this.data);\r\n this.data.rowSubmission = null;\r\n }\r\n this.ngOnChanges(null);\r\n this.toastrService.show(this.translateService.instant('forms.common.Save successfully'), '', {\r\n toastClass: 'notification-toast',\r\n closeButton: true,\r\n enableHtml: true,\r\n toastComponent: SuccessToast,\r\n });\r\n }\r\n\r\n this.backToGrid = true;\r\n }\r\n\r\n private closeWithSubmission(submission) {\r\n this.data.rowSubmission = submission;\r\n this.close.emit(this.data);\r\n if (this.dialogRef) this.dialogRef.close(this.data);\r\n }\r\n\r\n onCustomEvent(event) {\r\n if (event.type == 'customCancel') {\r\n this.backToGrid = true;\r\n this.close.emit();\r\n if (this.dialogRef) this.dialogRef.close();\r\n }\r\n else if (event.type == 'saveAndContinue') {\r\n if (!event.formComponent.formio.checkValidity(event.formComponent.formio.data, true)) {\r\n event.formComponent.onError(event.formComponent.formio.errors);\r\n return;\r\n }\r\n this.backToGrid = false;\r\n event.formComponent.submitForm(event.formComponent.submission);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.forEach((s) => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, from, map, switchMap, tap } from 'rxjs';\r\nimport { FormioAppConfig, UserService } from 'dp-formio';\r\n\r\nimport { KeycloakService } from 'keycloak-angular';\r\nimport { _getAccountRolesType } from 'src/formio-custom-components/src/lib/shared/utility/user';\r\nimport { CriterionAddMembersModel, ICriterion } from '../models/criterion';\r\nimport { IMember } from '../models/member';\r\nimport { ISession } from '../models/session';\r\nimport { IVisitLite } from '../models/visit';\r\n@Injectable()\r\nexport class DistributeService {\r\n private baseUrl: string;\r\n private getMembersPath: string;\r\n private getVisitInfoPath: string;\r\n private getCriterionPath: string;\r\n private getSessionsPath: string;\r\n private getSessionMemberPath: string;\r\n private updateSessionMembersPath: string;\r\n private addCriterionMembersPath: string;\r\n private deleteCriterionMembersPath: string;\r\n private _visitMembersSubs = new BehaviorSubject([]);\r\n\r\n constructor(\r\n private formioAppConfig: FormioAppConfig,\r\n private userService: UserService,\r\n private keycloakService: KeycloakService,\r\n protected http: HttpClient\r\n ) {\r\n this._prepareURLS();\r\n }\r\n\r\n getUserType() {\r\n return from(this.keycloakService.getToken()).pipe(\r\n switchMap((token) => this.userService.getUserData(token)),\r\n map((data) => _getAccountRolesType(data?.user_roles ?? []))\r\n );\r\n }\r\n\r\n getVisitInfo(key: string): Observable {\r\n const url = this.baseUrl + this.getVisitInfoPath + key;\r\n return this.http.get(url);\r\n }\r\n\r\n getMembersByVisitKey(visitKey: string, skipCache = false): Observable {\r\n const url = this.baseUrl + this.getMembersPath + visitKey;\r\n if (this._visitMembersSubs.getValue()?.length && !skipCache) {\r\n return this._visitMembersSubs.asObservable();\r\n }\r\n\r\n return this.http\r\n .get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n })\r\n .pipe(\r\n tap((data) => {\r\n this._visitMembersSubs.next(data);\r\n })\r\n );\r\n }\r\n\r\n\r\n getCriterionByVisitKey(visitKey: string): Observable {\r\n const url = this.baseUrl + this.getCriterionPath + visitKey + '/tree';\r\n return this.http.get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n });\r\n }\r\n\r\n getMyCriterionByVisitKey(visitKey: string, reviewerId): Observable {\r\n const url = `${this.baseUrl}${this.getCriterionPath}${visitKey}/members/reviewer/${reviewerId}`;\r\n return this.http.get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n });\r\n }\r\n\r\n getSessionsByVisitKey(visitKey: string): Observable {\r\n const url = this.baseUrl + this.getSessionsPath + visitKey;\r\n return this.http.get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n });\r\n }\r\n\r\n updateSessionMembers(session: ISession): Observable {\r\n const url = this.baseUrl + this.updateSessionMembersPath;\r\n return this.http.put(url, session);\r\n }\r\n\r\n addCriterionMembers(\r\n body: CriterionAddMembersModel\r\n ): Observable {\r\n const url = this.baseUrl + this.addCriterionMembersPath;\r\n return this.http.post(url, body);\r\n }\r\n\r\n deleteCriterionMembers(body: CriterionAddMembersModel) {\r\n const url = this.baseUrl + this.deleteCriterionMembersPath;\r\n return this.http.request('delete', url, { body: body });\r\n }\r\n\r\n private _prepareURLS() {\r\n this.baseUrl = this.formioAppConfig.gateway;\r\n\r\n const endpoints = this.formioAppConfig.endpoints;\r\n this.getVisitInfoPath = endpoints?.['visits'] + 'visit-key/';\r\n this.getMembersPath = endpoints?.['visitMembers'] + 'visit/';\r\n this.getCriterionPath = endpoints?.['criterion'] + 'visit/';\r\n this.getSessionsPath = endpoints?.['visitSessions'] + 'visit/';\r\n this.getSessionMemberPath = endpoints?.['sessionsMembers'] + 'visit/';\r\n this.updateSessionMembersPath = endpoints?.['visitSessions'] + 'members';\r\n this.addCriterionMembersPath = endpoints?.['criterion'] + 'members/add/';\r\n this.deleteCriterionMembersPath = endpoints?.['criterion'] + 'members/delete/';\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n   \r\n  \r\n
    \r\n
    ","\r\n\t\r\n
    \r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { AssessmentWrapperComponent } from './assessment-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'assessment', // custom type. Formio will identify the field with this type.\r\n selector: 'custom-assessment', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'Assessment', // Title of the component\r\n};\r\n\r\nexport function registerAssessmentComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, AssessmentWrapperComponent, injector);\r\n}","export function removeEmpty(data): T {\r\n\treturn Object.entries(data).reduce((obj, [key, value]) => {\r\n\t\tif (isObject(value)) {\r\n\t\t\tconst cleanedValue = removeEmpty(value);\r\n\r\n\t\t\tif (Object.keys(cleanedValue).length > 0) {\r\n\t\t\t\tobj[key] = cleanedValue;\r\n\t\t\t}\r\n\t\t} else if (\r\n\t\t\tArray.isArray(value)\r\n\t\t\t\t? value.length > 0\r\n\t\t\t\t: !!value || isBoolean(value) || isNumeric(value as string)\r\n\t\t) {\r\n\t\t\tobj[key] = value;\r\n\t\t}\r\n\t\treturn obj;\r\n\t}, {} as T);\r\n}\r\n\r\nfunction isObject(obj) {\r\n\treturn typeof obj === 'object' && obj !== null && !Array.isArray(obj);\r\n}\r\n\r\nfunction isBoolean(value) {\r\n\treturn typeof value === 'boolean';\r\n}\r\n\r\nfunction isNumeric(val: string): boolean {\r\n\tif (val === '' || val === null) {\r\n\t\treturn false;\r\n\t}\r\n\treturn !isNaN(Number(val));\r\n}\r\n\r\nexport function isFunction(obj: any): obj is Function {\r\n\treturn obj && typeof obj === 'function' && obj.constructor === Function;\r\n}\r\n\r\nexport function resolveFieldData(data: any, field: any): any {\r\n\tif (data && field) {\r\n\t\tif (isFunction(field)) {\r\n\t\t\treturn field(data);\r\n\t\t} else if (field.indexOf('.') == -1) {\r\n\t\t\treturn data[field];\r\n\t\t} else {\r\n\t\t\tlet fields: string[] = field.split('.');\r\n\t\t\tlet value = data;\r\n\t\t\tfor (let i = 0, len = fields.length; i < len; ++i) {\r\n\t\t\t\tif (value == null) {\r\n\t\t\t\t\treturn null;\r\n\t\t\t\t}\r\n\t\t\t\tvalue = value[fields[i]];\r\n\t\t\t}\r\n\t\t\treturn value;\r\n\t\t}\r\n\t} else {\r\n\t\treturn null;\r\n\t}\r\n}\r\n","
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{question.code}}\r\n \r\n \r\n
    \r\n

    {{question.description}}

    \r\n
    \r\n {{question.error}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n   \r\n  \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {{year.name}}\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n {{'forms.common.The value must be greater than or equal' | translate}} : {{question.min}}\r\n
    \r\n
    question.max\" class=\"error input-error\">\r\n {{'forms.common.The value must be less than or equal' | translate}} : {{question.max}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    ","import { NestedTreeControl } from '@angular/cdk/tree';\r\n\r\nimport {\r\n Component,\r\n Input,\r\n OnInit,\r\n OnChanges,\r\n ViewEncapsulation,\r\n SimpleChanges,\r\n ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { MatTreeNestedDataSource } from '@angular/material/tree';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { filter, finalize, forkJoin, iif, takeUntil, tap, Subscription } from 'rxjs';\r\nimport { CategoriesCompliance } from '../models/categories-compliance.model';\r\nimport { EvaluatedSummaryType, ExecuteVisitType } from '../models/execute-visit.model';\r\nimport { MemberModel } from '../models/member.model';\r\nimport { RolesEnum, VisitMetaData } from '../models/visit-metadata.model';\r\n// import { CriterionsService } from '../services/criterions.service';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { BaseComponent } from '../base.component';\r\nimport { ICriterion } from '../../distribute-team-members/models/criterion';\r\nimport { CriterionsService } from '../services/criterions.service';\r\nimport { MasarCriterionsService } from '../services/masar-criterions.service';\r\nimport { showToast } from '../../toast.helper';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Summary } from '../models/summary.model';\r\n\r\nconst MasarExecutiveSummaries = 'executive-summaries';\r\nexport const QUILL_MODULES_LITE = {\r\n toolbar: [\r\n ['bold', 'italic', 'underline', 'strike'],\r\n [{ indent: '-1' }, { indent: '+1' }],\r\n [{ direction: 'rtl' }],\r\n [{ align: [] }],\r\n ['clean'],\r\n ],\r\n};\r\n\r\n@Component({\r\n selector: 'app-masar-criterions-tree',\r\n templateUrl: './masar-criterions-tree.component.html',\r\n styleUrls: ['./masar-criterions-tree.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MasarCriterionsTreeComponent extends BaseComponent implements OnInit, OnChanges {\r\n @Input() viewOnly: boolean;\r\n @Input() categoriesCompliance: CategoriesCompliance[];\r\n @Input() visitMetaData: VisitMetaData;\r\n @Input() sessionId: number | string;\r\n @Input() executeVisitType: ExecuteVisitType;\r\n @Input() evaluatedSummaryType: EvaluatedSummaryType;\r\n @Input() responseNotesDecision: boolean;\r\n @Input() mistakeDisabled: boolean;\r\n @Input() disableEntityResponse: boolean;\r\n @Input() disableAttachments: boolean;\r\n @Input() hideMistake: boolean;\r\n decisionInputs$ = this.criterionsService.decisionInputs$;\r\n quillModules = QUILL_MODULES_LITE;\r\n criterions: ICriterion[] = [];\r\n summaries = [\r\n {\r\n type: 'recommendations-summaries',\r\n filter: 'summaryOfRecommendations',\r\n label: 'forms.common.Criteria.summaryOfRecommendations'\r\n },\r\n {\r\n type: 'commendations-summaries',\r\n filter: 'summaryOfCommendations',\r\n label: 'forms.common.Criteria.summaryOfCommendations'\r\n },\r\n {\r\n type: 'suggestions-summaries',\r\n filter: 'summaryOfSuggestions',\r\n label: 'forms.common.Criteria.summaryOfSuggestions'\r\n }\r\n ];\r\n allCriterionEvaluated = false;\r\n executiveSummaryHTML = '';\r\n executiveSummary = '';\r\n notesDecision: boolean;\r\n subscription: Subscription;\r\n\r\n get isMistakeDisabled() {\r\n const decisionInput = this.criterionsService.decisionInputs$.value;\r\n return decisionInput?.viewOnly || this.mistakeDisabled ||\r\n decisionInput.executeVisitType == ExecuteVisitType.FinalReport ||\r\n decisionInput.executeVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries;\r\n }\r\n get showExecutivePlan() {\r\n return this.executeVisitType == ExecuteVisitType.InstitutionEntries ||\r\n this.executeVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries;\r\n }\r\n get enabledExecutiveSummary() {\r\n const decisionInput = this.criterionsService.decisionInputs$.value;\r\n return this.masarCriterionsService.allCriterionEvaluated$.value &&\r\n decisionInput.enableEdit &&\r\n decisionInput.executeVisitType == ExecuteVisitType.FinalReport;\r\n }\r\n\r\n selectedNode: ICriterion = null;\r\n treeControl = new NestedTreeControl((node) => node.subCriteria);\r\n dataSource: MatTreeNestedDataSource;\r\n\r\n isLoadingResults = false;\r\n\r\n showMemberDropdown: boolean;\r\n selectedMember: MemberModel;\r\n mainCriterionKeys: string[];\r\n\r\n readonly hasChild = (_: number, node: ICriterion) =>\r\n !!node.subCriteria && node.subCriteria.length > 0;\r\n\r\n readonly trackBy = (_: number, node: ICriterion) => node.id;\r\n\r\n constructor(\r\n private criterionsService: CriterionsService,\r\n private masarCriterionsService: MasarCriterionsService,\r\n public translateService: TranslateService,\r\n public toastrService: ToastrService,\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.showMemberDropdown = this.executeVisitType == ExecuteVisitType.SessionDetails && this.visitMetaData.role == RolesEnum.TEAM_LEADER;\r\n if (!this.showMemberDropdown) this.getTreeData();\r\n\r\n this.decisionTakenListener();\r\n this.hasMistakeListener();\r\n this.criterionKeyListener();\r\n this.registerCopyToExecutiveSummary();\r\n this.notesDecision = this.responseNotesDecision;\r\n }\r\n\r\n onExecutiveSummaryChange(event: any) {\r\n this.executiveSummary = event.htmlValue || '';\r\n }\r\n\r\n private decisionTakenListener() {\r\n this.criterionsService.decisionTaken$\r\n .pipe(\r\n filter(_ => !!this.selectedNode),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe(() => {\r\n this.selectedNode.evaluate = true;\r\n // this.updateResultData();\r\n this.getTreeData();\r\n });\r\n }\r\n private hasMistakeListener() {\r\n this.criterionsService.hasMistake$\r\n .pipe(\r\n filter(_ => !!this.selectedNode),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe((value) => this.selectedNode.hasError = value);\r\n }\r\n private criterionKeyListener() {\r\n this.masarCriterionsService.updatedCriterionKey$\r\n .pipe(\r\n filter(data => !!data && (!this.showMemberDropdown || (this.showMemberDropdown && !!this.selectedMember))),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe(_ => {\r\n this.getTreeData();\r\n });\r\n }\r\n\r\n memberChanged(member: MemberModel) {\r\n this.selectedNode = null;\r\n this.getTreeData(member);\r\n }\r\n rowClicked(node: ICriterion) {\r\n if (this.selectedNode?.id !== node?.id) {\r\n this.selectedNode = node;\r\n this.criterionsService.criterion$.next(node);\r\n }\r\n }\r\n getTreeData(member: MemberModel = null) {\r\n const reviewerId = member?.reviewer?.id;\r\n const enableDecisionEdit = !reviewerId || reviewerId == this.visitMetaData.reviewerId;\r\n\r\n this.criterionsService.decisionInputs$.next({\r\n categoriesCompliance: this.categoriesCompliance,\r\n visitMetaData: this.visitMetaData,\r\n isMasar: true,\r\n enableEdit: !this.viewOnly && enableDecisionEdit,\r\n currentMemberId: member?.id || this.visitMetaData.memberId,\r\n currentReviewerId: member?.reviewer?.id || this.visitMetaData.reviewerId,\r\n viewOnly: this.viewOnly,\r\n executeVisitType: this.executeVisitType,\r\n evaluatedSummaryType: this.evaluatedSummaryType,\r\n disableEntityResponse: this.disableEntityResponse,\r\n disableAttachments: this.disableAttachments,\r\n });\r\n\r\n this.isLoadingResults = true;\r\n forkJoin([\r\n iif(\r\n () => this.executeVisitType == ExecuteVisitType.SessionDetails,\r\n this.masarCriterionsService.getMyCriterionByVisitKey(this.visitMetaData.visitKey, reviewerId || this.visitMetaData.reviewerId),\r\n this.masarCriterionsService.getAllCriterionByVisitKey(this.visitMetaData.visitKey)\r\n ),\r\n this.criterionsService.getProccess(this.visitMetaData.accreditationKey, this.visitMetaData.eligibilityRequestId)\r\n ]).pipe(\r\n tap(() => this.getExecutiveSummary()),\r\n takeUntil(this.destroy$),\r\n finalize(() => {\r\n this.isLoadingResults = false;\r\n })\r\n ).subscribe((result) => {\r\n this.criterions = result[0];\r\n this.mainCriterionKeys = this.criterions.map(c => c.criterionKey);\r\n this.dataSource = new MatTreeNestedDataSource();\r\n this.dataSource.data = this.criterions;\r\n this.updateResultData();\r\n });\r\n }\r\n\r\n getExecutiveSummary() {\r\n if (this.executeVisitType == ExecuteVisitType.SessionDetails) return;\r\n\r\n this.isLoadingResults = true;\r\n this.masarCriterionsService.getSummaries(\r\n this.visitMetaData.visitKey,\r\n MasarExecutiveSummaries\r\n ).pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => this.isLoadingResults = false),\r\n filter(data => !!data?.length),\r\n ).subscribe(data => {\r\n this.executiveSummary = data[data.length - 1].summaryText;\r\n this.executiveSummaryHTML = data[data.length - 1].summaryText;\r\n this.updateResultData(this.executiveSummary);\r\n });\r\n }\r\n saveExecutiveSummary() {\r\n const summary: Summary = {\r\n noteOrder: 1,\r\n visitId: this.visitMetaData.visitId,\r\n visitKey: this.visitMetaData.visitKey,\r\n reviewerId: this.visitMetaData.reviewerId,\r\n summaryText: this.executiveSummary,\r\n deleted: false\r\n };\r\n this.isLoadingResults = true;\r\n this.masarCriterionsService.saveSummaries(MasarExecutiveSummaries, [summary])\r\n .pipe(finalize(() => this.isLoadingResults = false))\r\n .subscribe(data => {\r\n this.updateResultData(this.executiveSummary);\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Saved done\"),\r\n this.translateService.instant(\"forms.common.Criteria.Saved Successfully\"),\r\n false\r\n );\r\n });\r\n }\r\n\r\n updateResultData(executiveSummary: string = '') {\r\n const value = this.criterionsService.results$.getValue();\r\n value.executiveSummary = executiveSummary;\r\n value.responseNotesDecision = this.notesDecision;\r\n value.criterion = this.dataSource.data;\r\n value.flatCriterion = _cloneDeep(value.criterion);\r\n\r\n let flatten = (children, extractChildren) => Array.prototype.concat.apply(\r\n children,\r\n children.map(x => flatten(extractChildren(x) || [], extractChildren))\r\n );\r\n let extractChildren = x => x.subCriteria;\r\n value.flatCriterion = flatten(extractChildren({ subCriteria: value.flatCriterion }), extractChildren)\r\n .map(x => delete x.subCriteria && x);\r\n\r\n this.allCriterionEvaluated = value.flatCriterion\r\n .every(c => c.evaluate);\r\n\r\n this.masarCriterionsService.allCriterionEvaluated$.next(this.allCriterionEvaluated);\r\n this.criterionsService.results$.next(value);\r\n }\r\n private registerCopyToExecutiveSummary() {\r\n this.subscription?.unsubscribe();\r\n this.subscription = this.criterionsService.sendToExecutiveSummary$\r\n .pipe(\r\n filter(data => !!data),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe(data => {\r\n this.executiveSummary += `${data.value}
    `;\r\n if (this.executiveSummaryHTML == null) this.executiveSummaryHTML = '';\r\n this.executiveSummaryHTML += `${data.value}
    `;\r\n });\r\n\r\n }\r\n}\r\n","\r\n\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { CategoryConfig, QuestionConfig } from './../models/config.model';\r\nimport { ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, OnInit, OnChanges, Output, ViewEncapsulation, SimpleChanges } from \"@angular/core\";\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { showToast } from '../../toast.helper';\r\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { FormioLoader, ResourceNameService } from 'dp-formio';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-optional-inputs',\r\n templateUrl: './optional-inputs.component.html',\r\n // styleUrls: ['./optional-inputs.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader]\r\n})\r\nexport class OptionalInputsComponent implements OnInit, OnDestroy {\r\n @Input() orginalCategory: CategoryConfig | any;\r\n @Input() categoryHasChanged: EventEmitter;\r\n @Input() customOptions: any;\r\n @Input() viewOnly: boolean;\r\n @Output() data = new EventEmitter();\r\n @Output() changeCategory = new EventEmitter();\r\n sub: Subscription;\r\n\r\n showForm = true;\r\n formReady = true;\r\n\r\n category: CategoryConfig;\r\n private defaultEditorValue = '


    ';\r\n\r\n constructor(private resourceNameService: ResourceNameService,\r\n private translateService: TranslateService,\r\n private toastrService: ToastrService,\r\n private cdr: ChangeDetectorRef,\r\n private formioLoader: FormioLoader) {\r\n this.formioLoader.loading = false;\r\n //TODO : we need to refactor validation to reactive \r\n }\r\n\r\n ngOnInit() {\r\n this.category = _cloneDeep(this.orginalCategory);\r\n \r\n this.category?.attachments?.forEach(q => q.data?.length > 0 ? true : q.data=[]);\r\n \r\n console.log('this.category',this.category);\r\n this.sub = this.categoryHasChanged.subscribe((category) => {\r\n this.orginalCategory = _cloneDeep(category);\r\n this.category = _cloneDeep(category);\r\n this.category?.attachments?.forEach(q => q.data = []);\r\n \r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub?.unsubscribe();\r\n }\r\n\r\n addOptionalInput(optionalInput) {\r\n optionalInput.results.push({ value: '' });\r\n this.data.emit(optionalInput.results);\r\n }\r\n\r\n removeOptionalInput(optionalInput, i) {\r\n optionalInput.results.splice(i, 1);\r\n this.data.emit(optionalInput.results);\r\n }\r\n changeValue(optionalInput) {\r\n this.data.emit(optionalInput.results);\r\n }\r\n\r\n saveCategory() {\r\n this.formioLoader.loading = true;\r\n console.log('this.category',this.category)\r\n if(!Array.isArray(this.category?.attachments)){\r\n this.category.attachments=[];\r\n }\r\n\r\n\r\n this.sub = this.resourceNameService.editSubmission(this.customOptions.categoryResource,\r\n this.category._id, { data: this.mapCategory() })\r\n .subscribe(data => {\r\n this.formioLoader.loading = false;\r\n this.orginalCategory.optionalInputs = this.category.optionalInputs;\r\n this.orginalCategory.descriptionStandardResult = this.category.descriptionStandardResult;\r\n this.orginalCategory.pledgeValue = this.category.pledgeValue;\r\n this.orginalCategory.attachments = this.category.attachments;\r\n this.changeCategory.emit(this.orginalCategory);\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Saved done\"),\r\n this.translateService.instant(\"forms.common.Saved Successfully\"),\r\n false\r\n );\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"ErrorOccurred\"),\r\n this.translateService.instant(\"generalError\"),\r\n true\r\n );\r\n });\r\n }\r\n\r\n changeApply() {\r\n this.showForm = false;\r\n this.formReady = false;\r\n setTimeout(() => this.formReady = true);\r\n }\r\n formLoad(formSettings) {\r\n setTimeout(() => {\r\n const array = $('.optionalInputs [name=\"data[submit]\"]');\r\n for (let index = 0; index < array.length; index++) {\r\n $(array[index]).hide();\r\n }\r\n this.showForm = true;\r\n }, 250);\r\n }\r\n\r\n get isDescriptionStandardResultValid() {\r\n if (this.category?.isDescriptionStandardRequired)\r\n return !!this.category.descriptionStandardResult && this.category.descriptionStandardResult != this.defaultEditorValue;\r\n else return true;\r\n }\r\n get isOptionalInputsValid() {\r\n return true;\r\n // console.log('this.category.optionalInputs',this.category.optionalInputs)\r\n var tempOptionalInputs = this.category.optionalInputs.filter(q=>!q.nameAr.includes(\"الرأي المستقل\"))\r\n // console.log('this.category.optionalInputs XX',xx)\r\n return tempOptionalInputs?.length &&\r\n tempOptionalInputs.every(q => q.results?.filter(r => !!r.value)?.length >= 1);\r\n }\r\n\r\n get isPledgeResultValid() {\r\n if (this.category?.pledgeIsRequired)\r\n return this.category.pledgeValue;\r\n else return true;\r\n }\r\n\r\n private mapCategory() {\r\n const category = _cloneDeep(this.category);\r\n delete category.processConfigObject;\r\n delete category.parentCategoryObject;\r\n delete category.subCategoriresObject;\r\n delete category.questionsAssessmentObject;\r\n delete category._id;\r\n return category;\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, forkJoin, map, switchMap } from 'rxjs';\r\nimport {\r\n SessionModel,\r\n SubmissionModel,\r\n VisitLiteModel,\r\n} from 'src/formio-custom-components/src/lib/shared/model';\r\nimport { FormioAppConfig } from 'dp-formio';\r\nimport { CommonQuestionModel, QuestionsPayload, ResourceQuestion } from '../models';\r\n\r\n@Injectable()\r\nexport class CommonQuestionsService {\r\n private baseUrl: string;\r\n private getVisitInfoPath: string;\r\n private questionsPath: string;\r\n private masarVisitPath: string;\r\n private postPath: string;\r\n private getSessionsPath: string;\r\n private deletePath: string;\r\n\r\n constructor(protected http: HttpClient, private formioAppConfig: FormioAppConfig) {\r\n this._prepareUrls();\r\n }\r\n\r\n private _prepareUrls() {\r\n this.baseUrl = this.formioAppConfig.gateway;\r\n\r\n const endpoints = this.formioAppConfig.endpoints;\r\n this.getVisitInfoPath = endpoints?.visits + 'visit-key/';\r\n this.questionsPath = endpoints?.commonQuestions?.get;\r\n this.postPath = endpoints?.commonQuestions?.post;\r\n this.deletePath = endpoints?.commonQuestions?.delete;\r\n this.masarVisitPath = endpoints?.masarVisit;\r\n this.getSessionsPath = endpoints?.visitSessions + 'visit/';\r\n }\r\n\r\n getVisitInfo(key: string): Observable {\r\n const url = this.baseUrl + this.getVisitInfoPath + key;\r\n const pahse = this.baseUrl + this.masarVisitPath + key + '/phase';\r\n return forkJoin([\r\n this.http.get(url),\r\n this.http.get(pahse, { responseType: 'text' as any }),\r\n ]).pipe(\r\n map(([data, phase]) => {\r\n return {\r\n visitKey: data.visitKey,\r\n id: data.id,\r\n requestId: data.requestId,\r\n visitNumber: data.visitNumber,\r\n phase: phase,\r\n visitType: data?.accreditationType,\r\n } as VisitLiteModel;\r\n })\r\n );\r\n }\r\n\r\n getResourceData(\r\n resourceName: string,\r\n payload: QuestionsPayload = {}\r\n ): Observable {\r\n const url = this.formioAppConfig.formio.appUrl + resourceName + '/submission';\r\n return this.http\r\n .get[]>(url, { params: payload })\r\n .pipe(\r\n map((submissions) =>\r\n submissions.map((sub) => {\r\n return {\r\n _id: sub._id,\r\n ...sub?.data,\r\n };\r\n })\r\n )\r\n );\r\n }\r\n\r\n getSessionsByVisitKey(visitKey: string): Observable {\r\n const url = this.baseUrl + this.getSessionsPath + visitKey;\r\n return this.http.get(url, {\r\n params: {\r\n page: '0',\r\n size: `${Number.MAX_SAFE_INTEGER}`,\r\n },\r\n });\r\n }\r\n\r\n getQuestions(payload: QuestionsPayload = {}): Observable {\r\n const url = this.baseUrl + this.questionsPath;\r\n return this.http.get(url, { params: payload });\r\n }\r\n\r\n createQuestion(payload: CommonQuestionModel): Observable {\r\n const url = this.baseUrl + this.postPath;\r\n return this.http.post(url, payload);\r\n }\r\n\r\n updateQuestion(\r\n payload: CommonQuestionModel\r\n ): Observable {\r\n const { id, ...data } = payload;\r\n return this.deleteQuestion(id).pipe(switchMap((_) => this.createQuestion(data)));\r\n }\r\n\r\n deleteQuestion(id: number): Observable {\r\n const url = this.baseUrl + this.deletePath + id;\r\n return this.http.delete(url);\r\n }\r\n}\r\n","\r\n\r\nexport enum ExecuteVisitType {\r\n SessionDetails = 'SessionDetails',\r\n FinalReport = 'FinalReport',\r\n InstitutionEntries = 'InstitutionEntries',\r\n FinalReportWithInstitutionEntries = 'FinalReportWithInstitutionEntries'\r\n}\r\n\r\nexport enum EvaluatedSummaryType {\r\n All = 'All',\r\n AllSummary = 'AllSummary',\r\n OnlyCriterionSummary = 'OnlyCriterionSummary',\r\n}","import { ChangeDetectionStrategy, Component, Inject, ViewEncapsulation } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-delete-dialog',\r\n templateUrl: './delete-dialog.component.html',\r\n styleUrls: ['./delete-dialog.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DeleteDialogComponent {\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {\r\n data.result = true;\r\n }\r\n\r\n ngOnInit() {}\r\n cancel(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","/**\r\n * \tDEFAULTS\r\n * DEFAULTS_COLORS\r\n * CUSTOM_CSS\r\n * DEFAULTS_THEM_OPTIONS\r\n * DEFAULT_CONFIG\r\n */\r\n\r\ntype DefaultsImagesType = { [k: string]: { path: string } | null };\r\n\r\nexport const DEFAULTS_IMAGES: DefaultsImagesType = {\r\n\tlogo: null,\r\n\tsmallLogo: null,\r\n\tuserAvatar: null,\r\n\tsectionsIcon: null,\r\n};\r\nexport const CUSTOM_CSS = {\r\n\tcustomCss: ``,\r\n};\r\n\r\nexport const DEFAULT_FOOTER = {\r\n\tfooter : ''\r\n}\r\n\r\nexport const DEFAULTS_COLORS = {\r\n\tbackgroundColor: 'rgb(235, 235, 235)',\r\n\tprimary50: 'rgb(232, 243, 245)',\r\n\tprimary100: 'rgb(197, 224, 230)',\r\n\tprimary200: 'rgb(158, 204, 213)',\r\n\tprimary300: 'rgb(119, 183, 196)',\r\n\tprimary400: 'rgb(90, 167, 183)',\r\n\tprimary500: 'rgb(61, 152, 170)',\r\n\tprimary600: 'rgb(55, 144, 163)',\r\n\tprimary700: 'rgb(47, 133, 153)',\r\n\tprimary800: 'rgb(39, 123, 144)',\r\n\tprimary900: 'rgb(26, 106, 127)',\r\n\tprimaryA100: 'rgb(184, 239, 255)',\r\n\tprimaryA200: '#85e3ff',\r\n\tprimaryA400: 'rgb(82, 215, 255)',\r\n\tprimaryA700: 'rgb(57, 209, 255)',\r\n\tprimaryContrast50: 'rgb(0, 0, 0)',\r\n\tprimaryContrast100: 'rgb(0, 0, 0)',\r\n\tprimaryContrast200: 'rgb(0, 0, 0)',\r\n\tprimaryContrast300: 'rgb(0, 0, 0)',\r\n\tprimaryContrast400: 'rgb(0, 0, 0)',\r\n\tprimaryContrast500: 'rgb(255, 255, 255)',\r\n\tprimaryContrast600: 'rgb(255, 255, 255)',\r\n\tprimaryContrast700: 'rgb(255, 255, 255)',\r\n\tprimaryContrast800: 'rgb(255, 255, 255)',\r\n\tprimaryContrast900: 'rgb(255, 255, 255)',\r\n\tprimaryContrastA100: 'rgb(0, 0, 0)',\r\n\tprimaryContrastA200: 'rgb(0, 0, 0)',\r\n\tprimaryContrastA400: 'rgb(0, 0, 0)',\r\n\tprimaryContrastA700: 'rgb(0, 0, 0)',\r\n\taccent50: 'rgb(230, 243, 240)',\r\n\taccent100: 'rgb(191, 224, 218)',\r\n\taccent200: 'rgb(149, 204, 194)',\r\n\taccent300: 'rgb(107, 184, 170)',\r\n\taccent400: 'rgb(75, 168, 151)',\r\n\taccent500: 'rgb(43, 153, 133)',\r\n\taccent600: 'rgb(38, 145, 125)',\r\n\taccent700: 'rgb(32, 134, 114)',\r\n\taccent800: 'rgb(26, 124, 104)',\r\n\taccent900: 'rgb(16, 107, 85)',\r\n\taccentA100: 'rgb(160, 255, 230)',\r\n\taccentA200: 'rgb(109, 255, 217)',\r\n\taccentA400: 'rgb(58, 255, 203)',\r\n\taccentA700: 'rgb(32, 255, 197)',\r\n\taccentContrast50: 'rgb(0, 0, 0)',\r\n\taccentContrast100: 'rgb(0, 0, 0)',\r\n\taccentContrast200: 'rgb(0, 0, 0)',\r\n\taccentContrast300: 'rgb(0, 0, 0)',\r\n\taccentContrast400: 'rgb(0, 0, 0)',\r\n\taccentContrast500: 'rgb(255, 255, 255)',\r\n\taccentContrast600: 'rgb(255, 255, 255)',\r\n\taccentContrast700: 'rgb(255, 255, 255)',\r\n\taccentContrast800: 'rgb(255, 255, 255)',\r\n\taccentContrast900: 'rgb(255, 255, 255)',\r\n\taccentContrastA100: 'rgb(0, 0, 0)',\r\n\taccentContrastA200: 'rgb(0, 0, 0)',\r\n\taccentContrastA400: 'rgb(0, 0, 0)',\r\n\taccentContrastA700: 'rgb(0, 0, 0)',\r\n\tprimaryColor: '#00adc3',\r\n\twarningColor: '#f0b432',\r\n\taccentColor: '#0c7782',\r\n\tsecondaryColor: '#666',\r\n\tsuccessColor: '#3aad6d',\r\n\taccentColor200: '#2185b8',\r\n\tredColor: 'rgb(255, 0, 0)',\r\n\taccentColor50: '#1c719b',\r\n};\r\n\r\nexport const DEFAULTS_THEM_OPTIONS = {\r\n\tfontFamily: 'Din-Next-Lt-Arabic_Regular',\r\n\tfavicon: '/assets/favicon.ico',\r\n\t...DEFAULTS_COLORS,\r\n\t...DEFAULTS_IMAGES,\r\n\t...CUSTOM_CSS,\r\n\t...DEFAULT_FOOTER,\r\n};\r\n\r\nexport const DEFAULT_CONFIG = [DEFAULTS_THEM_OPTIONS];\r\n","
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n {{'forms.common.' + customOptions.eventItemPrev | translate}}\r\n
    \r\n ({{i +1}})\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {{('forms.common.' + eventItem[customOptions.eventItemForm.displayTitle.key]) |\r\n translate}}\r\n \r\n \r\n {{eventItem[customOptions.eventItemForm.displayTitle.key] | date :\r\n customOptions.eventItemForm.displayTitle.format}}\r\n \r\n \r\n {{eventItem[customOptions.eventItemForm.displayTitle.key] | displayTime :\r\n customOptions.eventItemForm.displayTitle.format}}\r\n \r\n \r\n {{eventItem[customOptions.eventItemForm.displayTitle.key]}}\r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n {{('forms.common.' + eventItem[item.key]) | translate}}\r\n \r\n \r\n {{eventItem[item.key] | date : item.format}}\r\n \r\n \r\n {{eventItem[item.key] | displayTime : item.format}}\r\n \r\n \r\n {{eventItem[item.key]}}\r\n \r\n \r\n -\r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    ","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MemberDataModel } from '../model';\r\n\r\n@Pipe({\r\n name: 'getMemberName',\r\n})\r\nexport class GetMemberNamePipe implements PipeTransform {\r\n constructor(private translate: TranslateService) {}\r\n transform(value: MemberDataModel): string {\r\n if (!value) {\r\n return '';\r\n }\r\n const currentLang = this.translate.currentLang;\r\n const key = currentLang == 'ar' ? 'arabicName' : 'englishName';\r\n const _dKey = currentLang == 'ar' ? 'englishName' : 'arabicName';\r\n return value?.[key] ?? value?.[_dKey];\r\n }\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { finalize, iif, takeUntil } from 'rxjs';\r\nimport { showToast } from '../../../../toast.helper';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { FinalReportResponse } from '../../../models/final-report-response.model';\r\nimport { CriterionsService } from '../../../services/criterions.service';\r\nimport { ItimadCriterionsService } from '../../../services/itimad-criterions.service';\r\n\r\n@Component({\r\n selector: 'app-add-edit-response',\r\n templateUrl: './add-edit-response.dialog.html',\r\n styleUrls: ['./add-edit-response.dialog.scss']\r\n})\r\nexport class AddEditResponseComponent extends BaseComponent {\r\n responses = ['accept', 'not_accept', 'accept_update'];\r\n form: FormGroup;\r\n isLoadingResults = false;\r\n modelId: number;\r\n\r\n get reasonsControl() { return this.form.get('reasons'); }\r\n get updatesControl() { return this.form.get('updates') as FormArray; }\r\n get updatesControls() { return (this.form.get('updates') as FormArray).controls as FormControl[]; }\r\n get responseDecisionValue() {\r\n return this.form.controls.responseDecision.value;\r\n }\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private fb: FormBuilder,\r\n private criterionsService: CriterionsService,\r\n private itimadCriterionsService: ItimadCriterionsService,\r\n private toastrService: ToastrService,\r\n private translateService: TranslateService) {\r\n super();\r\n this.initForm();\r\n this.registerUpdateFormValidation();\r\n this.getData();\r\n }\r\n\r\n addUpdate(value: string = '') {\r\n this.updatesControl.push(new FormControl({ value: value, disabled: this.data.viewOnly }, Validators.required));\r\n }\r\n removeUpdate(index: number) {\r\n this.updatesControl.removeAt(index);\r\n }\r\n\r\n save() {\r\n if (this.form.invalid) return;\r\n this.isLoadingResults = true;\r\n const model: FinalReportResponse = {\r\n id: this.modelId,\r\n visitKey: this.data.visitMetaData.visitKey,\r\n recommendationsSummaryId: this.data.summaryId,\r\n ...this.form.value\r\n };\r\n iif(() => !!this.modelId,\r\n this.itimadCriterionsService.editFinalReportResponses(model),\r\n this.itimadCriterionsService.createFinalReportResponses(model))\r\n .pipe(finalize(() => this.isLoadingResults = false))\r\n .subscribe(data => {\r\n this.dialogRef.close(data.id);\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Saved done\"),\r\n this.translateService.instant(\"forms.common.Criteria.Saved Successfully\"),\r\n false\r\n );\r\n });\r\n }\r\n cancel(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n private initForm() {\r\n this.form = this.fb.group({\r\n responseDecision: [{ value: '', disabled: this.data.viewOnly }, [Validators.required]],\r\n reasons: [{ value: '', disabled: this.data.viewOnly }],\r\n updates: this.fb.array([]),\r\n });\r\n }\r\n private registerUpdateFormValidation() {\r\n this.form.controls.responseDecision.valueChanges.subscribe(value => {\r\n if (value != 'accept') {\r\n this.reasonsControl.setValidators([Validators.required]);\r\n } else {\r\n this.reasonsControl.reset();\r\n this.reasonsControl.clearValidators();\r\n }\r\n this.reasonsControl.updateValueAndValidity();\r\n\r\n if (value == 'accept_update') {\r\n if (!this.updatesControl.length) this.addUpdate();\r\n this.updatesControl.setValidators([Validators.required]);\r\n } else {\r\n this.updatesControl.clear();\r\n this.updatesControl.clearValidators();\r\n }\r\n this.updatesControl.updateValueAndValidity();\r\n });\r\n }\r\n\r\n private getData() {\r\n if (!this.data.id) return;\r\n this.isLoadingResults = true;\r\n this.itimadCriterionsService.getFinalReportResponses(this.data.id)\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => this.isLoadingResults = false)\r\n ).subscribe(data => {\r\n this.updateform(data);\r\n });\r\n }\r\n private updateform(data: FinalReportResponse) {\r\n this.modelId = data.id;\r\n this.form.patchValue({\r\n responseDecision: data.responseDecision,\r\n reasons: data.reasons\r\n });\r\n this.updatesControl.clear();\r\n data.updates.forEach((value, index) => {\r\n this.addUpdate(value);\r\n });\r\n }\r\n}\r\n","const LifeCycleService = {\r\n PUBLISHED:'PUBLISHED',\r\n UNPUBLISHED:'UNPUBLISHED',\r\n DRAFT:'DRAFT'\r\n}\r\nexport { LifeCycleService }","\r\nimport { translateServiceInstance } from 'dp-formio';\r\nimport { Utils } from 'formiojs';\r\n\r\nconst ar = 'ar';\r\nexport enum StatusConfig {\r\n UnComplete, Complete\r\n}\r\nexport class ProcessConfig {\r\n _id: string;\r\n key: string;\r\n categoryLevelCount: number;\r\n answerMaxScore: number;\r\n categoryAssessment: string[]; //list of 'keys'\r\n displayNumberBy: 'order' | 'pattern';\r\n categoryNumberPattern: string;\r\n questionNumberPattern: string;\r\n scoreConditions: ScoreConditionsConfig[];\r\n\r\n evaluationItems: EvaluationItemsConfig[];\r\n evaluationLevels: EvaluationLevelsConfig[];\r\n hasEvaluationItems: boolean;\r\n}\r\n\r\nexport class ScoreConditionsConfig {\r\n lessThan: number;\r\n greaterThan: number;\r\n messageAr: string;\r\n messageEn: string;\r\n\r\n get message() {\r\n return translateServiceInstance?.currentLang == ar ? this.messageAr : this.messageEn;\r\n }\r\n}\r\nexport class CategoryConfig {\r\n _id: string;\r\n key: string;\r\n originKey: string;\r\n nameAr: string;\r\n nameEn: string;\r\n descriptionAr: string;\r\n descriptionEn: string;\r\n order: number;\r\n color: string;\r\n levelNumber: number;\r\n parentCategory: string; //list of 'keys'\r\n questionsAssessment: string[]; //list of 'keys'\r\n averageToPass: number;\r\n weight: number;\r\n errorAr: string;\r\n errorEn: string;\r\n optionalInputs: OptionalInputConfig[];\r\n isDescriptionStandardRequired: boolean;\r\n descriptionStandardResult: string;\r\n\r\n //#region pledge\r\n pledgeNameAr: string;\r\n pledgeNameEn: string;\r\n pledgeTooltipAr: string;\r\n pledgeTooltipEn: string;\r\n pledgeIsRequired: boolean;\r\n pledgeValue: boolean;\r\n\r\n \r\n get pledgeName() {\r\n // console.log('pledgeName called',this)\r\n return translateServiceInstance?.currentLang == ar ? this.pledgeNameAr : this.pledgeNameEn;\r\n }\r\n get pledgeTooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.pledgeTooltipAr : this.pledgeTooltipEn;\r\n }\r\n get hasPledgeAndAcknowledgment() { return !!this.pledgeName; }\r\n //#endregion\r\n //#region attachments\r\n attachmentsTooltipAr: string;\r\n attachmentsTooltipEn: string;\r\n attachments: AttachmentsConfig[];\r\n get attachmentsTooltip() {\r\n console.log('attachmentsTooltip',this)\r\n return translateServiceInstance?.currentLang == ar ? this.attachmentsTooltipAr : this.attachmentsTooltipEn;\r\n }\r\n get attachmentsName() {\r\n console.log('attachmentsName',this)\r\n return translateServiceInstance?.currentLang == ar ? this.attachmentsTooltipAr : this.attachmentsTooltipEn;\r\n }\r\n get attachmentsValid() {\r\n // if (!this.attachmentIsRequired) return true;\r\n // return !!this.data?.length;\r\n //this.attachments.every(q => q.valid);\r\n // console.log('this.attachments.every(q => q.valid)',this.attachments.every(q => function(q){\r\n // console.log('q.attachmentIsRequired',q.attachmentIsRequired); \r\n // if (!q.attachmentIsRequired) return true;\r\n // console.log('q.data?.length',q.data?.length); \r\n // return q.data?.length>0;}))\r\n if(!Array.isArray(this.attachments)){\r\n return true;\r\n }\r\n console.log('this.attachments.every(q => q.valid)',this.attachments.every(q=>{\r\n // console.log('check attachment');\r\n if (!q.attachmentIsRequired) return true\r\n return q.data?.length>0;\r\n }));\r\n // console.log('this.attachments.every(q => q.valid)',this.attachments.every(attachmentIsValid));\r\n return this.attachments.every(q=>{\r\n if (!q.attachmentIsRequired) return true\r\n return q.data?.length>0;\r\n });\r\n \r\n }\r\n \r\n get hasAttachments() { console.log('attachment ',this); return this.attachments?.length; }\r\n //#endregion\r\n\r\n get name() {\r\n return translateServiceInstance?.currentLang == ar ? this.nameAr : this.nameEn;\r\n }\r\n get description() {\r\n return translateServiceInstance?.currentLang == ar ? this.descriptionAr : this.descriptionEn;\r\n }\r\n get error() {\r\n return translateServiceInstance?.currentLang == ar ? this.errorAr : this.errorEn;\r\n }\r\n\r\n get hasError() {\r\n // if (!this.hasOptionalInputs || !this.isScoreValid) return true;\r\n if (!this.isScoreValid) return true;\r\n else return false;\r\n }\r\n get isScoreValid() {\r\n return (this.scoreResult ?? 0) >= (this.averageToPass || 0);\r\n }\r\n\r\n get hasOptionalInputs() {\r\n if(this.originKey==\"test\")\r\n return true;\r\n var tempOptionalInputs = this.optionalInputs.filter(q=>!q.nameAr.includes(\"الرأي المستقل\"))\r\n // console.log('from here',tempOptionalInputs);\r\n return tempOptionalInputs?.every(q => q.results?.length) || false;\r\n }\r\n get displayOrder() {\r\n if (!this.processConfigObject) return ``;\r\n if (this.processConfigObject.displayNumberBy == 'order')\r\n return `${this.order}`;\r\n else {\r\n return this.processConfigObject.categoryNumberPattern.replace('{{i}}', `${this.order}`);\r\n }\r\n }\r\n\r\n get calculatedScore() {\r\n this.sumScore = 0;\r\n let sumQuestions = 0;\r\n // calc from questions or sub categorires\r\n if (this.questionsAssessmentObject?.length) {\r\n this.questionsAssessmentObject.filter(q => !q.notApply && q.status == StatusConfig.Complete).forEach(q => {\r\n if (q.hasEvaluationItems) {\r\n const evaluationsAnswerd = q.evaluationItems.filter(q => !!q.score);\r\n this.sumScore += evaluationsAnswerd.reduce((a, b) => a + +b.score, 0) / evaluationsAnswerd.length;\r\n }\r\n else this.sumScore += (+q.value || 0) * (q.weight || 1);\r\n sumQuestions += q.weight || 1;\r\n });\r\n }\r\n else if (this.subCategoriresObject?.length) {\r\n this.subCategoriresObject.filter(q => q.calculatedScore).forEach(q => {\r\n this.sumScore += +q.calculatedScore * (q.weight || 1);\r\n sumQuestions += q.weight || 1;\r\n });\r\n }\r\n if (!sumQuestions) return 0;\r\n return this.sumScore / sumQuestions;\r\n }\r\n get calculatedSavedScore() {\r\n if (!this.numberOfApplicable) return 0;\r\n return this.totalEvaluationCriteria / this.numberOfApplicable;\r\n }\r\n\r\n get evaluationScoreMessage() {\r\n if (!this.processConfigObject) return ``;\r\n // let score = this.calculatedScore;\r\n let score = 0;\r\n if (!score && this.totalEvaluationCriteria) score = this.totalEvaluationCriteria / this.numberOfApplicable;\r\n return this.processConfigObject.scoreConditions.find(q =>\r\n (q.lessThan && !q.greaterThan && score <= q.lessThan) ||\r\n (!q.lessThan && q.greaterThan && score >= q.greaterThan) ||\r\n (q.lessThan && q.greaterThan && score <= q.lessThan && score > q.greaterThan)\r\n )?.message || ``;\r\n }\r\n\r\n processConfigObject: ProcessConfig; // calculated\r\n parentCategoryObject: CategoryConfig; // calculated\r\n subCategoriresObject: CategoryConfig[]; // calculated\r\n subCategoriresObjectForSelect: CategoryConfig[]; // calculated\r\n questionsAssessmentObject: QuestionConfig[]; // calculated\r\n\r\n totalEvaluationCriteria: number = 0;\r\n numberOfApplicable: number = 0;\r\n\r\n scoreResult: number = 0;\r\n percentage: number = 0;\r\n score: number = 0;\r\n sumScore: number = 0;\r\n get questionAnsweredCount() {\r\n if (this.questionsAssessmentObject?.length)\r\n return this.questionsAssessmentObject.filter(q => !q.notApply && q.status == StatusConfig.Complete).length;\r\n else return 0;\r\n }\r\n}\r\n\r\nexport class OptionalInputConfig {\r\n nameAr: string;\r\n nameEn: string;\r\n\r\n get name() {\r\n return translateServiceInstance?.currentLang == ar ? this.nameAr : this.nameEn;\r\n }\r\n\r\n results: Array<{ value: string }> = [];\r\n value?:any\r\n}\r\n\r\nexport class QuestionConfig {\r\n _id: string;\r\n key: string;\r\n nameAr: string;\r\n nameEn: string;\r\n tooltipAr: string;\r\n tooltipEn: string;\r\n order: number;\r\n isRequired: boolean;\r\n averageToPass: number;\r\n weight: number;\r\n errorAr: string;\r\n errorEn: string;\r\n answerTooltip: AnswerConfig[];\r\n parentCategoryObject: CategoryConfig; // calculated\r\n\r\n hasEvaluationItems: boolean;\r\n evaluationItems: EvaluationItemsConfig[];\r\n evaluationLevels: EvaluationLevelsConfig[];\r\n\r\n get name() {\r\n return translateServiceInstance?.currentLang == ar ? this.nameAr : this.nameEn;\r\n }\r\n get tooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.tooltipAr : this.tooltipEn;\r\n }\r\n get error() {\r\n return translateServiceInstance?.currentLang == ar ? this.errorAr : this.errorEn;\r\n }\r\n\r\n get hasError() {\r\n if (this.hasEvaluationItems) {\r\n const evaluationsAnswerd = this.evaluationItems.filter(q => !!q.score);\r\n this.value = (evaluationsAnswerd.reduce((a, b) => a + +b.score * (b.weight || 1), 0) / evaluationsAnswerd.length) + '';\r\n\r\n if (this.evaluationItems.some(q => q.hasError)) return true;\r\n else return (+this.value || 0) < this.averageToPass;\r\n }\r\n else return (+this.value || 0) * (this.weight || 1) < this.averageToPass;\r\n }\r\n get displayOrder() {\r\n if (!this.parentCategoryObject.processConfigObject) return ``;\r\n if (this.parentCategoryObject.processConfigObject.displayNumberBy == 'order')\r\n return `${this.order}`;\r\n else {\r\n return this.parentCategoryObject.processConfigObject.questionNumberPattern.replace('{{i}}', `${this.order}`);\r\n }\r\n }\r\n //#region notes\r\n notesNameAr: string;\r\n notesNameEn: string;\r\n notesTooltipAr: string;\r\n notesTooltipEn: string;\r\n notesIsRequired: boolean;\r\n get notesName() {\r\n return translateServiceInstance?.currentLang == ar ? this.notesNameAr : this.notesNameEn;\r\n }\r\n get notesTooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.notesTooltipAr : this.notesTooltipEn;\r\n }\r\n //#endregion\r\n\r\n //#region link\r\n linkNameAr: string;\r\n linkNameEn: string;\r\n linkTooltipAr: string;\r\n linkTooltipEn: string;\r\n linkIsRequired: boolean;\r\n get linkName() {\r\n return translateServiceInstance?.currentLang == ar ? this.linkNameAr : this.linkNameEn;\r\n }\r\n get linkTooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.linkTooltipAr : this.linkTooltipEn;\r\n }\r\n //#endregion\r\n\r\n //#region pledge\r\n pledgeNameAr: string;\r\n pledgeNameEn: string;\r\n pledgeTooltipAr: string;\r\n pledgeTooltipEn: string;\r\n pledgeIsRequired: boolean;\r\n get pledgeName() {\r\n return translateServiceInstance?.currentLang == ar ? this.pledgeNameAr : this.pledgeNameEn;\r\n }\r\n get pledgeTooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.pledgeTooltipAr : this.pledgeTooltipEn;\r\n }\r\n //#endregion\r\n\r\n //#region attachments\r\n attachmentsTooltipAr: string;\r\n attachmentsTooltipEn: string;\r\n attachments: AttachmentsConfig[];\r\n get attachmentsTooltip() {\r\n console.log('attachmentsTooltip01',this)\r\n return translateServiceInstance?.currentLang == ar ? this.attachmentsTooltipAr : this.attachmentsTooltipEn;\r\n }\r\n get attachmentsValid() {\r\n return this.attachments.every(q => q.valid);\r\n }\r\n //#endregion\r\n\r\n get hasNotes() { return !!this.notesName; }\r\n get hasLink() { return !!this.linkName; }\r\n get hasPledgeAndAcknowledgment() { return !!this.pledgeName; }\r\n get hasAttachments() { return this.attachments.length; }\r\n\r\n status: StatusConfig = StatusConfig.UnComplete;\r\n notApply: boolean = false;\r\n value: string;\r\n notesValue: string;\r\n linkValue: string;\r\n pledgeValue: boolean;\r\n}\r\n\r\nexport class AnswerConfig {\r\n score: number;\r\n tooltipAr: string;\r\n tooltipEn: string;\r\n\r\n get tooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.tooltipAr : this.tooltipEn;\r\n }\r\n}\r\n\r\nexport class AttachmentsConfig {\r\n attachmentIsRequired: boolean;\r\n attachmentTooltipAr: string;\r\n attachmentTooltipEn: string;\r\n attachmentNameAr: string;\r\n attachmentNameEn: string;\r\n get attachmentsTooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.attachmentTooltipAr : this.attachmentTooltipEn;\r\n }\r\n get name() {\r\n return translateServiceInstance?.currentLang == ar ? this.attachmentNameAr : this.attachmentNameEn;\r\n }\r\n get tooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.attachmentTooltipAr : this.attachmentTooltipEn;\r\n }\r\n\r\n data: any[] = [];\r\n get valid() {\r\n if (!this.attachmentIsRequired) return true;\r\n return !!this.data?.length;\r\n }\r\n \r\n}\r\n\r\nexport class EvaluationItemsConfig {\r\n nameAr: string;\r\n nameEn: string;\r\n tooltipAr: string;\r\n tooltipEn: string;\r\n order: number;\r\n weight: number;\r\n averageToPass: number;\r\n errorAr: string;\r\n errorEn: string;\r\n\r\n score: number | string;\r\n\r\n get name() {\r\n return translateServiceInstance?.currentLang == ar ? this.nameAr : this.nameEn;\r\n }\r\n get tooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.tooltipAr : this.tooltipEn;\r\n }\r\n get error() {\r\n return translateServiceInstance?.currentLang == ar ? this.errorAr : this.errorEn;\r\n }\r\n get hasError() {\r\n return (+this.score || 0) * (this.weight || 1) < this.averageToPass;\r\n }\r\n}\r\n\r\nexport class EvaluationLevelsConfig {\r\n arabicLabel: string;\r\n englishLabel: string;\r\n score: number;\r\n _id: string;\r\n\r\n get label() {\r\n return translateServiceInstance?.currentLang == ar ? this.arabicLabel : this.englishLabel;\r\n }\r\n\r\n get id() {\r\n if (!this._id) this._id = `${new Date().getTime()}`;\r\n return this._id;\r\n }\r\n}","import { Component, Input, EventEmitter, Output, ChangeDetectionStrategy, ViewEncapsulation, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';\r\nimport { PopoverController } from '@ionic/angular';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { NotificationOptionsComponent } from '../notification-options/notification-options.component';\r\n\r\n@Component({\r\n selector: 'app-notification-item',\r\n // styleUrls: ['./notification-item.component.scss'],\r\n templateUrl: './notification-item.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\n\r\nexport class NotificationItemComponent implements OnChanges, OnDestroy {\r\n\r\n @Input() notification;\r\n @Output() notificationAction: EventEmitter = new EventEmitter();\r\n\r\n notificationContent = '';\r\n isArabic;\r\n sub: Subscription;\r\n\r\n constructor(private popoverCtrl: PopoverController,\r\n private translateService: TranslateService) {\r\n this.isArabic = this.translateService.currentLang == 'ar';\r\n this.sub = this.translateService.onLangChange.subscribe(data => {\r\n this.isArabic = data.lang == 'ar';\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.notification && changes.notification.currentValue && changes.notification.currentValue.notificationContents.length) {\r\n if (this.isArabic) {\r\n if (changes.notification.currentValue.notificationContents.find(q => q.lang == 'AR'))\r\n this.notificationContent = changes.notification.currentValue.notificationContents.find(q => q.lang == 'AR').message;\r\n else if (changes.notification.currentValue.notificationContents.find(q => q.lang == 'EN'))\r\n this.notificationContent = changes.notification.currentValue.notificationContents.find(q => q.lang == 'EN').message;\r\n }\r\n else {\r\n if (changes.notification.currentValue.notificationContents.find(q => q.lang == 'EN'))\r\n this.notificationContent = changes.notification.currentValue.notificationContents.find(q => q.lang == 'EN').message;\r\n else if (changes.notification.currentValue.notificationContents.find(q => q.lang == 'AR'))\r\n this.notificationContent = changes.notification.currentValue.notificationContents.find(q => q.lang == 'AR').message;\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.sub) this.sub.unsubscribe();\r\n }\r\n toggleRead(event) {\r\n event.stopPropagation();\r\n this.notificationAction.emit({ action: 'status', notification: this.notification });\r\n }\r\n\r\n async showOptions(event) {\r\n event.stopPropagation();\r\n const popover = await this.popoverCtrl.create({\r\n component: NotificationOptionsComponent,\r\n cssClass: 'notification-options',\r\n event: event,\r\n showBackdrop: false,\r\n });\r\n await popover.present();\r\n const { data } = await popover.onDidDismiss();\r\n if (data && this.notification) {\r\n this.updateNotification(data);\r\n }\r\n }\r\n\r\n updateNotification(data) {\r\n this.notificationAction.emit({ action: data, notification: this.notification });\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n {{node.criterionKey}}\r\n {{\r\n node\r\n | propertyLocalized : [\"criterionArabicName\", \"criterionEnglishName\"]\r\n | async\r\n }}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n {{ 'forms.common.Criteria.executiveSummary' | translate }}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {{executiveSummary?.length}} / 2000\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n {{'forms.common.true' | translate}}\r\n {{'forms.common.false' | translate}}\r\n \r\n\r\n
    \r\n \r\n
    \r\n
    ","import { DatePipe } from '@angular/common';\r\nimport {\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tDirective,\r\n\tInjector,\r\n\tNgZone,\r\n\tOnDestroy,\r\n} from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { KeycloakService } from 'keycloak-angular';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subscription } from 'rxjs';\r\nimport { AccountService } from 'src/app/core/services/account.service';\r\nimport { SessionService } from 'src/app/core/services/session.service';\r\nimport { SwitchLangService } from 'src/app/core/services/switch-lang.service';\r\nimport { ServicesService } from 'src/app/modules/services-catalog/services.service';\r\nimport { FilterPipe } from 'ngx-filter-pipe';\r\nimport { ConfigService } from 'src/app/core/services/config.service';\r\nimport { LoggerService } from 'src/app/core/services/logger.service';\r\nimport { FormioLoader } from 'dp-formio';\r\nimport { TitleService } from 'src/app/core/services/title.service';\r\n\r\n@Directive()\r\nexport abstract class BaseComponent implements OnDestroy {\r\n\tprivate subs: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subs.push(s);\r\n\t}\r\n\r\n\troute: ActivatedRoute;\r\n\trouter: Router;\r\n\tlocation: Location;\r\n\tcdr: ChangeDetectorRef;\r\n\tzone: NgZone;\r\n\tmatDialog: MatDialog;\r\n\ttranslateService: TranslateService;\r\n\ttoastrService: ToastrService;\r\n\tkeycloakService: KeycloakService;\r\n\tformioLoader: FormioLoader;\r\n\tservicesService: ServicesService;\r\n\tswitchLangService: SwitchLangService;\r\n\tloggerService: LoggerService;\r\n\tsessionService: SessionService;\r\n\taccountService: AccountService;\r\n\tconfigService: ConfigService;\r\n\ttitleService: TitleService;\r\n\r\n\tdatePipe: DatePipe;\r\n\tfilterPipe: FilterPipe;\r\n\r\n\tconstructor(public injector: Injector) {\r\n\t\tthis.route = injector.get(ActivatedRoute);\r\n\t\tthis.router = injector.get(Router);\r\n\t\tthis.location = injector.get(Location);\r\n\t\tthis.cdr = injector.get(ChangeDetectorRef);\r\n\t\tthis.zone = injector.get(NgZone);\r\n\t\tthis.matDialog = injector.get(MatDialog);\r\n\t\tthis.translateService = injector.get(TranslateService);\r\n\t\tthis.toastrService = injector.get(ToastrService);\r\n\t\tthis.keycloakService = injector.get(KeycloakService);\r\n\t\tthis.formioLoader = injector.get(FormioLoader);\r\n\t\tthis.servicesService = injector.get(ServicesService);\r\n\t\tthis.switchLangService = injector.get(SwitchLangService);\r\n\t\tthis.loggerService = injector.get(LoggerService);\r\n\t\tthis.sessionService = injector.get(SessionService);\r\n\t\tthis.accountService = injector.get(AccountService);\r\n\t\tthis.configService = injector.get(ConfigService);\r\n\t\tthis.titleService = injector.get(TitleService);\r\n\r\n\t\tthis.datePipe = injector.get(DatePipe);\r\n\t\tthis.filterPipe = injector.get(FilterPipe);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.forEach((s) => s.unsubscribe());\r\n\t\tthis.subs = [];\r\n\t}\r\n\r\n\treplaceUrl(queryString: string) {\r\n\t\twindow.history.replaceState(\r\n\t\t\tnull,\r\n\t\t\tnull,\r\n\t\t\t`${window.location.protocol}//${window.location.host}${window.location.pathname}?${queryString}`\r\n\t\t);\r\n\t}\r\n\r\n\ttoQueryString(obj: any) {\r\n\t\tconst str = [];\r\n\t\tfor (const p in obj)\r\n\t\t\tif (obj.hasOwnProperty(p)) {\r\n\t\t\t\tstr.push(\r\n\t\t\t\t\tencodeURIComponent(p) +\r\n\t\t\t\t\t\t'=' +\r\n\t\t\t\t\t\t(!!`${obj[p]}` && obj[p] != null ? encodeURIComponent(obj[p]) : '')\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\treturn str.join('&');\r\n\t}\r\n\r\n\tfromQueryString(query: string = null): any {\r\n\t\tif (!location.search) return null;\r\n\t\tif (query == null) query = location.search.replace('?', '');\r\n\t\tconst result = JSON.parse(\r\n\t\t\t'{\"' + decodeURI(query).replace(/\"/g, '\\\\\"').replace(/&/g, '\",\"').replace(/=/g, '\":\"') + '\"}'\r\n\t\t);\r\n\t\tfor (const p in result) if (result[p].includes(',')) result[p] = result[p].split(',');\r\n\t\treturn result;\r\n\t}\r\n}\r\n","","import {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInject,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewChild,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { filter, Subscription } from 'rxjs';\r\nimport _isEmpty from 'lodash/isEmpty';\r\nimport _isEqual from 'lodash/isEqual';\r\nimport { TreeNode } from 'primeng/api';\r\nimport { OrgNodeConfig } from './models/org-node.model';\r\nimport { Utils } from 'formiojs';\r\nimport { AddEditOrgItem } from './add-edit-org-item/add-edit-org-item.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport _cloneDeep from \"lodash/cloneDeep\";\r\nimport { MatMenuTrigger } from '@angular/material/menu';\r\nimport * as DeleteConfirmationDialog from 'dp-formio';\r\nimport { RejectReasonOrgItem } from './reject-reason-org-item/reject-reason-org-item.component';\r\nimport { FormioCustomComponent, FormioComponent, FormioLoader, FormioAppConfig } from 'dp-formio';\r\nimport { APP_BASE_HREF } from '@angular/common';\r\nimport { ViewFormDialog } from './view-form/view-form.component';\r\n\r\ndeclare var WZoom: any;\r\n\r\n@Component({\r\n\tselector: 'app-org-wrapper',\r\n\ttemplateUrl: './org-wrapper.component.html',\r\n\t// styleUrls: ['./org-wrapper.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n})\r\nexport class OrgWrapperComponent\r\n\timplements FormioCustomComponent, OnChanges, OnDestroy {\r\n\t@ViewChild(MatMenuTrigger) matMenuTrigger: MatMenuTrigger;\r\n\t@ViewChild(FormioComponent) formComponent: FormioComponent;\r\n\r\n\tdir: 'rtl' | 'ltr';\r\n\t@Input() required: boolean;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Input() disabled: boolean;\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\r\n\torgNodeConfig: OrgNodeConfig;\r\n\torgData: TreeNode[] = [];\r\n\tdataItems: any;\r\n\r\n\tcurrentLang = '';\r\n\tmenuTopLeftPosition = { x: '0', y: '0' }\r\n\r\n\tshowTakeDecisionMsg = false;\r\n\thasRejectedDecision = false;\r\n\tdecisionState = {\r\n\t\tapprove: 'approve',\r\n\t\treject: 'reject'\r\n\t}\r\n\thasDecision = false;\r\n\r\n\tdecisionKey: string;\r\n\trejectReasonKey: string;\r\n\tcssDecisionKey: string;\r\n\r\n\tsubscriptions$: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subscriptions$.push(s);\r\n\t}\r\n\r\n\tconstructor(private translateService: TranslateService,\r\n\t\tprivate dialog: MatDialog,\r\n\t\tpublic formioLoader: FormioLoader,\r\n\t\tprivate formioAppConfig: FormioAppConfig,\r\n\t\t@Inject(APP_BASE_HREF) private baseHref: string) {\r\n\t\tthis.currentLang = this.translateService.currentLang;\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t\tthis.translateService.onLangChange.subscribe(event => {\r\n\t\t\tthis.currentLang = event.lang;\r\n\t\t\tthis.changeDirection(event.lang);\r\n\t\t});\r\n\t}\r\n\tngOnInit() {\r\n\t\tthis.init();\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tif (this.customOptions && this.customOptions.node) {\r\n\t\t\tthis.decisionKey = this.customOptions.takeDecision?.decisionKeys[0];\r\n\t\t\tthis.rejectReasonKey = this.customOptions.takeDecision?.rejectReasonKeys[0];\r\n\t\t\tthis.cssDecisionKey = this.customOptions.takeDecision?.cssDecisionKeys[0];\r\n\r\n\t\t\tthis.orgNodeConfig = _cloneDeep(this.customOptions.node);\r\n\t\t\tthis.initItems(this.orgNodeConfig);\r\n\r\n\t\t\tif (this.value) {\r\n\t\t\t\tif (this.customOptions.takeDecision?.hasDecision)\r\n\t\t\t\t\tthis.hasDecision = Utils.evaluate(this.customOptions.takeDecision.hasDecision, { data: this.data })\r\n\t\t\t\tthis.dataItems = _cloneDeep(this.value);\r\n\t\t\t\tthis.initValue();\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t} else {\r\n\t\t\t\tthis.afterChangeValue();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subscriptions$.forEach((o) => o.unsubscribe());\r\n\t\tthis.subscriptions$ = [];\r\n\t}\r\n\r\n\topenProfile(currentNode: any) {\r\n\t\tconst model = Utils.evaluate(this.customOptions.profileResourceData, {\r\n\t\t\tconfig: this.formioAppConfig,\r\n\t\t\t...(currentNode?.data?.dataItem || {})\r\n\t\t});\r\n\t\tthis.dialog.open(ViewFormDialog, {\r\n\t\t\tdata: {\r\n\t\t\t\tformKey: model.formKey,\r\n\t\t\t\tendpoint: model.endpoint,\r\n\t\t\t\tdir: this.data.dir,\r\n\t\t\t},\r\n\t\t\twidth: '70%',\r\n\t\t});\r\n\t}\r\n\r\n\tnotifyValue() {\r\n\t\tif (this.orgData?.length) {\r\n\t\t\tconst data = this.cleanData(_cloneDeep(this.orgData[0]));\r\n\t\t\tthis.dataItems = data;\r\n\t\t\tthis.formioComponent.customValidationValid = true;\r\n\r\n\t\t\tif (this.required) {\r\n\t\t\t\tlet valid = this.orgNodeConfig.maxItem == this.orgData.length;\r\n\t\t\t\tif (valid) {\r\n\t\t\t\t\tvalid = this.validateChildren(this.orgNodeConfig.children);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!valid) {\r\n\t\t\t\t\tthis.formioComponent.customValidationValid = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.value = data;\r\n\t\t\tthis.valueChange.emit(this.value);\r\n\r\n\t\t\tthis.showTakeDecisionMsg = false;\r\n\t\t\tthis.hasRejectedDecision = false;\r\n\t\t\tthis.checkRejectedDecision(this.value);\r\n\t\t\tthis.checkAllDecisions(this.value);\r\n\r\n\t\t\tthis.afterChangeValue();\r\n\t\t}\r\n\t}\r\n\r\n\tvalidateChildren(children: any[] = []) {\r\n\t\tlet valid = true;\r\n\t\tfor (let index = 0; index < children.length; index++) {\r\n\t\t\tconst node = children[index];\r\n\t\t\tconst nodes = this.findByKey(node.key, this.orgData);\r\n\t\t\tconst parentMaxItems = this.findParentMaxItem(node.key, this.orgNodeConfig);\r\n\r\n\t\t\tif ((node.relatedToParent && node.maxItem > nodes.length) ||\r\n\t\t\t\t(!node.relatedToParent && (node.maxItem * parentMaxItems) > nodes.length)) {\r\n\t\t\t\tvalid = false;\r\n\t\t\t\tbreak;\r\n\t\t\t} else if (node.children?.length) {\r\n\t\t\t\tvalid = this.validateChildren(node.children);\r\n\t\t\t\tif (!valid) break;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn valid;\r\n\t}\r\n\tfindByKey(key: string, nodes: any[], result: any[] = []) {\r\n\t\tnodes.forEach(node => {\r\n\t\t\tif (node.data.node.key == key) result.push(node);\r\n\t\t\tif (node.data.node.children) {\r\n\t\t\t\tthis.findByKey(key, node.children, result);\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn result;\r\n\t}\r\n\tfindParentMaxItem(key: string, item: OrgNodeConfig): number {\r\n\t\tif (item.key == key) return +item.maxItem;\r\n\t\telse if (item.children?.length) {\r\n\t\t\tconst child = item.children.find(q => q.key == key);\r\n\t\t\tif (child) {\r\n\t\t\t\treturn +item.maxItem;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tlet result = 0;\r\n\t\t\t\tfor (let index = 0; index < item.children.length; index++) {\r\n\t\t\t\t\tresult = this.findParentMaxItem(key, item.children[index]);\r\n\t\t\t\t\tif (result > 0) break;\r\n\t\t\t\t}\r\n\t\t\t\treturn result;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tonRightClick(event: MouseEvent, currentNode) {\r\n\t\tevent.preventDefault();\r\n\t\tthis.menuTopLeftPosition.x = event.clientX + 'px';\r\n\t\tthis.menuTopLeftPosition.y = event.clientY + 'px';\r\n\r\n\t\tif (!this.viewOnly) {\r\n\t\t\tlet actions = [];\r\n\t\t\tif (this.customOptions.takeDecision?.enabled) {\r\n\t\t\t\tactions = [\r\n\t\t\t\t\t{ key: this.decisionState.approve, label: this.translateService.instant('forms.common.Approve'), disable: false },\r\n\t\t\t\t\t{ key: this.decisionState.reject, label: this.translateService.instant('forms.common.Reject'), disable: false }\r\n\t\t\t\t];\r\n\t\t\t} else {\r\n\t\t\t\tactions.push({ key: 'edit', label: this.translateService.instant('forms.common.Edit'), disable: false });\r\n\t\t\t\tcurrentNode.data.node.children?.forEach(node => {\r\n\t\t\t\t\tif (node.relatedToParent) {\r\n\t\t\t\t\t\tconst roleInSameParentCount = this.dataItems.children.filter(q => q.role == node.relatedToParent).map(q => q.children).flat().length;\r\n\t\t\t\t\t\tconst disable = node.maxItem <= roleInSameParentCount;\r\n\t\t\t\t\t\tactions.push({ key: node.key, label: `${this.translateService.instant('forms.common.Add')} ${this.translateService.instant(`forms.common.${node.key}`)}`, disable });\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst model = this.findDataModel(currentNode.data.dataItem.id);\r\n\t\t\t\t\t\tconst disable = node.maxItem <= (model.children?.filter(q => q.role == node.key)?.length || 0);\r\n\t\t\t\t\t\tactions.push({ key: node.key, label: `${this.translateService.instant('forms.common.Add')} ${this.translateService.instant(`forms.common.${node.key}`)}`, disable });\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tactions.push({ key: 'delete', label: this.translateService.instant('delete'), disable: false });\r\n\t\t\t}\r\n\r\n\t\t\tthis.matMenuTrigger.menuData = {\r\n\t\t\t\tactions,\r\n\t\t\t\tcurrentNode\r\n\t\t\t}\r\n\t\t\tthis.matMenuTrigger.openMenu();\r\n\t\t}\r\n\t}\r\n\r\n\torgItemClicked(key: string, currentNode: any) {\r\n\t\tswitch (key) {\r\n\t\t\tcase 'edit':\r\n\t\t\t\tthis.add(currentNode.data.node, null, currentNode.data.dataItem);\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'delete':\r\n\t\t\t\tthis.deleteNode(currentNode);\r\n\t\t\t\tbreak;\r\n\t\t\tcase this.decisionState.approve:\r\n\t\t\t\tcurrentNode.data.dataItem[this.cssDecisionKey] = key;\r\n\t\t\t\tcurrentNode.data.dataItem[this.decisionKey] = key;\r\n\t\t\t\tcurrentNode.data.dataItem[this.rejectReasonKey] = '';\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t\tbreak;\r\n\t\t\tcase this.decisionState.reject:\r\n\t\t\t\tthis.showRejectReason(false, currentNode.data.dataItem[this.rejectReasonKey], this.rejectReasonKey, (reason) => {\r\n\t\t\t\t\tcurrentNode.data.dataItem[this.cssDecisionKey] = key;\r\n\t\t\t\t\tcurrentNode.data.dataItem[this.decisionKey] = key;\r\n\t\t\t\t\tcurrentNode.data.dataItem[this.rejectReasonKey] = reason;\r\n\t\t\t\t\tthis.notifyValue();\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tconst subNode = currentNode.data.node.children.find(q => q.key == key);\r\n\t\t\t\tthis.add(subNode, currentNode.data.dataItem.id);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\tshowReason(data: any, rejectKey: string) {\r\n\t\tconst key = this.customOptions?.takeDecision?.rejectReasonKeys?.find(k => !!data[k]);\r\n\t\tthis.showRejectReason(true, data[key], rejectKey);\r\n\t}\r\n\r\n\tprivate showRejectReason(disabled: boolean, reason: string, rejectKey: string, callback: (reason) => void = null) {\r\n\t\tthis.dialog.open(RejectReasonOrgItem, {\r\n\t\t\tdata: {\r\n\t\t\t\treason: reason || '',\r\n\t\t\t\tdisabled: disabled,\r\n\t\t\t\tdir: this.dir,\r\n\t\t\t\trejectKey: rejectKey\r\n\t\t\t},\r\n\t\t\twidth: '70%',\r\n\t\t\tpanelClass: 'custom-event-modal-component',\r\n\t\t\tdisableClose: false,\r\n\t\t}).afterClosed()\r\n\t\t\t.pipe(filter(q => !!q))\r\n\t\t\t.subscribe(result => {\r\n\t\t\t\tif (callback) callback(result);\r\n\t\t\t});\r\n\t}\r\n\r\n\tadd(node: OrgNodeConfig, parentId: string = null, editDataItem: any = null) {\r\n\t\tlet data = {};\r\n\t\tif (node.form?.data)\r\n\t\t\tdata = Utils.evaluate(node.form.data, {\r\n\t\t\t\trole: node.key,\r\n\t\t\t\tselectedIds: this.getSelectedIds([], this.dataItems, editDataItem ? editDataItem.id : null),\r\n\t\t\t\tdata: this.data,\r\n\t\t\t\tid: editDataItem?.id\r\n\t\t\t});\r\n\t\tthis.dialog.open(AddEditOrgItem, {\r\n\t\t\tdata: {\r\n\t\t\t\ttitle: editDataItem ? 'Edit' : 'Add',\r\n\t\t\t\tisFormio: this.customOptions.isFormio,\r\n\t\t\t\tisMassar: this.customOptions.isMassar,\r\n\t\t\t\tviewOnly: false,\r\n\t\t\t\tformKey: node.form.key,\r\n\t\t\t\tsubmission: { data },\r\n\t\t\t\tdir: this.dir,\r\n\t\t\t\tcustomOptions: this.customOptions\r\n\t\t\t},\r\n\t\t\theight: '100vh',\r\n\t\t\twidth: '100vw',\r\n\t\t\tpanelClass: 'full-screen-modal',\r\n\t\t\tdirection: this.dir,\r\n\t\t\tautoFocus: false,\r\n\t\t\trestoreFocus: false,\r\n\t\t\tdisableClose: false,\r\n\t\t}).afterClosed()\r\n\t\t\t.pipe(filter(q => !!q))\r\n\t\t\t.subscribe(result => {\r\n\r\n\t\t\t\tconst dataItem = Utils.evaluate(node.form.bindResult, { result, data: this.data });\r\n\r\n\t\t\t\tif (editDataItem) {\r\n\t\t\t\t\tconst node = this.findNode(editDataItem.id);\r\n\t\t\t\t\tnode.data.dataItem = {\r\n\t\t\t\t\t\t...node.data.dataItem,\r\n\t\t\t\t\t\t...dataItem\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.customOptions?.takeDecision?.cssDecisionKeys?.forEach(key => {\r\n\t\t\t\t\t\tnode.data.dataItem[key] = '';\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.customOptions?.takeDecision?.decisionKeys?.forEach(key => {\r\n\t\t\t\t\t\tnode.data.dataItem[key] = '';\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.customOptions?.takeDecision?.rejectReasonKeys?.forEach(key => {\r\n\t\t\t\t\t\tnode.data.dataItem[key] = '';\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconst item = {\r\n\t\t\t\t\t\ttype: 'orgItem',\r\n\t\t\t\t\t\texpanded: true,\r\n\t\t\t\t\t\tdata: {\r\n\t\t\t\t\t\t\tdataItem: {\r\n\t\t\t\t\t\t\t\t...dataItem,\r\n\t\t\t\t\t\t\t\torder: 0\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tnode: node\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tchildren: []\r\n\t\t\t\t\t};\r\n\t\t\t\t\tif (parentId)\r\n\t\t\t\t\t\tthis.addToParent(this.orgData[0], parentId, item);\r\n\t\t\t\t\telse this.orgData.push(item);\r\n\t\t\t\t}\r\n\t\t\t\tthis.orgData = _cloneDeep(this.orgData);\r\n\t\t\t\tthis.notifyValue();\r\n\r\n\t\t\t\tthis.formioComponent?.root?.events?.emit('formio.registerComponent');\r\n\t\t\t});\r\n\t}\r\n\tcssDecisionClass(node) {\r\n\t\tconst key = this.customOptions?.takeDecision?.cssDecisionKeys?.findLast(key => node.data.dataItem[key]);\r\n\t\tif (!key) return '';\r\n\t\treturn node.data.dataItem[key];\r\n\t}\r\n\thasRejectReason(node: any) {\r\n\t\tconst index = this.customOptions?.takeDecision?.rejectReasonKeys?.findIndex(key => !!node.data.dataItem[key]);\r\n\t\treturn index >= 0 ? this.customOptions?.takeDecision?.rejectReasonKeys[index] : null;\r\n\t}\r\n\r\n\tprivate afterChangeValue() {\r\n\t\tif (this.customOptions && this.customOptions.afterChange)\r\n\t\t\tthis.customOptions.afterChange.forEach(item => {\r\n\t\t\t\tconst mustUpdateValues = item.condition ? this.formioComponent.evaluate(item.condition, { data: this.data }) : true;\r\n\t\t\t\tif (mustUpdateValues) {\r\n\t\t\t\t\tif (this.formioComponent.root.wizard) {\r\n\t\t\t\t\t\tconst pages = this.formioComponent.root.getFastPages({ all: true, withoutFirstLoad: true });\r\n\t\t\t\t\t\tthis.searchAndUpdateComponent(pages, item);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst nestedForms = Utils.searchComponents(this.formioComponent.root.components, { type: 'form', 'component.display': 'wizard' });\r\n\t\t\t\t\t\tnestedForms.forEach(formComponent => {\r\n\t\t\t\t\t\t\tformComponent.subFormReady.then((subForm) => {\r\n\t\t\t\t\t\t\t\tconst pages = subForm.getFastPages({ all: true, withoutFirstLoad: true });\r\n\t\t\t\t\t\t\t\tthis.searchAndUpdateComponent(pages, item);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tconst components = this.searchAndUpdateComponent(this.formioComponent.root.components, item);\r\n\t\t\t\t\t\tif (!components?.length) {\r\n\t\t\t\t\t\t\tconst nestedForms = Utils.searchComponents(this.formioComponent.root.components, { type: 'form' });\r\n\t\t\t\t\t\t\tnestedForms.forEach(formComponent => {\r\n\t\t\t\t\t\t\t\tformComponent.subFormReady.then((subForm) => {\r\n\t\t\t\t\t\t\t\t\tthis.searchAndUpdateComponent(subForm.components, item);\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate searchAndUpdateComponent(formComponents: any[], afterChangeItem: any): any[] {\r\n\t\tconst components = Utils.searchComponents(formComponents, { key: afterChangeItem.key });\r\n\t\tcomponents.forEach(c => {\r\n\t\t\tconst value = this.formioComponent.evaluate(afterChangeItem.value, {\r\n\t\t\t\tdata: this.data,\r\n\t\t\t\thasRejectedDecision: this.hasRejectedDecision,\r\n\t\t\t\tshowTakeDecisionMsg: this.showTakeDecisionMsg\r\n\t\t\t});\r\n\t\t\tc.setValue(value);\r\n\t\t});\r\n\t\treturn components;\r\n\t}\r\n\r\n\tprivate checkRejectedDecision(dataItem: any) {\r\n\t\tif (this.customOptions?.takeDecision?.decisionKeys?.some(key => dataItem[key] == this.decisionState.reject)) {\r\n\t\t\tthis.hasRejectedDecision = true;\r\n\t\t\treturn this.hasRejectedDecision;\r\n\t\t}\r\n\r\n\t\tfor (let index = 0; index < dataItem.children.length; index++) {\r\n\t\t\tconst result = this.checkRejectedDecision(dataItem.children[index]);\r\n\t\t\tif (result) {\r\n\t\t\t\tthis.hasRejectedDecision = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn this.hasRejectedDecision;\r\n\t}\r\n\r\n\tprivate checkAllDecisions(dataItem: any) {\r\n\t\tif (this.customOptions?.takeDecision?.decisionKeys?.some(key => !dataItem[key])) {\r\n\t\t\tthis.showTakeDecisionMsg = true;\r\n\t\t\treturn this.showTakeDecisionMsg;\r\n\t\t}\r\n\r\n\t\tfor (let index = 0; index < dataItem.children.length; index++) {\r\n\t\t\tconst result = this.checkAllDecisions(dataItem.children[index]);\r\n\t\t\tif (result) {\r\n\t\t\t\tthis.showTakeDecisionMsg = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn this.showTakeDecisionMsg;\r\n\t}\r\n\r\n\tprivate initValue() {\r\n\t\tif (this.value.role == this.orgNodeConfig.key) {\r\n\t\t\tconst node = this.recursiveInitValue(this.value, this.orgNodeConfig);\r\n\t\t\tthis.orgData = [node];\r\n\t\t\tthis.orgData = _cloneDeep(this.orgData);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate recursiveInitValue(dataItem, nodeItem) {\r\n\t\tconst data = _cloneDeep(dataItem);\r\n\r\n\t\tconst childrenNodes = [];\r\n\t\tdataItem.children.forEach(child => {\r\n\t\t\tconst childs = this.recursiveInitValue(child, nodeItem.children.find(q => q.key == child.role));\r\n\t\t\tchildrenNodes.push(childs);\r\n\t\t});\r\n\r\n\t\tconst node = {\r\n\t\t\ttype: 'orgItem',\r\n\t\t\texpanded: true,\r\n\t\t\tdata: {\r\n\t\t\t\tdataItem: data,\r\n\t\t\t\tnode: nodeItem\r\n\t\t\t},\r\n\t\t\tchildren: childrenNodes\r\n\t\t};\r\n\t\treturn node;\r\n\t}\r\n\r\n\tprivate deleteNode(currentNode: any) {\r\n\t\tDeleteConfirmationDialog.build(\r\n\t\t\tthis.formioComponent,\r\n\t\t\t() => {\r\n\t\t\t\tthis.recursiveDeleteNode(currentNode.data.dataItem.id);\r\n\t\t\t\tthis.orgData = _cloneDeep(this.orgData);\r\n\t\t\t\tthis.notifyValue();\r\n\t\t\t\tconsole.log(currentNode.data.dataItem.id);\r\n\t\t\t},\r\n\t\t\tnull,\r\n\t\t\t'Are you sure to delete this item'\r\n\t\t);\r\n\t}\r\n\r\n\tprivate recursiveDeleteNode(id: string, nodes: any = this.orgData) {\r\n\t\tconst index = nodes.findIndex(q => q.data.dataItem.id == id);\r\n\t\tif (index >= 0) nodes.splice(index, 1);\r\n\t\telse {\r\n\t\t\tnodes.forEach(node => {\r\n\t\t\t\tthis.recursiveDeleteNode(id, node.children);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate findNode(id: string, node: any = this.orgData[0]) {\r\n\t\tif (node.data.dataItem.id == id) return node;\r\n\t\telse {\r\n\t\t\tlet model = null;\r\n\t\t\tfor (let index = 0; index < node.children.length; index++) {\r\n\t\t\t\tmodel = this.findNode(id, node.children[index]);\r\n\t\t\t\tif (model) break;\r\n\t\t\t}\r\n\t\t\treturn model;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate findDataModel(id: string, dataModel: any = this.dataItems) {\r\n\t\tif (dataModel.id == id) return dataModel;\r\n\t\telse {\r\n\t\t\tlet model = null;\r\n\t\t\tfor (let index = 0; index < dataModel.children.length; index++) {\r\n\t\t\t\tmodel = this.findDataModel(id, dataModel.children[index]);\r\n\t\t\t\tif (model) break;\r\n\t\t\t}\r\n\t\t\treturn model;\r\n\t\t}\r\n\t}\r\n\tprivate cleanData(node: TreeNode) {\r\n\t\tconst data = node.data.dataItem;\r\n\t\tdata.children = [];\r\n\t\tnode.children?.forEach(node => {\r\n\t\t\tdata.children.push(this.cleanData(node));\r\n\t\t});\r\n\t\treturn data;\r\n\t}\r\n\r\n\tprivate getSelectedIds(ids: string[] = [], dataModel: any = this.dataItems, excludeEditId: string = null) {\r\n\t\tif (dataModel?.id) {\r\n\t\t\tif (excludeEditId != dataModel.id) ids.push(dataModel.id);\r\n\t\t\tdataModel.children?.forEach(dm => {\r\n\t\t\t\tthis.getSelectedIds(ids, dm, excludeEditId);\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn ids.join();\r\n\t}\r\n\r\n\tprivate addToParent(node: TreeNode, parentId: string, item: TreeNode) {\r\n\t\tif (node.data.dataItem.id == parentId) {\r\n\t\t\tnode.children.push(item);\r\n\t\t\tnode.children.forEach((item, index) => item.data.dataItem.order = index);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tnode.children.forEach(n => this.addToParent(n, parentId, item));\r\n\t\t};\r\n\t}\r\n\r\n\tprivate initItems(node: OrgNodeConfig) {\r\n\t\tif (node.image) {\r\n\t\t\tnode.image = Utils.interpolate(node.image, { config: this.formioAppConfig });\r\n\t\t}\r\n\r\n\t\tif (node.maxItem)\r\n\t\t\tnode.maxItem = this.formioComponent.evaluate(node.maxItem, { data: this.data });\r\n\r\n\t\tnode.children?.forEach(item => {\r\n\t\t\tthis.initItems(item);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang == 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\r\n\tprivate init() {\r\n\t\tWZoom.create('#orgContent', {\r\n\t\t\ttype: 'html',\r\n\t\t\twidth: 4000,\r\n\t\t\theight: 750,\r\n\t\t\tminScale: 0.5,\r\n\t\t\tmaxScale: 100,\r\n\t\t\tzoomOnClick: false\r\n\t\t});\r\n\t}\r\n}\r\n","import { environment } from 'src/environments/environment';\r\n\r\nconst LOGGER = 'logger';\r\n\r\nexport const registerLogger = function () {\r\n\twindow[LOGGER] = { ...console };\r\n\tfor (const method in console) {\r\n\t\tif (typeof console[method] === 'function') {\r\n\t\t\tif (!environment.enableLogger) {\r\n\t\t\t\tconsole[method] = function (...args) {};\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\r\n\r\n","
    \r\n\t
    \r\n\t\t
    \r\n\t\t\t\r\n\t\t
    \r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t
    \r\n
    \r\n
    ","import { Utils } from \"formiojs\";\r\nimport {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n AfterViewInit,\r\n ViewEncapsulation,\r\n OnDestroy,\r\n OnChanges,\r\n SimpleChanges,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { FormioLoader, FormioCustomComponent, FormioComponent, ResourceNameService } from \"dp-formio\";\r\n\r\ndeclare var $: any;\r\n@Component({\r\n selector: \"app-form-key-wrapper\",\r\n templateUrl: \"./form-key-wrapper.component.html\",\r\n // styleUrls: ['./form-key-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader],\r\n})\r\nexport class FormKeyWrapperComponent\r\n implements FormioCustomComponent, OnDestroy, OnChanges\r\n{\r\n @ViewChild(FormioComponent) formComponent: FormioComponent;\r\n\r\n dir: \"rtl\" | \"ltr\";\r\n @Input() required: boolean;\r\n @Input() value: any = {};\r\n @Output() valueChange = new EventEmitter();\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n @Input() data: any;\r\n @Input() customOptions: any;\r\n @Input() formioComponent: any;\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) {\r\n this.subs.push(s);\r\n }\r\n\r\n formKey: string;\r\n submissionId: string;\r\n submission: any = {};\r\n formReady = false;\r\n enableFormSubmit = false;\r\n\r\n constructor(\r\n private translateService: TranslateService,\r\n private resourceNameService: ResourceNameService,\r\n private formioLoader: FormioLoader\r\n ) {\r\n this.changeDirection(this.translateService.currentLang);\r\n this.sub = this.translateService.onLangChange.subscribe((data) => {\r\n this.changeDirection(data.lang);\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.customOptions) {\r\n if (this.customOptions.formKey) {\r\n this.formKey = this.customOptions.formKey;\r\n let extraOptions = {};\r\n if (this.customOptions.extra)\r\n extraOptions = Utils.evaluate(this.customOptions.extra, {\r\n data: this.data,\r\n });\r\n if (this.customOptions.submissionId)\r\n this.submissionId = this.customOptions.submissionId;\r\n if (this.customOptions.enableFormSubmit)\r\n this.enableFormSubmit = this.customOptions.enableFormSubmit;\r\n\r\n this.loadResource(extraOptions);\r\n }\r\n }\r\n }\r\n\r\n loadResource(extraOptions: any) {\r\n if (this.submissionId) {\r\n this.sub = this.resourceNameService\r\n .loadCustomByKeyId(this.formKey, this.submissionId)\r\n .subscribe((data) => {\r\n this.submission = data;\r\n this.submission.data = { ...this.submission.data, ...extraOptions };\r\n this.formReady = true;\r\n });\r\n } else {\r\n this.submission.data = { ...extraOptions };\r\n this.formReady = true;\r\n }\r\n }\r\n\r\n onChange(submission) {\r\n if (!this.enableFormSubmit) this.notifyValue(submission.data);\r\n }\r\n\r\n notifyValue(data) {\r\n this.value = data;\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n private changeDirection(lang) {\r\n this.dir = null;\r\n setTimeout(() => {\r\n this.dir = lang === \"ar\" ? \"rtl\" : \"ltr\";\r\n });\r\n }\r\n ngOnDestroy() {\r\n this.subs.forEach((s) => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n}\r\n","
    \r\n\t\r\n\r\n\t\r\n\t
    \r\n\t\t\r\n\t
    \r\n
    \r\n","export enum RolesTypeEnum {\r\n MASAR = 'masar',\r\n ITIMAD = 'itimad',\r\n}\r\n\r\nexport enum MasarRolesEnum {\r\n MASAR_REVIEWER = 'MASAR_REVIEWER',\r\n MASAR_TEAM_LEADER = 'MASAR_TEAM_LEADER',\r\n MASAR_MEMBER = 'MASAR_MEMBER',\r\n TRAINEE_MEMBER = 'TRAINEE_MEMBER',\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { ExecuteVisitWrapperComponent } from './execute-visit-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'execute-visit',\r\n selector: 'execute-visit',\r\n title: 'execute visit'\r\n};\r\n\r\nexport function registerExecuteVisitComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, ExecuteVisitWrapperComponent, injector);\r\n}","import { SwitchLangService } from 'src/app/core/services/switch-lang.service';\r\nimport { LoggerService } from './services/logger.service';\r\nimport { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { APP_INITIALIZER, NgModule } from \"@angular/core\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { BrowserAnimationsModule, NoopAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { Platform } from '@ionic/angular';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { KeycloakService } from 'keycloak-angular';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { ConfigService } from './services/config.service';\r\nimport { SessionService } from './services/session.service';\r\nimport { createExternalService } from './helpers/external-service.helper';\r\nimport { getFormioEnvironment } from './helpers/formio-enviroment.helper';\r\nimport { initializer } from './helpers/initializer.helper';\r\nimport { DatePipe } from '@angular/common';\r\nimport { FormioAppConfig, FormioTranslate, ExternalService, FormioAuthConfig, FormioAuthService } from 'dp-formio';\r\nimport { MatPaginatorIntl } from '@angular/material/paginator';\r\nimport { PaginatorI18n } from './paginator-i18n';\r\nimport { LicenseInterceptor } from './interceptors/license.interceptor';\r\nimport { TitleService } from './services/title.service';\r\n\r\nexport const FormAuthConfig: FormioAuthConfig = {\r\n\tlogin: {\r\n\t\tform: 'user/login',\r\n\t},\r\n\tregister: {\r\n\t\tform: 'user/register',\r\n\t},\r\n};\r\n@NgModule({\r\n\tdeclarations: [],\r\n\timports: [BrowserModule, BrowserAnimationsModule, HttpClientModule, SharedModule],\r\n\texports: [BrowserAnimationsModule, HttpClientModule, SharedModule],\r\n\tproviders: [\r\n\t\tDatePipe,\r\n\r\n\t\t{\r\n\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\tuseFactory: initializer,\r\n\t\t\tmulti: true,\r\n\t\t\tdeps: [\r\n\t\t\t\tKeycloakService,\r\n\t\t\t\tSessionService,\r\n\t\t\t\tPlatform,\r\n\t\t\t\tConfigService,\r\n\t\t\t\tLoggerService,\r\n\t\t\t\tSwitchLangService,\r\n\t\t\t],\r\n\t\t},\r\n\t\t{ provide: FormioAppConfig, useFactory: getFormioEnvironment },\r\n\t\t{\r\n\t\t\tprovide: FormioTranslate,\r\n\t\t\tuseClass: TranslateService,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: ExternalService,\r\n\t\t\tdeps: [HttpClient],\r\n\t\t\tuseFactory: createExternalService,\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: MatPaginatorIntl,\r\n\t\t\tuseClass: PaginatorI18n,\r\n\t\t},\r\n\t\tFormioAuthService,\r\n\t\t{ provide: HTTP_INTERCEPTORS, useClass: LicenseInterceptor, multi: true },\r\n\t\t{ provide: FormioAuthConfig, useValue: FormAuthConfig },\r\n\t\t{ provide: TitleService, useClass: TitleService },\r\n\t],\r\n})\r\nexport class CoreModule {}\r\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\r\nimport { Observable, startWith, takeUntil } from 'rxjs';\r\nimport { IMember } from '../../models/member';\r\nimport { BaseComponent } from '../base.component';\r\n\r\n@Component({\r\n selector: 'app-member-length-icon',\r\n templateUrl: './member-length-icon.component.html',\r\n styleUrls: ['./member-length-icon.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MemberLengthIconComponent extends BaseComponent implements OnInit {\r\n @Input() isOpen = false;\r\n @Input() members: IMember[] = [];\r\n dir: 'rtl' | 'ltr' = 'rtl';\r\n lang = 'en';\r\n constructor(private translate: TranslateService) {\r\n super();\r\n }\r\n ngOnInit(): void {\r\n (this.translate.onLangChange as Observable)\r\n .pipe(startWith({ lang: this.translate.currentLang }), takeUntil(this.destroy$))\r\n .subscribe((res) => {\r\n this.dir = res.lang == 'ar' ? 'rtl' : 'ltr';\r\n });\r\n }\r\n}\r\n","import { IndicatorComponent } from './indicator/indicator.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Component, EventEmitter, Input, Output, ViewEncapsulation, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { map, Subscription } from 'rxjs';\r\nimport { SortHelper } from '../../helpers/sort.helper';\r\nimport { Indicator, IndicatorStatus } from './models/indicator.model';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { Utils } from 'formiojs';\r\nimport { FormioLoader, FormioCustomComponent, ResourceNameService } from 'dp-formio';\r\n\r\n@Component({\r\n selector: 'app-indicators-wrapper',\r\n templateUrl: './indicators-wrapper.component.html',\r\n // styleUrls: ['./indicators-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader]\r\n})\r\nexport class IndicatorsWrapperComponent implements FormioCustomComponent, OnDestroy, OnChanges {\r\n dir: 'rtl' | 'ltr';\r\n @Input() required: boolean;\r\n\r\n @Input()\r\n value: any = {};\r\n\r\n @Output()\r\n valueChange = new EventEmitter();\r\n\r\n @Input()\r\n disabled: boolean;\r\n\r\n @Input()\r\n viewOnly: boolean;\r\n\r\n @Input()\r\n data: any;\r\n\r\n @Input()\r\n customOptions: any;\r\n\r\n @Input()\r\n formioComponent: any;\r\n\r\n query = ``;\r\n indicators: Indicator[] = [];\r\n indicatorStatus = IndicatorStatus;\r\n\r\n hideSummary: boolean;\r\n\r\n hideQuestions: boolean;\r\n hideAttachments: boolean;\r\n hideNotes: boolean;\r\n hideRecommendations: boolean;\r\n hideDecision: boolean;\r\n hideSaveDomain: boolean;\r\n\r\n disableQuestions: boolean;\r\n disableAttachments: boolean;\r\n disableNotes: boolean;\r\n disableRecommendations: boolean;\r\n disableDecision: boolean;\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n constructor(private translateService: TranslateService,\r\n private resourceNameService: ResourceNameService,\r\n private matDialog: MatDialog,\r\n private formioLoader: FormioLoader) {\r\n this.changeDirection(this.translateService.currentLang);\r\n this.sub = this.translateService.onLangChange.subscribe(data => {\r\n this.changeDirection(data.lang);\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.customOptions && this.customOptions.resource) {\r\n this.query = this.formioComponent.interpolate(this.customOptions.query, { data: this.data });\r\n\r\n this.hideSummary = eval(this.formioComponent.interpolate(this.customOptions.hideSummary, { data: this.data }));\r\n\r\n this.hideQuestions = eval(this.formioComponent.interpolate(this.customOptions.hideQuestions, { data: this.data }));\r\n this.hideAttachments = eval(this.formioComponent.interpolate(this.customOptions.hideAttachments, { data: this.data }));\r\n this.hideNotes = eval(this.formioComponent.interpolate(this.customOptions.hideNotes, { data: this.data }));\r\n this.hideRecommendations = eval(this.formioComponent.interpolate(this.customOptions.hideRecommendations, { data: this.data }));\r\n this.hideDecision = eval(this.formioComponent.interpolate(this.customOptions.hideDecision, { data: this.data }));\r\n this.hideSaveDomain = eval(this.formioComponent.interpolate(this.customOptions.hideSaveDomain, { data: this.data }));\r\n\r\n this.disableQuestions = eval(this.formioComponent.interpolate(this.customOptions.disableQuestions, { data: this.data }));\r\n this.disableAttachments = eval(this.formioComponent.interpolate(this.customOptions.disableAttachments, { data: this.data }));\r\n this.disableNotes = eval(this.formioComponent.interpolate(this.customOptions.disableNotes, { data: this.data }));\r\n this.disableRecommendations = eval(this.formioComponent.interpolate(this.customOptions.disableRecommendations, { data: this.data }));\r\n this.disableDecision = eval(this.formioComponent.interpolate(this.customOptions.disableDecision, { data: this.data }));\r\n\r\n this.getIndicatorsResources();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n openIndicator(indicator: Indicator, isSummary = false) {\r\n const dialog = this.matDialog.open(IndicatorComponent, {\r\n data: {\r\n dir: this.dir,\r\n submission: this.data,\r\n indicator: _cloneDeep(indicator),\r\n customOptions: this.customOptions,\r\n viewOnly: this.viewOnly,\r\n isSummary: isSummary,\r\n options: {\r\n hideQuestions: this.hideQuestions,\r\n hideAttachments: this.hideAttachments,\r\n hideNotes: this.hideNotes,\r\n hideRecommendations: this.hideRecommendations,\r\n hideDecision: this.hideDecision,\r\n hideSaveDomain: this.hideSaveDomain,\r\n disableQuestions: this.disableQuestions,\r\n disableAttachments: this.disableAttachments,\r\n disableNotes: this.disableNotes,\r\n disableRecommendations: this.disableRecommendations,\r\n disableDecision: this.disableDecision\r\n }\r\n },\r\n height: '100vh',\r\n width: '100vw',\r\n panelClass: 'full-screen-modal',\r\n disableClose: true\r\n });\r\n const sub = dialog.afterClosed().subscribe(result => {\r\n sub.unsubscribe();\r\n if (result) {\r\n this.indicators[this.indicators.findIndex(q => q.id == result.id)] = result;\r\n this.notifyValue();\r\n }\r\n });\r\n }\r\n\r\n private notifyValue(updateBaseForm = true) {\r\n this.value = { indicatorsData: this.indicators.map(q => q.id) };\r\n this.valueChange.emit(this.value);\r\n this.afterChangeValue(updateBaseForm);\r\n }\r\n\r\n private afterChangeValue(updateBaseForm = true) {\r\n if (this.customOptions && this.customOptions.afterChange)\r\n this.customOptions.afterChange.forEach(item => {\r\n const mustUpdateValues = eval(this.formioComponent.interpolate(item.condition, { data: this.data }));\r\n if (mustUpdateValues) {\r\n const components = Utils.searchComponents(this.formioComponent.root.components, { key: item.key });\r\n components.forEach(c => {\r\n const value = this.formioComponent.interpolate(item.value, { data: this.data, indicators: this.indicators, indicatorStatus: this.indicatorStatus });\r\n c.setValue(value);\r\n c.checkCondition();\r\n });\r\n\r\n const nestedForms = Utils.searchComponents(this.formioComponent.root.components, { type: 'form' });\r\n nestedForms.forEach(formComponent => {\r\n formComponent.subFormReady.then((subForm) => {\r\n Utils.eachComponent(subForm.components, (component) => {\r\n if (component.key == item.key) {\r\n const value = this.formioComponent.interpolate(item.value, { data: this.data, indicators: this.indicators, indicatorStatus: this.indicatorStatus });\r\n component.setValue(value);\r\n component.checkCondition();\r\n }\r\n }, true);\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n private changeDirection(lang) {\r\n this.dir = null;\r\n setTimeout(() => { this.dir = lang === 'ar' ? 'rtl' : 'ltr'; });\r\n }\r\n\r\n private getIndicatorsResources() {\r\n if (!this.formioComponent.visible) return;\r\n this.formioLoader.loading = true;\r\n\r\n //todo this two line just for test\r\n // this.formioComponent.data.requestId = 500;\r\n // this.formioComponent.data.submissionId = '6176a990e4f0395c57b16ce1';\r\n\r\n this.sub = this.resourceNameService.loadCustomByFilterdKey(this.customOptions.resource, this.query).pipe(\r\n map((resultData: any) => {\r\n return SortHelper.recursiveSort(resultData, 'asc').map(q => {\r\n const item = new Indicator(q._id, q.data.key, q.data.icon, q.data.order);\r\n item.attachmentsFormKey = this.customOptions.attachmentsForm;\r\n item.requestId = this.formioComponent.data.varRequestId;\r\n item.submissionId = this.formioComponent.data.varSubmissionId;\r\n return item;\r\n })\r\n }))\r\n .subscribe(data => {\r\n if (data && data.length) {\r\n const indicatorsId = data.map(q => q.id).join();\r\n const query = `data.requestId=${data[0].requestId}&data.indicatorId__in=${indicatorsId}`;\r\n this.sub = this.resourceNameService.loadCustomByFilterdKey(this.customOptions.indicatorResult, query)\r\n .subscribe(indicators => {\r\n indicators.forEach(q => {\r\n const index = data.findIndex(d => d.id == q.data.indicatorId);\r\n if (index >= 0) {\r\n data[index].status = q.data.status;\r\n data[index].resultSubmissionId = q._id;\r\n }\r\n });\r\n this.indicators = data;\r\n console.log(this.indicators);\r\n this.notifyValue(false);\r\n this.formioLoader.loading = false;\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n });\r\n }\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n });\r\n }\r\n}\r\n","export * from './custom-select.service';\r\n","import { environment as defaultEnvironment } from './environment';\r\n\r\nexport const environmentLoader = new Promise((resolve, reject) => {\r\n // tslint:disable-next-line:one-variable-per-declaration\r\n const xmlhttp = new XMLHttpRequest(),\r\n method = 'GET',\r\n url = './assets/environments/environment.json';\r\n xmlhttp.open(method, url, true);\r\n xmlhttp.onload = () => {\r\n const production = defaultEnvironment.production;\r\n if (xmlhttp.status === 200) {\r\n try {\r\n resolve({\r\n ...JSON.parse(xmlhttp.responseText),\r\n production\r\n });\r\n } catch (e) {\r\n resolve({\r\n ...defaultEnvironment,\r\n production\r\n });\r\n }\r\n } else {\r\n resolve({\r\n ...defaultEnvironment,\r\n production\r\n });\r\n }\r\n };\r\n xmlhttp.send();\r\n});\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { combineLatest, filter, map, Observable, switchMap } from 'rxjs';\r\nimport { finalize, takeUntil } from 'rxjs';\r\nimport { SHA256 } from 'crypto-js';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { CriterionsService } from '../../../services/criterions.service';\r\n\r\n@Component({\r\n selector: 'app-masar-question-preview',\r\n templateUrl: './masar-question-preview.component.html',\r\n styleUrls: ['./masar-question-preview.component.scss']\r\n})\r\nexport class MasarQuestionPreviewComponent extends BaseComponent implements OnInit {\r\n process$ = this.criterionsService.process$;\r\n question$ = this.criterionsService.questionResult$;\r\n answers$: Observable>;\r\n attachmentFormKey = this.criterionsService.forms.attachmentsFormKey;\r\n isLoadingResults = false;\r\n\r\n constructor(private criterionsService: CriterionsService) { super(); }\r\n\r\n ngOnInit(): void {\r\n this.isLoadingResults = true;\r\n this.criterionsService.criterion$\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n filter(data => data.criterionType == 'STICK'),\r\n switchMap(data => this.criterionsService.getQuestion(data.submissionId)\r\n .pipe(finalize(() => {\r\n this.isLoadingResults = false;\r\n })))\r\n ).subscribe(data => {\r\n data.evaluationItems?.forEach(item => {\r\n const jsonString = JSON.stringify(item);\r\n item.id = SHA256(jsonString).toString();\r\n });\r\n this.criterionsService.questionResult$.next(data);\r\n });\r\n this.initAnswers();\r\n }\r\n\r\n private initAnswers() {\r\n this.answers$ = combineLatest([this.question$, this.criterionsService.process$])\r\n .pipe(\r\n map(([question, process]) => {\r\n if (process.answerMaxScore) {\r\n const generalToolTip = question.answerTooltip ? question.answerTooltip.find(q => !q.score) : { tooltip: '' };\r\n return Array.from({ length: process.answerMaxScore }, (_, i) => {\r\n const answerTooltip = generalToolTip ?? question.answerTooltip.find(q => q.score == i + 1);\r\n return {\r\n value: `${i + 1}`,\r\n tooltipAr: answerTooltip?.tooltipAr,\r\n tooltipEn: answerTooltip?.tooltipEn,\r\n hasTooltip: !!answerTooltip?.tooltipAr || !!answerTooltip?.tooltipEn\r\n }\r\n });\r\n }\r\n }));\r\n }\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subscription } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { RequestsService } from 'src/app/modules/requests/requests.service';\r\nimport { ErrorToast, FormioLoader, SuccessToast } from 'dp-formio';\r\n\r\n@Component({\r\n\tselector: 'app-request-feedback',\r\n\ttemplateUrl: './request-feedback.component.html',\r\n\tstyleUrls: ['./request-feedback.component.scss'],\r\n})\r\nexport class RequestFeedbackComponent implements OnInit, OnDestroy {\r\n\tdata: any;\r\n\trequestId: string;\r\n\tfeedbackId: string;\r\n\tfeedbackFormKey: string;\r\n\tformReady = false;\r\n\tfeedbackSubmission = { data: {} };\r\n\trequestDetailsSubmission: any = { data: {} };\r\n\r\n\tprivate subs: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subs.push(s);\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate translateService: TranslateService,\r\n\t\tprivate requestsService: RequestsService,\r\n\t\tprivate route: ActivatedRoute,\r\n\t\tprivate router: Router,\r\n\t\tprivate formioLoader: FormioLoader,\r\n\t\tprivate toastrService: ToastrService\r\n\t) {}\r\n\r\n\tngOnInit() {\r\n\t\tthis.formioLoader.loading = true;\r\n\t\tthis.sub = this.route.params.subscribe((params) => {\r\n\t\t\tthis.feedbackId = params['feedbackId'];\r\n\t\t\tthis.requestId = params['requestId'];\r\n\r\n\t\t\tthis.getRequestAndFeedbackDetails();\r\n\t\t});\r\n\t}\r\n\r\n\tgetRequestAndFeedbackDetails() {\r\n\t\tthis.sub = this.requestsService\r\n\t\t\t.getRequest(this.requestId)\r\n\t\t\t.pipe(\r\n\t\t\t\tswitchMap((res: any) => {\r\n\t\t\t\t\tthis.requestDetailsSubmission.data = {\r\n\t\t\t\t\t\t...res,\r\n\t\t\t\t\t\trequestDate: res.requestDate.substr(0, res.requestDate.length - 5),\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\treturn this.requestsService.checkRequestFeedback(\r\n\t\t\t\t\t\tthis.requestDetailsSubmission.data.serviceId,\r\n\t\t\t\t\t\tthis.requestId\r\n\t\t\t\t\t);\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.subscribe((res: any[]) => {\r\n\t\t\t\tif (res && res[0] != null) {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tthis.requestDetailsSubmission.data.serviceId === res[0].serviceKey &&\r\n\t\t\t\t\t\tthis.requestDetailsSubmission.data.id === res[0].requestId\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tthis.feedbackSubmission.data = {\r\n\t\t\t\t\t\t\tfeedbackId: this.feedbackId,\r\n\t\t\t\t\t\t\trequestId: this.requestId,\r\n\t\t\t\t\t\t\tserviceId: this.requestDetailsSubmission.data.serviceId,\r\n\t\t\t\t\t\t\tratingScale: res[0].ratingScale,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tthis.feedbackFormKey = res[0].formKey;\r\n\t\t\t\t\t\tthis.formReady = true;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.goToRequestDetails(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.goToRequestDetails(false);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tafterFeedbackSubmitted(event) {\r\n\t\tif (event && event.submission && event.submission.data) {\r\n\t\t\tthis.showToast(\r\n\t\t\t\tthis.translateService.instant('Done'),\r\n\t\t\t\tthis.translateService.instant('Feedback is sent successfully'),\r\n\t\t\t\tfalse\r\n\t\t\t);\r\n\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis.goToRequestDetails(true);\r\n\t\t\t}, 3000);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate showToast(title: string, message: string, isError: boolean) {\r\n\t\tthis.toastrService.show(message, title, {\r\n\t\t\ttoastClass: 'notification-toast',\r\n\t\t\tcloseButton: true,\r\n\t\t\tenableHtml: true,\r\n\t\t\ttoastComponent: isError ? ErrorToast : SuccessToast,\r\n\t\t});\r\n\t}\r\n\r\n\tgoToRequestDetails(afterSubmit: boolean) {\r\n\t\tafterSubmit ? window.close() : this.router.navigate([`/requests/details/${this.requestId}`]);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.forEach((s) => s.unsubscribe());\r\n\t\tthis.subs = [];\r\n\t}\r\n}\r\n","import { Component, Injector, ViewEncapsulation, OnInit } from '@angular/core';\r\nimport { KeycloakService } from 'keycloak-angular';\r\nimport { ErrorToast, UserService } from 'dp-formio';\r\nimport { BaseComponent } from 'src/app/shared/components/base.component';\r\n\r\n@Component({\r\n selector: 'app-dynamic-qr',\r\n templateUrl: './dynamic-qr.component.html',\r\n styleUrls: ['./dynamic-qr.component.scss']\r\n})\r\n\r\nexport class DynamicQrComponent extends BaseComponent implements OnInit {\r\n formKey: string;\r\n dataId: string;\r\n\r\n submission: any = {};\r\n formReady = false;\r\n\r\n constructor(public injector: Injector,\r\n private userService: UserService,\r\n private keycloak: KeycloakService) { super(injector); }\r\n\r\n async ngOnInit(): Promise {\r\n const isLoggedIn = await this.keycloakService.isLoggedIn();\r\n const etecData = await this.userService.getUserData(isLoggedIn ? await this.keycloak.getToken() : null);\r\n const params = this.route.snapshot.params;\r\n\r\n this.formKey = params.formKey;\r\n this.dataId = params.dataId;\r\n\r\n if (!this.formKey || !this.dataId) {\r\n this.loggerService.error(`Error : formKey and dataId are required`);\r\n this.showError();\r\n }\r\n\r\n this.submission.data = {\r\n ...etecData,\r\n formKey: this.formKey,\r\n dataId: this.dataId,\r\n };\r\n this.formReady = true;\r\n }\r\n\r\n private showError() {\r\n this.toastrService.show(\r\n this.translateService.instant(\"generalError\"),\r\n this.translateService.instant(\"ErrorOccurred\"),\r\n {\r\n toastClass: \"notification-toast\",\r\n closeButton: true,\r\n enableHtml: true,\r\n toastComponent: ErrorToast,\r\n }\r\n );\r\n this.goBack();\r\n }\r\n\r\n goBack() {\r\n this.router.navigate(['/']);\r\n }\r\n}","import { AfterViewInit, Directive, ElementRef, OnDestroy } from '@angular/core';\r\nimport { MatTabGroup } from '@angular/material/tabs';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[appScrollRetainer]',\r\n})\r\nexport class ScrollRetainerDirective implements AfterViewInit, OnDestroy {\r\n private matTabGroupEl: HTMLElement = this.el.nativeElement;\r\n private animationSub = Subscription.EMPTY;\r\n\r\n constructor(private matTabGroup: MatTabGroup, private el: ElementRef) {}\r\n\r\n public ngAfterViewInit(): void {\r\n const orig = this.matTabGroup._handleClick.bind(this.matTabGroup);\r\n this.matTabGroup._handleClick = (tab, tabHeader, index) => {\r\n if (!tab.disabled) {\r\n this.matTabGroupEl.style.minHeight = this.matTabGroupEl.clientHeight + 'px';\r\n }\r\n\r\n return orig(tab, tabHeader, index);\r\n };\r\n this.animationSub = this.matTabGroup.animationDone.subscribe(() => {\r\n this.matTabGroupEl.style.minHeight = 'unset';\r\n });\r\n }\r\n\r\n public ngOnDestroy() {\r\n this.animationSub.unsubscribe();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { KeycloakService } from 'keycloak-angular';\r\nimport { isArray } from 'util';\r\nimport { AccountService } from './account.service';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { environment } from 'src/environments/environment';\r\nimport { LoggerService } from './logger.service';\r\nimport { catchError, first } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n\r\nexport class SessionService {\r\n // tslint:disable-next-line:variable-name\r\n private _userProfile = null;\r\n private _licenseValid = true;\r\n\r\n constructor(private keycloakService: KeycloakService,\r\n private accountService: AccountService,\r\n private http: HttpClient,\r\n private loggerService: LoggerService) { }\r\n\r\n get isLicenseValid() {\r\n return this._licenseValid;\r\n }\r\n getUsername(): string {\r\n if (!this._userProfile) {\r\n return null;\r\n }\r\n\r\n return this._userProfile.login;\r\n }\r\n async checkLicense() {\r\n const response = await this.http.get(`${environment.gateway}/orchestraservice/api/v1/license/check`,\r\n { observe: 'response' }).pipe(catchError((err: HttpErrorResponse) => of(err))).toPromise();\r\n\r\n if (response.status === 200) {\r\n this._licenseValid = true;\r\n } else if (response.status === 402) {\r\n this._licenseValid = false;\r\n\r\n }\r\n }\r\n async loadUserProfile() {\r\n const isLoggedIn = await this.keycloakService.isLoggedIn();\r\n return new Promise(async (resolve, reject) => {\r\n if (this._userProfile) {\r\n resolve(this._userProfile);\r\n return;\r\n }\r\n\r\n if (!isLoggedIn) {\r\n reject('The user profile was not loaded as the user is not logged in.');\r\n return;\r\n }\r\n this.accountService.getAccount().toPromise()\r\n .then(result => {\r\n this._userProfile = result;\r\n resolve(this._userProfile);\r\n },\r\n () => resolve(this._userProfile)\r\n );\r\n });\r\n }\r\n isUserInRole(role: any, resource?: string, isEnvRole = true): boolean {\r\n\t\tconst _userRoles = this.keycloakService.getUserRoles();\r\n\t\tconst _roles = Array.isArray(role) ? role : role.split(',');\r\n\t\treturn _roles.some((r) => {\r\n\t\t\tconst _role = isEnvRole ? environment.roles[r] ?? r : r;\r\n\t\t\treturn _userRoles.includes(_role);\r\n\t\t});\r\n\t}\r\n}\r\n","\r\n\r\nexport class CopyModel {\r\n constructor(\r\n public key: string,\r\n public value: any\r\n ) { }\r\n}","import { Component, Inject, OnDestroy, OnInit, Optional } from \"@angular/core\";\r\nimport {\r\n MatDialog,\r\n MatDialogRef,\r\n MAT_DIALOG_DATA,\r\n} from \"@angular/material/dialog\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { Utils } from \"formiojs\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { FormioLoader, FIELD_TYPE, FormioTranslate, ResourceNameService, TRANSLATIONS, ErrorToast } from \"dp-formio\";\r\n\r\n@Component({\r\n selector: \"add-edit-resource-dialog\",\r\n templateUrl: \"add-edit-dialog.component.html\",\r\n styleUrls: [\"./add-edit-dialog.component.scss\"],\r\n providers: [FormioLoader],\r\n})\r\nexport class AddEditResourceDialog implements OnInit, OnDestroy {\r\n public get ENUM_FIELD_TYPE(): typeof FIELD_TYPE {\r\n return FIELD_TYPE;\r\n }\r\n\r\n formControls: FormGroup = new FormGroup({});\r\n parentId: string;\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) {\r\n this.subs.push(s);\r\n }\r\n\r\n constructor(\r\n private toastrService: ToastrService,\r\n @Optional() private translate: FormioTranslate,\r\n private formloader: FormioLoader,\r\n private resourceNameService: ResourceNameService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public fb: FormBuilder,\r\n private route: ActivatedRoute\r\n ) {\r\n this.formloader.loading = false;\r\n this.data.fields.forEach((control) => {\r\n let maxValidator = Validators.nullValidator;\r\n let minValidator = Validators.nullValidator;\r\n\r\n if (control.max || control.max === 0) {\r\n if (typeof control.max == \"string\")\r\n maxValidator = Validators.max(\r\n Utils.evaluate(control.max, { data: this.data.data })\r\n );\r\n else maxValidator = Validators.max(control.max);\r\n }\r\n if (control.min || control.min === 0) {\r\n if (typeof control.min == \"string\")\r\n minValidator = Validators.min(\r\n Utils.evaluate(control.min, { data: this.data.data })\r\n );\r\n else minValidator = Validators.min(control.min);\r\n }\r\n\r\n if (control.type === FIELD_TYPE.SELECT && this.data.isAdd) {\r\n this.getResourceData(control);\r\n }\r\n\r\n this.formControls.addControl(\r\n control.name,\r\n this.fb.control(\r\n {\r\n value: control.value || \"\",\r\n disabled: data.isView || (!data.isAdd && control.name === \"key\"),\r\n },\r\n [\r\n control.required ? Validators.required : Validators.nullValidator,\r\n maxValidator,\r\n minValidator,\r\n ]\r\n )\r\n );\r\n });\r\n console.log(this.formControls);\r\n }\r\n\r\n onInputChanged(item, event) {\r\n item.value = event.target?.value;\r\n if (item.name === \"order\") {\r\n this.data.order = +event.target?.value;\r\n }\r\n }\r\n\r\n getResourceData(control: any) {\r\n this.formloader.loading = true;\r\n this.sub = this.resourceNameService\r\n .loadCustomByKey(control.resource)\r\n .subscribe(\r\n (data) => {\r\n control.dataSource = data.sort(function (a, b) {\r\n if (a.data.order < b.data.order) {\r\n return -1;\r\n } else if (a.data.order > b.data.order) {\r\n return 1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n this.formloader.loading = false;\r\n },\r\n (error) => {\r\n this.formloader.loading = false;\r\n }\r\n );\r\n }\r\n\r\n onSaveResource() {\r\n this.formloader.loading = true;\r\n\r\n this.resourceNameService\r\n .updateTranslation({\r\n key: this.formControls.controls.key.value,\r\n nameAr: this.getTranslations(TRANSLATIONS.NAMEAR) || \"\",\r\n nameEn: this.getTranslations(TRANSLATIONS.NAMEEN) || \"\",\r\n })\r\n .subscribe(\r\n (translations: any[]) => {\r\n if (translations && translations.length) {\r\n const resourceId = this.data.isAdd === false ? this.data._id : \"\";\r\n\r\n if (typeof this.data.isParentNode === \"string\") {\r\n this.getParentKey(this.data.isParentNode, resourceId);\r\n } else {\r\n this.resourceNameService\r\n .saveResourceData(\r\n this.data.isAdd,\r\n this.data.resourceName,\r\n {\r\n ...this.excludeTranslationsFromBody(\r\n this.formControls.value\r\n ),\r\n [this.data.parentId]:\r\n typeof this.data.isParentNode === \"string\"\r\n ? this.data.isParentNode\r\n : \"\",\r\n },\r\n resourceId\r\n )\r\n .subscribe(\r\n (res: any) => {\r\n this.formloader.loading = true;\r\n if (res && res.data) {\r\n this.data._id = res._id;\r\n this.dialogRef.close(this.data);\r\n }\r\n },\r\n (error: any) => {\r\n this.formloader.loading = false;\r\n\r\n error.error.details.forEach((error) => {\r\n this.showError(\r\n this.translate.instant(\"ErrorOccurred\"),\r\n error.message\r\n );\r\n });\r\n }\r\n );\r\n }\r\n }\r\n },\r\n (err: any) => (this.formloader.loading = false)\r\n );\r\n }\r\n\r\n getParentKey(id, resourceId) {\r\n const resourceKey = this.route.snapshot.queryParams.resource;\r\n\r\n let item: any;\r\n this.resourceNameService.loadCustomByKeyId(resourceKey, id).subscribe(\r\n (res: any) => {\r\n item = {\r\n data: {\r\n ...res.data,\r\n },\r\n };\r\n },\r\n () => {},\r\n () => {\r\n this.resourceNameService\r\n .saveResourceData(\r\n this.data.isAdd,\r\n this.data.resourceName,\r\n {\r\n ...this.excludeTranslationsFromBody(this.formControls.value),\r\n [this.data.parentId]:\r\n typeof this.data.isParentNode === \"string\" ? { ...item } : \"\",\r\n },\r\n resourceId\r\n )\r\n .subscribe(\r\n (res: any) => {\r\n this.formloader.loading = true;\r\n if (res && res.data) {\r\n this.data._id = res._id;\r\n this.dialogRef.close(this.data);\r\n }\r\n },\r\n (error: any) => {\r\n this.formloader.loading = false;\r\n\r\n error.error.details.forEach((error) => {\r\n this.showError(\r\n this.translate.instant(\"ErrorOccurred\"),\r\n error.message\r\n );\r\n });\r\n }\r\n );\r\n }\r\n );\r\n }\r\n\r\n getTranslations(lang: TRANSLATIONS): string {\r\n const selectedLang = lang;\r\n\r\n const formControl: any = Object.keys(this.formControls.controls).filter(\r\n (control) => control.includes(selectedLang)\r\n );\r\n\r\n if (formControl) {\r\n return this.formControls.controls[formControl].value;\r\n }\r\n }\r\n\r\n excludeTranslationsFromBody(formControls: {}): {} {\r\n const body = {\r\n key:\r\n this.data.isAdd == false ? this.formControls.controls[\"key\"].value : \"\",\r\n };\r\n\r\n Object.keys(formControls).map((pro: string) => {\r\n if (\r\n !pro.includes(TRANSLATIONS.NAMEAR) &&\r\n !pro.includes(TRANSLATIONS.NAMEEN)\r\n ) {\r\n body[pro] = formControls[pro];\r\n }\r\n });\r\n\r\n return body;\r\n }\r\n\r\n private showError(title: string, message: string) {\r\n this.toastrService.show(message, title, {\r\n toastClass: \"notification-toast\",\r\n closeButton: true,\r\n enableHtml: true,\r\n toastComponent: ErrorToast,\r\n });\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnDestroy() {\r\n this.subs.forEach((s) => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n}\r\n","
    \r\n \r\n \r\n \r\n {{'notifications.delete' | translate}}\r\n \r\n \r\n \r\n
    ","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NotificationToast } from 'dp-formio';\r\nimport { ClipboardService } from 'ngx-clipboard';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { TemplateObject } from '../models/template-object';\r\n\r\n@Component({\r\n selector: 'lib-document-editor-sidebar',\r\n templateUrl: './document-editor-sidebar.component.html',\r\n styleUrls: ['./document-editor-sidebar.component.css']\r\n})\r\nexport class DocumentEditorSidebarComponent implements OnInit {\r\n @Output()\r\n selectField: EventEmitter<{ key: string, label: string }> = new EventEmitter<{ key: string, label: string }>();\r\n @Input()\r\n template: TemplateObject;\r\n private labelKeyMap: Map = new Map();\r\n listData: { [key: string]: any }[] = [\r\n {\r\n text: 'item.label',\r\n value: 'item.id',\r\n category: 'Drag or click the field to insert.',\r\n htmlAttributes: { draggable: true }\r\n }\r\n ];\r\n public fields: object = { tooltip: 'category' };\r\n constructor(private toastr: ToastrService,\r\n private clipboardService: ClipboardService) { }\r\n\r\n ngOnInit(): void {\r\n this.listData = [];\r\n this.labelKeyMap = new Map();\r\n this.template.fields.forEach(field => {\r\n this.listData.push({\r\n text: field.label,\r\n value: field.key,\r\n category: 'Drag or click the field to insert.',\r\n htmlAttributes: { draggable: true }\r\n });\r\n this.labelKeyMap.set(field.label, field.key);\r\n });\r\n }\r\n\r\n getItemData(label: string): { key: string, label: string } {\r\n if (this.labelKeyMap.has(label)) {\r\n return { key: this.labelKeyMap.get(label), label };\r\n } else {\r\n return { key: label, label };\r\n }\r\n }\r\n\r\n copy(key) {\r\n this.clipboardService.copy(key);\r\n this.toastr.success('Key copy successfully to clipboard', 'Copy successfully', {\r\n toastClass: 'notification-toast',\r\n messageClass: 'toast-copy-message',\r\n closeButton: true,\r\n enableHtml: true,\r\n toastComponent: NotificationToast\r\n });\r\n }\r\n}\r\n","import { Direction } from '@angular/cdk/bidi';\r\nimport { Component, EventEmitter, Injector, Input, Output, ViewEncapsulation } from '@angular/core';\r\nimport { LangChangeEvent } from '@ngx-translate/core';\r\nimport { Observable, map, startWith, takeUntil } from 'rxjs';\r\nimport { ComponentBase } from '../../base';\r\n\r\n@Component({\r\n selector: 'app-questions-container',\r\n templateUrl: './questions-container.component.html',\r\n styleUrls: ['./questions-container.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class QuestionsContainerComponent extends ComponentBase {\r\n _isOpened = false;\r\n @Input() set opened(val) {\r\n this._isOpened = val;\r\n }\r\n\r\n get opened() {\r\n return this._isOpened;\r\n }\r\n\r\n @Output() close = new EventEmitter();\r\n\r\n dir$: Observable;\r\n\r\n constructor(public injector: Injector) {\r\n super(injector);\r\n this.dir$ = (this.translateService.onLangChange as Observable).pipe(\r\n takeUntil(this.destroy$),\r\n startWith({\r\n lang: this.translateService.currentLang,\r\n }),\r\n map((lang) => (lang.lang == 'ar' ? 'rtl' : 'ltr'))\r\n );\r\n }\r\n\r\n onClose() {\r\n this.close.emit();\r\n this.opened = false;\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n\r\n\r\n \r\n

    \r\n {{\r\n criterion\r\n | propertyLocalized\r\n : [\"criterionArabicDescription\", \"criterionEnglishDescription\"]\r\n | async\r\n }}\r\n

    \r\n\r\n \r\n \r\n \r\n {{\r\n \"forms.common.Criteria.Errors.QuestionsAnsweredAndSessionStarted\"\r\n | translate\r\n }}\r\n \r\n \r\n \r\n {{ \"forms.common.Criteria.Errors.SessionStarted\" | translate }}\r\n \r\n \r\n {{ \"forms.common.Criteria.Errors.QuestionsAnswered\" | translate }}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n {{ \"forms.common.Criteria.Errors.AllSubsEvaluated\" | translate }}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {{ \"forms.common.Criteria.categoriesCompliance\" | translate }}\r\n \r\n \r\n \r\n \r\n {{ \"forms.common.Criteria.\" + item.key | translate }}\r\n\r\n \r\n info\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.CriterionSummary\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n {{ \"forms.common.Criteria.summaryOfRecommendations\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n {{ \"forms.common.Criteria.summaryOfCommendations\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n {{ \"forms.common.Criteria.summaryOfSuggestions\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.save\" | translate }}\r\n \r\n
    \r\n
    \r\n\r\n","import { AfterContentInit, ContentChild, ContentChildren, Directive, ElementRef, Input, QueryList } from '@angular/core';\r\nimport { FlexDirective } from '@angular/flex-layout';\r\nimport { SplitAreaDirective } from './split-area.directive';\r\nimport { SplitHandleDirective } from './split-handle.directive';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Directive({\r\n selector: '[appSplit]'\r\n})\r\nexport class SplitDirective implements AfterContentInit {\r\n\r\n /*tslint:disable*/\r\n @Input('appSplit')\r\n direction: string = 'row';\r\n @Input('max')\r\n max = 75;\r\n /*tslint:enable*/\r\n\r\n @ContentChild(SplitHandleDirective) handle: SplitHandleDirective;\r\n @ContentChildren(SplitAreaDirective) areas: QueryList;\r\n constructor(private elementRef: ElementRef, private translate: TranslateService) { }\r\n\r\n ngAfterContentInit(): void {\r\n if (this.handle && this.handle.drag)\r\n this.handle.drag.subscribe(pos => this.onDrag(pos));\r\n }\r\n\r\n onDrag({ x, y }): void {\r\n const delta = this.direction === 'row' ? x : y;\r\n const parentWidth = this.direction === 'row' ? this.elementRef.nativeElement.clientWidth\r\n : this.elementRef.nativeElement.clientHeight;\r\n const dir = this.translate.instant('dir');\r\n this.areas.forEach((area, i) => {\r\n // get the cur flex\r\n const subDelta = (i === 0 && dir !== 'rtl') ||\r\n (i === 1 && dir === 'rtl') ? delta : -delta;\r\n const flex = (area.flex as FlexDirective);\r\n\r\n flex.activatedValue = this.calculateSize(flex.activatedValue, subDelta, parentWidth);\r\n\r\n });\r\n }\r\n\r\n calculateSize(activatedValue, delta, parentWidth) {\r\n\r\n const flexPerc = activatedValue;\r\n\r\n // get the % in px\r\n const areaCur = parseFloat(flexPerc);\r\n const areaPx = parentWidth * (areaCur / 100);\r\n\r\n // determine which dir and calc the diff\r\n let areaDiff;\r\n areaDiff = areaPx + delta;\r\n\r\n\r\n // convert the px to %\r\n let newAreaPx = (areaDiff / parentWidth) * 100;\r\n newAreaPx = Math.max(newAreaPx, 0);\r\n newAreaPx = Math.min(newAreaPx, 100);\r\n\r\n // update flexlayout\r\n if (newAreaPx >= 100 - this.max && newAreaPx <= this.max) {\r\n return newAreaPx + '%';\r\n } else {\r\n return activatedValue + '%';\r\n }\r\n\r\n }\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { GroupedTableWrapperComponent } from './grouped-table-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'grouped-table', // custom type. Formio will identify the field with this type.\r\n selector: 'grouped-table', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'grouped table', // Title of the component\r\n// template: 'input', // Optional: define a template for the element. Default: input\r\n// changeEvent: 'valueChange', // Optional: define the changeEvent when the formio updates the value in the state. Default: 'valueChange',\r\n// editForm: Components.components.textfield.editForm, // Optional: define the editForm of the field. Default: the editForm of a textfield\r\n// documentation: '', // Optional: define the documentation of the field\r\n// weight: 0, // Optional: define the weight in the builder group\r\n// schema: {}, // Optional: define extra default schema for the field\r\n// extraValidators: [], // Optional: define extra validators for the field\r\n// emptyValue: null, // Optional: the emptyValue of the field\r\n// fieldOptions: ['values'], // Optional: explicit field options to get as `Input` from the schema (may edited by the editForm)\r\n};\r\n\r\nexport function registerGroupedTableComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, GroupedTableWrapperComponent, injector);\r\n} ","","
    \r\n \r\n \r\n \r\n \r\n \r\n {{ \"forms.common.MasarCriteria.title\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{ \"forms.common.Criteria.title\" | translate }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n","
    \r\n \r\n
    \r\n\r\n\r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {{ \"forms.common.Criteria.categoriesCompliance\" | translate\r\n }} \r\n \r\n \r\n \r\n {{'forms.common.Criteria.' + item.key | translate}}\r\n\r\n \r\n info\r\n \r\n \r\n \r\n
    \r\n\r\n \r\n {{ \"forms.common.Criteria.Notes\" | translate }} \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n

    \r\n \r\n {{ 'forms.common.Criteria.ErrorsData' | translate }}\r\n \r\n \r\n

    \r\n
    \r\n \r\n {{ \"forms.common.Criteria.mistake\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.suggestedSolution\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n {{ \"forms.common.Criteria.otherNotes\" | translate }}\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n

    \r\n
    ","import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ICriterion } from '../../../../distribute-team-members/models/criterion';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { CriterionsService } from '../../../services/criterions.service';\r\nimport { combineLatest, filter, finalize, forkJoin, iif, of, switchMap, takeUntil } from 'rxjs';\r\nimport { DecisionInput } from '../../../models/decision-input.model';\r\nimport { CriterionInformation } from '../../../models/criterion-information.mode';\r\nimport { showToast } from '../../../../toast.helper';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CopyModel } from '../../../models/copy.model';\r\nimport { ExecuteVisitType } from '../../../models/execute-visit.model';\r\nimport { FinalReportMistakes } from '../../../models/final-report-mistakes.model';\r\nimport { Category } from '../../../models/category.model';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ConfirmationDialogComponent } from 'dp-formio';\r\nimport { ItimadCriterionsService } from '../../../services/itimad-criterions.service';\r\n\r\n@Component({\r\n selector: 'app-criteria-decision',\r\n templateUrl: './criteria-decision.component.html',\r\n styleUrls: ['./criteria-decision.component.scss']\r\n})\r\nexport class CriteriaDecisionComponent extends BaseComponent implements OnInit, OnChanges {\r\n @Input() memberId: string;\r\n @Input() decisionPreview: boolean;\r\n isLoadingResults: boolean;\r\n form: FormGroup;\r\n finalReportMistakesForm: FormGroup;\r\n isSub = false;\r\n criterion: ICriterion;\r\n decisionInput: DecisionInput;\r\n modelId: number;\r\n mistakeId: number;\r\n\r\n category: Category;\r\n\r\n get isFinalReport() {\r\n return !this.decisionPreview && (this.decisionInput.executeVisitType == ExecuteVisitType.FinalReport ||\r\n this.decisionInput.executeVisitType == ExecuteVisitType.InstitutionEntries ||\r\n this.decisionInput.executeVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries);\r\n }\r\n\r\n get showInstitutionEntries() {\r\n return this.decisionInput.executeVisitType == ExecuteVisitType.InstitutionEntries ||\r\n this.decisionInput.executeVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries;\r\n }\r\n\r\n get disabledInstitutionEntries() {\r\n return this.decisionInput.viewOnly ||\r\n this.decisionInput.executeVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries;\r\n }\r\n\r\n get isInstitutionEntries() {\r\n return this.decisionInput.executeVisitType == ExecuteVisitType.InstitutionEntries;\r\n }\r\n\r\n get isFinalReportWithInstitutionEntries() {\r\n return this.decisionInput.executeVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries;\r\n }\r\n get enabledCopy() {\r\n return !!this.memberId;\r\n }\r\n get isFormDisabled() {\r\n return !this.decisionInput.enableEdit ||\r\n this.enabledCopy ||\r\n this.isInstitutionEntries ||\r\n this.isFinalReportWithInstitutionEntries;\r\n }\r\n\r\n constructor(private formBuilder: FormBuilder,\r\n private criterionsService: CriterionsService,\r\n private itimadCriterionsService: ItimadCriterionsService,\r\n private toastrService: ToastrService,\r\n private translateService: TranslateService,\r\n private matDialog: MatDialog) { super(); }\r\n\r\n ngOnInit() {\r\n combineLatest([this.criterionsService.criterion$, this.criterionsService.decisionInputs$])\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(([criterion, inputs]) => {\r\n this.criterion = criterion;\r\n this.decisionInput = inputs;\r\n this.initForm();\r\n this.initFinalReportMistakesForm();\r\n this.getData();\r\n this.registerCopyEvaluation();\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.memberId?.previousValue && changes.memberId?.previousValue != changes.memberId?.currentValue) {\r\n this.getData();\r\n }\r\n }\r\n\r\n copy(controlName: string) {\r\n const value = this.form.controls[controlName].value;\r\n this.criterionsService.sendEvaluation$.next(new CopyModel(controlName, value));\r\n }\r\n\r\n submit() {\r\n if (this.form.valid) {\r\n this.isLoadingResults = true;\r\n const value = this.form.value;\r\n\r\n const data: CriterionInformation = {\r\n id: this.modelId,\r\n criterionId: this.criterion.id,\r\n criterionKey: this.criterion.criterionKey,\r\n visitKey: this.decisionInput.visitMetaData.visitKey,\r\n memberId: this.decisionInput.visitMetaData.memberId,\r\n ...value\r\n };\r\n\r\n of(!!this.modelId)\r\n .pipe(\r\n switchMap((isUpdate) =>\r\n iif(\r\n () => isUpdate,\r\n this.itimadCriterionsService.editCriterionInformation(data, this.isFinalReport),\r\n this.itimadCriterionsService.createCriterionInformation(data, this.isFinalReport)\r\n )\r\n ),\r\n finalize(() => this.isLoadingResults = false)\r\n )\r\n .subscribe(model => {\r\n this._updateForm(model);\r\n this.criterionsService.decisionTaken$.next();\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Saved done\"),\r\n this.translateService.instant(\"forms.common.Criteria.Saved Successfully\"),\r\n false\r\n );\r\n });\r\n }\r\n }\r\n submitMistakes() {\r\n if (this.finalReportMistakesForm.valid) {\r\n this.isLoadingResults = true;\r\n const value = this.finalReportMistakesForm.value;\r\n\r\n const data: FinalReportMistakes = {\r\n id: this.mistakeId,\r\n criterionId: this.modelId,\r\n criterionKey: this.criterion.criterionKey,\r\n criterionType: this.criterion.criterionType,\r\n visitKey: this.decisionInput.visitMetaData.visitKey,\r\n ...value\r\n };\r\n\r\n of(!!this.mistakeId)\r\n .pipe(\r\n switchMap((isUpdate) =>\r\n iif(\r\n () => isUpdate,\r\n this.itimadCriterionsService.editFinalReportMistakes(data),\r\n this.itimadCriterionsService.createFinalReportMistakes(data)\r\n )\r\n ),\r\n finalize(() => this.isLoadingResults = false)\r\n )\r\n .subscribe(model => {\r\n this._updateFinalReportMistakesForm(model);\r\n this.criterionsService.hasMistake$.next(true);\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Saved done\"),\r\n this.translateService.instant(\"forms.common.Criteria.Saved Successfully\"),\r\n false\r\n );\r\n });\r\n }\r\n }\r\n deleteMistakes() {\r\n const dir = this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr';\r\n this.matDialog.open(ConfirmationDialogComponent, {\r\n direction: dir,\r\n data: {\r\n dir: dir,\r\n message: 'forms.common.Are you sure to delete this item',\r\n buttonText: {\r\n ok: 'forms.common.yes',\r\n cancel: 'forms.common.cancel',\r\n }\r\n },\r\n width: \"40vw\",\r\n panelClass: 'confirmation-dialog',\r\n })\r\n .afterClosed()\r\n .pipe(filter(data => !!data))\r\n .subscribe(() => {\r\n this.itimadCriterionsService.deleteFinalReportMistakes(this.mistakeId)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n this._updateFinalReportMistakesForm(null);\r\n this.criterionsService.hasMistake$.next(false);\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Delete Mistake\"),\r\n this.translateService.instant(\"forms.common.Criteria.Delete Mistake Successfully\"),\r\n false\r\n );\r\n });\r\n });\r\n }\r\n\r\n private initCategory(info: CriterionInformation) {\r\n this.category = {\r\n totalEvaluationCriteria: info?.totalEvaluationCriteria || 0,\r\n numberOfApplicable: info?.numberOfApplicable || 0,\r\n calculatedSavedScore: info?.numberOfApplicable ? (info?.totalEvaluationCriteria / info?.numberOfApplicable) : 0\r\n };\r\n }\r\n\r\n private initForm() {\r\n this.isSub = this.criterion.criterionType == 'SUB';\r\n this.form = this.formBuilder.group({\r\n notes: [{ value: '', disabled: this.isFormDisabled }],\r\n complianceEvaluation: [{ value: '', disabled: this.isFormDisabled }, this.isSub ? [Validators.required] : null],\r\n });\r\n }\r\n\r\n private initFinalReportMistakesForm() {\r\n this.finalReportMistakesForm = this.formBuilder.group({\r\n mistake: [{ value: '', disabled: this.disabledInstitutionEntries }, [Validators.required]],\r\n suggestedSolution: [{ value: '', disabled: this.disabledInstitutionEntries }, [Validators.required]],\r\n notes: [{ value: '', disabled: this.disabledInstitutionEntries }, [Validators.required]],\r\n });\r\n }\r\n\r\n private getData() {\r\n this.isLoadingResults = true;\r\n forkJoin([\r\n this.itimadCriterionsService.getCriterionInformationForMainCriterion(\r\n this.decisionInput.visitMetaData.visitKey,\r\n this.criterion.criterionKey,\r\n this.memberId || this.decisionInput.currentMemberId,\r\n this.isFinalReport),\r\n this.showInstitutionEntries ? this.itimadCriterionsService.getFinalReportMistakes(\r\n this.decisionInput.visitMetaData.visitKey,\r\n this.criterion.criterionKey) : of(null)\r\n ]).pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => this.isLoadingResults = false)\r\n )\r\n .subscribe(([criterionInformation, mistakes]) => {\r\n this.initCategory(criterionInformation);\r\n this._updateForm(criterionInformation);\r\n this._updateFinalReportMistakesForm(mistakes);\r\n });\r\n }\r\n private _updateForm(data: CriterionInformation) {\r\n this.modelId = data?.id;\r\n this.form.patchValue({\r\n notes: data?.notes,\r\n complianceEvaluation: data?.complianceEvaluation\r\n });\r\n }\r\n private _updateFinalReportMistakesForm(data: FinalReportMistakes) {\r\n this.mistakeId = data?.id;\r\n this.finalReportMistakesForm.patchValue({\r\n mistake: data?.mistake,\r\n suggestedSolution: data?.suggestedSolution,\r\n notes: data?.notes,\r\n });\r\n }\r\n private registerCopyEvaluation() {\r\n if (!this.enabledCopy)\r\n this.criterionsService.sendEvaluation$\r\n .pipe(\r\n filter(data => !!data),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe(data => {\r\n this.form.patchValue({\r\n [data.key]: data.value\r\n });\r\n });\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SwitchLangService {\r\n\tcurrentLang = 'ar';\r\n\tdefaultLang = 'ar';\r\n\r\n\tconstructor(public translate: TranslateService, private titleService: Title) {}\r\n\r\n\t/**\r\n\t * Fix Dom Direction - localization\r\n\t */\r\n\tfixDom(dir) {\r\n\t\tdocument.documentElement.setAttribute('dir', dir);\r\n\t}\r\n\r\n\tchangeLang(lang = this.getSelectedLang()) {\r\n\t\tthis.currentLang = lang;\r\n\t\tlocalStorage.setItem('lang', lang);\r\n\t\tthis.translate.setDefaultLang(lang);\r\n\t\tthis.translate.use(lang);\r\n\t\tthis.fixDom(this.translate.instant('dir'));\r\n\t\tthis.translate.onLangChange.subscribe((data) => {\r\n\t\t\tthis.fixDom(data.translations.dir);\r\n\t\t});\r\n\t}\r\n\r\n\tgetTranslated(string, source = null) {\r\n\t\tif (!string) return '';\r\n\t\tconst sourceString = source ? source + '.' + string.trim() : string.trim();\r\n\t\tconst translated = this.translate.instant(sourceString);\r\n\t\treturn translated === sourceString ? string : translated;\r\n\t}\r\n\r\n\tgetSelectedLang() {\r\n\t\tif (localStorage.getItem('lang') == 'ar' || localStorage.getItem('lang') == 'en') {\r\n\t\t\treturn localStorage.getItem('lang');\r\n\t\t} else {\r\n\t\t\treturn this.defaultLang;\r\n\t\t}\r\n\t}\r\n\r\n\tget current(): string {\r\n\t\treturn this.getSelectedLang();\r\n\t}\r\n}","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { BaseComponent } from '../../../base.component';\r\nimport { CriterionsService, PAGE_SIZE } from '../../../services/criterions.service';\r\nimport { BehaviorSubject, finalize, Observable, takeUntil } from 'rxjs';\r\nimport { PagingResponse } from '../../../models/paging-response.model';\r\nimport { MemberCriterionInformation } from '../../../models/criterion-information.mode';\r\nimport { PageEvent } from '@angular/material/paginator';\r\nimport { CopyModel } from '../../../models/copy.model';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { AddEditSummaryComponent } from '../add-edit-summary/add-edit-summary.dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { MemberModel } from '../../../models/member.model';\r\nimport { ICriterion } from '../../../../distribute-team-members/models/criterion';\r\nimport { ItimadCriterionsService } from '../../../services/itimad-criterions.service';\r\n\r\n@Component({\r\n selector: 'app-summary-filter',\r\n templateUrl: './summary-filter.component.html',\r\n styleUrls: ['./summary-filter.component.scss', '../../data-table.scss']\r\n})\r\nexport class SummaryFilterComponent extends BaseComponent implements OnInit {\r\n @Input() filter: string;\r\n @Output() onCloseFilter = new EventEmitter();\r\n pageSize = PAGE_SIZE;\r\n selectedPage = 0;\r\n totalItems = 0;\r\n\r\n members$: Observable;\r\n criterion$: Observable;\r\n\r\n decisionInput$ = this.criterionsService.decisionInputs$;\r\n visitMetaData = this.criterionsService.decisionInputs$.getValue().visitMetaData;\r\n isMasar = this.criterionsService.decisionInputs$.getValue().isMasar;\r\n isLoadingResults: boolean = false;\r\n\r\n dataSource$ = new BehaviorSubject>(null);\r\n displayedColumns: string[];\r\n\r\n filtersForm: FormGroup;\r\n\r\n dir: \"rtl\" | \"ltr\" = this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr';\r\n\r\n constructor(private criterionsService: CriterionsService,\r\n private itimadCriterionsService: ItimadCriterionsService,\r\n private translateService: TranslateService,\r\n private matDialog: MatDialog,\r\n private fb: FormBuilder) { super(); }\r\n\r\n ngOnInit() {\r\n this.displayedColumns = [\r\n this.filter,\r\n 'criterionKey',\r\n 'member',\r\n 'actions'\r\n ];\r\n this.members$ = this.itimadCriterionsService.getMembersByVisitKey(this.visitMetaData.visitKey);\r\n this.criterion$ = this.itimadCriterionsService.getStickQuestionByVisitKey(this.visitMetaData.visitKey);\r\n this.initFilterForm();\r\n this.onSearch();\r\n }\r\n\r\n show(item: MemberCriterionInformation) {\r\n this.matDialog.open(AddEditSummaryComponent, {\r\n width: 'min(80%,900px)',\r\n direction: this.dir,\r\n maxHeight: '90vh',\r\n autoFocus: false,\r\n restoreFocus: false,\r\n data: {\r\n isViewOnly: true,\r\n summary: item[this.filter],\r\n memberArabicName: item.memberArabicName,\r\n memberEnglishName: item.memberEnglishName,\r\n dir: this.dir\r\n }\r\n })\r\n }\r\n copy(item: MemberCriterionInformation) {\r\n this.criterionsService.sendSummary$.next(new CopyModel(this.filter, item[this.filter]));\r\n }\r\n onClose() { this.onCloseFilter.emit(); }\r\n\r\n changePage(event: PageEvent) {\r\n this.pageSize = event.pageSize;\r\n this.selectedPage = event.pageIndex;\r\n this.onSearch();\r\n }\r\n\r\n onSearch() {\r\n const values = _cloneDeep(this.filtersForm.value);\r\n const query = {\r\n ...(values.keyword\r\n ? { [`${this.filter}.contains`]: values.keyword }\r\n : { [`${this.filter}.notEquals`]: '' }\r\n ),\r\n ...(values.memberId\r\n ? { 'memberId.equals': values.memberId }\r\n : {}\r\n ),\r\n ...(values.criterionKey\r\n ? { 'criterionKey.equals': values.criterionKey }\r\n : {}\r\n )\r\n };\r\n this.getData(query);\r\n }\r\n onClear() {\r\n this.filtersForm.reset();\r\n this.onSearch();\r\n }\r\n\r\n private getData(query: any = {}) {\r\n this.isLoadingResults = true;\r\n const data = {\r\n 'visitKey.equals': this.visitMetaData.visitKey,\r\n size: this.pageSize,\r\n page: this.selectedPage,\r\n ...query,\r\n };\r\n this.itimadCriterionsService\r\n .getCriterionInformationForAll(data)\r\n .pipe(\r\n finalize(() => this.isLoadingResults = false),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe((res) => {\r\n console.log(res);\r\n this.dataSource$.next(res);\r\n });\r\n }\r\n private initFilterForm(): void {\r\n this.filtersForm = this.fb.group({\r\n keyword: new FormControl(''),\r\n memberId: new FormControl(null),\r\n criterionKey: new FormControl('')\r\n });\r\n }\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { RatingWrapperComponent } from './rating-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n\ttype: 'rating-wrapper', // custom type. Formio will identify the field with this type.\r\n\tselector: 'rating-wrapper', // custom selector. Angular Elements will create a custom html tag with this selector\r\n\ttitle: 'Rating Control', // Title of the component\r\n};\r\n\r\nexport function registerRatingWrapperComponent(injector: Injector) {\r\n\tregisterCustomFormioComponent(COMPONENT_OPTIONS, RatingWrapperComponent, injector);\r\n}\r\n","\r\n \r\n \r\n\r\n \r\n \r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { MatPaginatorIntl } from '@angular/material/paginator';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Injectable()\r\nexport class PaginatorI18n extends MatPaginatorIntl {\r\n\r\n constructor(private translateService: TranslateService) {\r\n super();\r\n this.translateService.onLangChange\r\n .subscribe(() => {\r\n this.getTranslations();\r\n });\r\n\r\n this.getTranslations();\r\n }\r\n\r\n getTranslations() {\r\n this.translateService.get([\r\n 'matTable.ITEMS_PER_PAGE_LABEL',\r\n 'matTable.NEXT_PAGE_LABEL',\r\n 'matTable.PREVIOUS_PAGE_LABEL',\r\n 'matTable.FIRST_PAGE_LABEL',\r\n 'matTable.LAST_PAGE_LABEL',\r\n ])\r\n .subscribe(translation => {\r\n this.itemsPerPageLabel = translation['matTable.ITEMS_PER_PAGE_LABEL'];\r\n this.nextPageLabel = translation['matTable.NEXT_PAGE_LABEL'];\r\n this.previousPageLabel = translation['matTable.PREVIOUS_PAGE_LABEL'];\r\n this.firstPageLabel = translation['matTable.FIRST_PAGE_LABEL'];\r\n this.lastPageLabel = translation['matTable.LAST_PAGE_LABEL'];\r\n this.changes.next();\r\n });\r\n }\r\n\r\n getRangeLabel = (page, pageSize, length) => {\r\n if (length === 0 || pageSize === 0) {\r\n return this.translateService.instant('matTable.RANGE_PAGE_LABEL_1', { length });\r\n }\r\n length = Math.max(length, 0);\r\n const startIndex = page * pageSize;\r\n // If the start index exceeds the list length, do not try and fix the end index to the end.\r\n const endIndex = startIndex < length ? Math.min(startIndex + pageSize, length) : startIndex + pageSize;\r\n return this.translateService.instant('matTable.RANGE_PAGE_LABEL_2', { startIndex: startIndex + 1, endIndex, length });\r\n };\r\n}\r\n","
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {{ 'forms.common.Criteria.ExecutivePlan' | translate }}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n
    \r\n {{ \"forms.common.Criteria.clause\" | translate }}\r\n \r\n
    {{ row?.clause }}
    \r\n
    \r\n {{ \"forms.common.Criteria.responsibleName\" | translate }}\r\n \r\n
    {{ row?.responsibleName }}
    \r\n
    \r\n {{ \"forms.common.Criteria.endDate\" | translate }}\r\n \r\n
    {{ row?.endDate | date : 'yyyy-MM-dd'}}
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {{ \"forms.common.No items added yet\" | translate }}\r\n
    \r\n
    \r\n
    ","import {\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n} from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport {\r\n combineLatest,\r\n filter,\r\n finalize,\r\n forkJoin,\r\n iif,\r\n of,\r\n switchMap,\r\n takeUntil,\r\n} from \"rxjs\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { BaseComponent } from \"../../../base.component\";\r\nimport { ExecuteVisitType } from \"../../../models/execute-visit.model\";\r\nimport { ICriterion } from \"../../../../distribute-team-members/models/criterion\";\r\nimport { DecisionInput } from \"../../../models/decision-input.model\";\r\nimport { Category } from \"../../../models/category.model\";\r\nimport { CriterionsService } from \"../../../services/criterions.service\";\r\nimport { CriterionInformation } from \"../../../models/criterion-information.mode\";\r\nimport { showToast } from \"../../../../toast.helper\";\r\nimport { CopyModel } from \"../../../models/copy.model\";\r\nimport { MasarCriterionsService } from \"../../../services/masar-criterions.service\";\r\n\r\n@Component({\r\n selector: \"app-masar-criteria-decision\",\r\n templateUrl: \"./masar-criteria-decision.component.html\",\r\n styleUrls: [\"./masar-criteria-decision.component.scss\"],\r\n})\r\nexport class MasarCriteriaDecisionComponent\r\n extends BaseComponent\r\n implements OnInit, OnChanges\r\n{\r\n @Input() memberId: string;\r\n @Input() decisionPreview: boolean;\r\n isLoadingResults: boolean;\r\n form: FormGroup;\r\n isMain = false;\r\n criterion: ICriterion;\r\n decisionInput: DecisionInput;\r\n modelId: number;\r\n mistakeId: number;\r\n criterion$ = this.criterionsService.criterion$;\r\n\r\n category: Category;\r\n get isFinalReport() {\r\n return (\r\n !this.decisionPreview &&\r\n (this.decisionInput.executeVisitType == ExecuteVisitType.FinalReport ||\r\n this.decisionInput.executeVisitType ==\r\n ExecuteVisitType.InstitutionEntries ||\r\n this.decisionInput.executeVisitType ==\r\n ExecuteVisitType.FinalReportWithInstitutionEntries)\r\n );\r\n }\r\n\r\n get showInstitutionEntries() {\r\n return (\r\n this.decisionInput.executeVisitType ==\r\n ExecuteVisitType.InstitutionEntries ||\r\n this.decisionInput.executeVisitType ==\r\n ExecuteVisitType.FinalReportWithInstitutionEntries\r\n );\r\n }\r\n\r\n get disabledInstitutionEntries() {\r\n return (\r\n this.decisionInput.viewOnly ||\r\n this.decisionInput.executeVisitType ==\r\n ExecuteVisitType.FinalReportWithInstitutionEntries\r\n );\r\n }\r\n\r\n get isInstitutionEntries() {\r\n return (\r\n this.decisionInput.executeVisitType == ExecuteVisitType.InstitutionEntries\r\n );\r\n }\r\n\r\n get isFinalReportWithInstitutionEntries() {\r\n return (\r\n this.decisionInput.executeVisitType ==\r\n ExecuteVisitType.FinalReportWithInstitutionEntries\r\n );\r\n }\r\n get enabledCopy() {\r\n return !!this.memberId;\r\n }\r\n get enabledCopyToExecutiveSummary() {\r\n return (\r\n this.masarCriterionsService.allCriterionEvaluated$.value &&\r\n this.decisionInput.enableEdit &&\r\n this.decisionInput.executeVisitType == ExecuteVisitType.FinalReport\r\n );\r\n }\r\n get isFormDisabled() {\r\n return (\r\n !this.decisionInput.enableEdit ||\r\n this.enabledCopy ||\r\n this.isInstitutionEntries ||\r\n this.isFinalReportWithInstitutionEntries ||\r\n !this.criterion$.value.allQuestionsAnswered ||\r\n !this.category?.allSubsEvaluated ||\r\n !!this.isSessionNotStarted\r\n );\r\n }\r\n get isSessionNotStarted() {\r\n return (\r\n this.decisionInput?.visitMetaData?.sessionChecked &&\r\n !this.decisionInput?.visitMetaData?.sessionChecked?.sessionStarted\r\n );\r\n }\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private criterionsService: CriterionsService,\r\n private masarCriterionsService: MasarCriterionsService,\r\n private toastrService: ToastrService,\r\n private translateService: TranslateService,\r\n private matDialog: MatDialog\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n combineLatest([\r\n this.criterionsService.criterion$,\r\n this.criterionsService.decisionInputs$,\r\n ])\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(([criterion, inputs]) => {\r\n this.criterion = criterion;\r\n this.decisionInput = inputs;\r\n this.initForm();\r\n this.getData();\r\n this.registerCopyEvaluation();\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (\r\n changes.memberId?.previousValue &&\r\n changes.memberId?.previousValue != changes.memberId?.currentValue\r\n ) {\r\n this.getData();\r\n }\r\n }\r\n\r\n copy(controlName: string) {\r\n const value = this.form.controls[controlName].value;\r\n if (this.enabledCopyToExecutiveSummary)\r\n this.criterionsService.sendToExecutiveSummary$.next(\r\n new CopyModel(controlName, value)\r\n );\r\n else\r\n this.criterionsService.sendEvaluation$.next(\r\n new CopyModel(controlName, value)\r\n );\r\n }\r\n\r\n submit() {\r\n if (this.form.valid) {\r\n this.isLoadingResults = true;\r\n const value = this.form.value;\r\n\r\n const data: CriterionInformation = {\r\n id: this.modelId,\r\n criterionId: this.criterion.id,\r\n criterionKey: this.criterion.criterionKey,\r\n visitKey: this.decisionInput.visitMetaData.visitKey,\r\n memberId: this.decisionInput.visitMetaData.memberId,\r\n ...value,\r\n };\r\n\r\n of(!!this.modelId)\r\n .pipe(\r\n switchMap((isUpdate) =>\r\n iif(\r\n () => isUpdate,\r\n this.masarCriterionsService.editCriterionInformation(\r\n data,\r\n this.isFinalReport\r\n ),\r\n this.masarCriterionsService.createCriterionInformation(\r\n data,\r\n this.isFinalReport\r\n )\r\n )\r\n ),\r\n finalize(() => (this.isLoadingResults = false))\r\n )\r\n .subscribe((model) => {\r\n this._updateForm(model);\r\n this.criterionsService.decisionTaken$.next();\r\n this.masarCriterionsService.updatedMainCriterion$.next(model);\r\n showToast(\r\n this.toastrService,\r\n this.translateService.instant(\"forms.common.Criteria.Saved done\"),\r\n this.translateService.instant(\r\n \"forms.common.Criteria.Saved Successfully\"\r\n ),\r\n false\r\n );\r\n });\r\n }\r\n }\r\n private initCategory(info: CriterionInformation) {\r\n this.category = {\r\n totalEvaluationCriteria: info?.totalEvaluationCriteria || 0,\r\n numberOfApplicable: info?.numberOfApplicable || 0,\r\n calculatedSavedScore: info?.numberOfApplicable\r\n ? info?.totalEvaluationCriteria / info?.numberOfApplicable\r\n : 0,\r\n allSubsEvaluated: info.allSubsEvaluated,\r\n };\r\n }\r\n\r\n private initForm() {\r\n this.isMain = this.criterion.criterionType == \"MAIN\";\r\n this.form = this.formBuilder.group({\r\n criterionSummary: [\r\n { value: \"\", disabled: this.isFormDisabled },\r\n [Validators.required],\r\n ],\r\n complianceEvaluation: [\r\n { value: \"\", disabled: this.isFormDisabled },\r\n [Validators.required],\r\n ],\r\n summaryOfRecommendations: [\r\n { value: \"\", disabled: this.isFormDisabled },\r\n [Validators.required],\r\n ],\r\n summaryOfCommendations: [\r\n { value: \"\", disabled: this.isFormDisabled },\r\n [Validators.required],\r\n ],\r\n summaryOfSuggestions: [\r\n { value: \"\", disabled: this.isFormDisabled },\r\n [Validators.required],\r\n ],\r\n });\r\n }\r\n\r\n private getData() {\r\n this.isLoadingResults = true;\r\n this.masarCriterionsService\r\n .getCriterionInformationForMainCriterion(\r\n this.decisionInput.visitMetaData.visitKey,\r\n this.criterion.criterionKey,\r\n this.memberId || this.decisionInput.currentMemberId,\r\n this.isFinalReport\r\n )\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => (this.isLoadingResults = false))\r\n )\r\n .subscribe((criterionInformation) => {\r\n this.initCategory(criterionInformation);\r\n this.initForm();\r\n this._updateForm(criterionInformation);\r\n });\r\n }\r\n private _updateForm(data: CriterionInformation) {\r\n this.modelId = data?.id;\r\n this.form.patchValue({\r\n criterionSummary: data?.criterionSummary,\r\n complianceEvaluation: data?.complianceEvaluation,\r\n summaryOfRecommendations: data?.summaryOfRecommendations,\r\n summaryOfCommendations: data?.summaryOfCommendations,\r\n summaryOfSuggestions: data?.summaryOfSuggestions,\r\n });\r\n }\r\n private registerCopyEvaluation() {\r\n if (!this.enabledCopy)\r\n this.criterionsService.sendEvaluation$\r\n .pipe(\r\n filter((data) => !!data),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe((data) => {\r\n this.form.patchValue({\r\n [data.key]: data.value,\r\n });\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { BaseComponent } from '../../base.component';\r\nimport { CriterionsService } from '../../services/criterions.service';\r\n\r\n@Component({\r\n selector: 'app-criterion-decision',\r\n templateUrl: './criterion-decision.component.html',\r\n styleUrls: ['./criterion-decision.component.scss']\r\n})\r\nexport class CriterionDecisionComponent extends BaseComponent implements OnInit {\r\n criterion$ = this.criterionsService.criterion$;\r\n decisionInputs$ = this.criterionsService.decisionInputs$;\r\n\r\n constructor(private criterionsService: CriterionsService) { super(); }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","/*\r\n * Public API Surface of dp-formio-custom-component\r\n */\r\n\r\nexport * from './lib/custom-component/components/toast.helper';\r\nexport * from './lib/custom-component/helpers/json.helper';\r\nexport * from './lib/custom-component/helpers/sort.helper';\r\n\r\nexport * from './lib/custom-component/components/assessment-wrapper/assessment-wrapper.component';\r\nexport * from './lib/custom-component/components/assessment-wrapper/assessment-wrapper.formio';\r\nexport * from './lib/custom-component/components/assessment-wrapper/category-card/category-card.component';\r\nexport * from './lib/custom-component/components/assessment-wrapper/control/assessment-control.component';\r\nexport * from './lib/custom-component/components/assessment-wrapper/tooltip-dialog/tooltip-dialog.component';\r\nexport * from './lib/custom-component/components/calendar-wrapper/calendar-wrapper.component';\r\nexport * from './lib/custom-component/components/calendar-wrapper/calendar-wrapper.formio';\r\nexport * from './lib/custom-component/components/calendar-wrapper/schedule-dialog/schedule-dialog.component';\r\nexport * from './lib/custom-component/components/card-wrapper/card-wrapper.component';\r\nexport * from './lib/custom-component/components/card-wrapper/card-wrapper.formio';\r\nexport * from './lib/custom-component/components/charts-wrapper/charts-wrapper.component';\r\nexport * from './lib/custom-component/components/charts-wrapper/charts-wrapper.formio';\r\nexport * from './lib/custom-component/components/classification-indicators-wrapper/classification-indicators-wrapper.component';\r\nexport * from './lib/custom-component/components/classification-indicators-wrapper/classification-indicators-wrapper.formio';\r\nexport * from './lib/custom-component/components/classification-indicators-wrapper/comments/classification-comments.component';\r\nexport * from './lib/custom-component/components/classification-indicators-wrapper/indicator/classification-indicator.component';\r\nexport * from './lib/custom-component/components/classification-indicators-wrapper/question/classification-indicator-question.component';\r\nexport * from './lib/custom-component/components/comments-history-wrapper/comments-history-dialog/comments-history-dialog.component';\r\nexport * from './lib/custom-component/components/comments-history-wrapper/comments-history-wrapper.component';\r\nexport * from './lib/custom-component/components/comments-history-wrapper/comments-history-wrapper.formio';\r\nexport * from './lib/custom-component/components/dynamic-chart-wrapper/dynamic-chart-wrapper.component';\r\nexport * from './lib/custom-component/components/dynamic-chart-wrapper/dynamic-chart-wrapper.formio';\r\nexport * from './lib/custom-component/components/editgrid-resource-wrapper/add-edit-editgrid-content/add-edit-editgrid-content.component';\r\nexport * from './lib/custom-component/components/editgrid-resource-wrapper/editgrid-resource-wrapper.component';\r\nexport * from './lib/custom-component/components/editgrid-resource-wrapper/editgrid-resource-wrapper.formio';\r\nexport * from './lib/custom-component/components/event-tree-wrapper/add-edit-event-item/add-edit-event-item.component';\r\nexport * from './lib/custom-component/components/event-tree-wrapper/event-tree-wrapper.component';\r\nexport * from './lib/custom-component/components/event-tree-wrapper/event-tree-wrapper.formio';\r\nexport * from './lib/custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/add-edit-response/add-edit-response.dialog';\r\nexport * from './lib/custom-component/components/execute-visit-wrapper/criterions-tree/decision-summary/add-edit-summary/add-edit-summary.dialog';\r\nexport * from './lib/custom-component/components/execute-visit-wrapper/criterions-tree/executive-plan/add-edit-executive-plan/add-edit-executive-plan.dialog';\r\nexport * from './lib/custom-component/components/execute-visit-wrapper/execute-visit-wrapper.component';\r\nexport * from './lib/custom-component/components/execute-visit-wrapper/execute-visit-wrapper.formio';\r\nexport * from './lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/decision-summary/add-edit-response/masar-add-edit-response.dialog';\r\nexport * from './lib/custom-component/components/execute-visit-wrapper/masar-criterions-tree/executive-plan/add-edit-executive-plan/masar-add-edit-executive-plan.dialog';\r\nexport * from './lib/custom-component/components/execute-visit-wrapper/pipes/display-order-pattern.pipe';\r\nexport * from './lib/custom-component/components/execute-visit-wrapper/pipes/evaluation-score-message.pipe';\r\nexport * from './lib/custom-component/components/form-key-wrapper/form-key-wrapper.component';\r\nexport * from './lib/custom-component/components/form-key-wrapper/form-key-wrapper.formio';\r\nexport * from './lib/custom-component/components/grouped-table-wrapper/grouped-table-wrapper.component';\r\nexport * from './lib/custom-component/components/grouped-table-wrapper/grouped-table-wrapper.formio';\r\nexport * from './lib/custom-component/components/hijri-date-wrapper/hijri-date-wrapper.formio';\r\nexport * from './lib/custom-component/components/hijri-date-wrapper/hijri-date.component';\r\nexport * from './lib/custom-component/components/html-editor-wrapper/html-editor-wrapper.component';\r\nexport * from './lib/custom-component/components/html-editor-wrapper/html-editor-wrapper.formio';\r\nexport * from './lib/custom-component/components/indicators-wrapper/indicators-wrappe.formio';\r\nexport * from './lib/custom-component/components/indicators-wrapper/indicators-wrapper.component';\r\nexport * from './lib/custom-component/components/map-wrapper/map-wrapper.component';\r\nexport * from './lib/custom-component/components/map-wrapper/map-wrapper.formio';\r\nexport * from './lib/custom-component/components/master-details-resource-wrapper/add-edit-dialog/add-edit-dialog.component';\r\nexport * from './lib/custom-component/components/master-details-resource-wrapper/master-details-resource-wrapper.component';\r\nexport * from './lib/custom-component/components/master-details-resource-wrapper/master-details-resource-wrapper.formio';\r\nexport * from './lib/custom-component/components/number-counter-wrapper/number-counter-wrapper.component';\r\nexport * from './lib/custom-component/components/number-counter-wrapper/number-counter-wrapper.formio';\r\nexport * from './lib/custom-component/components/org-wrapper/org-wrapper.component';\r\nexport * from './lib/custom-component/components/org-wrapper/org-wrapper.formio';\r\nexport * from './lib/custom-component/components/pdf-wrapper/pdf-wrapper.component';\r\nexport * from './lib/custom-component/components/pdf-wrapper/pdf-wrapper.formio';\r\nexport * from './lib/custom-component/components/proccess-requirments-wrapper/proccess-requirments-wrapper.component';\r\nexport * from './lib/custom-component/components/proccess-requirments-wrapper/proccess-requirments-wrapper.formio';\r\nexport * from './lib/custom-component/components/reviewing-evaluation-wrapper/reviewing-evaluation-wrapper.component';\r\nexport * from './lib/custom-component/components/reviewing-evaluation-wrapper/reviewing-evaluation-wrapper.formio';\r\nexport * from './lib/custom-component/components/reviewing-evaluation-wrapper/criterion-evaluation/criterion-evaluation.component';\r\nexport * from './lib/custom-component/components/reviewing-evaluation-wrapper/general-report/general-report.component';\r\nexport * from './lib/custom-component/components/rating-wrapper/rating-wrapper.component';\r\nexport * from './lib/custom-component/components/rating-wrapper/rating-wrapper.formio';\r\nexport * from './lib/custom-component/components/redirection-button-wrapper/redirection-button-wrapper.component';\r\nexport * from './lib/custom-component/components/redirection-button-wrapper/redirection-button-wrapper.formio';\r\nexport * from './lib/custom-component/components/resource-autocomplete-wrapper/pipe/evaluation-display.pipe';\r\nexport * from './lib/custom-component/components/resource-autocomplete-wrapper/resource-autocomplete-wrapper.component';\r\nexport * from './lib/custom-component/components/resource-autocomplete-wrapper/resource-autocomplete-wrapper.formio';\r\nexport * from './lib/custom-component/components/resource-dropdown-wrapper/resource-dropdown-wrapper.component';\r\nexport * from './lib/custom-component/components/resource-dropdown-wrapper/resource-dropdown-wrapper.formio';\r\nexport * from './lib/custom-component/components/stepper-wrapper/stepper-wrapper.component';\r\nexport * from './lib/custom-component/components/stepper-wrapper/stepper-wrapper.formio';\r\nexport * from './lib/custom-component/components/table-tree-wrapper/add-edit-dialog/add-edit-dialog.component';\r\nexport * from './lib/custom-component/components/table-tree-wrapper/table-tree-wrapper.component';\r\nexport * from './lib/custom-component/components/table-tree-wrapper/table-tree-wrapper.formio';\r\nexport * from './lib/custom-component/components/table-view-wrapper/table-view-wrapper.component';\r\nexport * from './lib/custom-component/components/table-view-wrapper/table-view-wrapper.formio';\r\nexport * from './lib/custom-component/components/template-wrapper/template-process/document-editor-sidebar/document-editor-sidebar.component';\r\nexport * from './lib/custom-component/components/template-wrapper/template-process/services/template-objects.service';\r\nexport * from './lib/custom-component/components/template-wrapper/template-process/template-process.component';\r\nexport * from './lib/custom-component/components/template-wrapper/template-wrapper.component';\r\nexport * from './lib/custom-component/components/template-wrapper/template-wrapper.formio';\r\nexport * from './lib/custom-component/components/visit-schedule/visit-schedule.component';\r\nexport * from './lib/custom-component/components/visit-schedule/visit-schedule.formio';\r\n\r\nexport * from './lib/custom-component/components/distribute-common-questions';\r\nexport * from './lib/custom-component/components/distribute-team-members';\r\nexport * from './lib/custom-component/dialogs/bottom-sheet-overview/bottom-sheet-overview.component';\r\nexport * from './lib/custom-component/dialogs/confirmation-dialog/confirmation-dialog.component';\r\n\r\nexport * from './lib/formio-custom-component.module';\r\n\r\nexport * from './lib/custom-component/components/custom-select';\r\n","import { CustomCalenderOptions } from '../../calendar-wrapper/models';\r\n\r\nexport enum ComponentMode {\r\n\tCREATE = 'CREATE',\r\n\tEDIT = 'EDIT',\r\n\tREAD = 'READ',\r\n}\r\n\r\nexport interface VisitScheduleOptions extends CustomCalenderOptions {\r\n\tmode?: ComponentMode;\r\n\tlistener?:string;\r\n\tresource?: {\r\n\t\tkey?:string;\r\n\t\tquery?:string\r\n\t};\r\n}\r\n","import { Pipe, PipeTransform, NgZone, ChangeDetectorRef, OnDestroy } from '@angular/core';\r\n@Pipe({\r\n name: 'calculatedRowRatio',\r\n pure: false\r\n})\r\nexport class CalculatedRowRatioPipe implements PipeTransform {\r\n constructor() { }\r\n transform(item: any, array: any[], firstFiledIndex: string, secondFiledIndex: string, key: string) {\r\n const first = +array[firstFiledIndex][key] || 0;\r\n const second = +array[secondFiledIndex][key] || 0;\r\n let result = '';\r\n if (second && first) {\r\n const ratio = second % first > 0 ? (second / first).toFixed(1) : (second / first);\r\n result = ratio + ':' + 1;\r\n } else {\r\n result = '0:0';\r\n }\r\n if (key) item[key] = result;\r\n return result;\r\n }\r\n}","import { NestedTreeControl } from '@angular/cdk/tree';\r\n\r\nimport {\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { MatTreeNestedDataSource } from '@angular/material/tree';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { filter, finalize, forkJoin, iif, takeUntil } from 'rxjs';\r\nimport { ICriterion } from '../../distribute-team-members/models/criterion';\r\nimport { BaseComponent } from '../base.component';\r\nimport { CategoriesCompliance } from '../models/categories-compliance.model';\r\nimport { ExecuteVisitType } from '../models/execute-visit.model';\r\nimport { MemberModel } from '../models/member.model';\r\nimport { RolesEnum, VisitMetaData } from '../models/visit-metadata.model';\r\nimport { CriterionsService } from '../services/criterions.service';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { ItimadCriterionsService } from '../services/itimad-criterions.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-criterions-tree',\r\n templateUrl: './criterions-tree.component.html',\r\n styleUrls: ['./criterions-tree.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class CriterionsTreeComponent extends BaseComponent implements OnInit, OnChanges {\r\n @Input() viewOnly: boolean;\r\n @Input() categoriesCompliance: CategoriesCompliance[];\r\n @Input() visitMetaData: VisitMetaData;\r\n @Input() sessionId: number | string;\r\n @Input() executeVisitType: ExecuteVisitType;\r\n criterions: ICriterion[] = [];\r\n summaries = [\r\n {\r\n type: 'recommendations-summaries',\r\n filter: 'summaryOfRecommendations',\r\n label: 'forms.common.Criteria.summaryOfRecommendations'\r\n },\r\n {\r\n type: 'commendations-summaries',\r\n filter: 'summaryOfCommendations',\r\n label: 'forms.common.Criteria.summaryOfCommendations'\r\n },\r\n {\r\n type: 'suggestions-summaries',\r\n filter: 'summaryOfSuggestions',\r\n label: 'forms.common.Criteria.summaryOfSuggestions'\r\n },\r\n {\r\n type: 'executive-summaries',\r\n filter: 'executiveSummary',\r\n label: 'forms.common.Criteria.executiveSummary'\r\n }\r\n ];\r\n\r\n get showExecutivePlan() {\r\n return this.executeVisitType == ExecuteVisitType.InstitutionEntries ||\r\n this.executeVisitType == ExecuteVisitType.FinalReportWithInstitutionEntries;\r\n }\r\n\r\n selectedNode: ICriterion = null;\r\n treeControl = new NestedTreeControl((node) => node.subCriteria);\r\n dataSource: MatTreeNestedDataSource;\r\n\r\n isLoadingResults = false;\r\n\r\n showMemberDropdown: boolean;\r\n\r\n readonly hasChild = (_: number, node: ICriterion) =>\r\n !!node.subCriteria && node.subCriteria.length > 0;\r\n\r\n readonly trackBy = (_: number, node: ICriterion) => node.id;\r\n\r\n constructor(\r\n private criterionsService: CriterionsService,\r\n private itimadCriterionsService: ItimadCriterionsService,\r\n public translateService: TranslateService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.showMemberDropdown = this.executeVisitType == ExecuteVisitType.SessionDetails && this.visitMetaData.role == RolesEnum.TEAM_LEADER;\r\n if (!this.showMemberDropdown) this.getTreeData();\r\n this.criterionsService.decisionTaken$\r\n .pipe(\r\n filter(_ => !!this.selectedNode),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe(() => {\r\n this.selectedNode.evaluate = true;\r\n // this.updateResultData();\r\n this.getTreeData();\r\n });\r\n this.criterionsService.hasMistake$\r\n .pipe(\r\n filter(_ => !!this.selectedNode),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe((value) => this.selectedNode.hasError = value);\r\n }\r\n\r\n memberChanged(member: MemberModel) {\r\n this.selectedNode = null;\r\n this.getTreeData(member);\r\n }\r\n rowClicked(node: ICriterion) {\r\n if (this.selectedNode?.id !== node?.id) {\r\n this.selectedNode = node;\r\n this.criterionsService.criterion$.next(node);\r\n }\r\n }\r\n getTreeData(member: MemberModel = null) {\r\n const reviewerId = member?.reviewer?.id;\r\n const enableDecisionEdit = !reviewerId || reviewerId == this.visitMetaData.reviewerId;\r\n\r\n this.criterionsService.decisionInputs$.next({\r\n categoriesCompliance: this.categoriesCompliance,\r\n visitMetaData: this.visitMetaData,\r\n isMasar: false,\r\n enableEdit: !this.viewOnly && enableDecisionEdit,\r\n currentMemberId: member?.id || this.visitMetaData.memberId,\r\n currentReviewerId: member?.reviewer?.id || this.visitMetaData.reviewerId,\r\n viewOnly: this.viewOnly,\r\n executeVisitType: this.executeVisitType,\r\n });\r\n\r\n this.isLoadingResults = true;\r\n forkJoin([\r\n iif(\r\n () => this.executeVisitType == ExecuteVisitType.SessionDetails,\r\n this.itimadCriterionsService.getMyCriterionByVisitKey(this.visitMetaData.visitKey, reviewerId || this.visitMetaData.reviewerId),\r\n this.itimadCriterionsService.getAllCriterionByVisitKey(this.visitMetaData.visitKey)\r\n ),\r\n this.criterionsService.getProccess(this.visitMetaData.accreditationKey, this.visitMetaData.eligibilityRequestId)\r\n ]).pipe(\r\n takeUntil(this.destroy$),\r\n finalize(() => {\r\n this.isLoadingResults = false;\r\n })\r\n ).subscribe((result) => {\r\n this.criterions = result[0];\r\n this.dataSource = new MatTreeNestedDataSource();\r\n this.dataSource.data = this.criterions;\r\n this.updateResultData();\r\n });\r\n }\r\n\r\n private updateResultData() {\r\n const value = this.criterionsService.results$.getValue();\r\n value.criterion = this.dataSource.data;\r\n value.flatCriterion = _cloneDeep(value.criterion);\r\n\r\n let flatten = (children, extractChildren) => Array.prototype.concat.apply(\r\n children,\r\n children.map(x => flatten(extractChildren(x) || [], extractChildren))\r\n );\r\n let extractChildren = x => x.subCriteria;\r\n value.flatCriterion = flatten(extractChildren({ subCriteria: value.flatCriterion }), extractChildren)\r\n .map(x => delete x.subCriteria && x);\r\n\r\n this.criterionsService.results$.next(value);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { BaseComponent } from '../base.component';\r\n\r\n@Component({\r\n selector: 'app-copy-decision',\r\n templateUrl: './copy-decision.component.html',\r\n styleUrls: ['./copy-decision.component.scss']\r\n})\r\nexport class CopyDecisionComponent extends BaseComponent implements OnInit {\r\n @Input() enabledCopy: boolean;\r\n @Input() tooltip: string = 'forms.common.Criteria.copy';\r\n @Input() prefix: string = '';\r\n @Output() clicked = new EventEmitter();\r\n constructor() { super(); }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n clickedBtn() { this.clicked.emit(); }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation, OnDestroy, OnChanges, SimpleChanges, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription, takeUntil } from 'rxjs';\r\nimport { CategoriesCompliance } from './models/categories-compliance.model';\r\nimport { ExecuteVisitType, EvaluatedSummaryType } from './models/execute-visit.model';\r\nimport { VisitMetaData } from './models/visit-metadata.model';\r\nimport { CriterionsService } from './services/criterions.service';\r\nimport { Utils } from 'formiojs';\r\nimport { ICriterion } from '../distribute-team-members/models/criterion';\r\nimport { FormioCustomComponent } from 'dp-formio';\r\nimport { MasarCriterionsService } from './services/masar-criterions.service';\r\n\r\n@Component({\r\n selector: 'app-execute-visit-wrapper',\r\n templateUrl: './execute-visit-wrapper.component.html',\r\n // styleUrls: ['./execute-visit-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ExecuteVisitWrapperComponent implements FormioCustomComponent, OnInit, OnDestroy, OnChanges {\r\n @Input() required: boolean;\r\n @Input() value: any = {};\r\n @Output() valueChange = new EventEmitter();\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n @Input() data: any;\r\n @Input() customOptions: any;\r\n @Input() formioComponent: any;\r\n\r\n categoriesCompliance: CategoriesCompliance[];\r\n executeVisitType: ExecuteVisitType;\r\n evaluatedSummaryType: EvaluatedSummaryType;\r\n visitMetaData: VisitMetaData;\r\n isMistakeDisabled = false;\r\n responseNotesDecision = false;\r\n disableEntityResponse = false;\r\n disableAttachments = false;\r\n hideMistake = false;\r\n isReady = false;\r\n decisionInputs$ = this.criterionsService.decisionInputs$;\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n constructor(private criterionsService: CriterionsService,\r\n private masarCriterionsService: MasarCriterionsService) {\r\n }\r\n ngOnInit(): void {\r\n this.registerResultsListener();\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.customOptions) {\r\n this.categoriesCompliance = this.customOptions.categoriesCompliance;\r\n this.criterionsService.forms.attachmentsFormKey = this.customOptions.attachmentsFormKey;\r\n this.executeVisitType = this.customOptions.executeVisitType;\r\n this.evaluatedSummaryType = this.customOptions.evaluatedSummaryType || EvaluatedSummaryType.All;\r\n this.isMistakeDisabled = this.customOptions.isMistakeDisabled || false;\r\n this.disableEntityResponse = this.customOptions.disableEntityResponse || false;\r\n this.disableAttachments = this.customOptions.disableAttachments || false;\r\n this.hideMistake = this.customOptions.hideMistake || false;\r\n this.visitMetaData = this.data?.visitMetaData;\r\n if (this.customOptions.evaluatedMetaData) {\r\n this.visitMetaData = Utils.evaluate(this.customOptions.evaluatedMetaData, { submission: this.data });\r\n }\r\n if (this.customOptions.responseNotesDecision) {\r\n this.responseNotesDecision = Utils.evaluate(this.customOptions.responseNotesDecision, { submission: this.data });\r\n }\r\n //just for test\r\n // this.executeVisitType = ExecuteVisitType.FinalReport;\r\n this.isReady = !!this.visitMetaData?.visitKey && !!this.categoriesCompliance?.length && !!this.executeVisitType;\r\n if (this.isReady) {\r\n this.registerFormioListener();\r\n }\r\n }\r\n }\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n private registerResultsListener() {\r\n this.sub = this.criterionsService.results$\r\n .subscribe(result => {\r\n this.value = result;\r\n this.valueChange.emit(this.value);\r\n this.afterChangeValue();\r\n });\r\n }\r\n\r\n private afterChangeValue() {\r\n if (this.customOptions && this.customOptions.afterChange)\r\n this.customOptions.afterChange.forEach((item) => {\r\n if (this.formioComponent.root.wizard) {\r\n const pages = this.formioComponent.root.getFastPages({\r\n all: true,\r\n withoutFirstLoad: true,\r\n });\r\n const components = Utils.searchComponents(pages, { key: item.key });\r\n components.forEach((c) => {\r\n if (item.checkConditions) {\r\n c.checkConditions();\r\n }\r\n else if (item.calculateValue) {\r\n c.calculateValue(this.data);\r\n } else {\r\n const value = Utils.evaluate(item.value, {\r\n data: this.data,\r\n instance: this.formioComponent,\r\n });\r\n c.setValue(value);\r\n }\r\n });\r\n } else {\r\n const nestedForms = Utils.searchComponents(this.formioComponent.root.components, {\r\n type: 'form',\r\n 'component.display': 'wizard',\r\n });\r\n nestedForms.forEach((formComponent) => {\r\n formComponent.subFormReady.then((subForm) => {\r\n const pages = subForm.getFastPages({ all: true, withoutFirstLoad: true });\r\n const components = Utils.searchComponents(pages, { key: item.key });\r\n components.forEach((c) => {\r\n if (item.checkConditions) {\r\n c.checkConditions();\r\n }\r\n else if (item.calculateValue) {\r\n c.calculateValue(this.data);\r\n } else {\r\n const value = Utils.evaluate(item.value, {\r\n data: this.data,\r\n instance: this.formioComponent,\r\n });\r\n c.setValue(value);\r\n }\r\n });\r\n });\r\n });\r\n\r\n const components = Utils.searchComponents(this.formioComponent.root.components, {\r\n key: item.key,\r\n });\r\n components.forEach((c) => {\r\n if (item.checkConditions) {\r\n c.checkConditions();\r\n }\r\n else if (item.calculateValue) {\r\n c.calculateValue(this.data);\r\n } else {\r\n const value = Utils.evaluate(item.value, {\r\n data: this.data,\r\n instance: this.formioComponent,\r\n });\r\n c.setValue(value);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n private registerFormioListener() {\r\n this.formioComponent?.off('updateData');\r\n this.formioComponent?.on('updateData', (data) => {\r\n this.masarCriterionsService.updatedCriterionKey$.next(data);\r\n });\r\n }\r\n}\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FormioComponent, ConfirmationDialogComponent } from 'dp-formio';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { filter, finalize, take, takeUntil, iif, BehaviorSubject } from 'rxjs';\r\nimport { DecisionInput } from '../../models/decision-input.model';\r\nimport { ExecuteVisitType } from '../../models/execute-visit.model';\r\nimport { Summary } from '../../models/summary.model';\r\nimport { BaseComponent } from '../../base.component';\r\nimport { CriterionsService, PAGE_SIZE } from '../../services/criterions.service';\r\nimport { MasarCriterionsService } from '../../services/masar-criterions.service';\r\nimport { MasarAddEditResponseComponent } from './add-edit-response/masar-add-edit-response.dialog';\r\nimport { showToast } from '../../../toast.helper';\r\nimport { MemberCriterionInformation } from '../../models/criterion-information.mode';\r\nimport { PagingResponse } from '../../models/paging-response.model';\r\nimport { PageEvent } from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-masar-decision-summary',\r\n templateUrl: './masar-decision-summary.component.html',\r\n styleUrls: ['./masar-decision-summary.component.scss', '../data-table.scss']\r\n})\r\nexport class MasarDecisionSummaryComponent extends BaseComponent implements OnInit {\r\n @ViewChild(FormioComponent) formioComponent: FormioComponent;\r\n @Input() criterionKeys: string[];\r\n @Input() title: string;\r\n @Input() type: string;\r\n @Input() filter: string;\r\n decisionInput$ = this.criterionsService.decisionInputs$;\r\n isLoadingResults: boolean = false;\r\n expandedFilter: boolean = false;\r\n finalReport = ExecuteVisitType.FinalReport;\r\n institutionEntries = ExecuteVisitType.InstitutionEntries;\r\n finalReportWithInstitutionEntries = ExecuteVisitType.FinalReportWithInstitutionEntries;\r\n\r\n displayedColumns = [\r\n 'summary',\r\n 'finalReportResponse',\r\n 'actions'\r\n ];\r\n\r\n enableEntityResponse = false;\r\n hasResponse = false;\r\n enabledSummary = false;\r\n isLeaderDecision = false;\r\n\r\n get isRecommendations() { return this.type == 'recommendations-summaries' };\r\n\r\n constructor(private matDialog: MatDialog,\r\n private criterionsService: CriterionsService,\r\n private masarCriterionsService: MasarCriterionsService,\r\n private translateService: TranslateService,\r\n private toastrService: ToastrService) { super(); }\r\n\r\n pageSize = PAGE_SIZE;\r\n selectedPage = 0;\r\n totalItems = 0;\r\n\r\n visitMetaData = this.criterionsService.decisionInputs$.getValue().visitMetaData;\r\n isMasar = this.criterionsService.decisionInputs$.getValue().isMasar;\r\n dataSource$ = new BehaviorSubject>(null);\r\n dir: \"rtl\" | \"ltr\" = this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr';\r\n\r\n ngOnInit() {\r\n this.mainCriterionListener();\r\n\r\n this.decisionInput$.pipe(\r\n takeUntil(this.destroy$),\r\n ).subscribe(input => {\r\n\r\n this.hasResponse = this.isRecommendations && !input.disableEntityResponse &&\r\n (input.executeVisitType == this.institutionEntries ||\r\n input.executeVisitType == this.finalReport ||\r\n input.executeVisitType == this.finalReportWithInstitutionEntries);\r\n\r\n this.enableEntityResponse = !input.disableEntityResponse &&\r\n (input.executeVisitType == this.institutionEntries ||\r\n input.executeVisitType == this.finalReport ||\r\n input.executeVisitType == this.finalReportWithInstitutionEntries);\r\n\r\n this.enabledSummary = !input.viewOnly &&\r\n (\r\n input.executeVisitType == this.finalReport ||\r\n (this.isRecommendations && input.executeVisitType == this.finalReportWithInstitutionEntries)\r\n );\r\n\r\n this.displayedColumns = [\r\n this.enableEntityResponse ? 'summaryText' : this.filter,\r\n 'criterionKey',\r\n 'finalReportResponse',\r\n 'leaderDecision',\r\n 'actions',\r\n ];\r\n\r\n this.getData();\r\n });\r\n }\r\n\r\n changePage(event: PageEvent) {\r\n this.pageSize = event.pageSize;\r\n this.selectedPage = event.pageIndex;\r\n this.getData();\r\n }\r\n\r\n showResponse(decisionInput: DecisionInput, summary: Summary) {\r\n const dir = this.translateService.currentLang == 'ar' ? 'rtl' : 'ltr';\r\n this.matDialog.open(MasarAddEditResponseComponent, {\r\n width: 'min(80%,900px)',\r\n direction: dir,\r\n maxHeight: '90vh',\r\n autoFocus: false,\r\n restoreFocus: false,\r\n data: {\r\n summary: summary,\r\n summaryId: summary.id,\r\n id: summary.finalReportResponseId,\r\n visitMetaData: decisionInput.visitMetaData,\r\n viewOnly: decisionInput.viewOnly || decisionInput.executeVisitType != this.institutionEntries,\r\n dir: dir\r\n }\r\n })\r\n .afterClosed()\r\n .pipe(\r\n filter(data => !!data),\r\n take(1)\r\n )\r\n .subscribe((result: any) => {\r\n if (this.isLeaderDecision) this.getData();\r\n else {\r\n summary.finalReportResponseId = result;\r\n this.updateResultData();\r\n }\r\n });\r\n }\r\n\r\n private mainCriterionListener() {\r\n this.masarCriterionsService.updatedMainCriterion$\r\n .pipe(\r\n filter(data => !!data && !this.enableEntityResponse),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe(_ => {\r\n this.selectedPage = 0;\r\n this.getData();\r\n });\r\n }\r\n\r\n private getData() {\r\n this.isLoadingResults = true;\r\n const data = {\r\n 'visitKey.equals': this.visitMetaData.visitKey,\r\n 'criterionKey.in': this.criterionKeys?.join(),\r\n size: this.pageSize,\r\n page: this.selectedPage\r\n };\r\n\r\n iif(\r\n () => this.enableEntityResponse,\r\n this.masarCriterionsService.getPaginatedSummaries(this.criterionsService.decisionInputs$.getValue().visitMetaData.visitKey,\r\n this.type,\r\n this.isRecommendations),\r\n this.masarCriterionsService.getCriterionInformationForAll(data)\r\n ).pipe(\r\n finalize(() => this.isLoadingResults = false),\r\n takeUntil(this.destroy$)\r\n )\r\n .subscribe((res) => {\r\n console.log(res);\r\n this.dataSource$.next(res);\r\n this.updateResultData();\r\n\r\n const executeVisitType = this.decisionInput$.value.executeVisitType;\r\n const disableEntityResponse = this.decisionInput$.value.disableEntityResponse;\r\n this.isLeaderDecision = this.isRecommendations && !disableEntityResponse &&\r\n (\r\n executeVisitType == this.finalReport ||\r\n executeVisitType == this.finalReportWithInstitutionEntries ||\r\n (executeVisitType == this.institutionEntries && res.data.some(q => !!q.leaderDecision))\r\n );\r\n });\r\n }\r\n\r\n private updateResultData() {\r\n if (this.enableEntityResponse && this.isRecommendations) {\r\n const data = this.criterionsService.results$.getValue();\r\n data.summaryOfRecommendations = this.dataSource$.value.data as Summary[];\r\n this.criterionsService.results$.next(data);\r\n }\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output, AfterViewInit, ViewEncapsulation, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FormioLoader, FormioCustomComponent, ResourceNameService } from 'dp-formio';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-proccess-requirments-wrapper',\r\n templateUrl: './proccess-requirments-wrapper.component.html',\r\n // styleUrls: ['./proccess-requirments-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader]\r\n})\r\nexport class ProccessRequirmentsWrapperComponent implements FormioCustomComponent, OnDestroy, OnChanges {\r\n dir: 'rtl' | 'ltr';\r\n @Input() required: boolean;\r\n @Input() value: any = {};\r\n @Output() valueChange = new EventEmitter();\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n @Input() data: any;\r\n @Input() customOptions: any;\r\n @Input() formioComponent: any;\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n bootstrapClass = '';\r\n resource = '';\r\n query = '';\r\n requirments: any[] = [];\r\n\r\n constructor(private translateService: TranslateService,\r\n private resourceNameService: ResourceNameService,\r\n private formioLoader: FormioLoader) {\r\n this.changeDirection(this.translateService.currentLang);\r\n this.sub = this.translateService.onLangChange.subscribe(data => {\r\n this.changeDirection(data.lang);\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.customOptions) {\r\n if (this.customOptions.resource || this.customOptions.query) {\r\n this.query = this.formioComponent.interpolate(this.customOptions.query, { data: this.data });\r\n this.resource = this.formioComponent.interpolate(this.customOptions.resource, { data: this.data });\r\n this.getRequirmentsResources();\r\n }\r\n if (this.customOptions.bootstrapClass) {\r\n this.bootstrapClass = this.customOptions.bootstrapClass;\r\n }\r\n }\r\n }\r\n\r\n\r\n notifyValue() {\r\n const data = this.requirments.map(q => {\r\n return {\r\n _id: q._id,\r\n checked: q.checked\r\n }\r\n });\r\n\r\n if (this.required) {\r\n const checkedCount = data.reduce((a, b) => a + +b.checked, 0);\r\n if (checkedCount != this.requirments.length) {\r\n this.value = null;\r\n this.valueChange.emit(this.value);\r\n return;\r\n }\r\n }\r\n this.value = { requirments: data };\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n private changeDirection(lang) {\r\n this.dir = null;\r\n setTimeout(() => { this.dir = lang === 'ar' ? 'rtl' : 'ltr'; });\r\n }\r\n private getRequirmentsResources() {\r\n this.formioLoader.loading = true;\r\n this.sub = this.resourceNameService.loadCustomByFilterdKey(this.resource, this.query || '')\r\n .subscribe(data => {\r\n this.requirments = data.map(q => {\r\n const checked = this.value && this.value.requirments ? (this.value.requirments.find(r => r._id == q._id) || {}).checked || false : false;\r\n return {\r\n _id: q._id,\r\n ...q.data,\r\n value: this.translateService.instant(`forms.common.${q.data.value}`),\r\n checked: checked\r\n };\r\n }).sort(function (a, b) {\r\n if (a.order < b.order) { return -1; }\r\n else if (a.order > b.order) { return 1; }\r\n else { return 0; }\r\n });\r\n console.log(this.requirments);\r\n this.formioLoader.loading = false;\r\n }, error => {\r\n this.formioLoader.loading = false;\r\n });\r\n }\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { MatSelectionList } from '@angular/material/list';\r\nimport { BehaviorSubject, distinctUntilChanged, every, filter, map, skip, take, takeUntil } from 'rxjs';\r\nimport { IMember } from '../../models/member';\r\nimport { DistributeService } from '../../services/distribute.service';\r\nimport { BaseComponent } from '../base.component';\r\n\r\n@Component({\r\n selector: 'app-team-members',\r\n templateUrl: './team-members.component.html',\r\n styleUrls: ['./team-members.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class TeamMembersComponent\r\n extends BaseComponent\r\n implements OnInit, OnDestroy, OnChanges\r\n{\r\n @Input() selectedMembers: IMember[] = [];\r\n\r\n selectedSourceList: IMember[] = [];\r\n _sourceSub = new BehaviorSubject([]);\r\n source$ = this._sourceSub.asObservable();\r\n\r\n selectedTargetList: IMember[] = [];\r\n _targetSub = new BehaviorSubject([]);\r\n target$ = this._targetSub.asObservable();\r\n\r\n @Output() onAdd = new EventEmitter();\r\n @Output() onRemove = new EventEmitter();\r\n @Output() targetChanges = new EventEmitter();\r\n\r\n @ViewChild('sourceTeam', { static: false }) private sourceTeam: MatSelectionList;\r\n @ViewChild('targetTeam', { static: false }) private targetTeam: MatSelectionList;\r\n trackByFn(index: number, item: IMember) {\r\n return item?.id ?? index;\r\n }\r\n\r\n compareMembers(memberA: IMember, memberB: IMember) {\r\n return memberA && memberB ? memberA?.id === memberB?.id : memberA === memberB;\r\n }\r\n\r\n constructor(private distributeService: DistributeService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._initMembersList();\r\n this._subscribeToTargetChanges();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this._watchMembersChanges(changes);\r\n }\r\n\r\n add() {\r\n const data = this._targetSub.getValue();\r\n this.onAdd.emit(data.concat(this.selectedSourceList));\r\n this._addToTarget();\r\n this._removeFromSource();\r\n }\r\n\r\n remove() {\r\n this.onRemove.emit(this.selectedTargetList);\r\n this._addTosSource();\r\n this._removeFromTarget();\r\n }\r\n\r\n addAll() {\r\n this.sourceTeam.selectAll();\r\n this.add();\r\n }\r\n\r\n removeAll() {\r\n this.targetTeam.selectAll();\r\n this.remove();\r\n }\r\n\r\n private _watchMembersChanges(changes: SimpleChanges) {\r\n if (changes?.selectedMembers) {\r\n this._targetSub.next(changes?.selectedMembers?.currentValue);\r\n }\r\n if (!changes?.selectedMembers.firstChange) {\r\n this._initMembersList();\r\n this._resetSelected();\r\n }\r\n }\r\n\r\n private _subscribeToTargetChanges() {\r\n this.target$\r\n .pipe(\r\n takeUntil(this.destroy$),\r\n skip(1),\r\n distinctUntilChanged((prev, cur) => {\r\n return JSON.stringify(prev) === JSON.stringify(cur);\r\n })\r\n )\r\n .subscribe((res) => {\r\n this.targetChanges.emit(res);\r\n });\r\n }\r\n\r\n private _initMembersList() {\r\n this.distributeService\r\n .getMembersByVisitKey(this.visitInfo.key)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((data) => {\r\n this._sourceSub.next(data.filter((itm) => this._checkIfNotSelected(itm.id)));\r\n });\r\n }\r\n\r\n private _removeFromSource() {\r\n const selectedItems = this.selectedSourceList.map((it) => it?.id);\r\n const value = this._sourceSub.getValue();\r\n const newData = value.filter((mbr) => !selectedItems.includes(mbr.id));\r\n this._sourceSub.next(newData);\r\n this.selectedSourceList = [];\r\n }\r\n\r\n private _addToTarget() {\r\n const value = this._targetSub.getValue();\r\n this._targetSub.next(value.concat(this.selectedSourceList));\r\n }\r\n\r\n private _removeFromTarget() {\r\n const selectedItems = this.selectedTargetList.map((it) => it?.id);\r\n const value = this._targetSub.getValue();\r\n const newData = value.filter((mbr) => !selectedItems.includes(mbr?.id));\r\n this._targetSub.next(newData);\r\n this.selectedTargetList = [];\r\n }\r\n\r\n private _addTosSource() {\r\n const value = this._sourceSub.getValue();\r\n this._sourceSub.next(value.concat(this.selectedTargetList));\r\n }\r\n\r\n private _checkIfNotSelected(id) {\r\n return this.selectedMembers?.every((itm) => itm.id !== id);\r\n }\r\n\r\n private _resetSelected() {\r\n this.selectedSourceList = [];\r\n this.selectedTargetList = [];\r\n }\r\n}\r\n","import { Directive, Input, OnDestroy } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { RolesTypeEnum } from 'src/formio-custom-components/src/lib/shared/model/roles';\r\nimport { IFoData } from '../models/formIo-data';\r\nimport { visitInfo } from '../models/visit';\r\n\r\n@Directive()\r\nexport class BaseComponent implements OnDestroy {\r\n destroy$ = new Subject();\r\n @Input() visitInfo: visitInfo;\r\n @Input() id: string;\r\n @Input() data: IFoData;\r\n @Input() userRole: RolesTypeEnum;\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n constructor() {}\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n","
    \r\n\t\r\n\r\n\t
    \r\n\t
    \r\n\t\t\r\n\t
    \r\n
    ","import { Injector } from '@angular/core';\r\nimport { FormioCustomComponentInfo, registerCustomFormioComponent } from 'dp-formio';\r\nimport { EditgridResourceWrapperComponent } from './editgrid-resource-wrapper.component';\r\n\r\nconst COMPONENT_OPTIONS: FormioCustomComponentInfo = {\r\n type: 'editgrid-resource', // custom type. Formio will identify the field with this type.\r\n selector: 'editgrid-resource', // custom selector. Angular Elements will create a custom html tag with this selector\r\n title: 'editgrid resource', // Title of the component\r\n// template: 'input', // Optional: define a template for the element. Default: input\r\n// changeEvent: 'valueChange', // Optional: define the changeEvent when the formio updates the value in the state. Default: 'valueChange',\r\n// editForm: Components.components.textfield.editForm, // Optional: define the editForm of the field. Default: the editForm of a textfield\r\n// documentation: '', // Optional: define the documentation of the field\r\n// weight: 0, // Optional: define the weight in the builder group\r\n// schema: {}, // Optional: define extra default schema for the field\r\n// extraValidators: [], // Optional: define extra validators for the field\r\n// emptyValue: null, // Optional: the emptyValue of the field\r\n// fieldOptions: ['values'], // Optional: explicit field options to get as `Input` from the schema (may edited by the editForm)\r\n};\r\n\r\nexport function registerEditgridResourceComponent(injector: Injector) {\r\n registerCustomFormioComponent(COMPONENT_OPTIONS, EditgridResourceWrapperComponent, injector);\r\n}","\r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n {{'forms.common.' + labelHint.label | translate}}\r\n \r\n \r\n {{labelHint.label}}\r\n \r\n \r\n
    \r\n\r\n \r\n
    {{filterControl.value}}
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {{ option | evaluationDisplay : customOptions.displayField }}\r\n \r\n \r\n \r\n \r\n\r\n
    \r\n","export * from './custom-select.component';\r\nexport * from './custom-select.module';\r\nexport * from './custom-select.wrapper';\r\nexport * from './models';\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { environment } from '../environments/environment';\r\nimport { NotAllowedComponent } from './shared/components/not-allowed/not-allowed.component';\r\nimport { AuthGuard } from './core/guards/auth.guard';\r\nimport { RoleGuard } from './core/guards/role.guard';\r\nimport { NotFoundComponent } from './shared/components/not-found/not-found.component';\r\nimport { FormioDemoComponent } from './modules/formio-demo/formio-demo.component';\r\nimport { RequestFeedbackComponent } from './shared/components/request-feedback/request-feedback.component';\r\nimport { DynamicQrComponent } from './modules/dynamic-qr/dynamic-qr.component';\r\nimport { PagesComponent } from './modules/pages/pages.component';\r\n\r\nconst routes: Routes = [\r\n\t// {\r\n\t// path: '',\r\n\t// pathMatch: 'full',\r\n\t// loadChildren: () => import('./modules/dashboard/dashboard.module').then(m => m.DashboardModule),\r\n\t// },\r\n\t{ path: '', pathMatch: 'full', redirectTo: 'service-catalog' },\r\n\r\n\t{\r\n\t\tpath: 'feedback/:feedbackId/:requestId',\r\n\t\tcomponent: RequestFeedbackComponent,\r\n\t},\r\n\r\n\t{\r\n\t\tpath: 'service-catalog',\r\n\t\tloadChildren: () =>\r\n\t\t\timport('./modules/services-catalog/services-catalog.module').then(\r\n\t\t\t\t(m) => m.ServicesCatalogModule\r\n\t\t\t),\r\n\t\tdata: { roles: [environment.roles.beneficiary] },\r\n\t},\r\n\t{\r\n\t\tpath: 'requests',\r\n\t\tloadChildren: () => import('./modules/requests/requests.module').then((m) => m.RequestsModule),\r\n\t},\r\n\t{\r\n\t\tpath: 'news',\r\n\t\tloadChildren: () => import('./modules/news/news.module').then((m) => m.NewsModule),\r\n\t\tdata: { roles: [environment.roles.beneficiary] },\r\n\t},\r\n\t{\r\n\t\tpath: 'ads',\r\n\t\tloadChildren: () => import('./modules/ads/ads.module').then((m) => m.AdsModule),\r\n\t\tdata: { roles: [environment.roles.beneficiary] },\r\n\t},\r\n\t{\r\n\t\tpath: 'accounts',\r\n\t\tloadChildren: () => import('./modules/accounts/accounts.module').then((m) => m.AccountsModule),\r\n\t\tdata: { roles: [environment.roles.beneficiary] },\r\n\t},\r\n\t{\r\n\t\tpath: 'notifications',\r\n\t\tloadChildren: () =>\r\n\t\t\timport('./modules/notifications/notifications.module').then((m) => m.NotificationsModule),\r\n\t\tdata: { roles: [environment.roles.beneficiary] },\r\n\t},\r\n\t{\r\n\t\tpath: 'resources',\r\n\t\tloadChildren: () => import('./resource-wrapper.module').then((m) => m.ResourceWrapperModule),\r\n\t},\r\n\t{ path: 'formio/:formKey', component: FormioDemoComponent },\r\n\t{\r\n\t\tpath: 'pages/:formKey', component: PagesComponent\r\n\t},\r\n\t{ path: 'info/:formKey/:dataId', component: DynamicQrComponent },\r\n\t{ path: '404', component: NotFoundComponent },\r\n\t{\r\n\t\tpath: '403',\r\n\t\tcomponent: NotAllowedComponent,\r\n\t\tcanActivate: [AuthGuard],\r\n\t},\r\n\t{ path: '**', redirectTo: '404' },\r\n];\r\n\r\n@NgModule({\r\n\timports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy', anchorScrolling: 'enabled' })],\r\n\texports: [RouterModule],\r\n\tproviders: [AuthGuard, RoleGuard],\r\n})\r\nexport class AppRoutingModule { }\r\n","
    \r\n \r\n \r\n
    \r\n {{'forms.common.inicatorsNotComplete' | translate}}\r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n {{'forms.common.inicatorsCompleted' | translate}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    ","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'formio-skeleton',\r\n template: ``,\r\n\r\n styleUrls: ['./skeleton.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class FormIOSkeletonComponent {\r\n @Input() styleClass: string;\r\n\r\n @Input() style: any;\r\n\r\n @Input() shape: string = 'rectangle';\r\n\r\n @Input() animation: string = 'wave';\r\n\r\n @Input() radius: string = null;\r\n\r\n @Input() size: string = null;\r\n\r\n @Input() width: string = '100%';\r\n\r\n @Input() height: string = '1rem';\r\n\r\n containerClass() {\r\n return {\r\n 'skeleton component': true,\r\n 'skeleton-circle': this.shape === 'circle',\r\n 'skeleton-none': this.animation === 'none',\r\n 'skeleton-opacity': this.animation === 'opacity',\r\n };\r\n }\r\n\r\n containerStyle() {\r\n if (this.size)\r\n return {\r\n ...this.style,\r\n width: this.size,\r\n height: this.size,\r\n borderRadius: this.radius,\r\n };\r\n else\r\n return {\r\n ...this.style,\r\n width: this.width,\r\n height: this.height,\r\n borderRadius: this.radius,\r\n };\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output, AfterViewInit, ViewEncapsulation, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { filter, Subscription } from 'rxjs';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Utils } from 'formiojs';\r\nimport { AddEditEventItem } from './add-edit-event-item/add-edit-event-item.component';\r\nimport { FormioLoader, FormioCustomComponent, ResourceNameService, ConfirmationDialogComponent } from 'dp-formio';\r\n\r\n@Component({\r\n selector: 'app-event-tree-wrapper',\r\n templateUrl: './event-tree-wrapper.component.html',\r\n // styleUrls: ['./event-tree-wrapper.component.scss']\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [FormioLoader]\r\n})\r\nexport class EventTreeWrapperComponent implements FormioCustomComponent, OnDestroy, OnChanges {\r\n dir: 'rtl' | 'ltr';\r\n @Input() required: boolean;\r\n @Input() value: any = {};\r\n @Output() valueChange = new EventEmitter();\r\n @Input() disabled: boolean;\r\n @Input() viewOnly: boolean;\r\n @Input() data: any;\r\n @Input() customOptions: any;\r\n @Input() formioComponent: any;\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n events = [];\r\n\r\n constructor(private translateService: TranslateService,\r\n private resourceNameService: ResourceNameService,\r\n private formioLoader: FormioLoader,\r\n private dialog: MatDialog) {\r\n this.changeDirection(this.translateService.currentLang);\r\n this.sub = this.translateService.onLangChange.subscribe(data => {\r\n this.changeDirection(data.lang);\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.customOptions) {\r\n if (this.value?.events?.length) {\r\n this.events = this.value.events;\r\n }\r\n }\r\n }\r\n\r\n\r\n notifyValue() {\r\n this.value = { events: this.events };\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n addEvent() {\r\n this.events.push([]);\r\n this.notifyValue();\r\n }\r\n\r\n deleteEvent(index) {\r\n this.showConfirmation(result => {\r\n if (result) {\r\n this.events.splice(index, 1);\r\n this.notifyValue();\r\n }\r\n });\r\n }\r\n\r\n addEventItem(eventIndex: number, eventItemIndex: number = -1, viewOnly: boolean = false) {\r\n let evaluated = '';\r\n if (this.customOptions.eventItemForm.data) {\r\n evaluated = Utils.evaluate(this.customOptions.eventItemForm.data, { submission: this.data });\r\n }\r\n let submission: any = evaluated || { data: {} };\r\n if (this.events[eventIndex] && eventItemIndex != -1) {\r\n submission.data = {\r\n ...submission.data,\r\n ...this.events[eventIndex][eventItemIndex]\r\n };\r\n }\r\n\r\n this.dialog.open(AddEditEventItem, {\r\n data: {\r\n formKey: this.customOptions.eventItemForm.key,\r\n viewOnly: viewOnly,\r\n submission: submission,\r\n dir: this.dir,\r\n },\r\n height: this.customOptions.eventItemForm.dialogHeight || null,\r\n width: this.customOptions.eventItemForm.dialogWidth || null,\r\n panelClass: 'custom-event-modal-component',\r\n disableClose: false,\r\n }).afterClosed()\r\n .pipe(filter(q => !!q))\r\n .subscribe(result => {\r\n if (eventItemIndex != -1) this.events[eventIndex][eventItemIndex] = result;\r\n else this.events[eventIndex].push(result);\r\n this.notifyValue();\r\n });\r\n }\r\n\r\n deleteEventItem(eventIndex: number, eventItemIndex: number) {\r\n this.showConfirmation((result) => {\r\n if (result) {\r\n this.events[eventIndex].splice(eventItemIndex, 1);\r\n this.notifyValue();\r\n }\r\n });\r\n }\r\n\r\n editEventItem(eventIndex: number, eventItemIndex: number) {\r\n this.addEventItem(eventIndex, eventItemIndex);\r\n }\r\n\r\n viewEventItem(eventIndex: number, eventItemIndex: number) {\r\n this.addEventItem(eventIndex, eventItemIndex, true);\r\n }\r\n\r\n private changeDirection(lang) {\r\n this.dir = null;\r\n setTimeout(() => { this.dir = lang === 'ar' ? 'rtl' : 'ltr'; });\r\n }\r\n ngOnDestroy() {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n }\r\n\r\n private showConfirmation(callback: (result: any) => void) {\r\n this.dialog.open(ConfirmationDialogComponent, {\r\n data: {\r\n message: 'Are you sure to delete this item',\r\n buttonText: {\r\n ok: 'Confirm',\r\n cancel: 'Cancel',\r\n }\r\n },\r\n width: \"40vw\",\r\n panelClass: 'confirmation-dialog',\r\n }).afterClosed().subscribe(result => {\r\n callback(result);\r\n });\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { CriterionsService } from '../../../../services/criterions.service';\r\nimport { Category } from '../../../../models/category.model';\r\n\r\n@Component({\r\n selector: 'app-masar-optional-inputs-preview',\r\n templateUrl: './masar-optional-inputs-preview.component.html',\r\n styleUrls: ['./masar-optional-inputs-preview.component.scss']\r\n})\r\nexport class MasarOptionalInputsPreviewComponent implements OnInit {\r\n @Input() category: Category;\r\n process$ = this.criterionsService.process$;\r\n\r\n constructor(private criterionsService: CriterionsService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {{'forms.common.' + options?.btnConfig?.tooltip | translate}}\r\n \r\n
    \r\n\r\n \r\n\r\n\r\n \r\n \r\n
    \r\n \"App\r\n {{ comment.fullName }}\r\n {{ comment.addingDate | date: 'EEEE, M/d/yy, h:mm a'}}\r\n \r\n \r\n {{comment.status === tabStatusEnum.COMPLETED ? 'check_circle' : 'cancel'}}\r\n \r\n \r\n \r\n {{ accordionItem.expanded ? 'expand_less' : 'expand_more' }}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{ (translationsKey+comment[col.key]) | translate}}\r\n \r\n \r\n {{ comment[col.key] }}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n \r\n
    \r\n
    \r\n \"App\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{ 'forms.common.No Comments Exsit' | translate }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n error_outline\r\n \r\n \r\n {{ 'forms.common.Something went wrong, please try again later' | translate }}\r\n
    \r\n
    \r\n","import { Component, Input, ViewEncapsulation } from \"@angular/core\";\r\nimport { ClassificationStatus } from \"../../classification-indicators-wrapper/models/classification-indicators.model\";\r\nimport { IndicatorStatus } from \"../models/indicator.model\";\r\n\r\n\r\n@Component({\r\n\tselector: 'app-indicator-status',\r\n\ttemplateUrl: './indicator-status.component.html',\r\n\t// styleUrls: ['./indicator-status.component.scss']\r\n\tencapsulation: ViewEncapsulation.None,\r\n})\r\nexport class StatusComponent {\r\n\t@Input() status: IndicatorStatus | ClassificationStatus;\r\n\tindicatorStatus = IndicatorStatus;\r\n}\r\n","import {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport {\r\n\tFormioCustomComponent,\r\n\tResourceNameService,\r\n\tFormioLoader,\r\n} from 'dp-formio';\r\nimport { debounceTime, finalize, forkJoin, Subscription } from 'rxjs';\r\nimport { Utils } from 'formiojs';\r\n\r\ndeclare var $: any;\r\n@Component({\r\n\tselector: 'app-resource-dropdown-wrapper',\r\n\ttemplateUrl: './resource-dropdown-wrapper.component.html',\r\n\t// styleUrls: ['./resource-dropdown-wrapper.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\t// providers: [FormioLoader]\r\n})\r\nexport class ResourceDropdownWrapperComponent\r\n\timplements FormioCustomComponent, OnChanges, OnDestroy\r\n{\r\n\tdir: 'rtl' | 'ltr';\r\n\t@Input() required: boolean;\r\n\t@Input() value: any = {};\r\n\t@Output() valueChange = new EventEmitter();\r\n\t@Input() disabled: boolean;\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() data: any;\r\n\t@Input() customOptions: any;\r\n\t@Input() formioComponent: any;\r\n\r\n\tprivate subs: Subscription[] = [];\r\n\tset sub(s: Subscription) {\r\n\t\tthis.subs.push(s);\r\n\t}\r\n\r\n\tresources: any[] = [];\r\n\tdisplayValue = '';\r\n\tisOpened = false;\r\n\tcurrentResourceLoading = null;\r\n\trandomId = new Date().getTime();\r\n\r\n\tfilterControl = new FormControl();\r\n\tfilter = '';\r\n\tget isSelectedResourceDisabledValueTranslation() {\r\n\t\treturn this.customOptions?.resources?.find((q) => q.key == this.value?.resourceKey)\r\n\t\t\t?.disabledValueTranslation;\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate router: Router,\r\n\t\tprivate resourceNameService: ResourceNameService,\r\n\t\tprivate translateService: TranslateService,\r\n\t\tprivate formioLoader: FormioLoader\r\n\t) {\r\n\t\tthis.changeDirection(this.translateService.currentLang);\r\n\t\tthis.sub = this.translateService.onLangChange.subscribe((data) => {\r\n\t\t\tthis.changeDirection(data.lang);\r\n\t\t});\r\n\t\tthis.registerCloseDroprown();\r\n\r\n\t\tthis.sub = this.filterControl.valueChanges.pipe(debounceTime(350)).subscribe((value) => {\r\n\t\t\tthis.filter = value;\r\n\t\t\tthis.loadData();\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subs.forEach((s) => s.unsubscribe());\r\n\t\tthis.subs = [];\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tif (this.customOptions) {\r\n\t\t\tif (this.customOptions.resources) {\r\n\t\t\t\tthis.resources = [];\r\n\t\t\t\tthis.customOptions.resources.forEach((res) => {\r\n\t\t\t\t\tconst resource = { ...res };\r\n\t\t\t\t\tresource.key = this.formioComponent.interpolate(res.key, { data: this.data });\r\n\t\t\t\t\tresource.query = this.formioComponent.interpolate(res.query || '', { data: this.data });\r\n\t\t\t\t\t// resource.query = '';\r\n\r\n\t\t\t\t\tthis.resources.push(resource);\r\n\t\t\t\t});\r\n\t\t\t\tthis.loadData();\r\n\t\t\t\tif (this.value?.selectedItem) this.loadSelected();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tonScrollDown(event: any, resourceIndex: number) {\r\n\t\tthis.checkToLoadPage(resourceIndex);\r\n\t}\r\n\r\n\tselectItem(resourceKey: string, item: any) {\r\n\t\tthis.notifyValue(resourceKey, item);\r\n\r\n\t\tconst displayValue = this.customOptions.resources?.find(\r\n\t\t\t(q) => q.key == resourceKey\r\n\t\t)?.displayValue;\r\n\t\tthis.displayValue = displayValue ? item.data[displayValue] : item.data.value;\r\n\t\tthis.isOpened = false;\r\n\t}\r\n\r\n\tclearValue() {\r\n\t\tthis.notifyValue();\r\n\t\tthis.displayValue = null;\r\n\t\tthis.isOpened = false;\r\n\t}\r\n\r\n\tnotifyValue(resourceKey: string = null, item: any = null) {\r\n\t\tif (!resourceKey) {\r\n\t\t\tthis.value = null;\r\n\t\t\tthis.valueChange.emit(this.value);\r\n\t\t} else {\r\n\t\t\tthis.value = {\r\n\t\t\t\tresourceKey,\r\n\t\t\t\tselectedItem: this.customOptions.selectedValueType == 'object' ? item : item._id,\r\n\t\t\t};\r\n\t\t\tthis.valueChange.emit(this.value);\r\n\t\t}\r\n\t\tthis.afterChangeValue();\r\n\t}\r\n\r\n\tprivate afterChangeValue() {\r\n\t\tif (this.customOptions && this.customOptions.afterChange)\r\n\t\t\tthis.customOptions.afterChange.forEach((item) => {\r\n\t\t\t\tif (this.formioComponent.root.wizard) {\r\n\t\t\t\t\tconst pages = this.formioComponent.root.getFastPages({\r\n\t\t\t\t\t\tall: true,\r\n\t\t\t\t\t\twithoutFirstLoad: true,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tconst components = Utils.searchComponents(pages, { key: item.key });\r\n\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\tif (item.checkConditions) {\r\n\t\t\t\t\t\t\tc.checkConditions();\r\n\t\t\t\t\t\t} else if (item.calculateValue) {\r\n\t\t\t\t\t\t\tc.calculateValue(this.data);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tconst value = Utils.evaluate(item.value, {\r\n\t\t\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\t\t\tinstance: this.formioComponent,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tc.setValue(value);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconst nestedForms = Utils.searchComponents(this.formioComponent.root.components, {\r\n\t\t\t\t\t\ttype: 'form',\r\n\t\t\t\t\t\t'component.display': 'wizard',\r\n\t\t\t\t\t});\r\n\t\t\t\t\tnestedForms.forEach((formComponent) => {\r\n\t\t\t\t\t\tformComponent.subFormReady.then((subForm) => {\r\n\t\t\t\t\t\t\tconst pages = subForm.getFastPages({\r\n\t\t\t\t\t\t\t\tall: true,\r\n\t\t\t\t\t\t\t\twithoutFirstLoad: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tconst components = Utils.searchComponents(pages, {\r\n\t\t\t\t\t\t\t\tkey: item.key,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\t\t\tif (item.checkConditions) {\r\n\t\t\t\t\t\t\t\t\tc.checkConditions();\r\n\t\t\t\t\t\t\t\t} else if (item.calculateValue) {\r\n\t\t\t\t\t\t\t\t\tc.calculateValue(this.data);\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tconst value = Utils.evaluate(item.value, {\r\n\t\t\t\t\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\t\t\t\t\tinstance: this.formioComponent,\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tc.setValue(value);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tconst components = Utils.searchComponents(this.formioComponent.root.components, {\r\n\t\t\t\t\t\tkey: item.key,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tcomponents.forEach((c) => {\r\n\t\t\t\t\t\tif (item.checkConditions) {\r\n\t\t\t\t\t\t\tc.checkConditions();\r\n\t\t\t\t\t\t} else if (item.calculateValue) {\r\n\t\t\t\t\t\t\tc.calculateValue(this.data);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tconst value = Utils.evaluate(item.value, {\r\n\t\t\t\t\t\t\t\tdata: this.data,\r\n\t\t\t\t\t\t\t\tinstance: this.formioComponent,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tc.setValue(value);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate loadData() {\r\n\t\t// this.formioLoader.loading = true;\r\n\t\tthis.sub = forkJoin(\r\n\t\t\tthis.resources.map((res) =>\r\n\t\t\t\tthis.resourceNameService.loadPage(\r\n\t\t\t\t\tres.key,\r\n\t\t\t\t\t(res.query || '') + this.resourceQueryFilter(res)\r\n\t\t\t\t)\r\n\t\t\t)\r\n\t\t)\r\n\t\t\t// .pipe(finalize(() => this.formioLoader.loading = false))\r\n\t\t\t.subscribe((results) => {\r\n\t\t\t\tthis.resources.forEach((res, i) => {\r\n\t\t\t\t\tres.data = results[i].data;\r\n\t\t\t\t\tres.totalRecords = results[i].totalRecords;\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate checkToLoadPage(resourceIndex: number) {\r\n\t\tif (this.resources[resourceIndex].totalRecords > this.resources[resourceIndex].data?.length) {\r\n\t\t\tthis.currentResourceLoading = resourceIndex;\r\n\t\t\tconst query =\r\n\t\t\t\t(this.resources[resourceIndex].query || '') +\r\n\t\t\t\t`limit=10&skip=${this.resources[resourceIndex].data?.length}` +\r\n\t\t\t\tthis.resourceQueryFilter(this.resources[resourceIndex]);\r\n\t\t\tthis.sub = this.resourceNameService\r\n\t\t\t\t.loadCustomByFilterdKey(this.resources[resourceIndex].key, query)\r\n\t\t\t\t.pipe(finalize(() => (this.currentResourceLoading = null)))\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tthis.resources[resourceIndex].data.push(...data);\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate loadSelected() {\r\n\t\tthis.sub = this.resourceNameService\r\n\t\t\t.loadCustomByKeyId(\r\n\t\t\t\tthis.value.resourceKey,\r\n\t\t\t\tthis.value.selectedItem._id || this.value.selectedItem\r\n\t\t\t)\r\n\t\t\t.subscribe((result) => {\r\n\t\t\t\tconst displayValue = this.customOptions.resources?.find(\r\n\t\t\t\t\t(q) => q.key == this.value.resourceKey\r\n\t\t\t\t)?.displayValue;\r\n\t\t\t\tthis.displayValue = displayValue ? result.data[displayValue] : result.data.value;\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate changeDirection(lang) {\r\n\t\tthis.dir = null;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dir = lang === 'ar' ? 'rtl' : 'ltr';\r\n\t\t});\r\n\t}\r\n\r\n\tprivate registerCloseDroprown() {\r\n\t\tconst instance = this;\r\n\t\t$(document).off('click');\r\n\t\t$(document).on('click', (event) => {\r\n\t\t\tvar $trigger = $(`#resources-list-container-${this.randomId}`);\r\n\t\t\tif ($trigger !== event.target && !$trigger.has(event.target).length) {\r\n\t\t\t\tinstance.isOpened = false;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprivate resourceQueryFilter(resource: any) {\r\n\t\tif (!this.filter) return ``;\r\n\t\telse if (resource?.filterkey) return `&data.${resource.filterkey}__regex=${this.filter}`;\r\n\t\telse\r\n\t\t\treturn `&data.${this.translateService.currentLang == 'en' ? 'label' : 'arabicLabel'}__regex=${\r\n\t\t\t\tthis.filter\r\n\t\t\t}`;\r\n\t}\r\n}\r\n","import {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnChanges,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewEncapsulation\r\n} from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Utils } from 'formiojs';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport * as moment from 'moment';\r\nimport {\r\n\tBehaviorSubject,\r\n\tSubject,\r\n\tdistinctUntilChanged,\r\n\tfinalize,\r\n\tmap,\r\n\tof,\r\n\ttakeUntil,\r\n\twithLatestFrom\r\n} from 'rxjs';\r\nimport { FormioCustomComponent, FormioEvent, FormioLoader, ResourceNameService } from 'dp-formio';\r\nimport { ComponentMode, VisitScheduleOptions } from './models/options';\r\n@Component({\r\n\tselector: 'app-visit-schedule',\r\n\ttemplateUrl: './visit-schedule.component.html',\r\n\tstyleUrls: ['./visit-schedule.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n\tproviders: [FormioLoader],\r\n})\r\nexport class VisitScheduleComponent\r\n\timplements FormioCustomComponent, OnInit, OnChanges, OnDestroy {\r\n\t@Input() data: any;\r\n\t@Input() customOptions: Partial;\r\n\t@Input() formioComponent: any;\r\n\t@Input() required: boolean;\r\n\t@Input() disabled: boolean;\r\n\t@Input() viewOnly: boolean;\r\n\t@Input() value: {\r\n\t\tevents?: any[];\r\n\t} = {};\r\n\r\n\t@Output() valueChange = new EventEmitter();\r\n\r\n\tformioEvent?: EventEmitter;\r\n\r\n\tdestroy$ = new Subject();\r\n\r\n\tprivate _defaultEvents = {};\r\n\tprivate _events = [];\r\n\tprivate _store = new Map();\r\n\tprivate _eventsSub = new BehaviorSubject(this.value);\r\n\tprivate _visitName = '';\r\n\tprivate _scheduleNameSub = new Subject();\r\n\r\n\tevents$ = this._eventsSub.asObservable();\r\n\tscheduleName$ = this._scheduleNameSub.asObservable().pipe(distinctUntilChanged());\r\n\tisLoadingResults = false;\r\n\r\n\tconstructor(\r\n\t\tprivate translateService: TranslateService,\r\n\t\tprivate resourceNameService: ResourceNameService\r\n\t) { }\r\n\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tif (changes?.data?.currentValue) {\r\n\t\t\tthis._visitName = changes.data.currentValue?.visitScheduleName?.data?.value;\r\n\t\t}\r\n\t\tif (\r\n\t\t\tchanges?.customOptions?.currentValue?.mode === ComponentMode.CREATE &&\r\n\t\t\tchanges?.data?.currentValue &&\r\n\t\t\t!this.value\r\n\t\t) {\r\n\t\t\tthis._prepareData();\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\tthis.value &&\r\n\t\t\tchanges?.customOptions?.currentValue?.mode === ComponentMode.CREATE &&\r\n\t\t\tchanges?.data?.currentValue\r\n\t\t) {\r\n\t\t\tthis._mergeValuesWithDefaults();\r\n\t\t}\r\n\t\tif (\r\n\t\t\tchanges?.data?.currentValue &&\r\n\t\t\tchanges?.customOptions?.currentValue?.mode === ComponentMode.EDIT\r\n\t\t) {\r\n\t\t\tthis._updateValues();\r\n\t\t}\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis._listenerToScheduleName();\r\n\t\tthis.scheduleName$.pipe(takeUntil(this.destroy$)).subscribe((name: string) => {\r\n\t\t\tthis._visitName = name;\r\n\t\t\tif (this.customOptions.mode === ComponentMode.CREATE) {\r\n\t\t\t\tif (!this.value) {\r\n\t\t\t\t\tthis._prepareData();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (this._store.has(name)) {\r\n\t\t\t\t\t\tthis._updateEventsAndEmitValue(this._store.get(name));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis._mergeValuesWithDefaults();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.customOptions.mode === ComponentMode.EDIT) {\r\n\t\t\t\tif (this._store.has(name)) {\r\n\t\t\t\t\tthis._updateEventsAndEmitValue(this._store.get(name));\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis._prepareEditData();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tprivate _prepareEditData() {\r\n\t\tconst data = this._generateDefaultEvents() ?? {};\r\n\t\tconst obj = { events: Object.values(data) };\r\n\t\tthis._updateValues(obj);\r\n\t\tthis.notifyValue(obj);\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.destroy$.next();\r\n\t\tthis.destroy$.complete();\r\n\t}\r\n\r\n\tcalendarValueChanged(event) {\r\n\t\tthis._store.set(this._visitName, event);\r\n\t\tthis._events = event?.events;\r\n\t\tthis._updateEventsAndEmitValue(event);\r\n\t}\r\n\r\n\tnotifyValue(value: any) {\r\n\t\tthis.value = _cloneDeep(value);\r\n\t\tthis.valueChange.emit(this.value);\r\n\t}\r\n\r\n\tprivate _updateValues(value = this.value) {\r\n\t\tif (value) {\r\n\t\t\tthis._events = value?.events;\r\n\t\t\tthis._eventsSub.next({ events: this._events });\r\n\t\t\tif (!this._store.has(this._visitName)) {\r\n\t\t\t\tthis._store.set(this._visitName, { events: this._events });\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _updateEventsAndEmitValue(event) {\r\n\t\tthis._eventsSub.next(event);\r\n\t\tthis.notifyValue(event);\r\n\t}\r\n\r\n\tprivate _listenerToScheduleName() {\r\n\t\tconst listenerName = this.customOptions?.listener ?? 'visitScheduleName.changed';\r\n\t\tthis.formioComponent?.events?.on(listenerName, (data) => this._scheduleNameSub.next(data));\r\n\t}\r\n\r\n\tprivate _mergeValuesWithDefaults() {\r\n\t\tif (this.data?.visitScheduleName) {\r\n\t\t\tthis.isLoadingResults = true;\r\n\t\t\tof(this._generateDefaultEvents())\r\n\t\t\t\t.pipe(\r\n\t\t\t\t\ttakeUntil(this.destroy$),\r\n\t\t\t\t\tmap((res) => {\r\n\t\t\t\t\t\tconst value = this.value?.events.filter(\r\n\t\t\t\t\t\t\t(itm) => itm.data.data.defaultVisit == this._visitName\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tconst valueObj = this._convertToObjById(value);\r\n\t\t\t\t\t\tconst result = Object.values({\r\n\t\t\t\t\t\t\t...res,\r\n\t\t\t\t\t\t\t...valueObj,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\treturn result;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tfinalize(() => {\r\n\t\t\t\t\t\tthis.isLoadingResults = false;\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tthis._events = data;\r\n\t\t\t\t\tthis._eventsSub.next({ events: this._events });\r\n\t\t\t\t\tif (!this._store.has(this._visitName)) {\r\n\t\t\t\t\t\tthis._store.set(this._visitName, { events: this._events });\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.notifyValue({ events: this._events });\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _convertToObjById(data: any[]): any {\r\n\t\treturn data.reduce((acc, itm) => {\r\n\t\t\treturn {\r\n\t\t\t\t...acc,\r\n\t\t\t\t[itm['id']]: itm,\r\n\t\t\t};\r\n\t\t}, {});\r\n\t}\r\n\r\n\tprivate _prepareData() {\r\n\t\tif (this.data?.visitScheduleName) {\r\n\t\t\tthis.isLoadingResults = true;\r\n\t\t\tthis._getDataFromResource()\r\n\t\t\t\t.pipe(\r\n\t\t\t\t\ttakeUntil(this.destroy$),\r\n\t\t\t\t\tmap((events: any[]) => this._convertToResourceObj(events.map((event) => event?.data))),\r\n\t\t\t\t\twithLatestFrom(of(this._generateDefaultEvents())),\r\n\t\t\t\t\tmap(([resData, defData]) =>\r\n\t\t\t\t\t\tObject.values({\r\n\t\t\t\t\t\t\t...defData,\r\n\t\t\t\t\t\t\t...resData,\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t),\r\n\t\t\t\t\tfinalize(() => {\r\n\t\t\t\t\t\tthis.isLoadingResults = false;\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t\t.subscribe((data) => {\r\n\t\t\t\t\tthis._events = data;\r\n\t\t\t\t\tthis._eventsSub.next({ events: this._events });\r\n\t\t\t\t\tthis.notifyValue({ events: this._events });\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate _convertToResourceObj(source: any[]) {\r\n\t\treturn source.reduce((acc, item) => {\r\n\t\t\treturn {\r\n\t\t\t\t...acc,\r\n\t\t\t\t[item['sessionId']]: {\r\n\t\t\t\t\tid: item?.sessionId,\r\n\t\t\t\t\tstart: item?.start,\r\n\t\t\t\t\tend: item?.end,\r\n\t\t\t\t\ttitle: item?.title,\r\n\t\t\t\t\tdata: {\r\n\t\t\t\t\t\tSubmit: item?.Submit,\r\n\t\t\t\t\t\tdata: item,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}, {});\r\n\t}\r\n\r\n\tprivate _getDataFromResource() {\r\n\t\tconst resource = this.customOptions.resource;\r\n\t\tconst key = resource.key ?? 'visitsession';\r\n\t\tlet query = `data.visitKey=${this.data?.requestDetails?.data.projectKey}&data.defaultVisit=${this.data?.visitScheduleName?.data?.value}`;\r\n\t\tif (resource?.query) {\r\n\t\t\tquery = Utils.evaluate(resource?.query, { data: this.data });\r\n\t\t}\r\n\t\treturn this.resourceNameService.loadCustomByFilterdKey(key, query);\r\n\t}\r\n\r\n\tprivate _generateDefaultEvents(events = this._defaultEvents) {\r\n\t\tlet { visitEndDate, visitStartDate, visitStyle, varRequestId } =\r\n\t\t\tthis.data?.requestDetails?.data;\r\n\r\n\t\tconst defaultVisits = this.data?.visitScheduleName?.data?.sessions?.events;\r\n\r\n\t\tconst defaultVisit = this.data?.visitScheduleName?.data?.value;\r\n\r\n\t\tvar visitDays = moment(visitEndDate).diff(moment(visitStartDate), 'days');\r\n\r\n\t\tif (defaultVisits?.length && visitStartDate && visitEndDate) {\r\n\t\t\tdefaultVisits.forEach((day, index) => {\r\n\t\t\t\tif (index <= visitDays && day?.length) {\r\n\t\t\t\t\tconst startDay = moment(visitStartDate).add(index, 'day').format('DD-MM-YYYY').toString();\r\n\r\n\t\t\t\t\tif (day?.length) {\r\n\t\t\t\t\t\tday.forEach((session, idx) => {\r\n\t\t\t\t\t\t\tconst start = moment(startDay, 'DD-MM-YYYY').add(session?.from).format().toString();\r\n\t\t\t\t\t\t\tconst end = moment(startDay, 'DD-MM-YYYY').add(session?.to).format().toString();\r\n\r\n\t\t\t\t\t\t\tconst _id = this._generateDefaultsId(\r\n\t\t\t\t\t\t\t\tindex,\r\n\t\t\t\t\t\t\t\tidx,\r\n\t\t\t\t\t\t\t\tUtils.guid(),\r\n\t\t\t\t\t\t\t\tsession?.sessionType,\r\n\t\t\t\t\t\t\t\tvarRequestId,\r\n\t\t\t\t\t\t\t\tdefaultVisit\r\n\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\tevents[_id] = {\r\n\t\t\t\t\t\t\t\tid: _id,\r\n\t\t\t\t\t\t\t\tstart: start,\r\n\t\t\t\t\t\t\t\tend: end,\r\n\t\t\t\t\t\t\t\ttitle: session?.sessionType,\r\n\t\t\t\t\t\t\t\tcolor:\r\n\t\t\t\t\t\t\t\t\tthis.customOptions?.colors?.invalid ??\r\n\t\t\t\t\t\t\t\t\t'var(--invalid-color, red)',\r\n\t\t\t\t\t\t\t\tdata: {\r\n\t\t\t\t\t\t\t\t\tSubmit: false,\r\n\t\t\t\t\t\t\t\t\tdata: {\r\n\t\t\t\t\t\t\t\t\t\t...session,\r\n\t\t\t\t\t\t\t\t\t\tdefaultVisit: defaultVisit ?? '',\r\n\t\t\t\t\t\t\t\t\t\tsessionId: _id,\r\n\t\t\t\t\t\t\t\t\t\tSubmit: false,\r\n\t\t\t\t\t\t\t\t\t\tsessionType: session?.sessionType ?? visitStyle,\r\n\t\t\t\t\t\t\t\t\t\tstart: start,\r\n\t\t\t\t\t\t\t\t\t\tend: end,\r\n\t\t\t\t\t\t\t\t\t\tdateRange: this._getVisitRange(\r\n\t\t\t\t\t\t\t\t\t\t\tvisitStartDate,\r\n\t\t\t\t\t\t\t\t\t\t\tvisitEndDate\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn events;\r\n\t}\r\n\r\n\tprivate _generateDefaultsId(\r\n\t\tday: number,\r\n\t\tsessionIndex: number,\r\n\t\tsessionNumber: number,\r\n\t\tsessionType: any,\r\n\t\tvarRequestId: string,\r\n\t\tdefaultVisit: string\r\n\t) {\r\n\t\treturn `${day}_${sessionIndex}_${sessionNumber}_${defaultVisit}_${varRequestId}_${sessionType}`;\r\n\t}\r\n\r\n\tprivate _getVisitRange(start, end) {\r\n\t\treturn moment(start).format('DD/MM/YYYY') + ' - ' + moment(end).format('DD/MM/YYYY');\r\n\t}\r\n}\r\n","
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n

    {{data.indicator.description}}

    \r\n
    \r\n {{data.indicator.error}}\r\n
    \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    {{domain.code }}\r\n \r\n {{domain.name}}\r\n \r\n {{'forms.common.completionRate' | translate}} ( %)\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{domain.description}}

    \r\n
    {{domain.error}}
    \r\n
    \r\n {{'forms.common.Please check and save all items of the second and third levels' | translate}}\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n {{'forms.common.You must add at least one item' | translate}}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {{'forms.common.Not saved' | translate}}\r\n
    \r\n
    \r\n \r\n {{'forms.common.Error' | translate}}\r\n
    \r\n
    \r\n \r\n {{'forms.common.Has comment' | translate}}\r\n
    \r\n
    \r\n
    ","\r\n\r\n
    \r\n\t
    \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{{ displayValue | translate }}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{{ displayValue }}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{{ 'forms.common.' + displayValue | translate }}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t - \r\n\t
    \r\n\t\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{{ displayValue | translate }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{ displayValue | translate }}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{ 'forms.common.' + displayValue | translate }}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\r\n\t\t\t
    \r\n\t\t\t\t\r\n\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{{ 'forms.common.' + item.data[res.displayField?.key] | translate }}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{{ item.data[res.displayField?.key] }}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{{ 'forms.common.' + item.data.value | translate }}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n","import {\r\n Component,\r\n EventEmitter,\r\n OnInit,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { takeUntil } from 'rxjs';\r\nimport { CRITERION_TYPE } from '../../const';\r\nimport { CriterionAddMembersModel, ICriterion } from '../../models/criterion';\r\nimport { CriterionAddVisitMember, IMember } from '../../models/member';\r\nimport { DistributeService } from '../../services/distribute.service';\r\nimport { BaseComponent } from '../base.component';\r\n@Component({\r\n selector: 'app-criterions-tab',\r\n templateUrl: './criterions-tab.component.html',\r\n styleUrls: ['./criterions-tab.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class CriterionsTabComponent extends BaseComponent implements OnInit {\r\n selectedCriterion: ICriterion;\r\n criterions: ICriterion[] = [];\r\n @Output() isValid = new EventEmitter();\r\n constructor(private distributeService: DistributeService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._initTree();\r\n }\r\n\r\n private _initTree() {\r\n this.distributeService\r\n .getCriterionByVisitKey(this.visitInfo.key)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((res) => {\r\n this.criterions = res;\r\n this.isValid.emit(res.length ? this._checkIfCriterionsIsValid(res) : false);\r\n });\r\n }\r\n\r\n changeCriterions(event: ICriterion) {\r\n this.selectedCriterion = event;\r\n }\r\n\r\n onAdd(items: IMember[]) {\r\n const data = this._prepareDataToServe(items);\r\n this.distributeService\r\n .addCriterionMembers(data)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((res) => {\r\n this._initTree();\r\n });\r\n }\r\n\r\n onRemove(items: IMember[]) {\r\n const data = this._prepareDataToServe(items);\r\n this.distributeService\r\n .deleteCriterionMembers(data)\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe((res) => {\r\n this._initTree();\r\n });\r\n }\r\n\r\n private _checkIfCriterionsIsValid(data = this.criterions, parent: ICriterion = null) {\r\n return data?.every((d) => {\r\n if (d.criterionType == CRITERION_TYPE) {\r\n return !!parent?.visitMembers.length;\r\n }\r\n if (!d?.subCriteria || d.subCriteria?.length === 0) {\r\n return !!d.visitMembers.length;\r\n }\r\n return this._checkIfCriterionsIsValid(d.subCriteria , d) && !!d.visitMembers.length;\r\n });\r\n }\r\n\r\n private _prepareDataToServe(items: IMember[]): CriterionAddMembersModel {\r\n return {\r\n ...this.selectedCriterion,\r\n visitMembers: items.map((data) => this._mapMemberToModel(data)),\r\n };\r\n }\r\n private _mapMemberToModel(member: IMember): CriterionAddVisitMember {\r\n return {\r\n generatedId: this.data.generatedId,\r\n id: member.id,\r\n requestId: this.visitInfo.requestId,\r\n reviewerId: member.reviewer.id,\r\n role: member.role,\r\n visitId: this.visitInfo.id,\r\n visitKey: this.visitInfo.key,\r\n };\r\n }\r\n}\r\n","import { Component, Injector, OnInit } from '@angular/core';\r\nimport { BaseComponent } from 'src/app/shared/components/base.component';\r\nimport { ResourceNameService, UserService } from 'dp-formio';\r\n\r\n@Component({\r\n selector: 'app-pages',\r\n templateUrl: './pages.component.html',\r\n styleUrls: ['./pages.component.scss'],\r\n})\r\n\r\nexport class PagesComponent extends BaseComponent implements OnInit {\r\n formKey: string;\r\n submission: any = {};\r\n extraOptions: any;\r\n\r\n formReady = false;\r\n\r\n constructor(public injector: Injector,\r\n private resourceNameService: ResourceNameService,\r\n private userService: UserService) { super(injector); }\r\n\r\n ngOnInit() {\r\n this.route.params.subscribe(params=>{\r\n this.formReady = false;\r\n this.loadModelsManagementResource();\r\n });\r\n }\r\n\r\n private loadModelsManagementResource() {\r\n this.sub = this.resourceNameService.modelsManagementResource.subscribe(\r\n (data) => {\r\n if (!data) this.getModelsManagement();\r\n else this.checkResource(data);\r\n }\r\n );\r\n }\r\n\r\n private getModelsManagement() {\r\n this.sub = this.resourceNameService\r\n .getManageMenuData()\r\n .subscribe((data) => {\r\n this.checkResource(data);\r\n });\r\n }\r\n\r\n private async checkResource(gridMenu: any[]) {\r\n if (gridMenu && gridMenu.length) {\r\n const item = gridMenu[0].data.menus\r\n .filter(item => !item.appearance?.length || item.appearance.includes('frontOffice'))\r\n .find(item => item.isActive &&\r\n (\r\n (item.type == 'page' && location.pathname.includes(item.route)) ||\r\n (item.type == 'resource' && location.pathname.includes(item.menu.path))\r\n )\r\n );\r\n if (!item) {\r\n this.router.navigate(['/404']);\r\n }\r\n //check permission\r\n const menuItem = this.resourceNameService.generateMenuItem(item, '');\r\n const _userInRoles = this.sessionService.isUserInRole(menuItem.permissions, null, false);\r\n if (_userInRoles || !menuItem.permissions.length) {\r\n const isLoggedIn = await this.keycloakService.isLoggedIn();\r\n const data = await this.userService.getUserData(isLoggedIn ? await this.keycloakService.getToken() : null);\r\n const params = this.route.snapshot.params;\r\n this.extraOptions = this.route.snapshot.queryParams;\r\n\r\n this.formKey = params.formKey;\r\n this.submission.data = { ...data, ...this.extraOptions };\r\n this.formReady = true;\r\n } else {\r\n this.router.navigate(['/403']);\r\n }\r\n } else {\r\n this.router.navigate(['/404']);\r\n }\r\n }\r\n\r\n\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{'forms.common.' + question.key | translate}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    ","import {\r\n ChangeDetectorRef,\r\n Component, ElementRef,\r\n EventEmitter,\r\n Input, OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { DocumentEditorSidebarComponent } from './document-editor-sidebar/document-editor-sidebar.component';\r\nimport { TemplateObject } from './models/template-object';\r\nimport { TemplateObjectsService } from './services/template-objects.service';\r\n\r\n@Component({\r\n selector: 'lib-template-process',\r\n templateUrl: './template-process.component.html',\r\n styleUrls: ['./template-process.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [],\r\n})\r\nexport class TemplateProcessComponent implements OnInit, OnDestroy {\r\n saving: boolean;\r\n loading: boolean;\r\n isPreviewMode: boolean;\r\n @Input()\r\n showActions = true;\r\n @ViewChild('editorSidebar')\r\n editorSidebar: DocumentEditorSidebarComponent;\r\n\r\n hideSideMenu = true;\r\n @Input()\r\n template: TemplateObject;\r\n @Input()\r\n allowSaveAsPdf: boolean;\r\n @Input()\r\n allowSaveAsDocx: boolean;\r\n @Output()\r\n processClose: EventEmitter = new EventEmitter();\r\n @Output()\r\n saveTemplate: EventEmitter = new EventEmitter();\r\n @Output()\r\n saveAsPDF: EventEmitter = new EventEmitter();\r\n @Output()\r\n saveMerged: EventEmitter = new EventEmitter();\r\n @Input()\r\n fieldsDataObject: Map;\r\n @Input()\r\n groupsDataObject: Map;\r\n @Input()\r\n entityType = 'STD';\r\n @Input()\r\n entityId = '1026';\r\n @Input()\r\n backendProcessType: 'PROCESS_USING_PROVIDED_DATA' | 'PROCESS_USING_ENTITY';\r\n @Input()\r\n templateProcessorBaseUrl: string = this.documentTemplatesService.PROCESS_HOST_URL + '/api/documenteditor/';\r\n wopiUrl: string;\r\n accessToken: string;\r\n @ViewChild('form') form: ElementRef;\r\n @Input()\r\n allowSaveAsBase64: boolean;\r\n\r\n\r\n constructor(private documentTemplatesService: TemplateObjectsService, private cdref: ChangeDetectorRef) { }\r\n\r\n ngOnInit(): void {\r\n if (!this.fieldsDataObject) {\r\n this.fieldsDataObject = new Map();\r\n }\r\n if (!this.groupsDataObject) {\r\n this.groupsDataObject = new Map();\r\n }\r\n this.documentTemplatesService.getCollaburaURL().subscribe(data => {\r\n const wopiClientUrl = data.url;\r\n const wopiSrc = `${this.documentTemplatesService.PROCESS_HOST_URL}/wopi/files/${this.template.requestType}/${this.template.requestId}/template/${this.template.uid}`;\r\n this.wopiUrl = wopiClientUrl + 'WOPISrc=' + wopiSrc;\r\n this.accessToken = localStorage.getItem('_token');\r\n // this.accessToken = data.token;\r\n this.cdref.detectChanges();\r\n setTimeout(() => {\r\n this.submitForm();\r\n }, 100);\r\n }, error => {\r\n console.error(error);\r\n });\r\n\r\n }\r\n submitForm(): void {\r\n this.form.nativeElement.submit();\r\n }\r\n private loadTemplateData(): void {\r\n\r\n }\r\n\r\n private saveToTextFile(textData: any): void {\r\n const a = document.createElement('a');\r\n const objectUrl = 'data:attachment/text,' + encodeURI(textData);\r\n // a.style = 'display: none';\r\n a.href = objectUrl;\r\n a.download = this.template.name + '-base64.txt' || 'sample-base64.txt';\r\n a.click();\r\n // URL.revokeObjectURL(objectUrl);\r\n a.remove();\r\n }\r\n private saveBlobPDF(blobData: any): void {\r\n const a = document.createElement('a');\r\n const objectUrl = URL.createObjectURL(blobData);\r\n // a.style = 'display: none';\r\n a.href = objectUrl;\r\n a.download = this.template.name + '.pdf' || 'sample.pdf';\r\n a.click();\r\n URL.revokeObjectURL(objectUrl);\r\n }\r\n private saveBlobODT(blobData: any): void {\r\n const a = document.createElement('a');\r\n const objectUrl = URL.createObjectURL(blobData);\r\n // a.style = 'display: none';\r\n a.href = objectUrl;\r\n a.download = this.template.name + '.odt' || 'sample.odt';\r\n a.click();\r\n URL.revokeObjectURL(objectUrl);\r\n }\r\n\r\n toggleSideMenu(): void {\r\n this.hideSideMenu = !this.hideSideMenu;\r\n this.cdref.detectChanges();\r\n }\r\n\r\n performAction(actionName: 'PREVIEW_AS_PDF' | 'SAVE_AS_PDF' | 'SAVE_AS_DOCX' |\r\n 'SAVE_AS_BASE64' | 'PREVIEW_AS_BASE64' | 'PREVIEW_AS_DOCX'): void {\r\n\r\n // if (actionName === 'PREVIEW_AS_PDF') {\r\n // this.loading = true;\r\n // this.documentTemplatesService.mergeAndRenderTemplate({\r\n // documentData: this.template.uid,\r\n // backendProcessType: this.backendProcessType,\r\n // fieldsDataMap: this.fieldsDataObject,\r\n // groupsDataMap: this.groupsDataObject\r\n // },\r\n // this.template.uid).subscribe(blobData => {\r\n // this.saveBlobPDF(blobData);\r\n // this.loading = false;\r\n // }, error => {\r\n // console.error(error);\r\n // this.loading = false;\r\n // });\r\n // } else if (actionName === 'PREVIEW_AS_DOCX') {\r\n // this.loading = true;\r\n // this.documentTemplatesService.mergeAndGetTemplate({\r\n // documentData: this.template.uid,\r\n // backendProcessType: this.backendProcessType,\r\n // fieldsDataMap: this.fieldsDataObject,\r\n // groupsDataMap: this.groupsDataObject\r\n // },\r\n // this.template.uid).subscribe(blobData => {\r\n // this.saveBlobODT(blobData);\r\n // this.loading = false;\r\n // }, error => {\r\n // console.error(error);\r\n // this.loading = false;\r\n // });\r\n // } else if (actionName === 'SAVE_AS_DOCX') {\r\n // this.loading = true;\r\n // this.documentTemplatesService.getTemplate(\r\n // this.template.uid).subscribe(blobData => {\r\n // this.saveBlobODT(blobData);\r\n // this.loading = false;\r\n // }, error => {\r\n // console.error(error);\r\n // this.loading = false;\r\n // });\r\n // } else if (actionName === 'SAVE_AS_PDF') {\r\n // this.loading = true;\r\n // this.documentTemplatesService.renderTemplateToPdf(\r\n // this.template.uid).subscribe(blobData => {\r\n // this.saveBlobPDF(blobData);\r\n // this.loading = false;\r\n // }, error => {\r\n // console.error(error);\r\n // this.loading = false;\r\n // });\r\n // } else if (actionName === 'SAVE_AS_BASE64') {\r\n // this.loading = true;\r\n // this.documentTemplatesService.getBase64(\r\n // this.template.uid).subscribe(textData => {\r\n // this.saveToTextFile(textData);\r\n // this.loading = false;\r\n // }, error => {\r\n // console.error(error);\r\n // this.loading = false;\r\n // });\r\n // } else if (actionName === 'PREVIEW_AS_BASE64') {\r\n // this.loading = true;\r\n // this.documentTemplatesService.mergeAndGetBase64({\r\n // documentData: this.template.uid,\r\n // backendProcessType: this.backendProcessType,\r\n // fieldsDataMap: this.fieldsDataObject,\r\n // groupsDataMap: this.groupsDataObject\r\n // },\r\n // this.template.uid).subscribe(textData => {\r\n // this.saveToTextFile(textData);\r\n // this.loading = false;\r\n // }, error => {\r\n // console.error(error);\r\n // this.loading = false;\r\n // });\r\n // }\r\n }\r\n saveAsPdf() {\r\n this.loading = true;\r\n this.documentTemplatesService.mergeAndRenderToPDFBase64({\r\n documentData: this.template.uid,\r\n backendProcessType: this.backendProcessType,\r\n fieldsDataMap: this.fieldsDataObject,\r\n groupsDataMap: this.groupsDataObject\r\n }, this.template.requestType, this.template.requestId).subscribe(textData => {\r\n this.saveMerged.emit(textData);\r\n this.emitClose();\r\n }, error => {\r\n console.error(error);\r\n this.loading = false;\r\n this.emitClose();\r\n });\r\n }\r\n close(): void {\r\n // this.loading = true;\r\n // this.documentTemplatesService.mergeAndGetBase64({\r\n // documentData: this.template.uid,\r\n // backendProcessType: this.backendProcessType,\r\n // fieldsDataMap: this.fieldsDataObject,\r\n // groupsDataMap: this.groupsDataObject\r\n // },\r\n // this.template.uid).subscribe(textData => {\r\n // this.saveMerged.emit(textData);\r\n // this.documentTemplatesService.getBase64(\r\n // this.template.uid).subscribe(textData2 => {\r\n // this.saveTemplate.emit(textData2);\r\n // this.loading = false;\r\n // this.emitClose();\r\n // }, error => {\r\n // console.error(error);\r\n // this.loading = false;\r\n // this.emitClose();\r\n // });\r\n // }, error => {\r\n // console.error(error);\r\n // this.loading = false;\r\n // this.emitClose();\r\n // });\r\n this.emitClose();\r\n }\r\n private emitClose(): void {\r\n this.ngOnDestroy();\r\n this.processClose.emit(true);\r\n }\r\n ngOnDestroy(): void {\r\n\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n
    {{question.displayOrder}}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {{question.name}}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    ","
    \r\n
    \r\n \r\n
    \r\n\r\n {{ 'forms.common.Criteria.membersEntries' | translate }} \r\n\r\n
    \r\n
    \r\n \r\n {{ \"forms.common.Criteria.searchKeyword\" | translate }}\r\n \r\n \r\n\r\n \r\n {{ \"forms.common.Criteria.Member\" | translate }}\r\n \r\n \r\n {{ option.reviewer | propertyLocalized | async }}\r\n \r\n \r\n \r\n\r\n \r\n {{ (isMasar ? \"forms.common.Criteria.MasarCriteria\" : \"forms.common.Criteria.Criteria\") | translate }}\r\n \r\n \r\n {{option.criterionKey}}\r\n {{ option | propertyLocalized : ['criterionArabicName','criterionEnglishName'] | async}}\r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n
    \r\n {{ \"forms.common.Criteria.summary\" | translate }}\r\n \r\n
    {{ row[filter] }}
    \r\n
    \r\n {{ (isMasar ? \"forms.common.Criteria.MasarCriteria\" : \"forms.common.Criteria.Criteria\") | translate }}\r\n \r\n {{row.criterionKey}}\r\n \r\n {{ \"forms.common.Criteria.Member\" | translate }}\r\n \r\n
    {{ row | propertyLocalized : [\"memberArabicName\", \"memberEnglishName\"] | async}}
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {{ \"forms.common.No items added yet\" | translate }}\r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n","
    \r\n\t\r\n\t\t

    {{ dialogData.message | translate }}

    \r\n\t
    \r\n\t
    \r\n\t\t\r\n\t\t\r\n\t
    \r\n
    ","import { TranslateService } from '@ngx-translate/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild, ViewEncapsulation } from \"@angular/core\";\r\nimport { TooltipDialog } from '../../assessment-wrapper/tooltip-dialog/tooltip-dialog.component';\r\nimport { ClassificationDomain, ClassificationIndicator, ClassificationQuestion, CompletionRate } from '../models/classification-indicators.model';\r\nimport { forkJoin, Subscription } from 'rxjs';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { showToast } from '../../toast.helper';\r\nimport _cloneDeep from 'lodash/cloneDeep';\r\nimport { MatMenuTrigger } from '@angular/material/menu';\r\nimport { ResourceNameService } from 'dp-formio';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-classification-indicator-question',\r\n templateUrl: './classification-indicator-question.component.html',\r\n // styleUrls: ['./classification-indicator-question.component.scss']\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ClassificationIndicatorQuestionComponent implements OnInit, OnDestroy {\r\n @Input() dir;\r\n @Input() data;\r\n @Input() orginalQuestion: ClassificationQuestion;\r\n @Input() domain: ClassificationDomain;\r\n @Input() indicator: ClassificationIndicator;\r\n @Input() attachmentsFormKey: string;\r\n @Input() viewOnly: boolean;\r\n @Output() loading = new EventEmitter();\r\n @Output() dataChanged = new EventEmitter<{\r\n questionScore: number,\r\n domainScore: number,\r\n indicatorScore: number,\r\n question: ClassificationQuestion,\r\n domainCompletionRate: number,\r\n indicatorCompletionRate: number\r\n }>();\r\n @Output() onHistoryUpdated = new EventEmitter();\r\n @ViewChild('menuTrigger') menuTrigger: MatMenuTrigger;\r\n question: ClassificationQuestion;\r\n\r\n private subs: Subscription[] = [];\r\n set sub(s: Subscription) { this.subs.push(s); }\r\n\r\n showForm = true;\r\n formReady = true;\r\n isCommentsOpen = false;\r\n\r\n constructor(private dialog: MatDialog,\r\n private toastrService: ToastrService,\r\n private resourceNameService: ResourceNameService,\r\n private translateService: TranslateService) {\r\n\r\n }\r\n ngOnInit(): void {\r\n this.question = _cloneDeep(this.orginalQuestion);\r\n this.orginalQuestion.instanceForEdit = this.question;\r\n }\r\n ngOnDestroy(): void {\r\n this.subs.forEach(s => s.unsubscribe());\r\n this.subs = [];\r\n this.orginalQuestion.instanceForEdit = null;\r\n }\r\n closeMenu() {\r\n this.menuTrigger.closeMenu();\r\n }\r\n historyUpdated() {\r\n const tempDomain = new ClassificationDomain();\r\n tempDomain._id = this.domain._id;\r\n this.question.domainObject = tempDomain;\r\n this.question.domainObject.indicatorObject = {\r\n _id: this.indicator._id,\r\n history: this.indicator.history\r\n };\r\n this.onHistoryUpdated.emit();\r\n }\r\n showDialog(message: string) {\r\n const dialogRef = this.dialog.open(TooltipDialog, {\r\n width: '80%',\r\n data: {\r\n dir: this.dir,\r\n message: this.translateService.instant(message)\r\n }\r\n });\r\n }\r\n\r\n checkValue(event) {\r\n //Todo : must change this to reactive \r\n if (this.question.score <= 0 || this.question.score <= this.question.min || this.question.score == null) this.question.score = this.question.min || 0;\r\n else if (this.question.max && this.question.max < this.question.score) this.question.score = this.question.max;\r\n if (this.question.type == 'int' && !new RegExp(/^\\d+$/).test(this.question.score + '')) this.question.score = 0;\r\n\r\n event.target.value = this.question.score;\r\n }\r\n checkYearInput(event, year) {\r\n //Todo : must change this to reactive \r\n if (!event.target.value || event.target.value < 0) {\r\n event.target.value = 0;\r\n year.value = '0';\r\n } else year.value = event.target.value.toString();\r\n }\r\n\r\n changeApply() {\r\n if (this.question.notApply) this.question.resetResult();\r\n this.showForm = false;\r\n this.formReady = false;\r\n setTimeout(() => this.formReady = true);\r\n }\r\n\r\n formLoad(formSettings) {\r\n setTimeout(() => {\r\n const array = $('.classification-indicator-question [name=\"data[submit]\"]');\r\n for (let index = 0; index < array.length; index++) {\r\n $(array[index]).hide();\r\n }\r\n this.showForm = true;\r\n }, 250);\r\n }\r\n save() {\r\n const completionRate = this.calcCompletionRate(this.question._id);\r\n const questionId = this.question._id;\r\n const question = this.prepareQuestion(_cloneDeep(this.question));\r\n\r\n const domainId = this.domain._id;\r\n let domain = _cloneDeep(this.domain) as ClassificationDomain;\r\n const questionIndex = domain.questions.findIndex(q => q._id == questionId);\r\n domain.questions[questionIndex] = question;\r\n domain = this.prepareDomain(_cloneDeep(domain));\r\n\r\n const indicatorId = this.data.indicator._id;\r\n let indicator = _cloneDeep(this.data.indicator) as ClassificationIndicator;\r\n const domainIndex = indicator.domains.findIndex(d => d._id == domainId);\r\n indicator.domains[domainIndex] = domain;\r\n indicator = this.prepareIndicator(_cloneDeep(indicator));\r\n\r\n const calls = this.prepareCalls(completionRate, questionId, question, domainId, domain, indicatorId, indicator);\r\n\r\n this.loading.emit(true);\r\n this.sub = forkJoin(calls)\r\n .subscribe(data => {\r\n this.question.isSaved = true;\r\n this.question.orginal = _cloneDeep(this.question);\r\n\r\n this.dataChanged.emit({\r\n questionScore: question.score,\r\n domainScore: domain.score,\r\n indicatorScore: indicator.score,\r\n question: this.question,\r\n domainCompletionRate: completionRate.domainCompletionRate,\r\n indicatorCompletionRate: completionRate.indicatorCompletionRate\r\n });\r\n this.loading.emit(false);\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"forms.common.Saved done\"),\r\n this.translateService.instant(\"forms.common.Saved Successfully\"),\r\n false\r\n );\r\n }, error => {\r\n this.loading.emit(false);\r\n showToast(this.toastrService,\r\n this.translateService.instant(\"ErrorOccurred\"),\r\n this.translateService.instant(\"generalError\"),\r\n true\r\n );\r\n });\r\n }\r\n private prepareCalls(completionRate: CompletionRate, questionId, question, domainId, domain, indicatorId, indicator) {\r\n const calls = [];\r\n calls.push(this.resourceNameService.\r\n patchSubmission(this.data.customOptions.questionResource,\r\n questionId, [\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/notApply\",\r\n \"value\": question.notApply\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/isSaved\",\r\n \"value\": true\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/notes\",\r\n \"value\": question.notes || ''\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/score\",\r\n \"value\": question.score || null\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/attachmentsFiles\",\r\n \"value\": question.attachmentsFiles\r\n },\r\n {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/years\",\r\n \"value\": question.years\r\n }\r\n ]));\r\n\r\n calls.push(this.resourceNameService.\r\n patchSubmission(this.data.customOptions.domainResource,\r\n domainId,\r\n [{\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/score\",\r\n \"value\": domain.score || 0\r\n }, {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/completionRate\",\r\n \"value\": completionRate.domainCompletionRate || 0\r\n }\r\n ]));\r\n\r\n calls.push(this.resourceNameService.\r\n patchSubmission(this.data.customOptions.indicatorResource,\r\n indicatorId,\r\n [{\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/score\",\r\n \"value\": indicator.score || 0\r\n }, {\r\n\r\n \"op\": \"add\",\r\n \"path\": \"/data/completionRate\",\r\n \"value\": completionRate.indicatorCompletionRate || 0\r\n }\r\n ]));\r\n\r\n return calls;\r\n }\r\n\r\n private calcCompletionRate(questionId: string): CompletionRate {\r\n //always exclude the current question then add 1 to avoid duplicate\r\n let savedQuestion = this.domain.questions.filter(q => q.isSaved && q._id != questionId).length + 1;\r\n let domainCompletionRate = savedQuestion * 100 / this.domain.questions.length;\r\n\r\n //remove the old domain rate before adding the new rate\r\n let domainCount = this.indicator.domains.length;\r\n let indicatorCompletionRate = (this.indicator.completionRate - (this.domain.completionRate / domainCount)) +\r\n domainCompletionRate / domainCount;\r\n\r\n return new CompletionRate(domainCompletionRate, indicatorCompletionRate);\r\n }\r\n\r\n private prepareQuestion(data: ClassificationQuestion) {\r\n delete data._id;\r\n return data;\r\n }\r\n private prepareDomain(data: ClassificationDomain) {\r\n data.score = data.calculatedScore;\r\n delete data._id;\r\n delete data.isCached;\r\n delete data.questions;\r\n return data;\r\n }\r\n private prepareIndicator(data: ClassificationIndicator) {\r\n data.score = data.calculatedScore;\r\n delete data._id;\r\n delete data.isCached;\r\n delete data.domains;\r\n delete data.attachmentsFormKey;\r\n return data;\r\n }\r\n}\r\n","import { Pipe, PipeTransform, NgZone, ChangeDetectorRef, OnDestroy } from '@angular/core';\r\n@Pipe({\r\n name: 'calculatedTotal',\r\n pure: false\r\n})\r\nexport class CalculatedTotalPipe implements PipeTransform {\r\n constructor() { }\r\n transform(item: any, total: string, key: string) {\r\n if (total) {\r\n let sum = 0;\r\n if (total)\r\n total.split(',').forEach(key => {\r\n sum += +(item[key] ?? 0).toString();\r\n });\r\n if (key) item[key] = sum;\r\n return sum;\r\n }\r\n if (key) item[key] = 0;\r\n return 0;\r\n }\r\n}\r\n","
    \r\n\t
    \r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t
    \r\n\t\t
    \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    \r\n\t\t\r\n\t
    \r\n
    ","\r\nexport class FinalReportMistakes {\r\n id?: number;\r\n criterionId?: number;\r\n criterionKey?: string;\r\n criterionType?: string;\r\n visitKey?: string;\r\n\r\n mistake?: string;\r\n mistakeLevel?: string;\r\n responseDecision?: string;\r\n notes?: string;\r\n suggestedSolution?: string;\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { CriterionsService } from '../../../../services/criterions.service';\r\nimport { Category } from '../../../../models/category.model';\r\n\r\n@Component({\r\n selector: 'app-masar-total-statistic-preview',\r\n templateUrl: './masar-total-statistic-preview.component.html',\r\n styleUrls: ['./masar-total-statistic-preview.component.scss']\r\n})\r\nexport class MasarTotalStatisticPreviewComponent implements OnInit {\r\n @Input() category: Category;\r\n process$ = this.criterionsService.process$;\r\n\r\n constructor(private criterionsService: CriterionsService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Inject,\r\n OnInit,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { Observable, tap } from 'rxjs';\r\nimport { SessionModel } from 'src/formio-custom-components/src/lib/shared/model';\r\nimport { CommonQuestionModel, QuestionSession } from '../../models';\r\nimport { FormDialogData, memberFormModel } from '../../models/dialog';\r\nimport { CommonQuestionsService } from '../../services';\r\n\r\n@Component({\r\n selector: 'app-users-sessions-dialog',\r\n templateUrl: './users-sessions-dialog.component.html',\r\n styleUrls: ['./users-sessions-dialog.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class UsersSessionsDialogComponent implements OnInit {\r\n formGroup: FormGroup;\r\n sessions$: Observable;\r\n\r\n mode: 'add' | 'edit';\r\n\r\n selectedSession: SessionModel[] = null;\r\n members: Record = {};\r\n\r\n get isMemberValid() {\r\n return Object.values(this.members).some((item) => !!item.members?.length);\r\n }\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: FormDialogData,\r\n public questionsService: CommonQuestionsService\r\n ) {\r\n this.mode = this.data?.mode;\r\n this.sessions$ = this.questionsService\r\n .getSessionsByVisitKey(this.data?.visitKey)\r\n .pipe(\r\n tap((data) => {\r\n data.forEach((item) => {\r\n this.members[item.id] = {\r\n sessionId: item.id,\r\n members: this.members[item.id]?.members || [],\r\n };\r\n });\r\n })\r\n );\r\n }\r\n\r\n compareSessionWithFn = (o1: SessionModel, o2: SessionModel) => {\r\n return o1?.id === o2?.id;\r\n };\r\n\r\n ngOnInit(): void {\r\n if (this.mode == 'edit') {\r\n this.prepareSessions(this.data.question.sessions);\r\n }\r\n }\r\n prepareSessions(sessions: QuestionSession[]) {\r\n sessions?.forEach((session) => {\r\n this.members[session.sessionId] = {\r\n sessionId: session.sessionId,\r\n members: session.members.split(',').map((id) => Number(id)),\r\n };\r\n });\r\n }\r\n\r\n submit() {\r\n const sessions = this._prepareDataToSave();\r\n\r\n if (!!sessions?.length) {\r\n const data = Object.assign(this.data.question, { sessions: sessions });\r\n this.dialogRef.close(data);\r\n }\r\n }\r\n\r\n private _prepareDataToSave() {\r\n return Object.values(this.members).reduce((prev, curr) => {\r\n if (!curr.members?.length) {\r\n return prev;\r\n }\r\n return [\r\n ...prev,\r\n {\r\n sessionId: curr.sessionId,\r\n members: curr.members.join(),\r\n },\r\n ];\r\n }, []);\r\n }\r\n}\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-questions-container-side',\r\n template: '',\r\n styles: [''],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class QuestionsContainerSideComponent {}\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\nimport { environmentLoader as environmentLoaderPromise } from './environments/environmentLoader';\r\nimport { registerLogger } from './app/core/helpers/logger.helper';\r\n\r\nenvironmentLoaderPromise.then((env) => {\r\n\tif (env.production) {\r\n\t\tenableProdMode();\r\n\t}\r\n\tObject.keys(env).forEach((key) => {\r\n\t\tenvironment[key] = env[key];\r\n\t});\r\n\tregisterLogger();\r\n\tplatformBrowserDynamic().bootstrapModule(AppModule);\r\n});\r\n","
    \r\n \r\n \r\n\r\n \r\n \r\n {{customOptions.titleTranslatable ? ('forms.common.' + customOptions.title | translate) : customOptions.title}}\r\n
    \r\n
    \r\n\r\n \r\n \r\n {{customOptions.descriptionTranslatable ? ('forms.common.' + customOptions.description | translate) :\r\n customOptions.description}}\r\n \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    ","import { DatePipe } from '@angular/common';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { LoggerService } from 'src/app/core/services/logger.service';\r\nimport { environment } from '../../../environments/environment';\r\nimport { LifeCycleService } from './life-cycle-service.config';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ServicesService {\r\n\tconstructor(private http: HttpClient, private loggerService: LoggerService) {}\r\n\r\n\tgetCMSheaders() {\r\n\t\tlet headers: HttpHeaders = new HttpHeaders();\r\n\t\t// headers = headers.append('Authorization', 'Bearer ' + environment.cms.portalUserToken);\r\n\t\treturn headers;\r\n\t}\r\n\r\n\tgetCollectionAll(collection: string): Observable {\r\n\t\treturn this.http.post(\r\n\t\t\t`${environment.cms}/api/collections/get/${collection}/`,\r\n\t\t\t{ populate: 1 },\r\n\t\t\t{\r\n\t\t\t\theaders: this.getCMSheaders(),\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetCollectionAllActive(collection: string, activeKey, activeVal): Observable {\r\n\t\tlet filter = {};\r\n\t\tfilter[activeKey] = activeVal;\r\n\t\tthis.loggerService.log(filter);\r\n\r\n\t\treturn this.http.post(\r\n\t\t\t`${environment.cms}/api/collections/get/${collection}/`,\r\n\t\t\t{\r\n\t\t\t\tfilter,\r\n\t\t\t\tpopulate: 1,\r\n\t\t\t\tsort: { _o: 1 },\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaders: this.getCMSheaders(),\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetCollectionEntryById(collection: string, filterKey: string, id: any): Observable {\r\n\t\treturn this.http.post(\r\n\t\t\t`${environment.cms}/api/collections/get/${collection}/`,\r\n\t\t\t{\r\n\t\t\t\tfilter: {\r\n\t\t\t\t\t_id: `${id}`,\r\n\t\t\t\t},\r\n\t\t\t\tpopulate: 1,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaders: this.getCMSheaders(),\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetService(id) {\r\n\t\treturn this.getCollectionEntryById('Service', '_id', id);\r\n\t}\r\n\r\n\tgetServices() {\r\n\t\treturn this.getCollectionAllActive('Service', 'lifeCycle', LifeCycleService.PUBLISHED);\r\n\t}\r\n\r\n\tgetTags() {\r\n\t\treturn this.getCollectionAll('tags');\r\n\t}\r\n\r\n\tgetSegments() {\r\n\t\treturn this.getCollectionAllActive('segment', 'activation', true);\r\n\t}\r\n\r\n\tgetSegmentType() {\r\n\t\treturn this.getCollectionAllActive('segmentType', 'activation', true);\r\n\t}\r\n\r\n\tgetDepartments() {\r\n\t\treturn this.getCollectionAllActive('department', 'activation', true);\r\n\t}\r\n\r\n\tgetCategories() {\r\n\t\treturn this.getCollectionAllActive('category', 'activation', true);\r\n\t}\r\n\r\n\tgetBanners() {\r\n\t\treturn this.getCollectionAllActive('bannerSlider', 'activation', true);\r\n\t}\r\n\r\n\tgetOpportunity(id) {\r\n\t\treturn this.getCollectionEntryById('opportunity', '_id', id);\r\n\t}\r\n\r\n\tpostOpportunity(formData): Observable {\r\n\t\treturn this.http.post(\r\n\t\t\t`${environment.cms}/api/collections/save/opportunity/`,\r\n\t\t\t{\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tname: formData.jobTitle,\r\n\t\t\t\t\tnumber: formData.id,\r\n\t\t\t\t\tcity: formData.city,\r\n\t\t\t\t\temployer: formData.organization,\r\n\t\t\t\t\tdescription: formData.description,\r\n\t\t\t\t\tsalaryType: formData.salaryNegotiation,\r\n\t\t\t\t\tsalaryAmount: formData.opportunityDetailsPanelColumnsExpectedSalaryinSar,\r\n\t\t\t\t\tfrom: formData.applicationStartDate,\r\n\t\t\t\t\tto: formData.applicationEndDate,\r\n\t\t\t\t\teducation: formData.educationLevel,\r\n\t\t\t\t\tvacancies: formData.opportunityDetailsPanelColumnsPositionsCounts,\r\n\t\t\t\t\trequirements: formData.requirements,\r\n\t\t\t\t\tqualifications: formData.qualifications,\r\n\t\t\t\t\tcertificates: formData.certificates,\r\n\t\t\t\t\tyearsOfExperience: formData.requiredExperienceYears,\r\n\t\t\t\t\tnotes: formData.notes,\r\n\t\t\t\t\tbranchId: formData.branchId,\r\n\t\t\t\t\t_cityName: formData._cityName,\r\n\t\t\t\t\t_cityId: formData._cityId,\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaders: this.getCMSheaders(),\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tapplyOpportunity(formData): Observable {\r\n\t\treturn this.http.post(\r\n\t\t\t`${environment.cms}/api/collections/save/opportunitySubmit/`,\r\n\t\t\t{\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tisCurrentlyEmployed: formData.currentlyWorking,\r\n\t\t\t\t\t//\"currentEmployer\": formData.,\r\n\t\t\t\t\t//\"sectorType\": formData.,\r\n\t\t\t\t\t//\"currentTitle\": formData.,\r\n\t\t\t\t\teducationAndMajor: formData.specialization,\r\n\t\t\t\t\tmajor: formData.educationalQualification,\r\n\t\t\t\t\teducationPlace: formData.educationalOrganization,\r\n\t\t\t\t\tgraduationYear: formData.graduationYear,\r\n\t\t\t\t\tgraduationScore: formData.gpa,\r\n\t\t\t\t\tyearOfExperienceSameTitle: formData.experienceYearsPosition,\r\n\t\t\t\t\tyearOfExperienceOtherTitles: formData.otherExperienceYears,\r\n\t\t\t\t\tenglishLevel: formData.englishLevel,\r\n\t\t\t\t\tcomputerSkillsLevel: formData.computerSkillsLevel,\r\n\t\t\t\t\tcv: formData.cv[0],\r\n\t\t\t\t\tlinkedinProfile: formData.linkedInProfile,\r\n\r\n\t\t\t\t\tbranchId: formData.branchId,\r\n\t\t\t\t\tcandidate: formData.candidate,\r\n\t\t\t\t\topportunityId: formData.opportunityId,\r\n\t\t\t\t\t_fullName: formData._fullName,\r\n\t\t\t\t\t_mobile: formData._mobile,\r\n\t\t\t\t\t_nationalId: formData._nationalId,\r\n\t\t\t\t\t_birthDate: formData._birthDate,\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaders: this.getCMSheaders(),\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tappliedOpportunity(id): Observable {\r\n\t\treturn this.getCollectionEntryById('opportunitySubmit', '_id', id);\r\n\t}\r\n\r\n\tgetAllOpportunitiesAvailForToday(branchId, params?): Observable {\r\n\t\tlet sendParams = {\r\n\t\t\tfilter: {},\r\n\t\t\tpopulate: 1,\r\n\t\t};\r\n\r\n\t\tif (branchId !== false) {\r\n\t\t\tsendParams.filter['branchId'] = `${branchId}`;\r\n\t\t}\r\n\r\n\t\tconst todayDate = new DatePipe('en-US').transform(Date.now(), 'yyyy-MM-dd');\r\n\r\n\t\tif (params.number && params.number.length) {\r\n\t\t\tsendParams['filter']['number'] = `${params.number}`;\r\n\t\t}\r\n\t\tif (params.name && params.name.length) {\r\n\t\t\tsendParams['filter']['name'] = `${params.name}`;\r\n\t\t}\r\n\t\tif (params.city && params.city.length) {\r\n\t\t\tsendParams['filter']['city'] = `${params.city}`;\r\n\t\t}\r\n\t\tif (params.employer && params.employer.length) {\r\n\t\t\tsendParams['filter']['employer'] = `${params.employer}`;\r\n\t\t}\r\n\r\n\t\tif (params.sortBy && params.sortDirection) {\r\n\t\t\tsendParams['sort'] = {};\r\n\t\t\tif (params.sortDirection == 'desc') {\r\n\t\t\t\tsendParams['sort'][params.sortBy] = -1;\r\n\t\t\t} else {\r\n\t\t\t\tsendParams['sort'][params.sortBy] = 1;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.http.post(\r\n\t\t\t`${environment.cms}/api/collections/get/opportunity/`,\r\n\t\t\tsendParams,\r\n\t\t\t{\r\n\t\t\t\theaders: this.getCMSheaders(),\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetApplicants(opportunityId): Observable {\r\n\t\treturn this.http.post(\r\n\t\t\t`${environment.cms}/api/collections/get/opportunitySubmit/`,\r\n\t\t\t{\r\n\t\t\t\tfilter: {\r\n\t\t\t\t\topportunityId: `${opportunityId}`,\r\n\t\t\t\t},\r\n\t\t\t\tpopulate: 1,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaders: this.getCMSheaders(),\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetApplicantById(opportunityId, userId): Observable {\r\n\t\treturn this.http.post(\r\n\t\t\t`${environment.cms}/api/collections/get/opportunitySubmit/`,\r\n\t\t\t{\r\n\t\t\t\tfilter: {\r\n\t\t\t\t\topportunityId: `${opportunityId}`,\r\n\t\t\t\t\tcandidate: `${userId}`,\r\n\t\t\t\t},\r\n\t\t\t\tpopulate: 1,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaders: this.getCMSheaders(),\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetComments(serviceId) {\r\n\t\treturn this.http.post(\r\n\t\t\t`${environment.cms}/api/collections/get/comments/`,\r\n\t\t\t{\r\n\t\t\t\tfilter: {\r\n\t\t\t\t\t'serviceName._id': `${serviceId}`,\r\n\t\t\t\t},\r\n\t\t\t\tpopulate: 0,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaders: this.getCMSheaders(),\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tgetSegmentsByIds(ids: Array): Observable {\r\n\t\tlet body = [];\r\n\t\tids.forEach((element) => {\r\n\t\t\tbody.push({ _id: element });\r\n\t\t});\r\n\r\n\t\treturn this.http.post(\r\n\t\t\t`${environment.cms}/api/collections/get/segment/`,\r\n\t\t\t{\r\n\t\t\t\tfilter: {\r\n\t\t\t\t\t$or: body,\r\n\t\t\t\t},\r\n\t\t\t\tpopulate: 1,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaders: this.getCMSheaders(),\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tsearch(keyword: string): Observable {\r\n\t\tlet body: object;\r\n\t\tbody = {\r\n\t\t\tfilter: {\r\n\t\t\t\t$or: [],\r\n\t\t\t},\r\n\t\t\tlimit: 100,\r\n\t\t\tpopulate: 1,\r\n\t\t};\r\n\r\n\t\t// keyword prepare\r\n\t\tlet findKeywordOn: Array = ['serviceName_ar', 'description_ar', 'tag'];\r\n\t\tfindKeywordOn.forEach((element) => {\r\n\t\t\tbody['filter']['$or'].push({ element: { $regex: keyword } });\r\n\t\t});\r\n\r\n\t\t// tags.forEach(element => {\r\n\t\t// body['filter']['$or'].push({\"tag._id\": element})\r\n\t\t// });\r\n\r\n\t\t//body['filter']['$and'].push({\"lifeCycle\":\"Published\"}) //@TODO filter inactive\r\n\t\t//body['filter']['$or'].push({\"department._id\":{\"$eq\": category}})\r\n\r\n\t\treturn this.http.post(`${environment.cms}/api/collections/get/Service/`, body, {\r\n\t\t\theaders: this.getCMSheaders(),\r\n\t\t});\r\n\t}\r\n\r\n\tgetRequest(id: string): Observable {\r\n\t\treturn this.http.get(`${environment.cms}/api/collections/get/${id}/`, {\r\n\t\t\theaders: this.getCMSheaders(),\r\n\t\t});\r\n\t}\r\n\r\n\t// getStats(id: string): Observable {\r\n\t// return this.http.get(\r\n\t// `${environment.statisticsApi.api}#${id}`);\r\n\t// }\r\n\r\n\tgetNews() {\r\n\t\treturn this.getCollectionAllActive('news', 'disable', false);\r\n\t}\r\n\r\n\tgetSingleNews(id) {\r\n\t\treturn this.getCollectionEntryById('news', '_id', id);\r\n\t}\r\n\r\n\tgetAds() {\r\n\t\treturn this.getCollectionAllActive('ads', 'disable', false);\r\n\t}\r\n\r\n\tgetSingleAds(id) {\r\n\t\treturn this.getCollectionEntryById('ads', '_id', id);\r\n\t}\r\n\r\n\t// getProfile(id): Observable {\r\n\t// return this.http.get(\r\n\t// `${environment.profile.api}/${id}`, {\r\n\t// headers: this.getCMSheaders()\r\n\t// });\r\n\t// }\r\n}\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";","\r\nimport { translateServiceInstance } from 'dp-formio';\r\nimport _isEqual from 'lodash/isEqual';\r\nimport _omit from 'lodash/omit';\r\n\r\nconst ar = 'ar';\r\n/**\r\n * Model of history :\r\n * map(indicatorId,map(domainId,map(questionId,taskId)))\r\n *\r\n * Empty Map :\r\n * {\"dataType\":\"Map\",\"value\":[]}\r\n *\r\n * Demo of Data :\r\n * {\"dataType\":\"Map\",\"value\":[[\"indicator1\",{\"dataType\":\"Map\",\"value\":[[\"domain1\",{\"dataType\":\"Map\",\"value\":[[\"question1\",\"taskId\"],[\"question2\",\"taskId\"],[\"question3\",\"taskId\"]]}],[\"domain2\",{\"dataType\":\"Map\",\"value\":[[\"question4\",\"taskId\"],[\"question5\",\"taskId\"]]}]]}],[\"indicator2\",{\"dataType\":\"Map\",\"value\":[[\"domain3\",{\"dataType\":\"Map\",\"value\":[[\"question6\",\"taskId\"]]}]]}]]\r\n *\r\n */\r\n\r\nexport class ClassificationIndicator {\r\n _id: string;\r\n requestId: string;\r\n\r\n key: string;\r\n order: number;\r\n code: string;\r\n icon: string;\r\n\r\n //config\r\n domains: ClassificationDomain[] = [];\r\n attachmentsFormKey: string;\r\n domainNotesAndRecommendationsFormKey: string;\r\n isCached: boolean;\r\n\r\n nameAr: string;\r\n nameEn: string;\r\n descriptionAr: string;\r\n descriptionEn: string;\r\n tooltipAr: string;\r\n tooltipEn: string;\r\n get name() {\r\n return translateServiceInstance?.currentLang == ar ? this.nameAr : this.nameEn;\r\n }\r\n get description() {\r\n return translateServiceInstance?.currentLang == ar ? this.descriptionAr : this.descriptionEn;\r\n }\r\n get tooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.tooltipAr : this.tooltipEn;\r\n }\r\n\r\n //score\r\n averageToPass: number;\r\n errorAr: string;\r\n errorEn: string;\r\n get error() {\r\n return translateServiceInstance?.currentLang == ar ? this.errorAr : this.errorEn;\r\n }\r\n get hasError() {\r\n if ((this.score ?? 0) < this.averageToPass) return true;\r\n else return false;\r\n }\r\n get isValid() {\r\n return !this.hasError && this.isSubDomainsValids;\r\n }\r\n get calculatedScore() {\r\n let score = 0;\r\n let domainsCount = 0;\r\n // calc from questions\r\n this.domains.filter(q => q.score).forEach(q => {\r\n score += +q.score * (q.weight || 1);\r\n domainsCount += q.weight || 1;\r\n });\r\n\r\n if (!domainsCount) return 0;\r\n return score / domainsCount;\r\n }\r\n\r\n //result\r\n score: number;\r\n status: ClassificationStatus;\r\n isSubDomainsValids: boolean;\r\n history = new Map();\r\n get hasComments() {\r\n return this.history.has(this._id);\r\n }\r\n\r\n completionRate: number = 0;\r\n}\r\n\r\nexport class ClassificationDomain {\r\n _id: string;\r\n requestId: string;\r\n\r\n key: string;\r\n order: number;\r\n code: string;\r\n icon: string;\r\n indicator: string;\r\n\r\n //config\r\n indicatorObject: { _id: string, history: Map };\r\n questions: ClassificationQuestion[] = [];\r\n isCached: boolean;\r\n\r\n nameAr: string;\r\n nameEn: string;\r\n descriptionAr: string;\r\n descriptionEn: string;\r\n tooltipAr: string;\r\n tooltipEn: string;\r\n get name() {\r\n return translateServiceInstance?.currentLang == ar ? this.nameAr : this.nameEn;\r\n }\r\n get description() {\r\n return translateServiceInstance?.currentLang == ar ? this.descriptionAr : this.descriptionEn;\r\n }\r\n get tooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.tooltipAr : this.tooltipEn;\r\n }\r\n\r\n //attachment\r\n attachmentNameAr: string;\r\n attachmentNameEn: string;\r\n attachmentsTooltipAr: string;\r\n attachmentsTooltipEn: string;\r\n attachmentIsRequired: boolean;\r\n get attachmentName() {\r\n return translateServiceInstance?.currentLang == ar ? this.attachmentNameAr : this.attachmentNameEn;\r\n }\r\n get attachmentsTooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.attachmentsTooltipAr : this.attachmentsTooltipEn;\r\n }\r\n get hasAttachments() { return !!this.attachmentNameAr || !!this.attachmentNameEn }\r\n\r\n //score\r\n weight: number;\r\n averageToPass: number;\r\n errorAr: string;\r\n errorEn: string;\r\n get error() {\r\n return translateServiceInstance?.currentLang == ar ? this.errorAr : this.errorEn;\r\n }\r\n get hasError() {\r\n if ((this.score ?? 0) < this.averageToPass || this.questions.some(q => !q.isValid)) return true;\r\n else return false;\r\n }\r\n get calculatedScore() {\r\n let score = 0;\r\n let questionsCount = 0;\r\n // calc from questions\r\n this.questions.filter(q => q.isValid && !q.notApply && q.type != 'years').forEach(q => {\r\n score += (+q.score || 0) * (q.weight || 1);\r\n questionsCount += q.weight || 1;\r\n });\r\n\r\n if (!questionsCount) return 0;\r\n return score / questionsCount;\r\n }\r\n\r\n //result\r\n score: number;\r\n decision: ClassificationStatus;\r\n notesAndRecommendations: any[] = [];\r\n attachmentsFiles: ClassificationAttachments[] = [];\r\n get attachmentsValid() {\r\n if (!this.attachmentIsRequired) return true;\r\n return !!this.attachmentsFiles?.length;\r\n }\r\n\r\n get isValid() {\r\n if (!this.attachmentsValid || this.questions.some(q => q.hasChange || !q.isSaved)) return false;\r\n return !this.hasError;\r\n }\r\n get hasComments() {\r\n if (this.indicatorObject.history.has(this.indicatorObject._id))\r\n return this.indicatorObject.history.get(this.indicatorObject._id).has(this._id);\r\n return false;\r\n }\r\n\r\n completionRate: number = 0;\r\n}\r\n\r\nexport class ClassificationQuestion {\r\n _id: string;\r\n requestId: string;\r\n\r\n key: string;\r\n order: number;\r\n code: string;\r\n icon: string;\r\n domain: string;\r\n domainObject: ClassificationDomain;\r\n\r\n nameAr: string;\r\n nameEn: string;\r\n descriptionAr: string;\r\n descriptionEn: string;\r\n tooltipAr: string;\r\n tooltipEn: string;\r\n get name() {\r\n return translateServiceInstance?.currentLang == ar ? this.nameAr : this.nameEn;\r\n }\r\n get description() {\r\n return translateServiceInstance?.currentLang == ar ? this.descriptionAr : this.descriptionEn;\r\n }\r\n get tooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.tooltipAr : this.tooltipEn;\r\n }\r\n type: string;\r\n min: number;\r\n max: number;\r\n years: ClassificationYears[];\r\n\r\n //attachment\r\n attachmentNameAr: string;\r\n attachmentNameEn: string;\r\n attachmentsTooltipAr: string;\r\n attachmentsTooltipEn: string;\r\n attachmentIsRequired: boolean;\r\n get attachmentName() {\r\n return translateServiceInstance?.currentLang == ar ? this.attachmentNameAr : this.attachmentNameEn;\r\n }\r\n get attachmentsTooltip() {\r\n return translateServiceInstance?.currentLang == ar ? this.attachmentsTooltipAr : this.attachmentsTooltipEn;\r\n }\r\n get hasAttachments() { return !!this.attachmentNameAr || !!this.attachmentNameEn }\r\n\r\n //score\r\n weight: number;\r\n averageToPass: number;\r\n errorAr: string;\r\n errorEn: string;\r\n get error() {\r\n return translateServiceInstance?.currentLang == ar ? this.errorAr : this.errorEn;\r\n }\r\n get hasError() {\r\n if (this.notApply) return false;\r\n return (+this.score || 0) * (+this.weight || 1) < this.averageToPass;\r\n }\r\n\r\n //result\r\n score: number = null;\r\n status: ClassificationStatus = ClassificationStatus.UnComplete;\r\n notApply: boolean = false;\r\n isSaved: boolean = false;\r\n notes: string = null;\r\n attachmentsFiles: ClassificationAttachments[] = [];\r\n get attachmentsValid() {\r\n if (this.hasAttachments && this.attachmentIsRequired)\r\n return !!this.attachmentsFiles?.length;\r\n return true;\r\n }\r\n\r\n resetResult() {\r\n this.score = this.min || null;\r\n this.notes = null;\r\n this.attachmentsFiles = [];\r\n this.years.forEach(q => q.value = '0');\r\n }\r\n\r\n get isValid() {\r\n if (this.notApply && !this.notes) return false;\r\n else if (this.notApply && this.notes) return true;\r\n else if (!this.attachmentsValid) return false;\r\n else if (this.type == 'years') {\r\n if (this.years.some(q => !q.value)) return false;\r\n }\r\n else if ((this.min && this.min > this.score) || (this.max && this.max < this.score)) return false;\r\n return !this.hasError;\r\n }\r\n\r\n orginal: ClassificationQuestion;\r\n instanceForEdit: ClassificationQuestion;\r\n get hasChange() {\r\n if (this.instanceForEdit) {\r\n const changed = !_isEqual(\r\n _omit(this.instanceForEdit, ['orginal', 'domainObject', 'instanceForEdit']),\r\n _omit(this.instanceForEdit.orginal, ['orginal', 'domainObject', 'instanceForEdit'])\r\n );\r\n return changed;\r\n }\r\n const changed = !_isEqual(\r\n _omit(this, ['orginal', 'domainObject']),\r\n _omit(this.orginal, ['orginal', 'domainObject'])\r\n );\r\n return this.isValid && (changed || !this.isSaved);\r\n }\r\n\r\n get hasComments() {\r\n if (this.domainObject?.hasComments)\r\n return this.domainObject.indicatorObject.history\r\n .get(this.domainObject.indicatorObject._id)\r\n .get(this.domainObject._id)\r\n .has(this._id);\r\n return '';\r\n }\r\n}\r\n\r\nexport enum ClassificationStatus {\r\n UnComplete, Complete\r\n}\r\nexport class ClassificationAttachments {\r\n fileName: string;\r\n file: string;\r\n}\r\n\r\nexport class ClassificationYears {\r\n key: string;\r\n nameAr: string;\r\n nameEn: string;\r\n get name() {\r\n return translateServiceInstance?.currentLang == ar ? this.nameAr : this.nameEn;\r\n }\r\n\r\n value: string;\r\n}\r\n\r\nexport class ManagersNotes {\r\n _id: string;\r\n requestId: string;\r\n questionSubmissionId: string;\r\n taskId: string;\r\n userName: string;\r\n givenName: string;\r\n email: string;\r\n role: string;\r\n roleByTask: string;\r\n message: string;\r\n created: string;\r\n\r\n fromMe = false;\r\n\r\n get name() {\r\n if (this.givenName?.includes('@'))\r\n return this.givenName.substring(0, this.givenName.indexOf('@'))\r\n return this.givenName;\r\n }\r\n}\r\n\r\nexport class CompletionRate {\r\n constructor(\r\n public domainCompletionRate: number,\r\n public indicatorCompletionRate: number\r\n ) { }\r\n}"],"sourceRoot":"webpack:///"}