ets-fe-ng-sdk 1.0.21 → 1.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"ets-fe-ng-sdk.mjs","sources":["../../../projects/ets-fe-ng-sdk/src/lib/Shared/classes/page-loader.class.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/models/form.class.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/models/index.model.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/models/environment.model.ts","../../../projects/ets-fe-ng-sdk/src/environments/environment.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/models/IMenuItem.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/prototypes/prototypes.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/models/RouteItem.class.ts","../../../projects/ets-fe-ng-sdk/src/lib/label-customization/label-customization.model.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/injection-tokens/index.injection-tokens.ts","../../../projects/ets-fe-ng-sdk/src/lib/label-customization/label-customization.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/configs/index.config.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/storage.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/input.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/input.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/route.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/page-loader.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/logger/logger.interface.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/logger/logger.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/page.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/utility.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/cache/cache.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/cache/local-cache.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/api.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/label-customization/label-customization.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/configs/base-functions.ts","../../../projects/ets-fe-ng-sdk/src/lib/configs/validation-messages.config.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/classes/permission-manager.class.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/info-dialog/happy-icon.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/info-dialog/info-icon.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/info-dialog/sad-icon.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/inputs-pipes.pipe.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/pipes/translate.pipe.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input-NgModel/input-ngmodel.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input-NgModel/input-ngmodel.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/autocomplete/autocomplete.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input-NgModel/validation-message-ngmodel/validation-message-ngmodel.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input-NgModel/validation-message-ngmodel/validation-message-ngmodel.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/pipes/utility.pipe.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/autocomplete-ng-model/autocomplete-ng-model.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/autocomplete-ng-model/autocomplete-ng-model.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Services/translation.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/app.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/btn/btn.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/btn/btn.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/btn/btn.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/directives/InputFormat.directive.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/input-label/input-label.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/input-label/input-label.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/validation-message/validation-message.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/validation-message/validation-message.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/input.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/input.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/input-basic.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/directives/commafy-number.directive.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/directives/integer-only.directive.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/directives/negative-number-only.directive.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/directives/permission-manager.directive.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/info-dialog/info-dialog.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/info-dialog/info-dialog.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/info-dialog/info-dialog.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/directives/drag-drop-file-upload.directive.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/directives/index.directive.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/btn/btn-lg/btn-lg.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/btn/btn-lg/btn-lg.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/btn/btn.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/day-hour-min-input/day-hour-min-input.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/day-hour-min-input/day-hour-min-input.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/input-td-rf.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/input-control.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/year-month-td-rf/year-month-td-rf.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/year-month-td-rf/year-month-td-rf.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/input.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input-NgModel/input-ngmodel.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/autocomplete-ng-model/autocomplete-ng-model.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/autocomplete/autocomplete.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/autocomplete/autocomplete.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/autocomplete/autocomplete-td-rf/autocomplete-td-rf.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/autocomplete/autocomplete-td-rf/autocomplete-td-rf.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/autocomplete/autocomplete.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/btn/details-btn/details-btn.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/btn/details-btn/details-btn.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/btn/details-btn/details-btn.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/card/card.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/card/card.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/card/card.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/confirm-dialog/confirm-dialog.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/confirm-dialog/confirm-dialog.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/confirm-dialog/confirm-dialog.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/confirm-dialog/confirm-dialog.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/core/button/button.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/core/button/button.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/core/button/components.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/documents-name-display/documents-name-display.model.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/documents-name-display/documents-name-display.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/documents-name-display/documents-name-display.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/documents-name-display/documents-name-display.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/editable-text-case/editable-text-case.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/editable-text-case/editable-text-case.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/editable-text-case/editable-text-case.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/user-activity/ua-extras/user-activity.model.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/user-activity/ua-extras/user-activity.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/export-table/export-table.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/export-table/export-table.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/export-table/export-table.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/file-upload/file-upload.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/file-upload/file-upload.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/file-upload/file-upload.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/phone-number/phone-number.model.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/phone-number/phone-number.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/phone-number/phone-number.directive.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/phone-number/phone-number.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/phone-number/phone-number.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/loader/loader.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/loader/loader.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/form-generator/form-generator.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/form-generator/form-generator.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/phone-number/phone-number.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/loader/spinner.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/loader/loader.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/form-generator/form-generator.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/form-link/form-link.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/form-link/form-link.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/form-link/form-link.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/form-tab-headers/form-tab-headers.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/form-tab-headers/form-tab-headers.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/form-tab-headers/form-tab-headers.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/info-dialog/info-dialog.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/info-icon/info-icon.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/info-icon/info-icon.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/info-icon/info-icon.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/label/label.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/label/label.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/label/label.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/modal-header/modal-header.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/modal-header/modal-header.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/modal/modal.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/modal/modal.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/modal-form/modal-form.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/modal-form/modal-form.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/modal-header/modal-header.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/modal/modal.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/modal-form/modal-form.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/page-template/page-template.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/page-template/page-template.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/page-to-component/page-to-component.directive.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/page-to-component/page-to-component.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/page-to-component/page-to-component.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/page-to-component/page-to-component.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/page-to-component/page-to-component.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/row-actions/row-actions.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/row-actions/row-actions.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/row-actions/row-actions.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/table-plain/table.pipe.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/table-https/table-https.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/table-https/table-https.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/table-https/table-https.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/table-plain/table-plain.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/table-plain/table-plain.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/table-plain/table-plain.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/table-plain/table-plain.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/text-case-1/text-case-1.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/text-case-1/text-case-1.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/text-case-1/text-case-1.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/text-case-2/text-case-2.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/text-case-2/text-case-2.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/text-case-2/text-case-2.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/view-form-buttons/view-form-buttons.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/view-form-buttons/view-form-buttons.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/view-form-buttons/view-form-buttons.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/directives/mHref.directive.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/htmler.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/theme.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/window-security.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/service-worker/prompt-update.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/service-worker/log-update.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/service-worker/handle-unrecoverable-state.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/service-worker/check-for-update.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/service-worker/service-worker.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/Interceptors/request-timeout.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/Interceptors/request-loader-interceptor.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/Interceptors/logger-interceptor.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/Interceptors/global-error-handler.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/Interceptors/authentication-interceptor.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/cache/cache-updater.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/cache/saver.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/shared.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/logger/logger.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/logger/logger.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/logger/logger-routing.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/logger/logger.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/page-not-found/page-not-found.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/page-not-found/page-not-found.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/page-not-found/page-not-found-routing.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/page-not-found/page-not-found.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/robot/robot.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/robot/robot.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/robot/robot-routing.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/robot/robot.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/reset/reset.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/reset/reset.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/reset/reset-routing.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/reset/reset.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/version/version.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/page-icons/chat-help-desk/chat-help-desk.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/version/version.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/version/version.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/version/version-routing.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/version/version.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/timeout-tester/timeout-tester.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/timeout-tester/timeout-tester.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/timeout-tester/timeout-tester-routing.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/timeout-tester/timeout-tester.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/extra-pages/extra-pages-routing.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/extra-pages/extra-pages.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/ets-fe-ng-sdk.module.ts","../../../projects/ets-fe-ng-sdk/src/public-api.ts","../../../projects/ets-fe-ng-sdk/src/ets-fe-ng-sdk.ts"],"sourcesContent":["export class PageLoader {\n private _pageLoaders: 1[] = [];\n constructor() {}\n get isLoading() {\n return this._pageLoaders?.length > 0;\n }\n startPl = (value = 1) => {\n for (let index = 0; index < value; index++) {\n this._pageLoaders.push(1);\n }\n // console.log('length at start',this._pageLoaders.length)\n return this._pageLoaders?.length;\n };\n restartPl = () => {\n this._pageLoaders = [];\n this.startPl();\n };\n stopPl = (value = 1) => {\n for (let index = 0; index < value; index++) {\n this._pageLoaders.pop();\n }\n // console.log('length at end', this._pageLoaders.length)\n return this._pageLoaders?.length;\n };\n stopAllPls = () => {\n this._pageLoaders = [];\n };\n}\n","import {\n AbstractControlOptions,\n AsyncValidator,\n AsyncValidatorFn,\n FormControl,\n FormGroup,\n ValidatorFn,\n Validators,\n} from '@angular/forms';\n\nexport namespace ETSForms {\n export class ConfigForms {\n matches(\n formGroup: FormGroup,\n field1: string = 'password',\n field2: string = 'rpassword'\n ) {\n if (formGroup.get(field1).value !== formGroup.get(field2).value) {\n formGroup.get(field1).setErrors({ noMatch: true }, { emitEvent: true });\n formGroup.get(field2).setErrors({ noMatch: true }, { emitEvent: true });\n } else {\n formGroup.get(field1).setErrors(null, { emitEvent: true });\n formGroup.get(field2).setErrors(null, { emitEvent: true });\n }\n console.log(formGroup);\n }\n matches2(formGroup: any, field1: string, field2: string) {\n return formGroup.get(field1).value === formGroup.get(field2).value\n ? null\n : { noMatch: true };\n }\n email(required = true, value = '') {\n return new FormControl(\n value,\n Validators.compose([\n ...(required ? [Validators.required] : []),\n Validators.pattern(configPatterns.email),\n ])\n );\n }\n name(required = true, minLength = 2, value = '') {\n return new FormControl(\n value,\n Validators.compose([\n ...(required ? [Validators.required] : []),\n Validators.minLength(minLength),\n Validators.pattern(configPatterns.name),\n ])\n );\n }\n array(required = false, value = []) {\n return new FormControl(value, required ? [Validators.required] : []);\n }\n boolean(required = false, value = false) {\n return new FormControl(value, required ? [Validators.required] : []);\n }\n username(required = true, minLength = 3, maxLength = 10, value = '') {\n return new FormControl(value, [\n ...(required ? [Validators.required] : []),\n Validators.minLength(minLength),\n Validators.maxLength(maxLength),\n Validators.pattern(configPatterns.username),\n ]);\n }\n default<T=any>(\n value?,\n validatorOrOpts?: ValidatorFn | ValidatorFn[] | AbstractControlOptions,\n asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[]\n ) {\n return new FormControl<T>(value, validatorOrOpts, asyncValidator);\n }\n number(required = false, value = null, maxLength = 100000) {\n return new FormControl(value, [\n ...(required ? [Validators.required] : []),\n Validators.pattern(configPatterns.number),\n Validators.maxLength(maxLength),\n ]);\n }\n integer(required = true, value = null, maxLength = 100000) {\n return new FormControl(value, [\n ...(required ? [Validators.required] : []),\n Validators.pattern(configPatterns.integer),\n Validators.maxLength(maxLength),\n ]);\n }\n postalCode(required = true, value = null) {\n return new FormControl(value, [\n Validators.pattern(configPatterns.postal),\n ...(required ? [Validators.required] : []),\n ]);\n }\n phone(required = true, value = '') {\n return new FormControl(value, [\n ...(required ? [Validators.required] : []),\n Validators.minLength(11),\n Validators.pattern(configPatterns.phone),\n ]);\n }\n requiredMinLength(length: number, value = '') {\n return new FormControl(value, [\n Validators.required,\n Validators.minLength(length),\n ]);\n }\n requiredMinMaxLength(min: number, max: number) {\n return new FormControl('', [\n Validators.required,\n Validators.minLength(min),\n Validators.maxLength(max),\n ]);\n }\n required(value = null) {\n return new FormControl(value, Validators.required);\n }\n minLength(length = 3, value = '') {\n return new FormControl(value, [\n Validators.minLength(length),\n Validators.required,\n ]);\n }\n url(value = '', required = true) {\n return new FormControl(\n value,\n Validators.compose([\n ...(required ? [Validators.required] : []),\n Validators.pattern(configPatterns.url),\n ])\n );\n }\n pattern(pattern: RegExp, required = false, value?) {\n return new FormControl(\n value,\n Validators.compose([\n ...(required ? [Validators.required] : []),\n Validators.pattern(pattern),\n ])\n );\n }\n }\n}\nexport const configForms = new ETSForms.ConfigForms();\nexport const configPatterns = {\n date: /^(?:(?:31(\\/|-|\\.)(?:0?[13578]|1[02]))\\1|(?:(?:29|30)(\\/|-|\\.)(?:0?[13-9]|1[0-2])\\2))(?:(?:1[6-9]|[2-9]\\d)?\\d{2})$|^(?:29(\\/|-|\\.)0?2\\3(?:(?:(?:1[6-9]|[2-9]\\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\\d|2[0-8])(\\/|-|\\.)(?:(?:0?[1-9])|(?:1[0-2]))\\4(?:(?:1[6-9]|[2-9]\\d)?\\d{2})$/,\n email: /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$/,\n integer: /^[0-9]+$/,\n name: /^[a-zA-Z0-9- ]+$/,\n number: /^-?[0-9,\\.]+$/,\n phone: /^[+]*[0-9]+$/,\n postal: /^([0-9]{5})([\\-]{1}[0-9]{4})?$|^([0-9]{6})?$/,\n url: /((([A-Za-z]{3,9}:(?:\\/\\/)?)(?:[-;:&=\\+\\$,\\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\\+\\$,\\w]+@)[A-Za-z0-9.-]+)((?:\\/[\\+~%\\/.\\w-_]*)?\\??(?:[-\\+=&;%@.\\w_]*)#?(?:[\\w]*))?)/,\n username: /^[a-zA-Z0-9-]+$/,\n website:/((([A-Za-z]{3,9}:(?:\\/\\/)?)(?:[-;:&=\\+\\$,\\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\\+\\$,\\w]+@)[A-Za-z0-9.-]+)((?:\\/[\\+~%\\/.\\w-_]*)?\\??(?:[-\\+=&;%@.\\w_]*)#?(?:[\\w]*))?)/\n};\n","import { AbstractControl, FormGroup } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { configForms } from './form.class';\nimport { AppRouteBase } from './RouteItem.class';\n\n//#region inputs\ninterface IETSInputBase {\n name?: string;\n label: string;\n value?: any;\n placeholder?: string;\n cls?: string;\n required?: boolean;\n type?: ETSInputType;\n}\ninterface IETSFCInput extends IETSInputBase {\n name: string;\n prefix?: string;\n suffix?: string;\n formControl: AbstractControl;\n form: FormGroup;\n vms?: IValidationMessage[];\n}\n\nexport type ETSInputType =\n | 'autocomplete'\n | 'button'\n | 'checkbox'\n | 'checkedbox'\n | 'date'\n | 'datetime-local'\n | 'dhm'\n | 'email'\n | 'file'\n | 'fileButton'\n | 'number'\n | 'password'\n | 'progress'\n | 'percentage'\n | 'radio'\n | 'select'\n | 'tel'\n | 'text'\n | 'textarea'\n | 'time'\n | 'viewer';\nexport class FCInput implements IETSFCInput {\n name: string;\n label: string;\n placeholder?: string;\n cls?: string;\n prefix?: string;\n suffix?: string;\n required?: boolean;\n type?: ETSInputType;\n formControl: AbstractControl;\n vms?: IValidationMessage[];\n form: FormGroup;\n constructor(\n label: string,\n name?: string,\n formControl?: AbstractControl,\n type?: ETSInputType,\n required?: boolean,\n placeholder?: string,\n vms?: IValidationMessage[],\n prefix?: string,\n suffix?: string\n ) {\n this.name = name || 'fn' + Math.round(Math.random() * 100000);\n this.label = label;\n this.formControl = formControl || configForms.default();\n this.type = type || 'text';\n this.required = required || false;\n this.vms = vms || [];\n this.placeholder = placeholder;\n this.prefix = prefix;\n this.suffix = suffix;\n }\n}\nexport class CETSInput implements IETSInputBase {\n name: string;\n label: string;\n placeholder?: string;\n cls?: string;\n required?: boolean;\n type?: ETSInputType;\n value: string;\n hide: boolean;\n disabled: boolean;\n readonly: boolean;\n id: string;\n hasError: boolean;\n get isEmpty() {\n return this.value == null || this.value == undefined;\n }\n x: number;\n y: number;\n constructor(\n label: string,\n name?: string,\n value?: any,\n type?: ETSInputType,\n required?: boolean,\n placeholder?: string,\n vms?: IValidationMessage[],\n prefix?: string,\n suffix?: string\n ) {\n this.name = name;\n this.id = 'inputID' + Math.round(Math.random() * 10000000);\n this.label = label;\n this.value = value;\n this.type = type || 'text';\n this.required = required || false;\n this.placeholder = placeholder;\n }\n}\n//#endregion\n\n//#region key value pair\nexport interface IETSKVP {\n readonly key?: any;\n value?: string | boolean | number;\n cls?: string;\n}\nexport class ETSKVP implements IETSKVP {\n readonly key: string;\n value?: string | boolean | number;\n cls?: string;\n constructor(key: string, value?: string | boolean | number, cls?: string) {\n this.key = key;\n this.value = value;\n this.cls = cls;\n }\n}\nexport class ETSFKVP extends ETSKVP {\n label: string;\n editable?: boolean;\n editing?: boolean;\n route?: string;\n routeFunc?: (item) => Promise<string> | Observable<string>;\n hint?: string;\n action?: any;\n isPhone?: boolean;\n isEmail?: boolean;\n formatter?: (val: any) => string | Promise<string> | Observable<string>;\n constructor(\n key: string,\n label: string,\n editable?: boolean,\n value?: string | boolean | number,\n public inputType?: ETSInputType,\n hint?: string,\n action?: any,\n formatter?: (val: any) => string | Promise<string>,\n cls?: string,\n route?: string\n ) {\n super(key, value, cls);\n this.label = label;\n this.hint = hint;\n this.editable = editable;\n this.action = action;\n this.formatter = formatter;\n this.route = route;\n }\n}\n//#endregion\n\n//#region lbl\nexport interface ILbl extends IETSKVP {\n hint?: string;\n}\nexport class Lbl implements ILbl {\n readonly key: string;\n value: string | boolean | number;\n hint?: string;\n cls?: string;\n constructor(\n key: string,\n value?: string | boolean | number,\n hint?: string,\n cls?: string\n ) {\n this.key = key;\n this.value = value || '-';\n this.hint = hint;\n this.cls = cls;\n }\n}\n//#endregion\n//#region btn\nexport interface IBtn extends IETSKVP {\n action?: (arg?) => void;\n group?: ETSBtnGroup;\n help?: string;\n icon?: ETSIconType;\n iconBtn?: boolean;\n showHelpIcon?: boolean;\n label?: string;\n type?: ETSBtnType;\n extra?: any;\n}\nexport class Btn implements IBtn {\n cls?: string;\n group?: ETSBtnGroup;\n help?: string;\n icon?: ETSIconType;\n iconBtn?: boolean;\n readonly action?: (data?, ...args) => void;\n readonly key?: string;\n showHelpIcon?: boolean;\n label?: string;\n route?: string;\n type?: ETSBtnType;\n extra?: any;\n loading?: boolean;\n disabled?: boolean;\n\n constructor(\n key: string,\n action?: (data?, ...args) => any,\n type?: ETSBtnType,\n icon?: ETSIconType,\n cls?: string,\n help?: string,\n showHelpIcon?: boolean,\n loading?: boolean,\n disabled?: boolean\n ) {\n this.key = key;\n this.action = action;\n this.type = type;\n this.icon = icon;\n this.cls = cls;\n this.help = help;\n this.showHelpIcon = showHelpIcon;\n this.loading = loading;\n this.disabled = disabled;\n }\n}\nexport class BtnLg implements IBtn {\n readonly key: string;\n value: string | boolean | number;\n readonly action?: () => void;\n cls?: string;\n extra?: any;\n constructor(\n key: string,\n value?: string | boolean | number,\n action?: any,\n cls?: string,\n extra?\n ) {\n this.key = key;\n this.value = value || '-';\n this.action = action;\n this.cls = cls;\n this.extra = extra;\n }\n}\nexport type ETSBtnType =\n | 'clear'\n | 'close'\n | 'danger-outline'\n | 'danger'\n | 'dark-outline'\n | 'dark'\n | 'outline-nm'\n | 'outline'\n | 'primary'\n | 'secondary'\n | 'success';\nexport type ETSBtnGroup =\n | 'add'\n | 'clone'\n | 'close'\n | 'create'\n | 'delete'\n | 'download'\n | 'edit'\n | 'link'\n | 'search'\n | 'show'\n | 'submit'\n | 'upload';\nexport type ETSIconType =\n | 'access'\n | 'add'\n | 'adjust'\n | 'calendar'\n | 'cash'\n | 'checked'\n | 'checklist'\n | 'clone'\n | 'close'\n | 'cogs'\n | 'delete'\n | 'download'\n | 'edit'\n | 'export'\n | 'file'\n | 'filter'\n | 'generate'\n | 'guard'\n | 'history'\n | 'home'\n | 'import'\n | 'info'\n | 'link'\n | 'lock'\n | 'next'\n | 'pen'\n | 'post'\n | 'previous'\n | 'renew'\n | 'save'\n | 'search'\n | 'show'\n | 'snooze'\n | 'unlock'\n | 'upload'\n | 'view'\n | 'users'\n | 'recycle'\n | 'truck'\n | 'tag'\n | 'receipt'\n | 'bank'\n | 'arrowh';\n//#endregion\n\n//#region table columns\nexport interface IRowOption {\n t: string;\n action?: (row: any) => void;\n}\nexport type CellType = ETSInputType | 'table' | 'btns' | 'editable';\nexport interface ITableCol<T = any> {\n t: string;\n f: keyof T;\n disabled?: boolean;\n formatter?: (val: any) => string | Promise<string>;\n p?: string[];\n formatterP?: (...val: any) => string;\n routeFormatter?: FormatterFuncType<string, T>;\n mqueryParams?: FormatterFuncType<{}, T>;\n type?: CellType;\n}\nexport class ETSTableCol<T = any> implements ITableCol<T> {\n action?: (\n row: any,\n cellField: keyof T,\n setLoading?: (value: boolean) => void,\n index?:number\n ) => any;\n btn?: Btn;\n buttons?: Btn[];\n checked?: boolean;\n f: keyof T;\n formatter?: (val: any) => string | Promise<string>;\n formatterRow?: FormatterFuncType<string, T>;\n hint?: string;\n icon?: ETSIconType;\n mqueryParams?: FormatterFuncType<{}, T>;\n p?: string[];\n disabled?: boolean;\n routeFormatter?: FormatterFuncType<string, T>;\n subTable?: ETSTableCol[];\n t: string;\n type?: CellType;\n constructor(\n t: string,\n f?: keyof T,\n formatter?: (val: any) => string | Promise<string>,\n formatterRow?: FormatterFuncType,\n type?: CellType,\n checked?: boolean,\n routeFormatter?: FormatterFuncType<string, T>,\n mqueryParams?: FormatterFuncType<{}, T>,\n action?: (row: any, cellField: keyof T) => any\n ) {\n this.t = t;\n this.f = f || (('f' + Math.round(Math.random() * 1000000)) as any);\n this.formatter = formatter;\n this.formatterRow = formatterRow;\n this.type = type;\n this.checked = checked || false;\n this.routeFormatter = routeFormatter;\n this.mqueryParams = mqueryParams;\n this.action = action;\n }\n}\n\n//#endregion\n\ntype FormatterFuncType<R = string, T = any> = (row: T, cellField?: keyof T) => R;\nexport interface ICodeTitle<Code = string> {\n code: Code;\n title: string;\n}\n\nexport interface ICodeDescription {\n code: string;\n description: string;\n}\n\nexport interface IMktDescription {\n mktEventCode: string;\n description: string;\n}\n\nexport interface ICode {\n code: string;\n}\nexport enum EMenuLocation {\n viewPage1 = 'viewPage',\n}\nexport enum Day {\n sunday = 'Sunday',\n monday = 'Monday',\n tuesday = 'Tuesday',\n wednesday = 'Wednesday',\n thursday = 'Thursday',\n friday = 'Friday',\n saturday = 'Saturday',\n}\nexport enum EPageType {\n clonePage = 'clonePage',\n editPage = 'editPage',\n showPage = 'showPage',\n createPage = 'createPage',\n indexPage = 'indexPage',\n}\nexport interface IDocMetadata {\n boxNo?: string;\n branch?: string;\n category?: string;\n createdBy?: string;\n policyCode?: string;\n policyNo?: string;\n policyNoSuffix?: string;\n refCat?: RefCat;\n refNo?: string | number;\n sensitivity?: string;\n subCategory?: SubCategory;\n title: string;\n}\nexport type RefCat =\n | 'AGT'\n | 'APP'\n | 'ASS'\n | 'AUTH'\n | 'BAN'\n | 'BAT'\n | 'BRA'\n | 'CLA'\n | 'CLI'\n | 'COM'\n | 'COU'\n | 'COV'\n | 'DN'\n | 'DOC'\n | 'END'\n | 'ENR'\n | 'GRO'\n | 'NB'\n | 'PAY'\n | 'PNS'\n | 'PO'\n | 'POL'\n | 'PRO'\n | 'QUO'\n | 'RAT'\n | 'SN'\n | 'ST'\n | 'TAR'\n | 'TAS'\n | 'TRA'\n | 'TSC'\n | 'USR'\n | 'WF';\nexport type SubCategory =\n | 'PP'\n | 'SI'\n | 'ID'\n | 'AOC'\n | 'CN'\n | 'AP'\n | 'LI'\n | 'RIB'\n | 'LIC'\n | 'AGT';\nexport interface ISystem<SystemType = ESystem, TESystemBusLine = ESystemBusLine> {\n appRoute: AppRouteBase;\n name: SystemType;\n busline: TESystemBusLine;\n colourCode: string;\n rootPath: string;\n}\n\nexport enum ESystem { \n}\nexport enum ESubSystem { \n}\nexport enum ESystemBusLine { \n}\nexport enum ELanguage {\n EN = 'EN',\n FR = 'FR',\n}\n\nexport enum EValidationType {\n email = 'email',\n entityNumber = 'entityNumber',\n maxlength = 'maxlength',\n minlength = 'minlength',\n mobile = 'mobile',\n name = 'name',\n normal = 'normal',\n passwordNotMatch = 'passwordNotMatch',\n pattern = 'pattern',\n required = 'required',\n unique = 'unique',\n custom = 'custom',\n}\nexport interface IValidationMessage {\n type: EValidationType;\n message: string;\n}\nexport type SortType = 'asc' | 'desc';\n\ninterface Sort {\n sorted: boolean;\n unsorted: boolean;\n empty: boolean;\n}\n\ninterface IPage<T> {\n content: T[];\n number: number;\n size: number;\n totalElements: number;\n totalPages: number;\n last: boolean;\n first: boolean;\n sort: Sort;\n numberOfElements: number;\n empty: boolean;\n}\n\nexport interface ISearchResponse<T = any> {\n page: IPage<T>;\n listSize: number;\n pageNumber?: number;\n pageSize?: number;\n searchCriteria: any;\n}\n\nexport interface ISearchResponse<T = any> {\n page: IPage<T>;\n listSize: number;\n pageNumber?: number;\n pageSize?: number;\n searchCriteria: any;\n}\n\nexport interface ISearchResponse2<T = any> {\n content: T[];\n empty: boolean;\n first: boolean;\n last: boolean;\n number: number;\n numberOfElements: number;\n size: number;\n totalElements: number;\n totalPages: number;\n sort: {\n sorted: boolean;\n unsorted: boolean;\n empty: boolean;\n };\n}\n\nexport type ImageType = 'pp' | 'other';\nexport interface ITab {\n id?: string;\n target?: string;\n label: string;\n form?: string;\n postFunction?: (\n data: any,\n productCode?: string\n ) => Observable<{\n data: any;\n productCode: string;\n }>;\n putFunction?: (\n data: any,\n productCode: string\n ) => Observable<{\n data: any;\n productCode: string;\n }>;\n data?: any;\n}\nexport interface CustomValidationError {\n custom?: string;\n maxlength?: boolean;\n maxLength?: boolean;\n minlength?: boolean;\n minLength?: boolean;\n notFound?: boolean;\n notUnique?: boolean;\n pattern?: boolean;\n required?: boolean;\n used?: boolean;\n}\nexport enum EMenuType {\n horizontal = 'H',\n vertical = 'V',\n}\nexport interface IValueLabel<T> {\n value: T;\n label: string;\n}\n\nexport interface IConfigImages {\n favicon: string;\n watermark: string;\n logo: {\n dark: string;\n light: string;\n };\n pp: {\n src: string;\n min: string;\n };\n other: {\n src: string;\n min: string;\n };\n}\nexport class Constant {\n // constructor() {}\n}\n\nexport interface ITableName {\n schema: string;\n primaryTable: string;\n}\nexport interface ITypeDescription {\n description: string;\n type: string;\n}\nexport interface IServiceFunction {\n _base?: (...args) => any;\n search: (...args) => Observable<any>;\n create: (...args) => Observable<any>;\n} ","import { ActivatedRoute } from '@angular/router';\nimport { PageLoader } from '../classes/page-loader.class';\nimport { ETSMenuItem } from './IMenuItem';\nimport { AppRouteBase } from './RouteItem.class';\nimport { IConfigImages, ESystem, ELanguage, EMenuType } from './index.model';\n\nexport class ETSEnvironment<\n TMenuItem = ETSMenuItem,\n TAppRouteBase = AppRouteBase,\n TESystem = ESystem,\n TELanguage = ELanguage\n> {\n appRoutes: TAppRouteBase;\n bottomMenu: TMenuItem[];\n excludedMenus: Map<string, any> = new Map<string, any>([]);\n logReq: boolean;\n menus: TMenuItem[];\n noUserRoleCheck: boolean;\n /** Don't use the input formattter on this page */\n pageNoformat: boolean;\n pageTitle: string;\n name: string;\n images: IConfigImages;\n readonly targetLanguageKey = 'targetLanguage';\n readonly transGlossaryKey: string;\n readonly translateKey = 'translate';\n readonly userCompanyConfigKey = 'userCompanyConfig';\n readonly userMenuKey = 'userMenu';\n singleTabUsage: boolean;\n storageKey: 'localStorage' | 'sessionStorage' = 'localStorage';\n transGlossary: any;\n userCompanyConfig: any;\n /**\n * Specify whether to use container or container-fluid for the body of the view. It should be unset at the ngOnDestroy function\n */\n wideScreen: boolean;\n /**\n * Enter value in millisecond or Date object\n */\n requestTimeout: number | Date = new Date(86400000 * 365 + Date.now());\n alreadyOpened: boolean;\n useBusline: any;\n useUserMenu = true;\n /**\n * Specify additional class(es) to be added to the body of the view. It should be unset at the ngOnDestroy function\n */\n bodyClass: string;\n pageLoader = new PageLoader();\n requestCount = 0;\n usingActiveDirectory: boolean;\n activatedRoute: ActivatedRoute;\n readonly logsKey = 'logs';\n activeSystems?: TESystem[];\n apiBaseUrl?: string;\n appName: string = 'Evolutics';\n authenticate?: boolean;\n currentSystem?: TESystem;\n debug?: boolean;\n readonly helpLink = 'https://help.evoluticstech.com/';\n readonly userProfileKey = 'userProfile';\n readonly userStorageKey = 'user';\n readonly watermark?: string;\n sourceLanguage: TELanguage = ELanguage.EN as any;\n secretKey: string;\n get token() {\n return null;\n }\n set loading(v: boolean) {\n if (v) this.pageLoader.startPl();\n else this.pageLoader.stopPl();\n }\n constructor(public production: boolean, name: string) {\n if (!production) this.debug = true;\n this.name = name;\n }\n private _translate?: boolean;\n get translate(): boolean {\n return this._translate || false;\n }\n set translate(value: boolean) {\n this._translate = value;\n }\n private _targetLanguage?: TELanguage;\n get targetLanguage(): TELanguage {\n return this._targetLanguage;\n }\n set targetLanguage(value: TELanguage) {\n this._targetLanguage = value;\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nimport 'zone.js/plugins/zone-error'; // Included with Angular CLI.import { Config } from '../app/configs/index.config';\n \nimport { ETSEnvironment } from '../lib/Shared/models/environment.model';\n\nexport const ETSenvironment: ETSEnvironment = new ETSEnvironment(false, 'Development'); \n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n","import { KeyValue } from '@angular/common';\nimport { MenuPositionX } from '@angular/material/menu';\nimport { ETSenvironment } from '../../../environments/environment';\nimport {\n EMenuLocation,\n ESubSystem,\n ESystem,\n IBtn,\n ETSIconType,\n} from './index.model';\n\nexport interface IETSMenuItemBase<\n TESystemType = ESystem,\n TESubSystem = ESubSystem,\n TEMenuLocation = EMenuLocation\n> {\n breadcrumbs?: KeyValue<string, string>[];\n breadcrumbsStr?: string;\n hasSub?: boolean;\n icon?: string;\n id?: string;\n index?: number;\n isDivider?: boolean;\n isP?: boolean;\n label?: string;\n labelLowerCase?: string;\n link?: string;\n locations?: Map<TEMenuLocation, boolean>;\n parentID?: string;\n submenuPosition?: MenuPositionX;\n subSystem?: TESubSystem;\n system?: TESystemType;\n systemIcon?: string;\n systemLink?: string;\n}\nexport interface IETSMenuItemRawBase {\n [x: string]: IETSMenuItemRaw;\n}\nexport interface IETSMenuItemRaw extends IETSMenuItemBase {\n subs?: { [x: string]: IETSMenuItemRaw };\n buttons?: { [x: string]: IETSPageButtonRaw };\n}\nexport interface IETSMenuItem<\n TESystemType = ESystem,\n TESubSystem = ESubSystem,\n TIPageButton = IETSPageButton,\n TEMenuLocation = EMenuLocation\n> extends IETSMenuItemBase<TESystemType, TESubSystem, TEMenuLocation> {\n buttons?: TIPageButton[];\n subs?: IETSMenuItem<\n TESystemType,\n TESubSystem,\n TIPageButton,\n TEMenuLocation\n >[];\n}\nexport class ETSMenuItem<\n TESystemType = ESystem,\n TESubSystem = ESubSystem,\n TPageButton = ETSPageButton,\n TEMenuLocation = EMenuLocation\n> implements\n IETSMenuItem<TESystemType, TESubSystem, TPageButton, TEMenuLocation>\n{\n breadcrumbs?: KeyValue<string, string>[];\n breadcrumbsStr?: string;\n buttons?: TPageButton[];\n dbID: number;\n disabled: boolean;\n hasButtons: boolean;\n hasSub?: boolean;\n icon: string;\n id: string;\n index?: number;\n isDivider?: boolean;\n isP?: boolean;\n label: string;\n labelLowerCase?: string;\n level?: number;\n link: string;\n locations?: Map<TEMenuLocation, boolean>;\n parentID: string;\n submenuPosition?: MenuPositionX;\n subs: ETSMenuItem<TESystemType, TESubSystem, TPageButton, TEMenuLocation>[];\n subSystem: TESubSystem;\n system: TESystemType;\n systemIcon?: string;\n systemLink?: string;\n viewAccess: boolean;\n editAccess: boolean;\n public get _editAccess(): boolean {\n console.log(this.editAccess);\n return this.editAccess;\n }\n public set _editAccess(value: boolean) {\n this.editAccess = value;\n this.toggleEditAllSubMenus();\n }\n public get _viewAccess(): boolean {\n return this.viewAccess;\n }\n public set _viewAccess(value: boolean) {\n this.viewAccess = value;\n this.toggleViewAllSubMenus();\n }\n constructor(\n menuItem: IETSMenuItem<\n TESystemType,\n TESubSystem,\n TPageButton,\n TEMenuLocation\n >,\n parent?: IETSMenuItem<\n TESystemType,\n TESubSystem,\n TPageButton,\n TEMenuLocation\n >\n ) {\n Object.assign(this, menuItem);\n this.labelLowerCase = menuItem?.label?.toLowerCase();\n this.hasSub = !!menuItem?.subs?.length;\n this.hasButtons = !!menuItem?.buttons?.length;\n this.isP = true;\n this.parentID = parent?.id;\n // debugger\n this.system = this.system || parent?.system;\n this.subSystem = this.subSystem || parent?.subSystem;\n this.subs = menuItem?.subs\n ?.filter(\n (x) =>\n !ETSenvironment.excludedMenus ||\n !ETSenvironment.excludedMenus.has(x.id)\n )\n ?.map((m) => new ETSMenuItem(m, this));\n this.buttons = menuItem?.buttons\n ?.filter(\n (x: IETSPageButton) =>\n !ETSenvironment.excludedMenus ||\n !ETSenvironment.excludedMenus.has(x.id)\n )\n ?.map((m) => new ETSPageButton(m, this as any) as TPageButton);\n }\n toggle() {\n this.disabled = !this.disabled;\n }\n toggleView() {\n this.viewAccess = !this.viewAccess;\n if (this.editAccess) this.viewAccess = true;\n }\n toggleCreate() {\n this.editAccess = !this.editAccess;\n if (this.editAccess) this.viewAccess = true;\n }\n allowEditAllSubMenus() {\n this.subs?.forEach((x) => x?.allowEditAllSubMenus());\n this.buttons?.forEach((x: TPageButton) =>\n (<ETSPageButton>x)?.allowEditAllSubMenus()\n );\n //debugger;\n this.viewAccess = true;\n this.editAccess = true;\n }\n disableEditAllSubMenus() {\n this.subs?.forEach((x) => x?.disableEditAllSubMenus());\n this.buttons?.forEach((x: TPageButton) =>\n (<ETSPageButton>x)?.disableEditAllSubMenus()\n );\n this.editAccess = false;\n }\n allowViewAllSubMenus() {\n this.subs?.forEach((x) => x?.allowViewAllSubMenus());\n this.buttons?.forEach((x: TPageButton) =>\n (<ETSPageButton>x)?.allowViewAllSubMenus()\n );\n //debugger;\n this.viewAccess = true;\n this.editAccess = false;\n }\n disableViewAllSubMenus() {\n this.subs?.forEach((x) => x?.disableViewAllSubMenus());\n this.buttons?.forEach((x: TPageButton) =>\n (<ETSPageButton>x)?.disableViewAllSubMenus()\n );\n this.viewAccess = false;\n this.editAccess = false;\n }\n toggleEditAllSubMenus() {\n // if (this.editAccess == undefined) return;\n !this.editAccess\n ? this.allowEditAllSubMenus()\n : this.disableEditAllSubMenus();\n console.log(this.subs);\n }\n toggleViewAllSubMenus() {\n // if (this.viewAccess == undefined) return;\n // debugger\n !this.viewAccess\n ? this.allowViewAllSubMenus()\n : this.disableViewAllSubMenus();\n console.log(this.subs);\n }\n allowAuthorization() {\n this.viewAccess = true;\n this.editAccess = true;\n }\n disableAuthorization() {\n this.viewAccess = false;\n this.viewAccess = false;\n }\n toggleAuthorization() {\n this.viewAccess = !this.viewAccess;\n this.editAccess = !this.editAccess;\n }\n}\nexport interface IETSPageButtonRawBase {\n [x: string]: IETSPageButtonRaw;\n}\nexport interface IETSPageButtonRaw extends IETSMenuItemRaw, IBtn {\n icon?: ETSIconType;\n subs?: { [x: string]: IETSPageButtonRaw };\n}\nexport interface IETSPageButton extends IETSMenuItem, IBtn {\n icon?: ETSIconType;\n subs?: IETSPageButton[];\n}\nexport class ETSPageButton extends ETSMenuItem implements IETSPageButton {\n icon: ETSIconType;\n subs: ETSPageButton[];\n constructor(button: IETSPageButton, parent?: IETSPageButton) {\n super(button as any, parent as any);\n this.buttons = button?.buttons?.map((b) => new ETSPageButton(b, this));\n }\n}\nexport class ETSMenuItemDivider extends ETSMenuItem {\n constructor() {\n super(null);\n this.isDivider = true;\n }\n}\n\nexport enum EETSPageBtnID {\n agentCommissions = 'PAC8',\n agentCreditNotes = 'PACN10',\n agentDocuments = 'PAD2',\n agentEndorsements = 'PAE3',\n agentLoan = 'PAL1',\n agentNotes = 'PAN6',\n agentPendingQuotes = 'PAPQ11',\n agentPolicies = 'PAP7',\n agentProduction = 'PAP9',\n agentWebLogIn = 'PAWL4',\n agentWorkflows = 'PAW5',\n agentCalendar = 'PAC6',\n\n clientCalendar = 'PCC11',\n clientDocuments = 'PCD12',\n clientEndorsements = 'PCE13',\n clientNotes = 'PCN14',\n clientOtherBusiness = 'PCOB15',\n clientPendingPayments = 'PCPP16',\n clientPendingQuotes = 'PCPQ17',\n clientPolicies = 'PCP18',\n clientRelationships = 'PCR19',\n clientUnderwritingEvents = 'PCUE20',\n clientWebLogIn = 'PCWL21',\n clientWorkflows = 'PCW22',\n}\n","import { AbstractControl, FormArray } from '@angular/forms';\nimport { cloneDeep } from 'lodash-es';\nimport { Observable } from 'rxjs';\n\ndeclare global {\n interface String {\n stripChar(character?: string): string;\n lastStripChar(character?: string): string;\n unChar(character?: string, replacement?: string): string;\n /**\n * Converts Pascal case to Sentence case\n * @example 'smallBook'.toSentenceCase() = 'Small Book'\n */\n toSentenceCase(): string; \n /**\n * Replaces all occurrences of a substring\n * @returns The string after replacement\n */\n replaceAllSubStr(character?: string, replacement?: string): string;\n /**\n *\n * @param character Character to add before string\n * @param expectedLength Expected length of the string after addition of the character\n */\n addPrecedingChar(character: string, expectedLength: number): string;\n }\n\n interface Array<T> {\n merge(): T;\n /**\n * @param index The index to select from the end.\n * @defaultValue 0\n * @example ['a','b','c'].reverseIndex(1) returns 'b'\n * @example ['a','b','c','d','e'].reverseIndex(2) returns 'c'\n */\n reverseIndex(index?: number): T;\n lastItem(): T;\n\n /**\n *\n * @param field Field name to compare with\n * @param isString Is the data type of the field a string\n * @param reverse Should it be in a descending order\n */\n sort2(field: string, isString?: boolean, reverse?: boolean): T[];\n /**\n * Remove items from an array that don't have values in any of its fields\n * @param expectedFields Fields to check for emptiness, the function will remove the items that don't have any value in all the fields specified\n */\n removeEmptyItems(\n expectedFields?: (keyof T)[],\n config?: {\n /**\n * Specify whether to check the value in boolean fields.\n * @defaultValue `false`\n */\n ignoreBooleanFields?: boolean;\n /**\n * Specify whether to check for emptiness in the 'expectedFields' or check for emptiness in the other fields excluding the fields specified\n * @defaultValue `included`\n */\n fieldsType?: 'included' | 'excluded';\n }\n ): T[];\n }\n interface Function {\n clone: any;\n }\n}\ndeclare module '@angular/forms' {\n interface FormArray<TControl extends AbstractControl<any> = any>\n extends AbstractControl<\n ɵTypedOrUntyped<TControl, ɵFormArrayValue<TControl>, any>,\n ɵTypedOrUntyped<TControl, ɵFormArrayRawValue<TControl>, any>\n > {\n cFormStructure: TControl;\n cAddItem(index?: number, data?: TControl): FormArray<TControl>;\n /**\n * Handles the deletion of rows from a FormArray\n * @param index Index of the row to delete\n * @param fa The FormArray that holds the rows\n * @param deleteService The deletion service to be called (It should be an anonymous function)\n * @param addRowFunc The function (anonymous) that adds a new row to the FormArray\n * @param emitEvent Specify whether to emit an event when manipulating the FormArray\n * @returns\n */\n cRemoveItem(\n index: number,\n deleteService?: (...args) => Promise<any> | Observable<any>,\n addRowFunc?: (...args) => any,\n emitEvent?: boolean\n ): Promise<FormArray<TControl>>;\n }\n \n}\n// declare interface String {\n// stripSlash(): string;\n// lastStripSlash(): string;\n// unStrip(): string;\n// }\n//#region string */\nString.prototype.stripChar = function (this: string, character = '/') {\n return (this + '').replace(character, '');\n};\nString.prototype.lastStripChar = function (this: string, character = '/') {\n return this[this?.length - 1] == character\n ? this.slice(0, this.length - 1)\n : this;\n};\nString.prototype.unChar = function (\n this: string,\n character = '/',\n replacement = ''\n) {\n let te = '';\n for (let i = 0; i < this.length; i++) {\n const e = this[i];\n te += e != character ? e : '';\n }\n return te.split(character).join(replacement);\n};\nString.prototype.toSentenceCase = function (this: string) {\n return this.replace(/([A-Z])/g, ' $1');\n};\nString.prototype.replaceAllSubStr = function (\n this: string,\n character = '/',\n replacement = ''\n) {\n return this.split(character).join(replacement);\n};\nString.prototype.addPrecedingChar = function (\n this: string,\n character: string,\n expectedLength: number\n) {\n if (this.length >= expectedLength) return this;\n return character.repeat(expectedLength - this.length) + this;\n};\n//#endregion\n\n//#region array */\nArray.prototype.merge = function <T>(this: Array<T>) {\n let r = '';\n for (const i of this) {\n r += i;\n }\n return r;\n};\nArray.prototype.reverseIndex = function <T>(this: Array<T>, index = 0) {\n return this[this?.length - (1 + index)];\n};\nArray.prototype.lastItem = function <T>(this: Array<T>) {\n return this.reverseIndex();\n};\nArray.prototype.sort2 = function <T>(\n this: Array<T>,\n field: string,\n isString: boolean = false,\n reverse: boolean = false\n) {\n if (reverse) {\n return isString\n ? this.sort((b, a) => sortAlphaNum(a[field], b[field]))\n : this.sort((b, a) => (a[field] || 0) - (b[field] || 0));\n } else {\n return isString\n ? this.sort((a, b) => sortAlphaNum(a[field], b[field]))\n : this.sort((a, b) => (a[field] || 0) - (b[field] || 0));\n }\n};\nvar reA = /[^a-zA-Z]/g;\nvar reN = /[^0-9]/g;\n\nfunction sortAlphaNum(a, b) {\n var aA = a?.replace(reA, '');\n var bA = b?.replace(reA, '');\n if (aA === bA) {\n var aN = parseInt(a?.replace(reN, ''), 10);\n var bN = parseInt(b?.replace(reN, ''), 10);\n return aN === bN ? 0 : aN > bN ? 1 : -1;\n } else {\n return aA > bA ? 1 : -1;\n }\n}\n\nArray.prototype.removeEmptyItems = function <T>(\n this: Array<T>,\n expectedFields?: (keyof T)[],\n config?: {\n ignoreBooleanFields?: boolean;\n fieldsType?: 'included' | 'excluded';\n }\n) {\n // debugger;\n const ignoreBooleanFields = config?.ignoreBooleanFields == true;\n const fieldsType = config?.fieldsType || 'included';\n if (!this.length) return this;\n let fieldList: string[];\n if (fieldsType == 'included')\n fieldList = expectedFields?.length\n ? (expectedFields as string[])\n : Object.keys(this[0]);\n else if (fieldsType == 'excluded')\n fieldList = expectedFields?.length\n ? Object.keys(this[0]).filter((x) => !expectedFields.includes(x as any))\n : Object.keys(this[0]);\n const removedItems: T[] = [];\n if (fieldList) {\n for (let i = 0; i < this.length; i++) {\n if (ignoreBooleanFields && i == 0) {\n fieldList = fieldList.filter((f) => typeof this[0][f] != 'boolean');\n }\n const item = this[i];\n if (fieldList.some((f) => item[f] != null)) continue;\n removedItems.push(...this.splice(i, 1));\n i = i--;\n }\n }\n return removedItems;\n};\n\n//#endregion\n\n//#region Function\nFunction.prototype.clone = function () {\n var that = this;\n var temp = function temporary() {\n return that.apply(this, arguments);\n };\n for (var key in this) {\n if (this.hasOwnProperty(key)) {\n temp[key] = this[key];\n }\n }\n return temp;\n};\n//#endregion\n\n//#region FORMARRAY\nFormArray.prototype.cAddItem = function <\n TControl extends AbstractControl<any> = any\n>(\n this: FormArray<TControl>,\n index?: number,\n val?: typeof this.cFormStructure.value\n) {\n const form = cloneDeep(this.cFormStructure);\n if (val) {\n form.patchValue(val);\n }\n this.insert(index, form);\n return this;\n};\nFormArray.prototype.cRemoveItem = function <\n TControl extends AbstractControl<any> = any\n>(\n this: FormArray<TControl>,\n index: number,\n deleteService?: (...args) => Promise<any> | Observable<any>,\n addRowFunc?: (...args) => any,\n emitEvent = true\n) {\n return new Promise<FormArray<TControl>>((sub) => {\n const id = this.controls[index]?.value?.id;\n // debugger;\n if (id && deleteService) {\n const req = deleteService(id);\n let ps: Promise<any> = null;\n if (req['toPromise']) {\n ps = req['toPromise']();\n }\n ps?.then((r) => {\n sub(this);\n });\n }\n\n if (this.controls.length == 1 && id) {\n this.removeAt(index, { emitEvent });\n if (addRowFunc) addRowFunc();\n else this.cAddItem();\n } else if (this.controls.length > 1) this.removeAt(index, { emitEvent });\n else if (this.controls.length == 1) {\n this.controls[0].reset();\n }\n });\n};\n//#endregion\nexport {};\n","import '../prototypes/prototypes';\nexport class RouteItem {\n _: string;\n __: string;\n pub: string;\n constructor(base: string, parentPub: string = '', ...params: string[]) {\n // console.log(params);\n this._ = base + (params?.length ? '/:' + params.join('/:') : '');\n this.__ = base;\n this.pub = parentPub + '/' + base;\n }\n}\nexport class AppRouteBase extends RouteItem {\n constructor(base: string, parentPub: string = '', ...params: string[]) {\n super(base, parentPub, ...params);\n this.all = new RouteItem('all', this.pub);\n this.clone = new RouteItem('clone', this.pub, 'id');\n this.create = new CreateRoute('create', this.pub);\n this.edit = new RouteItem('edit', this.pub, 'id');\n this.find = new FindRoute('find', this.pub);\n this.index = new RouteItem('index', this.pub);\n this.overview = new RouteItem('overview', this.pub);\n this.show = new RouteItem('show', this.pub, 'id');\n this.start = new RouteItem('start', this.pub);\n }\n all: RouteItem;\n clone: RouteItem;\n create: CreateRoute;\n edit: RouteItem;\n find: FindRoute;\n index: RouteItem;\n overview: RouteItem;\n show: RouteItem;\n start: RouteItem;\n\n //#region funcs\n routeIdPipe(route: string, prtID: string): string {\n return route ? route + '/' + prtID : null;\n }\n routeIdTitlePipe(route: string, id: string, title?: string): string {\n return route + '/' + id + '/' + this.routeNamer(title);\n }\n routePIdIdTitlePipe(\n route: string,\n parentID: string,\n id: string,\n title?: string\n ): string {\n return route + '/' + parentID + '/' + id + '/' + this.routeNamer(title);\n }\n routePidSidIdTitlePipe(\n route: string,\n parentID: string,\n subID: string,\n id: string,\n title?: string\n ): string {\n return (\n route +\n '/' +\n parentID +\n '/' +\n subID +\n '/' +\n id +\n '/' +\n this.routeNamer(title)\n );\n }\n routeNamer(title?: string) {\n return title\n ? title\n .substr(0, 30)\n .unChar('/')\n .trim()\n .toLowerCase()\n .split(' ')\n .filter((x) => x)\n .join('-')\n : '';\n }\n //#endregion\n}\n\nclass CreateRoute extends RouteItem {\n corporate = new RouteItem('corporate', this.pub);\n group = new RouteItem('group', this.pub);\n individual = new RouteItem('individual', this.pub);\n provider = new CreateProviderRoute('provider', this.pub);\n}\nclass CreateProviderRoute extends RouteItem {\n index = new RouteItem('index', this.pub);\n}\nclass FindRoute extends RouteItem {\n searchList = new RouteItem('search-list', this.pub);\n}\n","\nexport interface ICustomLabel {\n matchType: string;\n newLabel: string;\n originalLabel: string;\n}\n\nexport enum ECustomLabelType {\n full = 'FULL_MATCH',\n like = 'LIKE_MATCH',\n}\n ","import { InjectionToken } from '@angular/core';\nimport { IServiceFunction } from '../../../lib/Shared/models/index.model';\n\nexport const ServiceFunction = new InjectionToken<IServiceFunction>(\n 'Used to inject functions into a service'\n);\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ServiceFunction } from '../Shared/injection-tokens/index.injection-tokens';\nimport { LabelCustomisationService } from './label-customization.service';\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n exports: [ ],\n providers: [\n { provide: ServiceFunction, useValue: {} }, \n ],\n})\nexport class LabelCustomizationModule {}\n","import { Day, ICodeTitle, IConfigImages } from '../Shared/models/index.model';\n\nexport class Config {\n static Images: IConfigImages;\n static Optioner: { num: number; letter: string }[] = [\n { num: 1, letter: 'a' },\n { num: 2, letter: 'b' },\n { num: 3, letter: 'c' },\n { num: 4, letter: 'd' },\n { num: 5, letter: 'e' },\n { num: 6, letter: 'f' },\n { num: 7, letter: 'g' },\n { num: 8, letter: 'h' },\n { num: 9, letter: 'i' },\n { num: 10, letter: 'j' },\n ];\n static Months: { id: number; short: string; long: string }[] = [\n { id: 0, short: 'Jan', long: 'January' },\n { id: 1, short: 'Feb', long: 'February' },\n { id: 2, short: 'Mar', long: 'March' },\n { id: 3, short: 'Apr', long: 'April' },\n { id: 4, short: 'May', long: 'May' },\n { id: 5, short: 'Jun', long: 'June' },\n { id: 6, short: 'Jul', long: 'July' },\n { id: 7, short: 'Aug', long: 'August' },\n { id: 8, short: 'Sep', long: 'September' },\n { id: 9, short: 'Oct', long: 'October' },\n { id: 10, short: 'Nov', long: 'November' },\n { id: 11, short: 'Dec', long: 'December' },\n ];\n static Days = [\n { index: 0, day: Day.sunday },\n { index: 1, day: Day.monday },\n { index: 2, day: Day.tuesday },\n { index: 3, day: Day.wednesday },\n { index: 4, day: Day.thursday },\n { index: 5, day: Day.friday },\n { index: 6, day: Day.saturday },\n ];\n\n static Numbers: { num: number; label: string }[] = [\n { num: 1, label: 'First' },\n { num: 2, label: 'Second' },\n { num: 3, label: 'Third' },\n { num: 4, label: 'Fourth' },\n { num: 5, label: 'Fifth' },\n { num: 6, label: 'Sixth' },\n { num: 7, label: 'Seventh' },\n { num: 8, label: 'Eighth' },\n { num: 9, label: 'Ninth' },\n { num: 10, label: 'Tenth' },\n ];\n\n static sexes = ['Female', 'Male'];\n\n static readonly boolList: ICodeTitle<boolean>[] = [\n { code: true, title: 'Yes' },\n { code: false, title: 'No' },\n ];\n\n static Currency = '₦';\n static TimeStampDay = 86400000;\n static TimeStampWeek = 604800000;\n static FormPresets = {\n addressPlaceholder: '1, Street Address.',\n };\n static unauthorizedMessage = `You are not authorized to access this resource.`;\n static adminSetupRoute = `backoffice`;\n static alreadyOpenedRoute = 'alreadyOpened';\n static secretKey: string =\n 'MIICXAIBAAfBgQDfmljld9rdhvakQApmLCDOgdwdwdwo2/iwdoiP0nNERInBheMh7J/r5aU8PUAssIpGXET/8';\n}\n","import { Injectable } from '@angular/core';\nimport { AES, enc } from 'crypto-js';\nimport { ETSenvironment } from '../../environments/environment';\nimport { Config } from '../configs/index.config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StorageService {\n get secret() {\n return Config.secretKey;\n }\n private storageKey: 'localStorage' | 'sessionStorage';\n get isProduction() {\n return ETSenvironment.production;\n }\n\n constructor() {\n this.storageKey = ETSenvironment.storageKey;\n }\n useSession() {\n this.storageKey = 'sessionStorage';\n }\n useLocal() {\n this.storageKey = 'localStorage';\n }\n encrypt = (data, key = this.secret) => {\n return AES.encrypt(JSON.stringify(data), key).toString();\n };\n\n decrypt = (data, key = this.secret) => {\n return JSON.parse(AES.decrypt(data, key).toString(enc.Utf8));\n };\n\n saveItem = <T>(key: string, data: T) => {\n try {\n window[this.storageKey].setItem(\n key,\n !(data == null || data == undefined)\n ? this.isProduction\n ? this.encrypt(data)\n : JSON.stringify(data)\n : ''\n );\n return data;\n } catch (error) {\n if (error.name == 'QuotaExceededError') {\n this.clear();\n return this.saveItem(key, data);\n } else {\n return null;\n }\n }\n };\n\n saveItemA = <T>(key: string, data: T) =>\n new Promise<T>((resolve) => {\n resolve(this.saveItem(key, data));\n });\n\n getItem = <T = any>(key: string, _throw = false) => {\n if (!key) return null;\n const encryptedRes = window[this.storageKey].getItem(key);\n try {\n return this.isProduction\n ? encryptedRes\n ? <T>this.decrypt(encryptedRes)\n : null\n : <T>JSON.parse(encryptedRes);\n } catch (e) {\n console.error(e);\n this.saveItem('_temp' + key, encryptedRes);\n this.removeItem(key);\n if (_throw) {\n throw new Error('Item not found');\n } else {\n return null;\n }\n }\n };\n getItemA = <T = any>(key: string) => {\n return new Promise<T>((resolve, reject) => {\n try {\n resolve(this.getItem(key));\n } catch (error) {\n reject(error);\n }\n });\n };\n\n removeItem = (key: string) => {\n return window[this.storageKey].removeItem(key);\n };\n\n clear = () => {\n return window[this.storageKey].clear();\n };\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup } from '@angular/forms';\nimport { IETSFormSchema } from '../Shared/models/form-schema.model';\nimport { FCInput } from '../Shared/models/index.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ETSReactiveFormInputService<\n TIFormSchema = IETSFormSchema,\n TFCInput = FCInput\n> {\n constructor() {}\n formFieldsFromFCInputsArr<TFCInput>(inputs: TFCInput[]) {\n const controls: {\n [key: string]: AbstractControl;\n } = {};\n for (const inp of <FCInput[]>inputs) {\n controls[inp.name] = inp.formControl;\n }\n\n return controls;\n }\n formSchemaToFormControls<TIFormSchema>(formFields: TIFormSchema[]) {\n const controls: {\n [key: string]: AbstractControl;\n } = {};\n (<IETSFormSchema[]>formFields)?.forEach((inp) => {\n controls[inp.field?.toString()] = new FormControl(\n inp.value,\n inp.validators?.map((v) => v.bind(this)),\n inp.asyncValidators?.map((v) => v.bind(this))\n );\n });\n // controls['__rowID']=new FormControl('id'+Math.round(Math.random()*10000000))\n\n return controls;\n }\n \n formFieldsFromObj(obj: any) {\n const controls: {\n [key: string]: AbstractControl;\n } = {};\n for (const inp in obj) {\n controls[inp] = new FormControl(obj[inp]);\n }\n\n return controls;\n }\n\n bindFormControlToInputs = <TFCInput>(inputs: TFCInput[], form: FormGroup) => {\n (<FCInput[]>inputs).forEach((x) => {\n x.form = form;\n x.formControl = form.controls[x.name];\n });\n };\n}\n","import { Injectable } from '@angular/core';\nimport { IOption, OptionLabelType } from '../../models/form-schema.model';\n\nimport { ICodeTitle } from '../../models/index.model'; \n\n@Injectable({\n providedIn: 'root',\n})\nexport class InputService {\n readonly optionLabellerFunctions: {\n [x: string]: (option) => { label: string; value: string };\n };\n constructor() {\n const labeller = this.labeller;\n this.optionLabellerFunctions = {\n bnk: (option: any) =>\n labeller(\n option?.accountName +\n ' | ' +\n option?.accountNo +\n ' | ' +\n option?.bankName +\n ' | ' +\n option?.no,\n null\n ),\n ccd: (option: any) => labeller(option?.companyCode, option?.description),\n cd: (option: any) => labeller(option?.code, option?.description),\n cdt: (option: any) =>\n labeller(option?.code, option?.description || option?.title),\n cf: (option: any) => labeller(option?.code, option?.fullName),\n cmd: (option: any) => labeller(option?.company, option?.description),\n cn: (option: any) => labeller(option?.code, option?.name),\n ct: (option: ICodeTitle) => labeller(option?.code, option?.title),\n gd: (option: any) => labeller(option?.group, option?.description),\n ha: (option: any) => labeller(option?.hierAgentNo, option?.agentName),\n id: (option: any) => labeller(option?.id, option?.description),\n if: (option: any) => labeller(option?.id, option?.fullName),\n ifl: (option: any) =>\n labeller(option?.userId, `${option?.firstName} ${option?.lastName}`),\n it: (option: any) => labeller(option?.id, option?.title),\n md: (option: any) => labeller(option?.mktEventCode, option?.description),\n pd: (option: any) => labeller(option?.payoutMethod, option?.description),\n nf: (option: any) => labeller(option?.no, option?.fullName),\n td: (option: any) => labeller(option?.type, option?.description),\n ud: (option: any) => labeller(option?.userMenu, option?.description),\n uf: (option: any) => labeller(option?.userName, option?.fullName),\n vl: (option: any) => labeller(null, option?.label),\n vv: (option: any) => labeller(option?.versionNo, option?.versionDate),\n };\n }\n labeller = (field1: string, field2: string) => {\n\n // debugger;\n field1 = field1?.toString()?.trim();\n field2 = field2?.toString()?.trim();\n if (field1 != null && field2 != null)\n return { value: field1, label: field1 + ' - ' + field2 };\n else return { value: field1, label: field1 || field2 };\n };\n optionsFormatter = (\n options: any[],\n valueField?: string,\n formatter?,\n labelType?: OptionLabelType,\n labelField?: string,\n autoPickValueField?: boolean\n ) => {\n if (!options?.length) return [];\n if (formatter)\n return options.map((option) => ({\n value: valueField && option ? option[valueField] : option,\n label: formatter(option),\n }));\n if (labelType)\n return options.map((option) => {\n const formattedOption = this.optionLabellerFunctions[labelType](option);\n\n return {\n value: valueField\n ? option[valueField]\n : autoPickValueField\n ? formattedOption.value\n : option,\n label: formattedOption.label,\n };\n });\n if (labelField)\n return options.map((option) => ({\n value: valueField ? option[valueField] : option,\n label: option[labelField],\n }));\n return options.map((option) => ({ value: option, label: option }));\n };\n trackByValue(index, item: IOption) {\n return item.value;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRoute, NavigationExtras, Router } from '@angular/router';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RouteService {\n constructor(public router: Router) {}\n go = (value: string, extra?: NavigationExtras) => {\n this.router.navigate([value], extra);\n };\n routeParams1 = (route: string, param1: string, title?: string): string => {\n return route ? route + '/' + param1 + (this.routeNamer(title) || '') : null;\n };\n routeParams2 = (\n route: string,\n param1: string,\n param2: string,\n title?: string\n ): string => {\n return route + '/' + param1 + '/' + param2 + (this.routeNamer(title) || '');\n };\n routeParams3 = (\n route: string,\n param1: string,\n param2: string,\n param3: string,\n title?: string\n ): string => {\n return (\n route +\n '/' +\n param1 +\n '/' +\n param2 +\n '/' +\n param3 +\n (this.routeNamer(title) || '')\n );\n };\n private routeNamer = (title: string) => {\n return title\n ? '/' +\n title\n .substr(0, 30)\n .unChar('/')\n .trim()\n .toLowerCase()\n .split(' ')\n .filter((x) => x)\n .join('-')\n : '';\n };\n}\n","import { Injectable } from '@angular/core';\nimport { PageLoader } from '../Shared/classes/page-loader.class';\n@Injectable({ providedIn: 'root' })\nexport class PageLoaderService extends PageLoader {\n constructor() {\n super();\n }\n}\n"," \ntype Method = 'POST' | 'PUT';\nexport interface ILog<T> {\n payload: T;\n files?: File[];\n isSuccess?: boolean;\n route?: string;\n endpoint: string;\n method: Method;\n}\nexport class Log<T = any> {\n id: string;\n title: string;\n time: number;\n payload: T;\n isSuccess: boolean;\n route: string;\n endpoint: string;\n files: IFileData[];\n method: string;\n constructor(data: ILog<T>) {\n Object.assign(this, data); \n if (data.payload instanceof FormData) {\n this.payload = null;\n (data.payload as FormData).forEach((file) => {\n if (!(!file || file == undefined || file == null))\n if (file instanceof File) {\n this. files.push({size:file.size,title:file.name,type:file.type});\n } else {\n this.payload = { ...this.payload, ...JSON.parse(file) };\n }\n });\n } \n this.route =this.route|| location.pathname; \n this.time = Date.now();\n this.id = 'id' + Math.round(Math.random() * 1000000);\n }\n}\ninterface IFileData {\n title: string;\n size: number;\n type: string;\n}\n","import { Injectable } from '@angular/core';\nimport { StorageService } from '../../../Services/storage.service';\nimport { ILog, Log } from './logger.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoggerService {\n readonly logAuthKey = 'logAuth';\n readonly logsKey = 'logs';\n private _logs: Log[] = [];\n private _isAuthed: boolean;\n readonly pwd = '1234';\n get logs() {\n return this._logs;\n }\n constructor(public sS: StorageService) {\n setInterval(() => {\n this.getLogs();\n }, 1000);\n this.checkAuth();\n }\n addLog<T>(log: ILog<T>) {\n this.pushLog(new Log(log));\n }\n pushLog(log: Log) {\n if (!Array.isArray(this._logs)) this._logs = [];\n this._logs?.sort2('time').reverse();\n if (this._logs.length >= 30) this._logs.pop();\n this._logs.unshift(log);\n this.saveToLocal();\n }\n saveToLocal() {\n this.sS.saveItem(this.logsKey, this._logs);\n }\n unlock() {\n this.sS.saveItem(this.logAuthKey, this.pwd);\n this.checkAuth();\n }\n lock() {\n this.sS.removeItem(this.logAuthKey);\n this.checkAuth();\n }\n getLogs() {\n this.sS\n .getItemA<Log[]>(this.logsKey)\n .then((r) => (this._logs = r?.sort2('time').reverse() || []));\n return this._logs;\n }\n checkAuth() {\n this._isAuthed = this.sS.getItem(this.logAuthKey) == this.pwd;\n }\n get isAuthed() {\n return this._isAuthed;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { EPageType } from '../Shared/models/index.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PageService {\n pageType: EPageType;\n constructor() {}\n\n isClone = (activatedRoute: ActivatedRoute, pageType?: EPageType) => {\n return (\n activatedRoute?.snapshot?.data?.type === EPageType.clonePage ||\n pageType === EPageType.clonePage\n );\n };\n isCreate = (activatedRoute: ActivatedRoute, pageType?: EPageType) => {\n return (\n activatedRoute?.snapshot?.data?.type === EPageType.createPage ||\n pageType === EPageType.createPage\n );\n };\n isEdit = (activatedRoute: ActivatedRoute, pageType?: EPageType) => {\n return (\n activatedRoute?.snapshot?.data?.type === EPageType.editPage ||\n pageType === EPageType.createPage\n );\n };\n isIndex = (activatedRoute: ActivatedRoute, pageType?: EPageType) => {\n return (\n activatedRoute?.snapshot?.data?.type === EPageType.indexPage ||\n pageType === EPageType.indexPage\n );\n };\n isShow = (activatedRoute: ActivatedRoute, pageType?: EPageType) => {\n return (\n activatedRoute?.snapshot?.data?.type === EPageType.showPage ||\n pageType === EPageType.showPage\n );\n };\n}\n","import { CurrencyPipe, Location, TitleCasePipe } from '@angular/common';\nimport { Injectable, Type } from '@angular/core';\nimport {\n MatDialog as MatDialog,\n MatDialogConfig as MatDialogConfig,\n} from '@angular/material/dialog';\nimport { MatSnackBar as MatSnackBar } from '@angular/material/snack-bar';\nimport { Title } from '@angular/platform-browser';\nimport { Router, NavigationExtras } from '@angular/router';\nimport { ETSReactiveFormInputService as IS1 } from './input.service';\nimport { RouteService } from './route.service';\nimport jfd from 'js-file-download';\nimport { PageLoaderService } from './page-loader.service';\nimport { Config, Config as config } from '../configs/index.config';\ndeclare const $: any;\nimport { AppRouteBase } from '../Shared/models/RouteItem.class';\nimport { saveAs } from 'file-saver';\nimport { EPageType, EValidationType, IBtn } from '../Shared/models/index.model';\nimport { ETSenvironment } from '../../environments/environment';\nimport { PageService } from './page.service';\nimport {\n AbstractControl,\n FormArray,\n FormControl,\n UntypedFormArray,\n} from '@angular/forms';\nimport { LoggerService } from '../Reusables/reusable-pages/logger/logger.service';\nimport { cloneDeep } from 'lodash-es';\nimport { isObservable, merge, Observable, of } from 'rxjs';\nimport { EETSPageBtnID } from '../Shared/models/IMenuItem';\nimport { InputService as IS2 } from '../Shared/components/input/input.service';\nimport { catchError, map, tap } from 'rxjs/operators';\nimport { ETSEnvironment } from '../Shared/models/environment.model';\n\n@Injectable({ providedIn: 'root' })\nexport class ETSUtilityService<TEnvironment = ETSEnvironment > {\n r: AppRouteBase;\n downloader = jfd;\n $ = $;\n eValidationType = EValidationType;\n config = Config;\n environment: TEnvironment = ETSenvironment as any;\n pbid = EETSPageBtnID;\n constructor(\n public dialog: MatDialog,\n public snackBar: MatSnackBar,\n public router: Router,\n public titleS: Title,\n public location: Location,\n public inputService: IS1,\n public inputService2: IS2,\n public routeService: RouteService,\n public pS: PageLoaderService,\n public currencyPipe: CurrencyPipe,\n public titleCasePipe: TitleCasePipe,\n public loggerService: LoggerService,\n public pageS: PageService\n ) {}\n\n back = () => this.location.back();\n\n onlyOneInput(inputs: FormControl[]) {\n const nInputs = inputs?.map((inp) => ({ id: this.genRandomID, inp })) || [];\n merge(\n ...nInputs.map((i) =>\n i.inp.valueChanges.pipe(map((val) => ({ id: i.id, val })))\n )\n ).subscribe((r) => {\n // debugger\n if (r.val)\n nInputs\n .filter((x) => x.id != r.id)\n .forEach((x) => x.inp.disable({ emitEvent: false }));\n else\n nInputs\n .filter((x) => x.id != r.id)\n .forEach((x) => x.inp.enable({ emitEvent: false }));\n });\n }\n\n async copyPayload(payload) {\n try {\n if (ETSenvironment.debug) {\n const elem = document.createElement('textarea');\n elem.value = JSON.stringify(payload);\n document.body.appendChild(elem);\n elem.select();\n document.execCommand('copy');\n document.body.removeChild(elem);\n }\n } catch (e) {\n console.error(e);\n }\n }\n xOrY = (x, y = '-') => `${x == null ? y : x}`;\n toTitleCase(text: string) {\n return this.titleCasePipe.transform(text);\n }\n /**\n * Convert Date string to Date Time string\n * @param dateStr Date string\n * @example '2022-01-25'\n * @param config Configuration for the conversion\n * @returns Returns a Date Time string\n * @example '2022-01-25T00:00:00Z' or '2022-01-25 00:00:00'\n */\n dateToDateTime = (\n dateStr: string,\n config?: {\n /**\n * Use the yyyy-mm-dd hh:mm:ss format\n */\n omitT?: boolean;\n }\n ) => {\n const omitT = !!config?.omitT;\n if (!dateStr) return null;\n if (dateStr.includes('T')) return dateStr;\n return dateStr + (omitT ? ' 00:00:00' : 'T00:00:00Z');\n };\n\n /**\n * Set an Object's field if the object exists or don't if the object doesn't\n * @param obj Object holding the field\n * @param fieldName Name of the field to set\n * @param val Value to set the field with\n * @returns Returns the object holding the data\n */\n setterWithNull<T>(obj: T, kvps: Partial<T>) {\n if (!obj) return null;\n for (const key in kvps) {\n obj[key] = kvps[key];\n }\n return obj;\n }\n\n /**\n * (Set an Object's field if the object exists or don't if the object doesn't) for multiple entries\n * @param items Array of objects and their modifications\n */\n setterWithNullArray<T>(items: { obj: T; kvps: Partial<T> }[]) {\n for (const item of items) {\n this.setterWithNull(item.obj, item.kvps);\n }\n }\n\n /**\n * Handles the deletion of rows from a FormArray\n * @param index Index of the row to delete\n * @param fa The FormArray that holds the rows\n * @param deleteService The deletion service to be called (It should be an anonymous function)\n * @param addRowFunc The function (anonymous) that adds a new row to the FormArray\n * @param emitEvent Specify whether to emit an event when manipulating the FormArray\n * @returns\n */\n handleFormRowDelete = (\n index: number,\n fa: UntypedFormArray,\n deleteService: (...args) => Promise<any> | Observable<any>,\n addRowFunc: (...args) => any,\n emitEvent = true\n ) => {\n return new Promise<any>((sub) => {\n const id = cloneDeep(fa.controls[index]?.value?.id);\n // debugger;\n if (fa.controls.length == 1 && id) {\n fa.removeAt(index, { emitEvent });\n addRowFunc();\n } else if (fa.controls.length > 1) fa.removeAt(index, { emitEvent });\n else if (fa.controls.length == 1) fa.controls[0].reset();\n\n if (id && deleteService) {\n const req = deleteService(id);\n if (req['toPromise']) {\n sub(req['toPromise']());\n } else {\n sub(req as any);\n }\n } else {\n sub(null);\n }\n });\n };\n\n /**\n * Handles the deletion of rows from an array\n * @param index Index of the row to delete\n * @param arr The array that holds the rows\n * @param deleteService The deletion service to be called (It should be an anonymous function)\n * @param addRowFunc The function (anonymous) that adds a new row to the array\n * @param cb The function to callback with the response of the deletion service as the input parameter\n */\n handleRowDelete = async <T>(\n index: number,\n arr: any[],\n deleteService: (...args) => Promise<T> | Observable<T>,\n addRowFunc: (...args) => any,\n cb?: (any) => any\n ) => {\n const id = arr[index]?.id;\n // debugger;\n\n if (id && deleteService) {\n const req = deleteService(id);\n if (typeof req['toPromise'] == 'function')\n cb ? cb(await req['toPromise']()) : req['toPromise']();\n else cb ? cb(await req) : null;\n }\n\n if (arr.length == 1) {\n arr.splice(index, 1);\n addRowFunc();\n } else if (arr.length > 1) arr.splice(index, 1);\n };\n /**\n * To handle the patching of a FormArray\n * @param arr The array that contains the data\n * @param addFunc The function that performs addition of single entries\n * @param formArr The FormArray that will hold the array's data\n */\n initPatchFormArray = (\n arr: any[],\n addFunc: (i: number, data?: any, formArr?: FormArray) => void,\n formArr: FormArray\n ) => {\n // debugger\n if (arr?.length) {\n if (formArr.length) formArr.clear();\n for (const item of arr) {\n addFunc(formArr.length, item, formArr);\n }\n } else {\n if (!formArr.length) addFunc(formArr.length, null, formArr);\n }\n };\n private isPromise = (func) => {\n return typeof func === 'object' && typeof func.then === 'function';\n };\n isAsync = (func) => {\n return (\n func.constructor.name === 'AsyncFunction' ||\n (typeof func === 'function' && this.isPromise(func()))\n );\n };\n\n isObservable = <T>(func) => {\n // return typeof func === 'object' && typeof func.subscribe === 'function';\n // return typeof func === 'object' && func instanceof Observable;\n // return typeof func === 'object' && func instanceof Observable<T>;\n return typeof func === 'object' && isObservable(func);\n return typeof func === 'object' && typeof func.toPromise === 'function';\n };\n promisifyVal = <T>(val: T | Promise<T> | Observable<T>) => {\n if (this.isAsync(val)) {\n return Promise.resolve(val as Promise<T>);\n } else if (this.isObservable(val)) {\n return Promise.resolve((val as Observable<T>).toPromise());\n } else {\n return Promise.resolve(val as T);\n }\n };\n\n /**\n * @param arr Array of observables to fetch\n * @returns An array of the responses merged together. It emits the merged responses as they are fetched and closes once alll the responses have been fetched\n */\n mergeArrObservables = <T>(arr: { $func: Observable<T[]> }[]) => {\n return new Observable<T[]>((sub) => {\n const ret: T[] = [];\n let responseCount = 0;\n merge(\n ...arr.map((x) =>\n x.$func?.pipe(\n catchError((e) => {\n console.error(e);\n return of([]);\n }),\n tap((r) => {\n responseCount++;\n })\n )\n )\n ).subscribe((r) => {\n ret.push(...r);\n sub.next(ret);\n if (responseCount == arr.filter((x) => x.$func).length) {\n // debugger\n sub.complete();\n }\n });\n });\n };\n removeDuplicate<T>(list: T[], keyField = 'code') {\n if (!list) return null;\n list = list.filter((x) => x);\n const ret: T[] = [],\n duplicateMap: { [x: string]: any } = {};\n for (const item of list) {\n if (duplicateMap[item[keyField]]) continue;\n ret.push(item);\n duplicateMap[item[keyField]] = item;\n }\n return ret;\n }\n get genRandomID() {\n return Math.round(Math.random() * 1000000000000000);\n }\n storePayload = this.loggerService.addLog;\n objIsEmpty = (obj, exclusionFields?: string[]) => {\n if (!obj) return true;\n for (const key in obj) {\n if (exclusionFields?.includes(key)) continue;\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n if (obj[key]) return false;\n }\n }\n return true;\n };\n dataGen = <T = any>(keys: string[], length = 10) => {\n const ret: any[] = [];\n for (let i = 0; i < length; i++) {\n let t: any = {};\n for (const key of keys) {\n t[key] = this.textGen();\n }\n ret.push(t);\n }\n return ret as T[];\n };\n textGen = () => 'random' + Math.round(Math.random() * 1000);\n trackByCode(index: number, item: any) {\n return item?.code;\n }\n trackByID(index: number, item: any) {\n return item?.id;\n }\n dialogOpener = (\n comp: any,\n config: MatDialogConfig,\n valueCB: (r) => any,\n noValueCB?: any\n ) =>\n this.dialogOpenerRef(comp, config)\n .afterClosed()\n .subscribe((r) => {\n if (r != null && r != undefined) {\n valueCB(r);\n } else if (noValueCB) {\n noValueCB();\n }\n });\n dialogOpenerRef = (comp: any, config: MatDialogConfig) =>\n this.dialog.open(comp, config);\n findLabelByItem = (\n item,\n arr: any[],\n labelField?: string,\n keyField: string = 'code'\n ) => {\n if (!item) return null;\n const obj = arr?.find((x) => x[keyField] == item);\n if (!obj) return item;\n else\n return `${item} - ${\n obj[labelField || 'title'] || obj[labelField || 'description']\n }`;\n };\n\n formFieldsFromArr = this.inputService.formFieldsFromFCInputsArr;\n objToFormControls = this.inputService.formFieldsFromObj;\n formSchemaToFormControls = this.inputService.formSchemaToFormControls;\n\n bindFormControlToInputs = this.inputService.bindFormControlToInputs;\n\n go = (value: string, extra?: NavigationExtras) => {\n this.router.navigate([value], extra);\n };\n /**\n * Route to component\n * @param route Route of path to component\n * @param extra\n */\n goR = (route: string, extra?: NavigationExtras) => {\n if (!ETSenvironment.activatedRoute) debugger;\n this.router.navigate([route], {\n relativeTo: ETSenvironment.activatedRoute,\n ...extra,\n });\n // debugger;\n };\n moneyParser = (amount: string | number, currency = ' ') => {\n return this.currencyPipe.transform(amount, currency || ' ');\n };\n extractUpload(event: any) {\n return (event.target.files as File[]) || [];\n }\n\n secondsToHourMinSec = (seconds: number) => {\n if (!seconds) return { secs: null, hours: null, mins: null };\n const hours = Math.floor(seconds / 3600) || 0,\n secondsExHours = seconds % 3600 || 0,\n mins = Math.floor(secondsExHours / 60) || 0,\n secs = secondsExHours % 60;\n return { hours, mins, secs };\n };\n minutesToDayHourMin = (minutes: number) => {\n if (!minutes) return { days: null, hours: null, mins: null };\n const days = Math.floor(minutes / 1440) || 0,\n miniutesExDays = minutes % 1440 || 0,\n hours = Math.floor(miniutesExDays / 60) || 0,\n mins = miniutesExDays % 60 || 0;\n return { days, hours, mins };\n };\n minutesToDayHourMinStr = (minutes: number) => {\n if (!minutes) return null;\n const ret = this.minutesToDayHourMin(minutes);\n return `${ret.days} ${ret.hours}:${ret.mins}`.trim();\n };\n minutesToDayHourMinStr2 = (minutes: number) => {\n if (!minutes) return null;\n const ret = this.minutesToDayHourMin(minutes);\n return `${ret.days}days ${ret.hours}hrs ${ret.mins}mins`.trim();\n };\n dayHourMinToHourMinutes = (dys: number, hrs: number, mins: number) => {\n if (!dys && !hrs && !mins) return '';\n const dysToHrs = (dys || 0) * 24;\n hrs = (+hrs || 0) + dysToHrs;\n return (hrs || '00') + ':' + (mins || '00');\n };\n disableOrEnableInputs = (controls: AbstractControl[], disable: boolean) => {\n if (disable) this.disableInputs(controls);\n else this.enableInputs(controls);\n };\n disableInputs = (controls: AbstractControl[]) => {\n for (const control of controls) {\n control?.disable({ emitEvent: false });\n }\n };\n enableInputs = (controls: AbstractControl[]) => {\n for (const control of controls) {\n control?.enable({ emitEvent: false });\n }\n };\n dayHourMinToMinutes = (dys: number, hrs: number, mins: number) => {\n if (!dys && !hrs && !mins) return 0;\n const dysToHrs = (dys || 0) * 24;\n hrs = (+hrs || 0) + dysToHrs;\n return (hrs || 0) * 60 + mins;\n };\n hourMinToMinutes = (hrs: number, mins: number) => {\n if (!hrs && !mins) return null;\n return (hrs || 0) * 60 + mins;\n };\n hourMinToMinutes2 = (hrsMins: string) => {\n const [hrs, mins] = hrsMins?.split(':') || [0, 0];\n return this.hourMinToMinutes(+hrs, +mins);\n };\n notify(message: string, cls: 0 | 1 | 2 | 3 = 1, duration = 5000, title = '') {\n message =\n typeof message == 'string'\n ? message\n : cls == 0\n ? 'An error occurred'\n : '';\n return this.snackBar.open(message, title, {\n duration,\n horizontalPosition: 'center',\n verticalPosition: 'bottom',\n panelClass:\n cls == 1\n ? 'bg-success'\n : cls == 2\n ? 'btn-info'\n : cls == 3\n ? 'btn-warning'\n : 'bg-danger',\n });\n }\n\n scrollToTop = () => window.scrollTo(0, 0);\n\n /**\n *\n * @returns The current date time local that can be used to set the datetime-local input\n */\n getLocalDateTimeNow = () => {\n const dt = new Date().toISOString().split('T');\n return dt[0] + 'T' + dt[1].split(':').slice(0, 2).join(':');\n };\n /** @returns The current date local that can be used to set the date input */\n localDateNow = () => {\n return new Date().toISOString().split('T')[0];\n };\n dateFormat = (date: any, format = 1) => {\n if (!date) return null;\n const d = new Date(date);\n if (format == 1) {\n return d.toDateString();\n } else if (format == 2) {\n return d.getDate() + ' ' + config.Months[d.getMonth()];\n } else if (format == 3) {\n return d.toDateString() + ', ' + this.timeFormat(d.toLocaleTimeString());\n } else if (format == 4) {\n return config.Months[d.getMonth()] + ' ' + d.getDate();\n } else {\n return '';\n }\n };\n toJavaDateString = (isoDateString: string = new Date().toISOString()) => {\n if (!isoDateString) return null;\n return `${isoDateString.slice(0, 19)}`;\n return `${isoDateString.slice(0, 10)} ${isoDateString.slice(11, 19)}`;\n };\n timeFormat = (time?: any) => {\n const timeArr: any[] = time.split(' ');\n timeArr[0] = timeArr[0].split(':').splice(0, 2).join(':');\n return timeArr.join(' ');\n };\n fullDateTime = (timestamp: string | number) => {\n // debugger\n return this.dateFormat(timestamp, 3);\n };\n daysFormatter = (days: number) => {\n if (!days) {\n return '-';\n }\n let yr: number,\n mt: number,\n dy: number,\n ret: string,\n _yr = 365,\n _mt = 30;\n if (days > _yr) {\n yr = Math.floor(days / _yr);\n }\n if (days > _mt) {\n mt = Math.floor((days % _yr) / _mt);\n }\n dy = (days % _yr) % _mt;\n ret = `${yr ? this.pluarlizer(yr, 'yr') : ''} ${\n mt ? this.pluarlizer(mt, 'mth') : ''\n } ${this.pluarlizer(dy, 'dy')}`;\n return ret;\n };\n monthsFormatter = (months: number) => {\n if (!months) {\n return '-';\n }\n let yr: number,\n mt: number,\n ret: string,\n _yr = 12;\n if (months > _yr) {\n yr = Math.floor(months / _yr);\n }\n mt = months % _yr;\n ret = `${yr ? this.pluarlizer(yr, 'yr') : ''} ${\n mt ? this.pluarlizer(mt, 'mth') : ''\n }`;\n return ret;\n };\n pluarlizer = (val: number, txt: string, plural?: string) => {\n plural = plural || txt + 's';\n return val + (val == 1 ? txt : plural);\n };\n decimalToPercentage = (dec: number) => {\n return dec * 100 + '%';\n };\n logForm = (form) => {\n console.log('FORM', form, 'VALUES', form.value as any);\n };\n\n toCSV(data: any[], headerNames: string[], filename: string) {\n const replacer = (key, value) => (value === null ? '' : value); // specify how you want to handle null values here\n\n let csv = data.map((row) =>\n headerNames\n .map((fieldName) => JSON.stringify(row[fieldName], replacer))\n .join(',')\n );\n csv.unshift(headerNames.join(','));\n let csvArray = csv.join('\\r\\n');\n\n var blob = new Blob([csvArray], { type: 'text/csv' });\n saveAs(blob, filename + '.csv');\n }\n\n isPictureFormat(fileName: string) {\n if (!fileName) return false;\n const PICTURE_FORMATS = ['.jpg', '.jpeg', '.png', '.gif'];\n return PICTURE_FORMATS.some((format) => fileName.endsWith(format));\n }\n objectToArray<T>(obj: any) {\n const ret = [];\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n ret.push(obj[key]);\n }\n }\n return ret as T[];\n }\n onlyUnique = <T>(value: T, index: number, self: T[]) => {\n return self.indexOf(value) === index;\n };\n get isMobile() {\n return window.innerWidth <= 600;\n }\n //#region route\n routeParams1 = this.routeService.routeParams1;\n routeParams2 = this.routeService.routeParams2;\n routeParams3 = this.routeService.routeParams3;\n //#endregion\n startPl = this.pS.startPl;\n stopPl = this.pS.stopPl;\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ETSUtilityService } from '../utility.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CacheService {\n private _cache: { [x: string]: any } = {};\n\n constructor(public uS: ETSUtilityService) {}\n\n get cache() {\n return this._cache;\n }\n\n has = (key: string) => !!this._cache[key];\n\n getItem = <T>(key: string) => this._cache[key] as T;\n\n setItem<T>(key: string, data: T) {\n this._cache[key] = data;\n // return this._cache;\n }\n\n getAndSet<T>(key: string, newValue?: T | Promise<T> | Observable<T>) {\n return new Observable<T>((next) => {\n next.next(this.getItem(key));\n if (newValue) {\n this.uS.promisifyVal(newValue).then(async (res) => {\n this.setItem(key, res);\n next.next(res);\n next.complete();\n });\n } else next.complete();\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { debounceTime, tap } from 'rxjs/operators';\nimport { StorageService } from '../storage.service';\nimport { ETSUtilityService } from '../utility.service';\nimport { CacheService } from './cache.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LocalCacheService extends CacheService {\n private readonly cacheKey = 'cacheKey';\n private readonly cacheCreatedDateKey = 'cacheCreatedDateKey';\n private readonly validityDays = 7;\n private readonly oneDayTimestamp = 86400000;\n constructor(public sS: StorageService, public uS: ETSUtilityService) {\n super(uS);\n try {\n const createdDate: number = sS.getItem(this.cacheCreatedDateKey);\n if (!createdDate) this.sS.saveItem(this.cacheCreatedDateKey, Date.now());\n else if (\n createdDate + this.validityDays * this.oneDayTimestamp <=\n Date.now()\n ) {\n this.sS.saveItem(this.cacheCreatedDateKey, Date.now());\n this.sS.removeItem(this.cacheKey);\n }\n sS.getItemA(this.cacheKey).then((r) => {\n try {\n for (const key in r) {\n if (Object.prototype.hasOwnProperty.call(r, key)) {\n this.setItem(key, r[key]);\n }\n }\n } catch (error) {\n console.error(error);\n }\n });\n } catch (e) {\n console.error(e);\n this.sS.removeItem(this.cacheKey);\n }\n }\n saveToLocal() {\n // console.log('saving to cache', JSON.stringify(super.cache));\n this.sS.saveItemA(this.cacheKey, super.cache);\n }\n setItem<T>(key: string, data: T) {\n super.setItem(key, data);\n this.saveToLocal();\n }\n\n getAndSet<T>(key: string, addFunc?: T | Promise<T> | Observable<T>) {\n // debugger;\n return super\n .getAndSet<T>(key, addFunc)\n .pipe(tap((r) => this.saveToLocal()));\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpClient,\n HttpErrorResponse,\n HttpHeaders,\n HttpRequest,\n} from '@angular/common/http';\nimport { iif, Observable, throwError } from 'rxjs';\nimport { catchError, map, retry, tap } from 'rxjs/operators';\nimport { ICodeDescription, ICodeTitle } from '../Shared/models/index.model';\nimport { ETSenvironment } from '../../environments/environment';\nimport { CacheService } from './cache/cache.service';\nimport { LocalCacheService } from './cache/local-cache.service';\nexport interface IResponse {\n message: string;\n result: any;\n status: 'success' | 'error' | 'failure';\n statusCode: 'SM000' | 'SM001' | 'SM002' | 'SM003';\n}\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiService {\n private showRoutes = 0;\n private get headers() {\n return {\n 'Content-Type': 'application/json',\n };\n }\n private get fileHeaders() {\n return {\n enctype: 'multipart/form-data',\n };\n }\n private retryCount = 0;\n constructor(\n public http: HttpClient,\n public cacheS: CacheService,\n public lCacheS: LocalCacheService\n ) {}\n\n private logRoutes(\n method: 'get' | 'post' | 'put' | 'delete',\n route,\n ...extras\n ) {\n if (this.showRoutes) {\n console.log(method, route, ...extras);\n }\n }\n private handleRequestError = (err: HttpErrorResponse) => {\n let message;\n if (err?.error instanceof ArrayBuffer)\n message = String.fromCharCode.apply(null, new Uint8Array(err?.error));\n return throwError(message || err?.error?.message);\n };\n\n //#region PATCH\n patch<T = any>(route: string, body?, options?: any): Observable<T> {\n this.logRoutes('post', route, body);\n console.log(body);\n return this.http\n .patch(encodeURI(route), body, {\n headers: new HttpHeaders(this.headers),\n responseType: 'json',\n ...options,\n })\n .pipe(catchError(this.handleRequestError)) as Observable<any>;\n }\n //#endregion\n //#region POST\n post<T = any>(route: string, body?, extras?: IExtras): Observable<T> {\n this.logRoutes('post', route, body);\n console.log(body);\n return this.http\n .post(encodeURI(route), body, {\n headers: new HttpHeaders(this.headers),\n responseType: 'json',\n ...extras?.options,\n })\n .pipe(catchError(this.handleRequestError)) as Observable<any>;\n }\n postFile<T = any>(route: string, body: FormData) {\n return this.post<T>(route, body, {\n options: {\n headers: new HttpHeaders(this.fileHeaders),\n responseType: 'json',\n },\n });\n }\n postFileWithEndorsement<T = any>(route: string, body: FormData) {\n return this.post<T>(route, body, {\n options: {\n headers: new HttpHeaders(this.fileHeaders).set(\n 'useEndorsement',\n 'true'\n ),\n responseType: 'json',\n },\n });\n }\n postString(route: string, body?) {\n console.log('requestCount', ++ETSenvironment.requestCount);\n return this.post<string>(route, body, {\n options: {\n headers: new HttpHeaders({\n 'Content-Type': 'text/plain',\n }),\n responseType: 'text',\n },\n });\n }\n postStringWithLocalCache(route: string, body: string) {\n return new Observable<string>((res) => {\n const bdy = body?.trim();\n // debugger\n if (this.lCacheS.has(route + '_' + bdy)) {\n res.next(this.lCacheS.getItem<string>(route + '_' + bdy));\n }\n\n this.postString(route, bdy)\n .toPromise()\n .then((r) => {\n res.next(r);\n this.lCacheS.setItem(route + '_' + bdy, r);\n res.complete();\n })\n .catch((e) => {\n res.error(e);\n });\n });\n }\n //#endregion\n\n //#region GET\n get = <T = any>(\n route: string,\n parameters?: Object,\n extras?: IExtras\n ): Observable<T> => {\n this.logRoutes('get', route, parameters);\n return new Observable<T>((res) => {\n const query = route + this.getRequestParse(parameters);\n // if (this.cacheS.has(query)) {\n // res.next(this.cacheS.getItem<T>(route));\n // }\n this.http\n .get(query, {\n headers: new HttpHeaders(this.headers),\n responseType: 'json',\n ...extras?.options,\n })\n .pipe(\n retry(this.retryCount),\n tap((x) => (this.showRoutes ? console.log(x) : null)),\n map((res: any) => {\n if (Array.isArray(res))\n if (res[0]?.code) return res.sort().sort2('code', true);\n else if (res[0]?.columnName)\n return res.sort().sort2('columnName', true);\n else return res.sort();\n return res;\n }),\n catchError(this.handleRequestError)\n )\n .toPromise()\n .then((r) => {\n res.next(r);\n this.cacheS.setItem(query, r);\n res.complete();\n })\n .catch((err) => res.error(err));\n });\n };\n\n getCodes = <T = ICodeTitle & ICodeDescription>(route: string) =>\n this.get<T[]>(route).pipe(map((res) => this.sortCodes(res)));\n\n getText = <T = string>(route: string, parameters?: Object) =>\n this.get<T>(route, parameters, {\n options: {\n headers: new HttpHeaders(this.headers),\n responseType: 'text',\n },\n });\n getFile = <T = string>(route: string, parameters?: Object) =>\n this.get<T>(route, parameters, {\n options: {\n headers: new HttpHeaders(this.headers),\n responseType: 'arrayBuffer',\n },\n });\n getWithBody = <T = any>(route: string, body?: any, extras?: IExtras) => {\n this.logRoutes('get', route);\n // debugger\n const req = new HttpRequest(\n 'GET',\n route,\n body,\n extras?.options || {\n headers: new HttpHeaders(this.headers),\n responseType: 'json',\n }\n );\n return this.http\n .request<T>(req)\n .pipe(catchError(this.handleRequestError)) as Observable<T>;\n };\n\n getFromlocal = <T = any>(\n route: string,\n parameters?: Object,\n options?: any\n ) => {\n return new Observable<T>((res) => {\n const query = route + this.getRequestParse(parameters);\n if (this.lCacheS.has(query)) {\n res.next(this.lCacheS.getItem<T>(query));\n res.complete();\n } else\n this.get(query, null, options)\n .toPromise()\n .then((r) => {\n // if (!this.cS.has(route))\n res.next(r);\n this.lCacheS.setItem(query, r);\n res.complete();\n });\n });\n };\n getWithLocalCache = <T = any>(\n route: string,\n parameters?: Object,\n options?: any\n ) => {\n return new Observable<T>((res) => {\n const query = route + this.getRequestParse(parameters);\n if (this.lCacheS.has(query)) {\n res.next(this.lCacheS.getItem<T>(query));\n }\n this.get(query, null, options)\n .toPromise()\n .then((r) => {\n // if (!this.cS.has(route))\n res.next(r);\n this.lCacheS.setItem(query, r);\n res.complete();\n })\n .catch((e) => {\n res.error(e);\n res.complete();\n });\n });\n };\n getRequestParse(parameters?: Object) {\n // const nbody = new URLSearchParams();\n // for (const key in parameters) {\n // if (Object.prototype.hasOwnProperty.call(parameters, key)) {\n // const element = parameters[key];\n // if (element != null) nbody.set(key, element + '');\n // }\n // }\n // const str = nbody.toString();\n // if(parameters)\n // debugger;\n if (!parameters) return '';\n return (\n '?' +\n Object.keys(parameters)\n .filter((key) => parameters[key]?.toString()?.trim() != null)\n .map((key) => `${key}=${parameters[key]?.toString()?.trim()}`)\n .join('&')\n );\n }\n //#endregion\n\n //#region PUT\n put<T = any>(route: string, body?, extras?: IExtras): Observable<T> {\n this.logRoutes('put', route, body);\n let query = route + '',\n nbody = body;\n if (extras?.requestType == 'queryParams') {\n query += this.getRequestParse(body);\n nbody = null;\n }\n return this.http\n .put(query, nbody, {\n headers: new HttpHeaders(this.headers),\n responseType: 'json',\n ...extras?.options,\n })\n .pipe(catchError(this.handleRequestError)) as Observable<any>;\n }\n //#endregion\n\n //#region DELETE\n delete = <T = any>(route: string, options?) => {\n this.logRoutes('delete', route);\n return this.http\n .delete<T>(\n route,\n options || {\n headers: new HttpHeaders(this.headers),\n responseType: 'json',\n }\n )\n .pipe(catchError(this.handleRequestError)) as Observable<any>;\n };\n deleteWithBody = <T = any>(route: string, body?: any, options?) => {\n this.logRoutes('delete', route);\n const req = new HttpRequest(\n 'DELETE',\n route,\n body,\n options || {\n headers: new HttpHeaders(this.headers),\n responseType: 'json',\n }\n );\n return this.http\n .request<T>(req)\n .pipe(catchError(this.handleRequestError)) as Observable<any>;\n };\n deleteText = (route: string) =>\n this.delete<string>(route, {\n headers: new HttpHeaders(this.headers),\n responseType: 'text',\n });\n //#endregion\n\n sortCodes = <T>(data: T[]) => {\n return data?.sort2('code', true)?.sort2('code') as any as T[];\n };\n}\n\ninterface IExtras {\n noFormat?: boolean;\n options?: any;\n requestType?: 'queryParams';\n}\n","import { TitleCasePipe } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { ETSenvironment } from '../../environments/environment';\nimport { ApiService } from '../Services/api.service';\nimport { ServiceFunction } from '../Shared/injection-tokens/index.injection-tokens';\nimport { IServiceFunction } from '../Shared/models/index.model';\nimport { StorageService } from '../Services/storage.service';\nimport { ECustomLabelType, ICustomLabel } from './label-customization.model';\n\n@Injectable({ providedIn: 'root' })\nexport class LabelCustomisationService {\n private readonly storageKey: string = 'customLabels';\n labels: ICustomLabel[];\n constructor(\n public storageS: StorageService,\n public titlePipe: TitleCasePipe,\n public apiS: ApiService,\n @Inject(ServiceFunction) public serviceFunctions: IServiceFunction\n ) {\n this.getFromLocal();\n if (ETSenvironment.token) this.getAllLabels();\n }\n getAllLabels() {\n this.serviceFunctions.search().subscribe((r) => {\n this.saveToLocal(r);\n });\n }\n submit(entries: ICustomLabel[]) {\n entries.forEach((x) => {\n x.newLabel = x.newLabel.toLowerCase().trim();\n x.originalLabel = x.originalLabel.toLowerCase().trim();\n });\n return this.serviceFunctions.create(entries);\n }\n saveToLocal(labels: ICustomLabel[]) {\n this.labels = labels;\n this.storageS.saveItem(this.storageKey, labels);\n }\n private getFromLocal() {\n this.labels = this.storageS.getItem(this.storageKey);\n }\n replaceLabel = (originalText: string) => {\n // debugger\n if (!originalText) return null;\n if (!this.labels || !this.labels.length) return originalText;\n let custom = this.labels.find(\n (x) =>\n x.matchType == ECustomLabelType.full &&\n originalText.trim().toLowerCase() == x.originalLabel\n );\n if (custom) return this.titlePipe.transform(custom.newLabel);\n\n custom = this.labels.find(\n (x) =>\n x.matchType == ECustomLabelType.like &&\n originalText.trim().toLowerCase().includes(x.originalLabel)\n );\n if (custom)\n return this.titlePipe.transform(\n originalText\n .toLowerCase()\n .split(custom.originalLabel)\n .join(custom.newLabel)\n );\n return null;\n };\n}\n","import { Type } from '@angular/core';\nimport { LoadChildrenCallback, Route, Routes } from '@angular/router';\nimport { EPageType } from '../Shared/models/index.model';\nexport namespace EVFunctions {\n /**\n * \n * @param route \n * @param indexComponent \n * @param indexLazyModule \n * @example\n * ```ts\n * EVFunctions.extendRoute(\n * {\n * path: '',\n * data: { title: 'CRM / Setups / Segment' },\n * loadChildren: () => import('./create-segment/create-segment.module')\n * .then((m) => m.CreateSegmentModule),\n * },\n * null,\n * () => import('./segments-index/segments-index.module')\n * .then((m) => m.SegmentsIndexModule));\n * ```\n * @returns \n */\n export function extendRoute(\n route: Route,\n indexComponent?: Type<any>,\n indexLazyModule?: LoadChildrenCallback\n ) {\n const routes: Routes = [\n {\n path: '',\n data: {\n ...route.data,\n title: route.data?.title,\n type: EPageType.indexPage,\n },\n component: indexComponent,\n loadChildren: indexLazyModule,\n },\n {\n path: 'index',\n data: {\n ...route.data,\n title: route.data?.title,\n type: EPageType.indexPage,\n },\n component: indexComponent,\n loadChildren: indexLazyModule,\n },\n {\n path: 'clone',\n data: {\n ...route.data,\n title: pageTitler(route.data?.title, 'Clone'),\n type: EPageType.clonePage,\n },\n component: route.component,\n loadChildren: route.loadChildren,\n },\n {\n path: 'create',\n data: {\n ...route.data,\n title: pageTitler(route.data?.title, 'Create'),\n type: EPageType.createPage,\n },\n component: route.component,\n loadChildren: route.loadChildren,\n },\n {\n path: 'edit',\n data: {\n ...route.data,\n title: pageTitler(route.data?.title, 'Edit'),\n type: EPageType.editPage,\n },\n component: route.component,\n loadChildren: route.loadChildren,\n },\n {\n path: 'show',\n data: {\n ...route.data,\n title: pageTitler(route.data?.title, 'Show'),\n type: EPageType.showPage,\n },\n component: route.component,\n loadChildren: route.loadChildren,\n },\n ];\n if (!indexComponent && !indexLazyModule) {\n routes.splice(0, 2);\n }\n return routes;\n }\n export function labeller(field1: string, field2: string) {\n // debugger\n // console.log('field1',field1)\n field1 = field1?.toString()?.trim();\n field2 = field2?.toString()?.trim();\n if (field1 != null && field2 != null)\n return { value: field1, label: field1 + ' - ' + field2 };\n else return { value: field1, label: field1 || field2 };\n }\n function pageTitler(title: string, infix: string) {\n if (!title) return '';\n if (!infix) return title;\n const split = title.split('/'),\n lastSplit = split.pop(),\n prefix = split.join('/');\n return (prefix ? prefix + ' / ' : ' ') + infix + ' ' + lastSplit;\n }\n export function redirectRouteForUM(route: Route, prefix: string) {\n const oPath = route?.path + '',\n nPath = prefix + oPath;\n route.path = nPath;\n const routes: Routes = [\n {\n path: oPath,\n redirectTo: nPath,\n },\n route,\n ];\n return routes;\n }\n}\n","import { IValidationMessage } from '../Shared/models/index.model';\n\nexport const configValidationMessages = {\n normal: [ \n { type: 'required', message: ' is required.' },\n {\n type: 'maxLength',\n message: ' must be at most {{maxLength}} characters long.',\n },\n {\n type: 'maxlength',\n message: ' must be at most {{maxLength}} characters long.',\n },\n {\n type: 'minLength',\n message: ' must be at least {{minLength}} characters long.',\n },\n {\n type: 'minlength',\n message: ' must be at least {{minLength}} characters long.',\n },\n {\n type: 'notUnique',\n message: ' already exists.',\n },\n {\n type: 'date',\n message: 'Date should be in the dd/mm/yyyy format',\n },\n {\n type: 'used',\n message: ' has already been used.',\n },\n { type: 'pattern', message: ' is invalid.' },\n { type: 'notFound', message: \" doesn't exist\" },\n { type: 'custom' },\n ],\n address: [\n { type: 'required', message: 'Address is required.' },\n {\n type: 'minlength',\n message: 'Address must be at least 3 characters long.',\n },\n ],\n addressLGA: [\n {\n type: 'required',\n message: 'Local government of address is required.',\n },\n {\n type: 'minlength',\n message:\n 'Local government of address must be at least 2 characters long.',\n },\n ],\n className: [\n { type: 'required', message: 'Class name is required.' },\n {\n type: 'minlength',\n message: 'Class name must be at least 2 characters long.',\n },\n ],\n classSection: [\n { type: 'required', message: 'Class section is required.' },\n {\n type: 'minlength',\n message: 'Class section must be at least 1 character long.',\n },\n ],\n email: [\n { type: 'required', message: 'Email is required.' },\n {\n type: 'minlength',\n message: 'Email must be at least 5 characters long.',\n },\n { type: 'pattern', message: 'Email must be valid.' },\n { type: 'email', message: 'Email must be valid' },\n {\n type: 'notUnique',\n message: 'Email already exists.',\n },\n {\n type: 'equalToOther',\n message: \"Alternate email can't be the same as email\",\n },\n ],\n entityNumber: [\n { type: 'required', message: ' is required.' },\n {\n type: 'invalid',\n message: ' is invalid.',\n },\n { type: 'notFound', message: ' was not found.' },\n {\n type: 'notUnique',\n message: ' already exists.',\n },\n ],\n firstname: [\n { type: 'required', message: 'First Name is required.' },\n {\n type: 'minlength',\n message: 'Name must be at least 2 characters long.',\n },\n ],\n lastname: [\n { type: 'required', message: 'Last Name is required.' },\n {\n type: 'minlength',\n message: 'Name must be at least 2 characters long.',\n },\n ],\n lga: [\n {\n type: 'required',\n message: 'Local government of origin is required.',\n },\n {\n type: 'minlength',\n message: 'Local government of origin must be at least 2 characters long.',\n },\n ],\n maidenName: [\n { type: 'required', message: 'Maiden Name is required.' },\n {\n type: 'minlength',\n message: 'Maiden Name must be at least 2 characters long.',\n },\n ],\n\n mobile: [\n { type: 'required', message: 'Phone number is required.' },\n {\n type: 'minlength',\n message: 'Phone number must be at least 11 characters long.',\n },\n {\n type: 'notUnique',\n message: 'Phone number already exists.',\n },\n {\n type: 'equalToOther',\n message: \"Alternate phone number can't be the same as phone number\",\n },\n {\n type: 'invalid',\n message: 'Phone number is invalid',\n },\n {\n type: 'countryCode',\n message: 'Country code is invalid',\n },\n ],\n name: [\n { type: 'required', message: ' is required.' },\n {\n type: 'pattern',\n message: \" can only contain letters, numbers and '-'.\",\n },\n {\n type: 'minlength',\n message: ' must be at least 2 characters long.',\n },\n ],\n numbers: [\n {\n type: 'pattern',\n message: 'This field must be a number.',\n },\n { type: 'required', message: 'A value is required.' },\n ],\n\n occupation: [\n { type: 'required', message: 'Occupation is required.' },\n {\n type: 'minlength',\n message: 'Occupation must be at least 2 characters long.',\n },\n ],\n\n othername: [\n { type: 'required', message: 'Other Name is required.' },\n {\n type: 'minlength',\n message: 'Name must be at least 2 characters long.',\n },\n ],\n password: [\n { type: 'required', message: 'Password is required.' },\n {\n type: 'minlength',\n message: 'Password must be at least 6 characters long.',\n },\n {\n type: 'maxlength',\n message: 'Password must be at most 6 characters long.',\n },\n { type: 'passwordNotMatch', message: 'Passwords are not the same' },\n ],\n pattern: [\n { type: 'required', message: 'Field is required.' },\n\n { type: 'pattern', message: 'Field is invalid.' },\n ],\n required: [\n {\n type: 'required',\n message: ' is required.',\n },\n {\n type: 'minlength',\n message: ' must be at least 2 characters long.',\n },\n ],\n sex: [\n {\n type: 'required',\n message: 'Sex is required.',\n },\n ],\n subjectName: [\n { type: 'required', message: 'Subject name is required.' },\n {\n type: 'minlength',\n message: 'Subject name must be at least 2 characters long.',\n },\n ],\n unique: [\n {\n type: 'notUnique',\n message: ' already exists.',\n },\n ],\n username: [\n {\n type: 'required',\n message: 'is required.',\n },\n {\n type: 'pattern',\n message: \"Only letters,numbers and '_' are allowed.\",\n },\n ],\n url: [\n {\n type: 'required',\n message: 'URL is required.',\n },\n {\n type: 'pattern',\n message: 'It does not match a URL',\n },\n ],\n};\n","import { ETSMenuItem, ETSPageButton } from \"../models/IMenuItem\";\n\n\nexport class PermissionManager {\n static findClosetParentByURL(\n url: string,\n menuIndex: ETSMenuItem[],\n menu?: ETSMenuItem\n ): ETSMenuItem {\n const res = menuIndex\n ?.filter((x) => url.startsWith(x.link))\n .sort((a, b) => (b.link?.length || 0) - (a.link?.length || 0));\n const temp = res ? res[0] : null;\n if (!temp) return menu;\n return this.findClosetParentByURL(url, temp.buttons, temp);\n }\n static findByID(\n id: string,\n menu: ETSMenuItem | ETSPageButton\n ): ETSMenuItem | ETSPageButton {\n let resp: ETSMenuItem | ETSPageButton = null;\n const recurser = (menu: ETSMenuItem | ETSPageButton) => {\n if (!menu) return null;\n if (menu.id == id) {\n return menu;\n } else\n for (const item of menu.buttons||[]) {\n resp = recurser(item);\n if (resp) return resp;\n }\n };\n recurser(menu);\n return resp;\n }\n static pagePermission: ETSMenuItem;\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'happy-icon',\n template: `\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n xmlns:xodm=\"http://www.corel.com/coreldraw/odm/2003\"\n xml:space=\"preserve\"\n version=\"1.1\"\n style=\"shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd\"\n viewBox=\"0 0 260.59 250.44\"\n >\n <defs>\n <style type=\"text/css\">\n .fil2 {\n fill: #606062;\n }\n .fil0 {\n fill: #e3cfae;\n }\n .fil1 {\n fill: url(#id0);\n }\n </style>\n <radialGradient\n id=\"id0\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(0.999999 -0 -0 0.961039 0 5)\"\n cx=\"127.14\"\n cy=\"121.77\"\n r=\"342.43\"\n fx=\"127.14\"\n fy=\"121.77\"\n >\n <stop offset=\"0\" style=\"stop-opacity:1; stop-color:#FFD898\" />\n <stop offset=\"1\" style=\"stop-opacity:1;stop-color: yellow;\" />\n </radialGradient>\n </defs>\n <g id=\"Layer_x0020_1\">\n <metadata id=\"CorelCorpID_0Corel-Layer\" />\n <ellipse class=\"fil0\" cx=\"130.3\" cy=\"125.22\" rx=\"130.3\" ry=\"125.22\" />\n <ellipse class=\"fil1\" cx=\"127.14\" cy=\"121.77\" rx=\"122.78\" ry=\"117.99\" />\n <ellipse class=\"fil2\" cx=\"165.33\" cy=\"85.83\" rx=\"13.64\" ry=\"16.38\" />\n <ellipse class=\"fil2\" cx=\"89.28\" cy=\"85.77\" rx=\"13.64\" ry=\"16.38\" />\n <path\n class=\"fil2\"\n d=\"M126.87 172.85l0 -0.01c-45.27,0.38 -66.96,-56.68 -57.22,-50.29 0.37,2.55 7.41,11.89 9.07,13.87 12.97,15.49 30.14,25.92 48.3,26.04 18.15,-0.12 35.32,-10.55 48.29,-26.04 1.67,-1.98 8.71,-11.32 9.07,-13.87 9.74,-6.39 -11.94,50.67 -57.22,50.29l0 0.01 -0.14 -0.01 -0.15 0.01z\"\n />\n </g>\n </svg>\n `,\n styles: [],\n})\nexport class InfoDialogHappyIconComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'info-icon',\n template: `\n <div class=\"icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n xmlns:xodm=\"http://www.corel.com/coreldraw/odm/2003\"\n xml:space=\"preserve\"\n version=\"1.1\"\n style=\"shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd\"\n viewBox=\"0 0 54769.23 54769.23\"\n >\n <defs>\n <style type=\"text/css\">\n .fil2 {\n fill: #606062;\n }\n .fil0 {\n fill: #e3cfae;\n }\n .fil1 {\n fill: url(#id0);\n }\n </style>\n <radialGradient\n id=\"id0\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(0.999999 -0 -0 0.961039 0 1034)\"\n cx=\"26719.26\"\n cy=\"26549.92\"\n r=\"72212.84\"\n fx=\"26719.26\"\n fy=\"26549.92\"\n >\n <stop offset=\"0\" style=\"stop-opacity:1; stop-color:#FFD898\" />\n <stop offset=\"1\" style=\"stop-opacity:1; stop-color:#FAC269\" />\n </radialGradient>\n </defs>\n <g id=\"Layer_x0020_1\">\n <metadata id=\"CorelCorpID_0Corel-Layer\" />\n <circle class=\"fil0\" cx=\"27384.58\" cy=\"27384.62\" r=\"27384.61\" />\n <ellipse\n class=\"fil1\"\n cx=\"26719.24\"\n cy=\"26549.92\"\n rx=\"25891.59\"\n ry=\"25459.61\"\n />\n <ellipse\n class=\"fil2\"\n cx=\"26719.32\"\n cy=\"14646.6\"\n rx=\"3383.87\"\n ry=\"3383.88\"\n />\n <path\n class=\"fil2\"\n d=\"M23268.11 25667.86l0 12070.96c0,5464.37 6902.3,5464.37 6902.3,0l0 -12070.96c0,-5279.34 -6902.3,-5279.34 -6902.3,0z\"\n />\n </g>\n </svg>\n </div>\n `,\n styles: [\n `\n .icon svg {\n height: 100px;\n }\n `,\n ],\n})\nexport class InfoDialogInfoIconComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'sad-icon',\n template: `\n <div class=\"icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n xmlns:xodm=\"http://www.corel.com/coreldraw/odm/2003\"\n xml:space=\"preserve\"\n version=\"1.1\"\n style=\"shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd\"\n viewBox=\"0 0 921.42 885.52\"\n >\n <defs>\n <style type=\"text/css\">\n .fil2 {\n fill: #606062;\n }\n .fil0 {\n fill: #e3cfae;\n }\n .fil1 {\n fill: url(#id0);\n }\n </style>\n <radialGradient\n id=\"id0\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(0.999999 -0 -0 0.961039 0 17)\"\n cx=\"449.56\"\n cy=\"430.57\"\n r=\"1210.8\"\n fx=\"449.56\"\n fy=\"430.57\"\n >\n <stop offset=\"0\" style=\"stop-opacity:1; stop-color:#FFD898\" />\n <stop offset=\"1\" style=\"stop-opacity:1; stop-color:#FAC269\" />\n </radialGradient>\n </defs>\n <g id=\"Layer_x0020_1\">\n <metadata id=\"CorelCorpID_0Corel-Layer\" />\n <ellipse\n class=\"fil0\"\n cx=\"460.71\"\n cy=\"442.76\"\n rx=\"460.71\"\n ry=\"442.76\"\n />\n <ellipse\n class=\"fil1\"\n cx=\"449.55\"\n cy=\"430.57\"\n rx=\"434.13\"\n ry=\"417.21\"\n />\n <ellipse class=\"fil2\" cx=\"584.6\" cy=\"303.49\" rx=\"48.23\" ry=\"57.92\" />\n <ellipse class=\"fil2\" cx=\"315.7\" cy=\"303.27\" rx=\"48.23\" ry=\"57.92\" />\n <path\n class=\"fil2\"\n d=\"M448.6 431.54l0 0.01c-160.09,-1.33 -236.76,200.44 -202.33,177.84 1.3,-9.03 26.19,-42.05 32.07,-49.07 45.86,-54.74 106.59,-91.63 170.77,-92.07 64.19,0.44 124.91,37.33 170.78,92.07 5.88,7.02 30.77,40.04 32.06,49.07 34.44,22.6 -42.23,-179.17 -202.33,-177.84l0 -0.01 -0.51 0.01 -0.51 -0.01z\"\n />\n </g>\n </svg>\n </div>\n `,\n styles: [\n `\n .icon svg {\n height: 100px;\n }\n `,\n ],\n})\nexport class InfoDialogSadIconComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { AbstractControl, FormsModule } from '@angular/forms'; \nimport { InputService } from './input.service';\nimport { ICodeTitle } from '../../models/index.model'; \nimport { IOption, OptionLabelType } from '../../models/form-schema.model';\n\n@Pipe({\n name: 'filterOptions',\n})\nexport class FilterOptions implements PipeTransform {\n transform(arr: any[] = [], query: string, field: string = 'label') {\n query = query?.toLowerCase()?.trim();\n arr = arr ? arr : [];\n return [\n ...arr.filter((x) => x[field].toLowerCase().startsWith(query)),\n ...(arr\n .filter((x) => !x[field].toLowerCase().startsWith(query))\n ?.filter((x) => x[field].toLowerCase().includes(query)) || []),\n ];\n }\n}\n\n@Pipe({ name: 'optioner' })\nexport class OptionerPipe implements PipeTransform {\n transform(\n options: any[],\n labelField,\n idField?,\n basic?: boolean\n ): { value: any; label: string }[] {\n if (options) {\n if (labelField && idField) {\n return basic\n ? options.map((x) => ({\n label: this.arrToStr(labelField, x),\n value: x[idField],\n }))\n : options.map((x) => ({\n label: this.arrToStr(labelField, x),\n value: x,\n }));\n } else {\n return options.map((x) => ({\n label: x,\n value: x,\n }));\n }\n } else {\n return [];\n }\n }\n arrToStr(labelField: string, x) {\n const fs = labelField.split('|');\n if (fs.length > 1) {\n let l = '';\n fs.forEach((field) => {\n l += x[field] + ' ';\n });\n return l;\n } else {\n return x[labelField];\n }\n }\n}\n\n@Pipe({\n name: 'validationMsg',\n})\nexport class ValidationMsg implements PipeTransform {\n transform(message: string, prefix?: string, suffix?: string): string {\n return (\n (prefix ? prefix + ' ' : '') + message + (suffix ? ' ' + suffix : '')\n );\n }\n}\n\n@Pipe({\n name: 'validator',\n})\nexport class Validator implements PipeTransform {\n transform(validation, control: AbstractControl, update?) {\n return (\n control &&\n control?.hasError(validation?.type) &&\n (control?.touched || control?.dirty)\n );\n }\n}\n@Pipe({\n name: 'optionLabeller',\n})\nexport class OptionLabeller implements PipeTransform {\n transform(\n option: any,\n formatter?,\n optionType?: OptionLabelType,\n labelField?: string\n ): string {\n if (formatter) return formatter(option);\n if (optionType) return this.iS.optionLabellerFunctions[optionType](option).label;\n if (labelField) return option[labelField];\n return option;\n }\n constructor(public iS: InputService) {}\n}\n@Pipe({\n name: 'optionsFormatter',\n})\nexport class OptionsFormatter implements PipeTransform {\n transform(\n options: any[],\n valueField?: string,\n formatter?,\n optionType?: OptionLabelType,\n labelField?: string\n ): IOption[] {\n return this.iS.optionsFormatter(\n options,\n valueField,\n formatter,\n optionType,\n labelField\n );\n }\n constructor(public iS: InputService) {}\n}\n\n@Pipe({ name: 'inputClass' })\nexport class InputClassPipe implements PipeTransform {\n transform(\n inpCl: string,\n valid?: boolean,\n invalid?: boolean,\n showValidation?: boolean\n ) {\n let cls = inpCl + ' form-control';\n if (showValidation) {\n cls += valid ? ' bordercheck' : invalid ? ' borderuncheck' : '';\n }\n return cls;\n }\n}\n\nconst comps = [\n FilterOptions,\n Validator,\n ValidationMsg,\n OptionerPipe,\n OptionLabeller,\n OptionsFormatter,\n InputClassPipe,\n];\nconst modules = [FormsModule];\n@NgModule({\n declarations: comps,\n imports: [CommonModule, ...modules],\n exports: [...comps, ...modules],\n})\nexport class InputPipesModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ETSenvironment } from '../../../environments/environment';\nimport { LabelCustomisationService } from '../../label-customization/label-customization.service';\nimport { PageLoaderService } from '../../Services/page-loader.service';\n\n\n@Pipe({ name: 'appTranslate' })\nexport class TranslatePipe implements PipeTransform {\n transform(text: string | number, translate = true) {\n return new Observable<string>((res) => {\n // res.next(text as any);\n const replacedText = this.labelS.replaceLabel(text?.toString());\n if (replacedText) {\n text = replacedText;\n }\n if (!translate ||\n !(ETSenvironment.translate && ETSenvironment.targetLanguage)) {\n res.next(replacedText || text?.toString());\n res.complete();\n res.unsubscribe();\n } else if (this.translationFunc) {\n this.pageLS.startPl();\n this.translationFunc(text as any).subscribe(\n (r) => {\n res.next(r);\n res.complete();\n res.unsubscribe();\n this.pageLS.stopPl();\n },\n (e) => {\n res.complete();\n res.unsubscribe();\n this.pageLS.stopPl();\n }\n );\n }\n });\n }\n\n translationFunc: (val) => Observable<string>;\n constructor(\n private pageLS: PageLoaderService,\n private labelS: LabelCustomisationService\n ) { }\n}\n\nconst comps = [ \n TranslatePipe, \n];\nconst modules = [];\n@NgModule({\n declarations: comps,\n imports: [CommonModule, ...modules],\n exports: [...comps, ...modules],\n providers: [],\n})\nexport class TranslatePipeModule {}\n","import {\n Component,\n Input,\n OnInit,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n SimpleChanges,\n} from '@angular/core';\nimport { ETSenvironment } from '../../../../environments/environment'; \nimport { IOption, OptionLabelType } from '../../models/form-schema.model';\nimport { ETSInputType } from '../../models/index.model'; \nimport { InputService } from '../input/input.service';\n\n@Component({\n selector: 'app-input-ngmodel',\n templateUrl: './input-ngmodel.component.html',\n styleUrls: ['./input-ngmodel.component.scss'],\n})\nexport class InputNGModelComponent implements OnInit {\n __value: string | number;\n rawOptions: any[];\n type: string;\n @Input('mvalue') set _value(v: string | number) {\n this.__value = v;\n }\n @Input() cls?: string;\n @Input() colored: boolean = true;\n @Input() disabled: boolean;\n @Input() hide: boolean;\n @Input() hint: string;\n @Input() id: string = 'id' + Math.round(Math.random() * 10000);\n @Input() inpCl: string = 'control-bg-gray';\n @Input() label: string;\n @Input() lblCl: string = '2';\n @Input() lblPosition: 'left' | 'right';\n @Input() mini: boolean;\n @Input() light: boolean = true;\n @Input() name: string;\n @Input() model: any;\n\n @Output() modelChange = new EventEmitter();\n @Input() optionFormatter: (item: any) => string;\n options: IOption[];\n options$ = new EventEmitter<IOption[]>();\n @Input('options') set _options(v: any[]) {\n this.options = this.iS.optionsFormatter(\n v,\n this.valueField,\n this.optionFormatter,\n this.labelType,\n this.labelField\n );\n this.rawOptions = v;\n\n this.options$.emit(this.options);\n }\n @Input() checked?: boolean;\n @Input() contextData: any;\n @Input() decimalPoints: number;\n @Input() labelField: string;\n @Input() max: number;\n @Input() min: number;\n @Input() placeholder: string;\n @Input() prefix: string;\n @Input() readonly: boolean;\n @Input() required?: boolean;\n @Input() showEmptyOption?: boolean = true;\n @Input() showLabel: boolean = true;\n @Input() showValidation: boolean;\n @Input() showValidationIcon: boolean = true;\n @Input() small: boolean;\n @Input() stacked: boolean;\n @Input() suffix: string;\n @Input() theme: InputTheme = 1;\n @Input('type') set _type(v: ETSInputType) {\n this.type = v;\n if (this.type == 'checkbox' && this.model == null) this.model = false;\n }\n @Input() valueField: string; //use this to choose a field in the option for modeling\n @Input() labelType: OptionLabelType; //use this to pick a preset value label group for the options\n @Input() xsmall: boolean;\n showPassword: boolean;\n @Output() mchange = new EventEmitter();\n value: any;\n @ViewChild('labelEl') labelRef: ElementRef<HTMLLabelElement>;\n constructor(public iS: InputService) {}\n\n ngOnInit(): void {}\n ngOnChanges(changes: SimpleChanges): void {\n if (this.type == 'checkbox' && this.model == null) {\n // debugger;\n this.change({ target: { checked: false } });\n }\n }\n change(e) {\n let val = e;\n console.log('modelchange ', e, val);\n if (this.type == 'checkbox') {\n val = Object.prototype.hasOwnProperty.call(e, 'target')\n ? e.target.checked\n : e;\n } else {\n val = e.target.value;\n }\n if (this.type == 'number') {\n if (this.max && +val > this.max) {\n this.model = this.max;\n } else if (this.min != null && this.min != undefined && +val < this.min) {\n this.model = this.min;\n }\n if (this.decimalPoints != undefined && this.decimalPoints != null)\n this.model = (+val).toFixed(this.decimalPoints);\n }\n this.value = val;\n this.mchange.emit(val);\n console.log('modelchange ', e, val);\n this.modelChange.emit(val);\n if (!ETSenvironment.production) console.log(this.value);\n }\n upload(e) {\n this.mchange.emit(e);\n }\n log() {\n // if (!environment.production)\n console.log(this.value);\n }\n}\ntype InputTheme = 1 | 2;","<div class=\"row align-items-center\">\n <label #labelEl l class=\"col-md-{{stacked?'12 pb-0':mini?'auto':lblCl}} m-0 \" for=\"{{id}}\"\n [ngClass]=\"{'text-primary':colored,'py-2':theme==1,'form-label':theme==2,light:light,small,small1:xsmall,'order-1':lblPosition=='right'}\"\n *ngIf=\"showLabel\">\n {{label|appTranslate|async}}\n </label>\n <div class=\" position-relative\"\n [ngClass]=\"{'order-0':lblPosition=='right','col-12':stacked,'col-md':!stacked,'col-md-auto':lblPosition=='right'}\" [matTooltip]=\"hint\">\n <ng-container [ngSwitch]=\"type\">\n <!-- CHECKBOX -->\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <input type=\"checkbox\" id=\"{{id}}\" [name]=\"name\" [ngModel]=\"model\" [disabled]=\"disabled\" \n class=\"{{inpCl}} d-inline-block form-control width-unset\" placeholder=\"{{placeholder}}\" [required]=\"required\"\n (ngModelChange)=\"change($event)\" [checked]=\"checked\">\n </ng-container>\n <!-- FILE -->\n <ng-container *ngSwitchCase=\"'file'\">\n <input type=\"file\" id=\"{{ id }}\" [class]=\"inpCl|inputClass\" (change)=\"upload($event)\" (change)=\"change($event)\">\n </ng-container>\n <!-- SELECT -->\n <ng-container *ngSwitchCase=\"'select'\">\n <select [name]=\"name\" [(ngModel)]=\"model\" id=\"{{ id }}\" class=\" mr-2\" [class]=\"inpCl|inputClass\"\n [required]=\"required\" [disabled]=\"disabled\" (change)=\"change($event)\">\n <option *ngIf=\"showEmptyOption\"></option>\n <option *ngFor=\"let item of options; trackBy:iS.trackByValue\" [ngValue]=\"item.value\">\n <!-- {{item|optionLabeller:optionFormatter:labelType:labelField}} -->\n {{item.label}}\n </option>\n </select>\n </ng-container>\n <!-- TEXTAREA -->\n <ng-container *ngSwitchCase=\"'textarea'\">\n <textarea [name]=\"name\" [(ngModel)]=\"model\" id=\"{{ id }}\" [class]=\"inpCl|inputClass\" [required]=\"required\"\n [disabled]=\"disabled\" [readonly]=\"readonly\" (change)=\"change($event)\"></textarea>\n </ng-container>\n <!-- Radio -->\n <ng-container *ngSwitchCase=\"'radio'\">\n <input type=\"radio\" [(ngModel)]=\"model\" id=\"{{ id }}\" [readonly]=\"readonly\" (change)=\"change($event)\"\n [disabled]=\"disabled\" />\n </ng-container>\n <!-- Viewer -->\n <ng-container *ngSwitchCase=\"'viewer'\">\n <input type=\"text\" id=\"{{ id }}\" placeholder=\"{{ placeholder }}\" [readonly]=\"true\" [value]=\"model\"\n [disabled]=\"disabled\" />\n </ng-container>\n\n <!-- PASSWORD -->\n <ng-container *ngSwitchCase=\"'password'\">\n <input type=\"{{ showPassword?'text':'password' }}\" [(ngModel)]=\"model\" placeholder=\"{{ placeholder }}\"\n [class]=\"inpCl|inputClass\" id=\"{{ id }}\" [required]=\"required\" [readonly]=\"readonly\" [disabled]=\"disabled\" (change)=\"change($event)\"\n value=\"{{ __value }}\" />\n <div class=\"password-icons pointer\" (click)=\"showPassword=!showPassword\">\n <i class=\"fa fa-eye-slash\" *ngIf=\"showPassword\"></i>\n <i class=\"fa fa-eye\" *ngIf=\"!showPassword\"></i>\n </div>\n </ng-container>\n\n <!-- DEFAULT -->\n <ng-container *ngSwitchDefault>\n <input type=\"{{type}}\" id=\"{{ id }}\" [name]=\"name\" [(ngModel)]=\"model\" placeholder=\"{{placeholder}}\"\n [class]=\"inpCl|inputClass\" [required]=\"required\" [disabled]=\"disabled\" [max]=\"max\" [min]=\"min\"\n [readonly]=\"readonly\" (change)=\"change($event)\">\n </ng-container>\n </ng-container>\n </div>\n</div>\n","import { Injectable } from '@angular/core';\nimport { AbstractControl } from '@angular/forms'; \nimport { IOption } from '../../models/form-schema.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AutocompleteService {\n constructor() {}\n filterOptions(query: string, options: IOption[]): IOption[] {\n const filterValue = this.normalizeValue(query);\n return filterValue\n ? options?.filter((option) =>\n this.normalizeValue(option.label)?.includes(filterValue)\n )\n : options;\n }\n\n normalizeValue(value: string): string {\n return value?.toString()?.toLowerCase().replace(/\\s/g, '');\n }\n}\n","import { TitleCasePipe } from '@angular/common';\nimport { Component, Input, OnInit } from '@angular/core'; \nimport {\n EValidationType,\n IValidationMessage,\n} from '../../../../Shared/models/index.model';\n\n@Component({\n selector: 'app-validation-message-ngmodel',\n templateUrl: './validation-message-ngmodel.component.html',\n styleUrls: ['./validation-message-ngmodel.component.scss'],\n})\nexport class ValidationMessageNgmodelComponent implements OnInit {\n @Input() isError: boolean;\n @Input() validationKey: EValidationType;\n validation: { type: EValidationType; message: string };\n @Input() label: string;\n @Input() customMessage = 'Value is invalid';\n @Input() name;\n\n validations;\n constructor(\n private titleCasePipe: TitleCasePipe\n ) {}\n\n ngOnInit(): void {\n this.initializeValidationMessages()\n this.setValidation()\n }\n\n initializeValidationMessages(){\n this.validations = [\n {\n type: EValidationType.required,\n message: `${this.titleCasePipe.transform(this.name)} is required.`,\n },\n {\n type: EValidationType.minlength,\n message: `${this.titleCasePipe.transform(this.name)} must be at least 2 characters long.`,\n },\n {\n type: EValidationType.unique,\n message: `${this.titleCasePipe.transform(this.name)} already exists.`,\n },\n ]\n }\n\n setValidation(){\n this.validation = this.validations.find((x) => x.type == this.validationKey)\n }\n}\n","<div class=\"text-danger\">\n <span *ngIf=\"isError\">{{validation?.message|appTranslate|async}}</span>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { ETSUtilityService } from '../../Services/utility.service';\nimport { EPageType } from '../models/index.model'; \nimport { TranslatePipeModule } from './translate.pipe';\n\n@Pipe({\n name: 'arraySplitter',\n})\nexport class ArraySplitter implements PipeTransform {\n transform<T>(\n arr: T[],\n arrLength: number,\n startIndex: number,\n endIndex?: number\n ) {\n return arr\n ? arr.slice(startIndex, endIndex ? endIndex + 1 : undefined)\n : [];\n }\n}\n\n@Pipe({\n name: 'gender',\n})\nexport class GenderPipe implements PipeTransform {\n transform(value: string) {\n return value == 'M' ? 'Male' : value == 'F' ? 'Female' : value;\n }\n}\n@Pipe({\n name: 'round',\n})\nexport class RoundPipe implements PipeTransform {\n /**\n * Use the Math.round function\n */\n transform(value: number) {\n return Math.round(value);\n }\n}\n@Pipe({\n name: 'secondsToTime',\n})\nexport class SecondsToTimePipe implements PipeTransform {\n transform(value: number) {\n const timeLeft = this.uS.secondsToHourMinSec(value);\n return `${timeLeft.hours ? timeLeft.hours + 'hrs' : ''}\n ${timeLeft.mins ? timeLeft.mins + 'min' : ''} ${\n timeLeft.secs ? timeLeft.secs + 's' : ''\n }`;\n }\n constructor(public uS: ETSUtilityService) {}\n}\n\n@Pipe({\n name: 'getValueLabel',\n})\nexport class GetValueLabel implements PipeTransform {\n /**\n * Converts a string into a Select option\n * @param value The value to search for in the options list\n * @param options The list of items to search in\n * @param labelField The field that holds the description field\n * @param valueField The field that holds the value field\n * @returns A concatenation of the value and description (value - description)\n */\n transform(\n value: string,\n options: any[],\n labelField = 'description',\n valueField = 'code'\n ): string {\n if (!value) return '';\n if (!options) return value;\n const item = options.find((x) => x[valueField] == value);\n if (!item) return value;\n return value + ' - ' + item[labelField] || item['title'];\n }\n}\n\n@Pipe({\n name: 'valueFormatter',\n})\nexport class ValueFormatterPipe implements PipeTransform {\n async transform(val, formatter: any) {\n return formatter ? formatter(val) : val;\n }\n}\n@Pipe({\n name: 'functionCaller',\n})\nexport class FunctionCaller implements PipeTransform {\n /**\n * Calls a function in the template\n * @param func Function to be called\n * @param args\n * @returns\n */\n transform<T, P>(func: (...args: P[]) => T, ...args: P[]) {\n return func ? func(...args) : null;\n }\n}\n@Pipe({\n name: 'functionCaller1',\n})\nexport class FunctionCaller1 extends FunctionCaller {\n transform<T, P1>(func: (param: P1) => T, param: P1) {\n return super.transform(func, param);\n // return param ? func(param) : null;\n }\n}\n@Pipe({\n name: 'functionCaller2',\n})\nexport class FunctionCaller2 extends FunctionCaller {\n transform<T, P1, P2>(\n func: (param1: P1, param2: P2) => T,\n param1: P1,\n param2: P2\n ) {\n return super.transform(func, param1, param2);\n // console.log('using')\n // if(func) debugger\n return func ? func(param1, param2) : null;\n // return param1 ? (param2 ? func(param1, param2) : null) : null;\n }\n}\n@Pipe({\n name: 'functionCaller3',\n})\nexport class FunctionCaller3 implements PipeTransform {\n transform<T, P1, P2, P3>(\n func: (param1: P1, param2: P2, param3: P3) => T,\n param1: P1,\n param2: P2,\n param3: P3\n ) {\n return func(param1, param2, param3);\n // return param1 ? (param2 ? func(param1, param2) : null) : null;\n }\n}\n@Pipe({\n name: 'httpListCaller',\n})\nexport class HttpListCaller implements PipeTransform {\n // transform<T>(httpObservable: any) {\n transform<T>(httpObservable: () => Observable<T>) {\n // console.log('ran functionCaller', httpObservable);\n return httpObservable();\n }\n}\n\n@Pipe({\n name: 'httpListCaller1',\n})\nexport class HttpListCaller1 implements PipeTransform {\n transform<T>(httpObservable: (param: any) => Observable<T>, param: any) {\n // console.log('ran functionCaller1', httpObservable);\n return httpObservable(param);\n // return param ? httpObservable(param) : null;\n }\n}\n@Pipe({\n name: 'httpListCaller2',\n})\nexport class HttpListCaller2 implements PipeTransform {\n transform<T>(\n httpObservable: (param1: string, param2: string) => Observable<T>,\n param1: string,\n param2: string\n ) {\n // console.log('ran httpListCaller2', httpObservable);\n return httpObservable(param1, param2);\n // return param1 ? (param2 ? httpObservable(param1, param2) : null) : null;\n }\n}\n@Pipe({\n name: 'isShowPage',\n})\nexport class IsShowPage implements PipeTransform {\n transform(type: EPageType) {\n return type == EPageType.showPage ? true : false;\n }\n}\n@Pipe({\n name: 'isClonePage',\n})\nexport class IsClonePage implements PipeTransform {\n transform(type: EPageType) {\n return type == EPageType.clonePage ? true : null;\n }\n}\n\n@Pipe({\n name: 'filterArray',\n})\nexport class FilterArrayPipe implements PipeTransform {\n transform<T>(\n arr: T[],\n value: any,\n key = 'id',\n filterFunction?: (value: T, index?: number, array?: T[]) => boolean\n ) {\n if (!arr) {\n return [];\n }\n if (filterFunction) return arr.filter(filterFunction);\n else return arr.filter((x) => x[key] == value);\n }\n}\n\n@Pipe({\n name: 'filterFormArray',\n})\nexport class FilterFormArrayPipe implements PipeTransform {\n transform(arr: AbstractControl[], value: any, key = 'id') {\n if (!arr || !arr.length) return arr;\n debugger;\n return arr.filter((x) => x.value[key] == value);\n }\n}\n\n@Pipe({\n name: 'sort',\n})\nexport class SortPipe implements PipeTransform {\n transform<T>(arr: T[], direction: 0 | 1 = 0, sortField?: string) {\n // console.log('SORTTER', arr, direction, sortField);\n if (!arr) {\n return null;\n }\n if (direction > -1 && direction < 2) {\n return this.sort(arr, direction, sortField);\n } else {\n return arr;\n }\n }\n sort<T>(arr: T[], direction: 0 | 1, sortField?: string) {\n if (sortField) {\n return arr.sort((x: any, y: any) =>\n direction ? y[sortField] - x[sortField] : x[sortField] - y[sortField]\n );\n } else {\n return arr.sort((x: any, y: any) => (direction ? y - x : x - y));\n }\n }\n}\n@Pipe({\n name: 'toAny',\n})\nexport class ToAnyPipe implements PipeTransform {\n transform(value: any, isArray = false) {\n return isArray ? (value as any[]) : value;\n }\n}\n@Pipe({\n name: 'toAnyArray',\n})\nexport class ToAnyArrayPipe implements PipeTransform {\n transform(value: any) {\n return value as any[];\n }\n}\n\n@Pipe({ name: 'xOrY' })\nexport class XOrYPipe implements PipeTransform {\n transform(x: string, y = '-') {\n return this.uS.xOrY(x, y);\n }\n constructor(private uS: ETSUtilityService) {}\n}\n\n@Pipe({ name: 'replaceAll' })\nexport class ReplaceAllPipe implements PipeTransform {\n transform(text: string, search: string, replacement: string) {\n return text ? text.split(search).join(replacement) : text;\n }\n}\n\n@Pipe({ name: 'valueOrX' })\nexport class ValueOrXPipe implements PipeTransform {\n /**\n *\n * @param value Variable that holds the value to be checked for emptiness\n * @param replacement This is the value that will be set if the subject field is empty\n * @returns Return the value or the replacement value if value is empty\n */\n transform<T>(value: T, replacement: string = '-') {\n return value == null || value == undefined ? replacement : value;\n }\n}\n\nconst comps = [\n ArraySplitter,\n FilterArrayPipe,\n FilterFormArrayPipe,\n FunctionCaller,\n FunctionCaller1,\n FunctionCaller2,\n FunctionCaller3,\n GenderPipe,\n GetValueLabel,\n HttpListCaller,\n HttpListCaller1,\n HttpListCaller2,\n IsClonePage,\n IsShowPage,\n RoundPipe,\n SecondsToTimePipe,\n SortPipe,\n ToAnyArrayPipe,\n ToAnyPipe, \n ReplaceAllPipe,\n ValueFormatterPipe,\n ValueOrXPipe,\n XOrYPipe,\n];\nconst modules = [TranslatePipeModule];\n@NgModule({\n declarations: comps,\n imports: [CommonModule, ...modules],\n exports: [...comps, ...modules],\n providers: [],\n})\nexport class UtilityPipesModule {}\n","import { Component, OnInit, ChangeDetectionStrategy, Input } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { MatAutocompleteSelectedEvent as MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\n \nimport { merge } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\nimport { IOption } from '../../models/form-schema.model';\nimport { AutocompleteService } from '../autocomplete/autocomplete.service';\nimport { InputNGModelComponent } from '../input-NgModel/input-ngmodel.component'; \nimport { InputService } from '../input/input.service';\n\n@Component({\n selector: 'app-autocomplete-ng-model',\n templateUrl: './autocomplete-ng-model.component.html',\n styleUrls: ['./autocomplete-ng-model.component.scss']\n})\nexport class AutocompleteNgModelComponent extends InputNGModelComponent {\n filteredOptions: IOption[];\n @Input() validate = true;\n @Input() panelWidth;\n @Input() showValidationMessage = true\n constructor(public iS: InputService, public autoS: AutocompleteService) {\n super(iS);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n // this.control?.addValidators(this.includesOption.bind(this));\n // this.control?.valueChanges.subscribe((r) => { \n // // debugger\n // super.change({ target: { value: r } });\n // });\n // this.options$.subscribe((r) => {\n // this.control?.patchValue(this.control?.value);\n // // this.control?.updateValueAndValidity()\n // });\n // merge(\n // this.control.valueChanges.pipe(startWith('')),\n // this.options$\n // ).subscribe((r) => {\n // this.filteredOptions = this.autoS.filterOptions(\n // this.control.value,\n // this.options\n // );\n // });\n }\n\n change(e: MatAutocompleteSelectedEvent) {\n super.change({ target: { value: e.option.value } });\n }\n\n displayWith = (val: string) => {\n return this.options.find((x) => x.value == val)?.label;\n };\n\n includesOption = (control: AbstractControl) => {\n const val = control?.value;\n if (!val) return null; \n if (this.options.find((x) => x.value == val)) return null;\n else return { notFound: true };\n };\n\n filterOptions(event){\n const text = event.target?.value || ''\n this.filteredOptions = this.options.filter((item) => (\n item.label.toLowerCase().includes(text.toLowerCase())\n ))\n }\n}\n","<div class=\"row align-items-center\">\n <label class=\"col-md-{{stacked?'12 pb-0 hide-scroll-x':mini?'auto':lblCl}} m-0\" for=\"{{id}}\"\n [ngClass]=\"{'text-primary form-label':colored,'overflow-x-auto':stacked,'py-2':theme==1,'form-label':theme==2,light,small,small1:xsmall}\"\n *ngIf=\"showLabel\" [matTooltip]=\"hint\" (click)=\"log()\">\n {{label|appTranslate|async}}\n </label>\n <div class=\"{{stacked?'col-12':'col-md'}} position-relative\">\n <form >\n <input type=\"text\" [(ngModel)]=\"model\" placeholder=\"{{placeholder}}\" id=\"{{id}}\" [disabled]=\"disabled\"\n [required]=\"required\" [readonly]=\"readonly\" (keyup)=\"filterOptions($event)\" [name]=\"name\" #tag=\"ngModel\"\n value=\"{{__value}}\" [matAutocomplete]=\"auto\" [class]=\"inpCl|inputClass:tag.valid:tag.invalid:showValidation\" (focus)=\"filterOptions($event)\">\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayWith\" (optionSelected)=\"change($event)\" [panelWidth]=\"panelWidth\">\n <mat-option *ngFor=\"let item of filteredOptions ; trackBy:iS.trackByValue\" [value]=\"item.value\">\n {{item.label}} {{item.value}}\n </mat-option>\n </mat-autocomplete> \n <app-validation-message-ngmodel *ngIf=\"showValidationMessage\" [isError]=\"tag.invalid && tag.touched\" [validationKey]=\"'required' | toAny\" [name]=\"name\"></app-validation-message-ngmodel>\n </form>\n </div>\n </div>\n ","import { Injectable } from '@angular/core';\nimport { clone } from 'lodash-es';\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\nimport { ETSenvironment } from '../../environments/environment';\nimport { ELanguage } from '../Shared/models/index.model';\nimport { ApiService } from './api.service';\nimport { LocalCacheService } from './cache/local-cache.service';\nimport { StorageService } from './storage.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TranslationService<TranslationGlossaryResponse = any> {\n private baseURL = ETSenvironment.apiBaseUrl + '/rest/translation/';\n private translationRequestMatrix: { [x: number]: string } = {};\n private translationResponseMatrix: BehaviorSubject<{ [x: number]: string }> =\n new BehaviorSubject({});\n readonly seperator = '~~~';\n name = 'glossary';\n constructor(\n public apiService: ApiService,\n public storageS: StorageService,\n public lCacheS: LocalCacheService\n ) {\n setInterval(async () => {\n const body = clone(this.translationRequestMatrix);\n this.translationRequestMatrix = {};\n if (Object.keys(body)?.length) {\n // debugger;\n ETSenvironment.transGlossary =\n ETSenvironment.transGlossary || (await this.getGlossary().toPromise());\n this.apiService\n .postString(\n this.baseURL +\n (ETSenvironment.transGlossary?.code\n ? `language?glossaryCode=${ETSenvironment.transGlossary?.code}&sourceLang=${ETSenvironment.sourceLanguage}&targetLang=${ETSenvironment.targetLanguage}`\n : `language/${ETSenvironment.targetLanguage}`),\n Object.keys(body)\n .map((id) => this.tagger(+id, body[id]))\n .join(this.seperator)\n )\n .toPromise()\n .then((r) => {\n this.translationResponseMatrix.next(this.detagger(r));\n })\n .catch((e) => {\n console.error(e);\n });\n }\n }, 1000);\n }\n\n tagger(id: number, str: string) {\n return `<div id=\"${id}\">${str}</div>`;\n }\n getGlossary(\n sourceLanguage: ELanguage = ETSenvironment.sourceLanguage,\n targetLanguage: ELanguage = ETSenvironment.targetLanguage\n ) {\n return this.apiService\n\n .get<TranslationGlossaryResponse[]>(`${this.baseURL}glossary/`)\n .pipe(\n map((r: any[]) => {\n debugger;\n const glossary = r?.find(\n (x) =>\n x.sourceLang == sourceLanguage &&\n x.targetLang == targetLanguage &&\n x.name == this.name\n );\n return glossary ? glossary : null;\n }),\n map((glossary) => {\n if (!glossary) return null;\n ETSenvironment.transGlossary = glossary;\n this.storageS.saveItem(\n ETSenvironment.transGlossaryKey,\n ETSenvironment.transGlossary\n );\n return glossary;\n })\n );\n }\n detagger(str: string) {\n const items = str?.split(this.seperator);\n const resobj = {};\n for (const str of items) {\n resobj[str?.split('\"')[1]] = str?.split('>')[1]?.split('</div')[0];\n }\n return resobj;\n }\n\n trnaslateOld(text: string) {\n const id = 3232323;\n const body = { [id]: text };\n return this.apiService\n .postString(\n this.baseURL + `language/${ETSenvironment.targetLanguage}`,\n Object.keys(body)\n .map((id) => this.tagger(+id, body[id]))\n .join(this.seperator)\n )\n .pipe(\n map((r) => {\n return this.detagger(r)[id] as string;\n })\n );\n }\n translateHTML = (\n HTMLString: string,\n sourceLanguage = ETSenvironment.sourceLanguage,\n targetLanguage = ETSenvironment.targetLanguage,\n debug = false\n ) => {\n return new Observable<string>((res) => {\n if (debug) debugger;\n\n const text = HTMLString?.trim(),\n route = this.baseURL + `language`;\n\n if (!text) {\n res.next(HTMLString);\n res.complete();\n } else if (this.lCacheS.has(route + '_' + text)) {\n res.next(this.lCacheS.getItem<string>(route + '_' + text));\n res.complete();\n } else {\n const id = Math.round(Math.random() * 1000000000000000);\n this.translationRequestMatrix[id] = text;\n const sub: Subscription = this.translationResponseMatrix.subscribe(\n (r) => {\n if (debug) debugger;\n const transVal = r[id.toString()];\n if (transVal) {\n res.next(transVal);\n this.lCacheS.setItem(route + '_' + text, transVal);\n res.complete();\n sub.unsubscribe();\n }\n },\n (e) => {\n res.error(e);\n }\n );\n }\n });\n };\n plainTranslate = (\n text: string,\n sourceLanguage = ETSenvironment.sourceLanguage,\n targetLanguage = ETSenvironment.targetLanguage\n ) => {\n return new Promise<string>(async (resolve) => {\n text = text?.trim();\n const route = this.baseURL + `language`;\n\n if (!text) resolve(null);\n else if (this.lCacheS.has(route + '_' + text))\n resolve(this.lCacheS.getItem<string>(route + '_' + text));\n else\n resolve(\n await this.apiService\n .postString(route, text)\n .pipe(tap((r) => this.lCacheS.setItem(route + '_' + text, r)))\n .toPromise()\n );\n });\n };\n translateHTMLPromise = (\n text: string,\n sourceLanguage = ETSenvironment.sourceLanguage,\n targetLanguage = ETSenvironment.targetLanguage,\n debug = false\n ) =>\n this.translateHTML(\n text,\n sourceLanguage,\n targetLanguage,\n debug\n )?.toPromise();\n}\n","import { Injectable } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { ETSenvironment } from '../../environments/environment';\nimport {\n ESystem,\n ESystemBusLine,\n ISystem,\n IValueLabel,\n} from '../Shared/models/index.model';\nimport { ETSMenuItem } from '../Shared/models/IMenuItem';\nimport { TranslationService } from './translation.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AppService<\n TESystem = ESystem,\n TESystemBusLine = ESystemBusLine,\n TMenuItem = ETSMenuItem\n> {\n topMenu: TMenuItem[] = ETSenvironment.menus as any;\n bottomMenu: TMenuItem[] = [];\n private _currentTopMenu: TMenuItem;\n private _system: TESystem;\n private _pageName: string;\n public get system(): TESystem {\n return this._system;\n }\n public set system(value: TESystem) {\n this._system = value;\n ETSenvironment.currentSystem = value as any;\n document.getElementsByTagName('body')[0].className =\n value?.toString() || (value as any);\n this.bottomMenu = (<ETSMenuItem>(\n this.topMenu.find((x: any) => x.system == value)\n ))?.subs as any;\n // debugger\n document.documentElement.style.setProperty(\n '--primary',\n this.getCurrentSystemMetadata.colourCode\n );\n }\n public get currentTopMenu(): TMenuItem {\n return this._currentTopMenu;\n }\n public set currentTopMenu(value: TMenuItem) {\n this._currentTopMenu = value;\n this.bottomMenu = (<any>value)?.subs;\n // debugger\n }\n async setCurrentTopMenu(system: TESystem) {\n this.currentTopMenu = this.topMenu.find(\n (x: any) => x.system == system\n ) as any;\n }\n systemMetadataMap = new Map<TESystem, ISystem>([]);\n get getFirstAvailableSystem() {\n return this.systemMetadataMap.get(\n ETSenvironment.activeSystems?.length\n ? ETSenvironment.activeSystems[0]\n : this.systemMetadataMap.keys[0]\n );\n }\n get getCurrentSystemMetadata() {\n return this.systemMetadataMap.get(this.system);\n }\n\n constructor(public titleS: Title, public translator: TranslationService) {}\n\n setDefaultClass() {\n document.getElementsByTagName('body')[0].className =\n this.getFirstAvailableSystem.name?.toString();\n }\n get busLine() {\n return this.getCurrentSystemMetadata?.busline;\n }\n get activeSystems() {\n return ETSenvironment.activeSystems?.length\n ? this.topMenu.filter((x: any) =>\n ETSenvironment.activeSystems.includes(x.system)\n )\n : this.topMenu;\n }\n get hasBusLine() {\n return !!this.getCurrentSystemMetadata?.busline;\n }\n\n //#region pagename\n get pageName() {\n return this._pageName;\n }\n set pageName(value: string) {\n this._pageName = value;\n this.addTitle(this._pageName);\n }\n addTitle = (title, translate = ETSenvironment.translate) => {\n ETSenvironment.pageTitle = title;\n if (!translate)\n this.titleS.setTitle(\n (title ? title + ' | ' : '') +\n ETSenvironment.appName +\n ' | ' +\n ETSenvironment.name\n );\n else\n this.translator\n .translateHTML(\n (title ? title + ' | ' : '') +\n ETSenvironment.appName +\n ' | ' +\n ETSenvironment.name\n )\n .subscribe(\n (r) => {\n this.titleS.setTitle(r);\n },\n (e) => {\n this.addTitle(title, false);\n }\n );\n };\n //#endregion\n setMetaTheme() {\n const metaTag: HTMLMetaElement = document.getElementById(\n 'metaThemeColour'\n ) as any;\n metaTag.content = this.getCurrentSystemMetadata.colourCode;\n }\n filterNavMenuFunc = (value: TMenuItem) => !(<any>value).locations?.size;\n busLines: IValueLabel<TESystemBusLine>[] = [];\n}\n","import { Injectable } from '@angular/core';\nimport { faPaperPlane } from '@fortawesome/free-regular-svg-icons';\nimport {\n faArrowLeft,\n faArrowRight,\n faCheck,\n faClone,\n faCogs,\n faDownload,\n faEdit,\n faEye,\n faFile,\n faFileExport,\n faFileImport,\n faHistory,\n faListAlt,\n faLock,\n faMoneyCheck,\n faPen,\n faPenFancy,\n faPlus,\n faRecycle,\n faSave,\n faSearch,\n faSlidersH,\n faTrash,\n faUnlock,\n faFilter,\n faUpload,\n faUserShield,\n faHome,\n faUsers,\n faBellSlash,\n faInfoCircle,\n faTruck,\n faTag,\n faReceipt,\n faBank,\n faArrowsH\n} from '@fortawesome/free-solid-svg-icons';\nimport { ETSIconType } from '../../models/index.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BtnService {\n constructor() {}\n getIcon = (iconType: ETSIconType) => {\n let icon,\n iconString,\n iconPosition = 'left';\n switch (iconType) {\n case 'add':\n icon = faPlus;\n break;\n case 'adjust':\n icon = faSlidersH;\n break;\n case 'calendar':\n iconString = 'fas fa-calendar-alt';\n break;\n case 'cash':\n icon = faMoneyCheck;\n break;\n case 'checked':\n icon = faCheck;\n break;\n case 'checklist':\n icon = faListAlt;\n break;\n case 'clone':\n icon = faClone;\n break;\n case 'close':\n iconString = 'fa fa-close';\n break;\n case 'cogs':\n icon = faCogs;\n break;\n case 'delete':\n icon = faTrash;\n break;\n case 'download':\n icon = faDownload;\n break;\n case 'edit':\n icon = faEdit;\n break;\n case 'export':\n icon = faFileExport;\n break;\n case 'file':\n icon = faFile;\n break;\n case 'filter':\n icon = faFilter;\n break;\n case 'generate':\n icon = faPenFancy;\n break;\n case 'guard' || 'access':\n icon = faUserShield;\n break;\n case 'history':\n icon = faHistory;\n break;\n case 'home':\n icon = faHome;\n break;\n case 'import':\n icon = faFileImport;\n break;\n case 'info':\n icon = faInfoCircle;\n break;\n case 'link':\n iconString = 'fas fa-chain';\n break;\n case 'lock':\n icon = faLock;\n break;\n case 'next':\n icon = faArrowRight;\n iconPosition = 'right';\n break;\n case 'pen':\n icon = faPen;\n break;\n case 'post':\n icon = faPaperPlane;\n break;\n case 'previous':\n icon = faArrowLeft;\n break;\n case 'renew':\n icon = faRecycle;\n break;\n case 'save':\n icon = faSave;\n break;\n case 'search':\n icon = faSearch;\n break;\n case 'show' || 'view':\n icon = faEye;\n break;\n case 'snooze':\n icon = faBellSlash;\n break;\n case 'upload':\n icon = faUpload;\n break;\n case 'unlock':\n icon = faUnlock;\n break;\n case 'users':\n icon = faUsers;\n break;\n case 'recycle':\n icon = faRecycle;\n break;\n case 'truck':\n icon = faTruck;\n break; \n case 'tag':\n icon = faTag;\n break; \n case 'receipt':\n icon = faReceipt;\n break; \n case 'bank':\n icon = faBank;\n break;\n case 'arrowh':\n icon = faArrowsH;\n break; \n default:\n icon = null;\n break;\n }\n return { icon, iconPosition, iconString };\n };\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { UntypedFormArray, FormControl, FormGroup } from '@angular/forms';\nimport { faLock } from '@fortawesome/free-solid-svg-icons'; \nimport { AppService } from '../../../Services/app.service';\nimport { IETSFormSchema } from '../../models/form-schema.model';\nimport { ETSIconType, ETSBtnType, ETSBtnGroup } from '../../models/index.model';\nimport { BtnService } from './btn.service';\n\n@Component({\n selector: 'app-btn',\n templateUrl: './btn.component.html',\n styleUrls: ['./btn.component.scss'],\n // changeDetection: ChangeDetectionStrategy.OnPush,\n}) // Inherited\nexport class BtnComponent implements OnInit {\n /** To be passed when to check for specific invalid form fields */\n @Input() formSchema: IETSFormSchema[];\n formIsInvalid: boolean;\n @Input('icon') set _icon(v: ETSIconType) {\n const res = this.btnS.getIcon(v);\n this.iconPosition = res.iconPosition;\n this.icon = res.icon;\n this.customIcon = res.iconString;\n }\n @Input('type') set _type(v: ETSBtnType) {\n switch (v) {\n case 'primary':\n this._mclass = 'btn btn-primary btn-lg w-100';\n break;\n case 'secondary':\n this._mclass = 'btn btn-outline-primary btn-clone btn-lg w-100';\n break;\n case 'outline':\n this._mclass = 'btn btn-outline-primary btn-lg w-100';\n break;\n case 'clear':\n this._mclass = 'btn w-100';\n break;\n case 'dark-outline':\n this._mclass = 'btn btn-outline-dark btn-lg w-100';\n break;\n case 'outline-nm':\n this._mclass = 'btn btn-outline-primary w-100';\n break;\n case 'dark':\n this._mclass = 'btn btn-dark btn-lg w-100';\n break;\n case 'danger':\n this._mclass = 'btn btn-danger btn-lg w-100';\n break;\n case 'danger-outline':\n this._mclass = 'btn btn-outline-danger btn-lg w-100';\n break;\n case 'close':\n this._mclass = 'btn btn-lg text-danger';\n this._icon = 'close';\n break;\n case 'success':\n this._mclass = 'btn btn-lg btn-success w-100';\n break;\n default:\n this._type = 'primary';\n break;\n }\n }\n @Input('group') set _group(v: ETSBtnGroup) {\n switch (v) {\n case 'add':\n this._type = 'outline';\n this._icon = 'add';\n this.iconBtn = true;\n break;\n case 'clone':\n this._type = 'secondary';\n this._icon = 'clone';\n this.text = 'Clone';\n break;\n case 'create':\n this._type = 'outline';\n this._icon = 'add';\n this.text = 'Create';\n break;\n case 'close':\n this._type = 'danger-outline';\n this.customIcon = this.btnS.getIcon('close').iconString;\n this.iconBtn = true;\n break;\n case 'delete':\n this._type = 'danger-outline';\n this._icon = 'delete';\n this.iconBtn = true;\n break;\n case 'download':\n this._type = 'secondary';\n this._icon = 'download';\n this.iconBtn = true;\n break;\n case 'edit':\n this._type = 'secondary';\n this._icon = 'edit';\n this.iconBtn = true;\n break;\n case 'link':\n this._type = 'secondary';\n this.customIcon = 'fa fa-link';\n this.iconBtn = true;\n break;\n case 'search':\n this._type = 'secondary';\n this._icon = 'search';\n this.iconBtn = true;\n break;\n case 'show':\n this._type = 'secondary';\n this._icon = 'show';\n this.text = 'Show';\n break;\n case 'submit':\n this._type = 'secondary';\n this._icon = 'save';\n this.text = 'Submit';\n break;\n }\n }\n _mclass: string;\n @Input() actionType: 'submit' | 'button' | 'reset' = 'button';\n @Input() animate = false;\n @Input() badge: string | number;\n @Input() class: string;\n @Input() customIcon: string;\n @Input() disabled = false;\n @Input() form: FormGroup | FormControl | UntypedFormArray;\n @Input() help: string;\n @Input() iconBtn = false;\n @Input() lite: boolean;\n @Input() loading: boolean;\n @Input() mclass: string;\n @Input() showHelpIcon = true;\n @Input() text: string;\n @Input() valid = true;\n @Input() onFormInvalid:keyof typeof OnFormInvalid = OnFormInvalid.disable;\n @Output() mclick = new EventEmitter();\n icon: any;\n iconPosition: string = 'left';\n locked = faLock;\n constructor(\n public appS: AppService,\n public btnS: BtnService,\n public cdr: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {\n if (!this._mclass) this._type = 'secondary';\n if (this.form)\n this.form.statusChanges.subscribe((r) => {\n // this.cdr.detectChanges();\n if (this.formSchema && this.onFormInvalid==OnFormInvalid.warn) {\n // debugger;\n this.formIsInvalid = this.formSchema.some(\n (f) => (<FormGroup>this.form).controls[f.field?.toString()]?.invalid\n );\n }\n });\n }\n checkForm() {\n if (this.isDisabled && this.form) {\n this.form.markAllAsTouched();\n // this.cdr.detectChanges();\n console.log(this.form);\n }\n }\n click($event) {\n // debugger\n if (!this.isDisabled) this.mclick.emit($event);\n }\n get isDisabled() {\n return (\n this.disabled ||\n !this.valid ||\n (this.onFormInvalid==OnFormInvalid.disable && (this.form?.invalid || this.form?.pending))\n );\n }\n}\nenum OnFormInvalid {\n disable = 'disable',\n warn = 'warn',\n}\n","<span class=\"{{class}} d-flex align-items-center justify-content-center\" [ngClass]=\"{'disabled': isDisabled}\"\n (click)=\"checkForm()\">\n <i *ngIf=\"showHelpIcon && help\" class=\"fa fa-info-circle me-2 text-primary\"\n [matTooltip]=\"help|appTranslate|async\"></i>\n <button type=\"{{actionType}}\" class=\"{{mclass}} {{_mclass}} \" [matBadge]=\"badge\"\n [ngClass]=\"{'changecolor': valid,'btn-raised':animate, 'disabled': isDisabled, 'd-flex justify-content-center':\n !text,invalid:formIsInvalid}\"\n [disabled]=\"isDisabled\" (click)=\"click($event)\" [matTooltip]=\"showHelpIcon?null:(help|appTranslate|async)\">\n <span [ngClass]=\"{'pe-1 ms-1':!iconBtn}\" *ngIf=\"iconPosition=='left'\">\n <fa-icon *ngIf=\"icon\" [icon]=\"isDisabled?locked:icon\"></fa-icon>\n <i *ngIf=\"customIcon\" class=\"{{customIcon}}\"></i>\n </span>\n <ng-container *ngIf=\"text; else elseTemplate\">\n {{text|appTranslate|async}}\n </ng-container>\n <ng-template #elseTemplate>\n <span appTranslator>\n <ng-content></ng-content>\n </span>\n </ng-template>\n <span [ngClass]=\"{'ps-1':!iconBtn}\" *ngIf=\"iconPosition=='right'\">\n <fa-icon *ngIf=\"icon\" [icon]=\"isDisabled?locked:icon\"></fa-icon>\n </span>\n <span *ngIf=\"loading\" class=\"fa fa-spinner ms-2 fa-spin\">\n </span>\n </button>\n</span>\n","import {\n Directive,\n ElementRef,\n forwardRef,\n HostListener,\n Input,\n NgModule,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MAT_INPUT_VALUE_ACCESSOR as MAT_INPUT_VALUE_ACCESSOR } from '@angular/material/input';\nimport { Subscription } from 'rxjs';\nimport { CommonModule, DecimalPipe, formatNumber } from '@angular/common';\n\n@Directive({\n selector: 'input',\n providers: [\n {\n provide: MAT_INPUT_VALUE_ACCESSOR,\n useExisting: InputFormatDirective,\n },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputFormatDirective),\n multi: true,\n },\n ],\n})\nexport class InputFormatDirective implements ControlValueAccessor {\n private el: HTMLInputElement;\n oType: ETSInputType;\n get noFormatting() {\n return this.el?.dataset.noformat == 'true' || ETSenvironment.pageNoformat;\n }\n get isDebug() {\n return this.el?.dataset.debug == 'true' ;\n }\n get shouldFormat() {\n return this.acceptedType.includes(this.oType);\n }\n readonly acceptedType: ETSInputType[] = ['text', 'number'];\n\n constructor(\n private elementRef: ElementRef<HTMLInputElement>,\n private formatterService: InputFormattersPipe,\n private decimalPipe: DecimalPipe\n ) {}\n\n ngOnInit() {\n this.el = this.elementRef.nativeElement;\n if (!this.noFormatting) {\n this.oType = (this.el.type + '') as any;\n if (this.oType == 'number') {\n this.el.type = 'text';\n this.el.value = this.decimalPipe.transform(\n this.el.value.replace(/[^\\d.-]/g, ''),\n '1.0-9'\n );\n } else if (this.oType == 'checkbox') {\n this.value = (this.el.checked == true) as any;\n }\n }\n // debugger;\n if (this._value) this.value = this._value;\n }\n\n ngAfterViewInit(): void {\n if (\n this.el.dataset.otype == 'percentage' &&\n !this.noFormatting &&\n this.el.parentElement.classList.contains('position-relative')\n ) {\n // debugger\n const icon = document.createElement('i');\n icon.className = 'input-icon fa fa-percentage';\n this.el.parentNode.insertBefore(icon, this.el);\n } else if (\n this.oType == 'number' &&\n !this.noFormatting &&\n this.el.parentElement.classList.contains('position-relative')\n ) {\n const icon = document.createElement('i');\n icon.className = 'input-icon fa fa-hashtag';\n this.el.parentNode.insertBefore(icon, this.el);\n // this.el.parentElement.classList.add('position-relative');\n }\n }\n private _value: string | number | null;\n\n get value(): string | number | null {\n return this._value;\n }\n\n @Input('value')\n set value(value: string | number | null) {\n this._value = value;\n // debugger;\n if (this.isDebug) debugger;\n if (this.noFormatting) this.setInput(value);\n else if (this.oType == 'number') this.setNumberInput(value);\n else if (this.oType == 'text') {\n this._value = this.formatterService.toTitleCase(value);\n this.setTextInput(value);\n }\n }\n\n @HostListener('input', ['$event.target.value'])\n input(value) {\n // debugger\n if (this.isDebug) debugger;\n if (this.noFormatting) this._value = value;\n else if (this.oType == 'text')\n this._value = this.formatterService.toTitleCase(value);\n else if (this.oType == 'checkbox') this._value = this.el?.checked as any;\n else if (this.oType == 'number')\n if (this.isLastCharacterDecimalSeparator(value)) this._value = value;\n else this._value = this.formatterService.removeCommas(value);\n else this._value = value;\n\n // here to notify Angular Validators\n this._onChange(this._value);\n }\n\n @HostListener('blur')\n _onBlur() {\n if (this.noFormatting)\n this.elementRef.nativeElement.value = this._value || '' as any;\n else if (this.oType == 'number') {\n // debugger;\n this.setNumberInput(this._value);\n } else if (this.oType == 'text')\n this.el.value = this.formatterService.toTitleCase(this._value);\n }\n\n @HostListener('focus')\n onFocus() {\n if (this.noFormatting) return;\n if (this.oType == 'number') this.unFormatNumber();\n }\n\n _onChange(value: any): void {}\n\n /**\n * @param value\n * apply formatting on value assignment\n */\n writeValue(value: any) {\n // debugger\n if (this.isDebug) debugger;\n if (this.noFormatting) this.setInput(value);\n else if (this.oType == 'text') {\n if (this.el.disabled) this.setInput(value);\n else {\n this._value = this.formatterService.toTitleCase(value);\n this.setTextInput(value);\n }\n } else if (this.oType == 'number') {\n // debugger;\n this.setNumberInput(value);\n } else if (this.oType == 'checkbox') this.setCheckboxInput(value as any);\n else this.setInput(value);\n }\n\n registerOnChange(fn: (value: any) => void) {\n this._onChange = fn;\n }\n\n registerOnTouched() {}\n\n isLastCharacterDecimalSeparator(value: string | number) {\n return isNaN(+value?.toString()[value?.toString().length - 1]);\n }\n\n /**\n * Format nummber by adding commas\n * @param value\n * @returns\n */\n private setNumberInput(value: string | number | null) {\n const val = value?.toString().replace(/[^\\d.-]/g, '');\n if (val === null || val == undefined) {\n this.elementRef.nativeElement.value = '';\n return;\n }\n\n if (this.isLastCharacterDecimalSeparator(val)) {\n this.elementRef.nativeElement.value = val;\n return;\n }\n // debugger\n this.elementRef.nativeElement.value = this.decimalPipe.transform(\n val,\n `1.0-9`\n );\n }\n\n /**\n * Format text by making it in the title case\n * @param value\n * @returns\n */\n private setTextInput(value: string | number | null) {\n if (value === null) {\n this.elementRef.nativeElement.value = '';\n return;\n }\n\n this.elementRef.nativeElement.value =\n this.formatterService.toTitleCase(value);\n }\n\n /**\n * Set new value on the HTML Input for the UI update\n * @param value\n * @returns\n */\n private setInput(value: string | number | null) {\n this._value = value;\n if (value === null || value == undefined) {\n this.elementRef.nativeElement.value = '';\n return;\n }\n this.elementRef.nativeElement.value = value as any;\n }\n\n /**\n * Set new value on the HTML Input Checkbox for the UI update\n * @param value\n * @returns\n */\n private setCheckboxInput(value: boolean | null) {\n // debugger;\n this.elementRef.nativeElement.checked = value || false;\n }\n\n /**\n * Removes commas from the numbers\n * @returns\n */\n private unFormatNumber() {\n const value = this.elementRef.nativeElement.value;\n if (this.isLastCharacterDecimalSeparator(value)) {\n return;\n }\n\n this._value = this.formatterService.removeCommas(value);\n if (value) {\n this.elementRef.nativeElement.value = this._value as any;\n } else {\n this.elementRef.nativeElement.value = null;\n }\n }\n\n setDisabledState(val: boolean) {\n this.elementRef.nativeElement.disabled = !!val;\n // debugger\n // this._onBlur()\n }\n}\n\nimport { Pipe, PipeTransform } from '@angular/core'; \nimport { ETSInputType } from '../models/index.model';\nimport { ETSenvironment } from '../../../environments/environment';\n\nconst PADDING = '000000';\n\n@Pipe({ name: 'inputFormatters' })\nexport class InputFormattersPipe implements PipeTransform {\n private DECIMAL_SEPARATOR: string;\n private THOUSANDS_SEPARATOR: string;\n\n constructor() {\n // TODO comes from configuration settings\n this.DECIMAL_SEPARATOR = '.';\n this.THOUSANDS_SEPARATOR = ',';\n }\n\n transform(value: number | string, fractionSize: number = 2): string {\n let [integer, fraction = ''] = (value || '')\n .toString()\n .split(this.DECIMAL_SEPARATOR);\n\n fraction =\n fractionSize > 0\n ? this.DECIMAL_SEPARATOR +\n (fraction + PADDING).substring(0, fractionSize)\n : '';\n\n integer = integer.replace(\n /\\B(?=(\\d{3})+(?!\\d))/g,\n this.THOUSANDS_SEPARATOR\n );\n\n return integer + fraction;\n }\n\n /**\n * Convert input value to number\n * @param value Input value\n * @returns\n */\n removeCommas(value: string) {\n return +value.replace(/[^\\d.-]/g, '');\n }\n\n toTitleCase(str: string | number): string {\n return (\n str\n ?.toString()\n .replace(\n /\\w\\S*/g,\n (txt) => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase()\n ) || ''\n );\n }\n}\n\nconst comps = [InputFormatDirective];\n// const comps = [];\n@NgModule({\n declarations: comps,\n imports: [CommonModule],\n exports: [...comps],\n providers: [DecimalPipe, InputFormattersPipe],\n})\nexport class InputFormatDirectivesModule {}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms'; \n\n@Component({\n selector: 'app-input-label',\n templateUrl: './input-label.component.html',\n styleUrls: ['./input-label.component.scss'],\n})\nexport class InputLabelComponent implements OnInit {\n @Input() colored: boolean = true;\n @Input() form: any;\n @Input() hint: string;\n @Input() id: string = 'id' + Math.round(Math.random() * 10000);\n @Input() invalidCheckbox: boolean;\n @Input() isRequired: boolean;\n @Input() label: string;\n @Input() labelLink: string;\n @Input() lblCl: string = '2';\n @Input() light: boolean = true;\n @Input() mini: boolean;\n @Input() showLabel: boolean = true;\n @Input() small: boolean;\n @Input() stacked: boolean = true;\n @Input() theme = 1;\n @Input() xsmall: boolean;\n constructor() {}\n\n ngOnInit(): void {}\n log() {\n // if (!environment.production) \n console.log(this.form);\n }\n}\n"," <!-- {{showLabel}} -->\n <label class=\" {{ stacked ? '12 pb-0 hide-scroll-x' : mini ? 'auto' : lblCl}} m-0\" for=\"{{ id }}\"\n [ngClass]=\"{'text-primary form-label': colored,'overflow-x-auto': stacked,'form-label': theme == 2,light,small,small1: xsmall,'invalid-label': invalidCheckbox}\"\n *ngIf=\"showLabel\" (click)=\"log()\">\n {{ label |appTranslate|async}} {{isRequired?'*':''}} <span *ngIf=\"hint\" [matTooltip]=\"hint|appTranslate|async\"\n class=\"fa fa-info-circle\"></span>\n </label>\n","import { Component, Input, OnInit, Pipe, PipeTransform } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { configValidationMessages } from '../../../../configs/validation-messages.config';\nimport {\n EValidationType,\n IValidationMessage,\n} from '../../../../Shared/models/index.model';\n\n@Component({\n selector: 'app-validation-message',\n templateUrl: './validation-message.component.html',\n styleUrls: ['./validation-message.component.scss'],\n})\nexport class ValidationMessageComponent implements OnInit {\n validationType: EValidationType;\n @Input('validationKey') set _validationKey(v: EValidationType) {\n this.validationType = v;\n this.validations = configValidationMessages[this.validationType];\n }\n @Input('control') _control: AbstractControl;\n @Input() input: { label: string; control :AbstractControl};\n @Input('label') _label: string;\n @Input() minLength: number;\n @Input() maxLength: number;\n @Input() customMessage: 'Value is invalid';\n validations: IValidationMessage[];\n constructor() {}\n\n ngOnInit(): void {\n if (!this.validationType) this._validationKey = EValidationType.normal;\n }\n get label() {\n return this._label || this.input?.label;\n }\n get control() {\n return this._control || this.input?.control;\n }\n}\n\n@Pipe({ name: 'errorMessage' })\nexport class ErrorMessagePipe implements PipeTransform {\n transform(\n errObj: IValidationMessage,\n label?: string,\n maxLength?: number,\n minLength?: number,\n controlMessage?: any\n ): string {\n let msg =\n errObj.type == EValidationType.custom\n ? controlMessage\n : errObj.message\n ? errObj.message.startsWith(' ')\n ? (label || 'Field') + errObj.message\n : errObj.message\n : null;\n msg = msg?.replace('{{maxLength}}', maxLength?.toString());\n msg = msg?.replace('{{minLength}}', minLength?.toString());\n return msg;\n }\n}\n","<div class=\"text-danger\">\n <ng-container *ngIf=\"control?.errors && (control?.dirty || control?.touched)\">\n <ng-container *ngFor=\"let error of validations\">\n <span class=\"me-2\" *ngIf=\"control?.errors[error.type] as controlMessage\"> \n {{((error|errorMessage:label:maxLength:minLength:controlMessage)||customMessage)|appTranslate|async}}\n </span>\n </ng-container>\n </ng-container>\n</div>\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\nimport { Validators } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { ETSenvironment } from '../../../../environments/environment';\nimport { FCInput, ETSInputType } from '../../models/index.model'; \nimport { InputService } from './input.service'; \nimport { OptionLabelType } from '../../models/form-schema.model';\n\n@Component({\n selector: 'app-input',\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.scss'],\n})\nexport class InputComponent implements OnInit {\n @Input() translateOptions: boolean = false;\n @Input('input') inp: FCInput;\n @Input() accept: string;\n @Input() autocomplete: boolean = true;\n @Input() cls?: string;\n @Input() colored: boolean = true;\n @Input() checked: boolean = false;\n @Input() debug: boolean;\n @Input() disabled: boolean;\n @Input() endLabel: string;\n @Input() endLabelTooltip: string;\n @Input() files: File[];\n @Input() noFormat: boolean;\n @Input() hint: string;\n @Input() id: string = 'id' + Math.round(Math.random() * 10000);\n @Input() inpCl: string = 'control-bg-gray';\n @Input() labelField: string;\n @Input() labelLink: string;\n @Input() labelType: OptionLabelType;\n @Input() lblCl: string = '2';\n @Input() light: boolean = true;\n @Input() loading: boolean;\n @Input() max: number;\n @Input() min: number;\n @Input() mini: boolean;\n @Input() multiple: boolean;\n @Input() optionFormatter: (item: any) => string;\n @Input() options: any[];\n @Input() readonly: boolean;\n @Input() showEmptyOption?: boolean = true;\n @Input() showLabel: boolean = true;\n @Input() showValidation: boolean = false;\n @Input() showValidationMsg: boolean = false;\n @Input() showValidationIcon: boolean = true;\n @Input() small: boolean;\n @Input() stacked: boolean;\n @Input() theme: InputTheme = 1;\n @Input() valueField: string;\n @Input() xsmall: boolean;\n @Output() mchange = new EventEmitter();\n oType: ETSInputType;\n showPassword: boolean;\n __value: any;\n @Input('value') set _value(v: any) {\n this.__value = v;\n }\n constructor(public iS: InputService) {}\n\n ngOnInit(): void {}\n\n change(e) {\n console.log(e);\n this.mchange.emit(e);\n }\n get control() {\n return this.inp?.form?.controls[this.inp?.name];\n }\n get valid() {\n return this.control.valid && this.control.dirty;\n }\n get invalid() {\n return this.control.invalid && this.control.dirty;\n }\n get form() {\n return this.inp?.form;\n }\n get label() {\n return this.inp?.label;\n }\n get name() {\n return this.inp?.name;\n }\n get placeholder() {\n return this.inp?.placeholder;\n }\n get required() {\n return this.inp?.required;\n }\n get type() {\n return this.inp?.type;\n }\n get isRequired() {\n return this.required || this.control?.hasValidator(Validators.required);\n }\n upload(e) {\n this.files = e.target.files;\n this.mchange.emit(e);\n }\n get value() {\n return this.control?.value;\n }\n get invalidCheckbox() {\n return this.invalid && this.type == 'checkbox';\n }\n log() {\n if (ETSenvironment.production) console.log(this.form);\n }\n}\ntype InputTheme = 1 | 2;\n","<div class=\"row custom-input align-items-center {{type}} gx-1\" [formGroup]=\"form|toAny\">\n <app-input-label [colored]=\"colored\" [form]=\"form\" [hint]=\"hint\" [id]=\"id\" [invalidCheckbox]=\"invalidCheckbox\"\n *ngIf=\"showLabel\" [isRequired]=\"isRequired\" [label]=\"label\" [lblCl]=\"lblCl\" [light]=\"light\" [mini]=\"mini\"\n [showLabel]=\"showLabel\" [small]=\"small\" [stacked]=\"stacked\" [theme]=\"theme\" [xsmall]=\"xsmall\">\n </app-input-label>\n <div class=\"{{ stacked ? 'col-md' : 'col-md' }} position-relative d-flex input-content\"\n [ngClass]=\"{showValidationIcon:showValidation || showValidationIcon}\">\n <ng-container [ngSwitch]=\"type\">\n <!-- CHECKBOX -->\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <input type=\"checkbox\" id=\"{{ id }}\" [formControlName]=\"name|toAny\" [attr.data-noformat]=\"noFormat\"\n class=\"{{ inpCl }} d-inline-block form-control width-unset\" placeholder=\"{{ placeholder }}\"\n [required]=\"required\" [readonly]=\"readonly\" (change)=\"change($event)\" [checked]=\"checked\" />\n </ng-container>\n <ng-container *ngSwitchCase=\"'checkedbox'\">\n <input type=\"checkbox\" class=\"{{ inpCl }} d-inline-block form-control width-unset\" [checked]=\"checked\"\n [attr.data-noformat]=\"noFormat\" [required]=\"required\" [readonly]=\"readonly\" (change)=\"change($event)\" />\n </ng-container>\n <!-- FILE -->\n <ng-container *ngSwitchCase=\"'file'\">\n <input type=\"file\" id=\"{{ id }}\" [class]=\"inpCl | inputClass: valid:invalid:showValidation\"\n (change)=\"upload($event)\" [accept]=\"accept\" [attr.multiple]=\"multiple\" />\n </ng-container>\n <!-- FILE BUTTON-->\n <ng-container *ngSwitchCase=\"'fileButton'\">\n <input type=\"file\" id=\"{{ id }}\" [class]=\"inpCl | inputClass: valid:invalid:showValidation\"\n (change)=\"upload($event)\" [accept]=\"accept\" [attr.multiple]=\"multiple\" hidden #file />\n <app-btn (mclick)=\"file.click()\" icon=\"upload\" [type]=\"files ? 'primary' : 'secondary'\">{{ label || 'Upload' }}\n </app-btn>\n </ng-container>\n <!-- SELECT -->\n <ng-container *ngSwitchCase=\"'select'\">\n <!-- [attr.disabled]=\"disabled\" -->\n <select [formControlName]=\"name|toAny\" id=\"{{ id }}\" class=\"{{ cls }} {{\n inpCl | inputClass: valid:invalid:showValidation\n }}\" [required]=\"required\" (change)=\"change($event)\">\n <option *ngIf=\"showEmptyOption\" selected value=\"\">\n {{ placeholder }}\n </option>\n <option *ngFor=\"let item of options; trackBy: iS.trackByValue\" [value]=\"item.value\" #inp>\n <!-- {{item|optionLabeller:optionFormatter:labelType:labelField}} -->\n {{ item.label | appTranslate: translateOptions | async }} \n </option>\n </select>\n </ng-container>\n <!-- TEXTAREA -->\n <ng-container *ngSwitchCase=\"'textarea'\">\n <textarea [formControlName]=\"name|toAny\" id=\"{{ id }}\" [class]=\"inpCl | inputClass: valid:invalid:showValidation\"\n [attr.data-noformat]=\"noFormat\" [required]=\"required\" [readonly]=\"readonly\"\n (change)=\"change($event)\"></textarea>\n </ng-container>\n <!-- Radio -->\n <ng-container *ngSwitchCase=\"'radio'\">\n <input type=\"radio\" [formControlName]=\"name|toAny\" id=\"{{ id }}\" [readonly]=\"readonly\" (change)=\"change($event)\"\n [attr.data-noformat]=\"noFormat\" [value]=\"__value\" [disabled]=\"disabled\" />\n </ng-container>\n <!-- Viewer -->\n <ng-container *ngSwitchCase=\"'viewer'\">\n <input type=\"text\" id=\"{{ id }}\" placeholder=\"{{ placeholder }}\" [attr.data-noformat]=\"noFormat\"\n [class]=\"inpCl | inputClass: valid:invalid:showValidation\" [readonly]=\"true\" [value]=\"value\" />\n </ng-container>\n <!-- PASSWORD -->\n <ng-container *ngSwitchCase=\"'password'\">\n <input type=\"{{ showPassword ? 'text' : 'password' }}\" [formControlName]=\"name|toAny\" placeholder=\"{{ placeholder }}\"\n [attr.data-noformat]=\"noFormat\" id=\"{{ id }}\" [class]=\"inpCl | inputClass: valid:invalid:showValidation\"\n [required]=\"required\" [max]=\"max\" [min]=\"min\" [readonly]=\"readonly || disabled\" (change)=\"change($event)\"\n value=\"{{ __value }}\" />\n <div class=\"password-icons pointer\" (click)=\"showPassword = !showPassword\">\n <i class=\"fa fa-eye-slash\" *ngIf=\"showPassword\"></i>\n <i class=\"fa fa-eye\" *ngIf=\"!showPassword\"></i>\n </div>\n </ng-container>\n <!-- DEFAULT -->\n <ng-container *ngSwitchDefault>\n <input type=\"{{ type }}\" [formControlName]=\"name|toAny\" placeholder=\"{{ placeholder }}\" id=\"{{ id }}\"\n [attr.data-debug]=\"debug\" [attr.data-noformat]=\"noFormat\" [attr.data-otype]=\"oType\"\n [class]=\"inpCl | inputClass: valid:invalid:showValidation\" [required]=\"required\" [max]=\"max\" [min]=\"min\"\n [readonly]=\"readonly || disabled\" (change)=\"change($event)\" value=\"{{ __value }}\" />\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"control?.dirty && (showValidation || showValidationIcon)\">\n <div [ngClass]=\"{ valid: control?.valid }\" class=\"validity-icon\">\n <i class=\"fa fa-check\"></i>\n </div>\n <div [ngClass]=\"{ pending: control?.pending }\" class=\"validity-icon\">\n <i class=\"fa fa-spinner fa-spin\"></i>\n </div>\n <div [ngClass]=\"{ invalid: control?.invalid }\" class=\"validity-icon\">\n <i class=\"fa fa-times\"></i>\n </div>\n </ng-container>\n <!-- <mat-form-field class=\"input\" appearance=\"fill\">\n <input type=\"{{inp.type}}\" matInput [formControl]=\"inp.formControl\">\n <mat-error *ngFor=\"let validation of inp.vms\">\n <ng-container *ngIf=\"validation|validator:inp.formControl:inp.formControl?.value\">\n {{validation.message|validationMsg:inp.prefix:inp.suffix}}\n </ng-container>\n </mat-error>\n </mat-form-field> -->\n </div>\n <div class=\"col-auto text-primary\" *ngIf=\"endLabel\" [matTooltip]=\"endLabelTooltip|appTranslate|async\">\n {{endLabel|appTranslate|async}}\n </div>\n</div>\n<app-validation-message *ngIf=\"showValidationMsg\" [label]=\"label\" [control]=\"control\"></app-validation-message>\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractControl,\n FormControl,\n FormGroup,\n Validators,\n} from '@angular/forms';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { IOption, OptionLabelType } from '../../models/form-schema.model';\nimport { ETSInputType, IValidationMessage } from '../../models/index.model';\nimport { InputService } from './input.service';\n\n@Component({\n selector: 'app-input-basic',\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.scss'],\n})\nexport class InputBasicComponent<\n TFormGroup extends {\n [K in keyof TFormGroup]: AbstractControl<any, any>;\n } = any,\n TControl = any,\n TOption = any\n> implements OnInit\n{\n @Input() accept: string;\n @Input() autocomplete: boolean = true;\n @Input() autoPickValueField: boolean;\n @Input() clearOnDisable: boolean = true;\n @Input() cls: string;\n @Input() colored: boolean = true;\n @Input() checked: boolean = false; //optional checked option for checkboxes\n @Input() contextData: any;\n @Input() debug: boolean;\n @Input() decimalPoints: number;\n @Input() endLabel: string;\n @Input() endLabelTooltip: string;\n @Input() files: File[];\n /** FormGroup */\n @Input() form:\n | FormGroup<TFormGroup>\n | FormControl<TControl>\n | AbstractControl<TControl>;\n @Input() noFormat: boolean;\n @Input() hide: boolean;\n @Input() hint: string;\n @Input() id: string = 'id' + Math.round(Math.random() * 10000);\n @Input() inpCl: string = 'control-bg-gray';\n @Input() label: string;\n @Input() labelLink: string;\n @Input() labelField: keyof TOption;\n @Input() labelType: OptionLabelType; //use this to pick a preset value label group for the options\n @Input() lblCl: string = '2';\n @Input() light: boolean = true;\n @Input() loading: boolean;\n @Input() max: number | string;\n @Input() mformControl: AbstractControl;\n @Input() min: number | string;\n @Input() mini: boolean;\n @Input() multiple: boolean;\n /** FormControlName */\n @Input() name: keyof TFormGroup;\n @Input() optionFormatter: (item: TOption) => string;\n @Input() placeholder: string;\n @Input() prefix: string;\n @Input() readonly: boolean;\n @Input() required?: boolean;\n @Input() showEmptyOption?: boolean = true;\n @Input() showLabel: boolean;\n @Input() showValidation: boolean = false;\n @Input() showValidationMsg: boolean = false;\n @Input() showValidationIcon: boolean;\n @Input() small: boolean;\n @Input() stacked: boolean = true;\n @Input() suffix: string;\n @Input() theme: InputTheme = 1;\n @Input() translateOptions: boolean = false;\n @Input() valueField: keyof TOption; //use this to choose a field in the option for modeling\n @Input() vms: IValidationMessage[];\n @Input() xsmall: boolean;\n @Output() mchange = new EventEmitter();\n @Output() mSelectOptionChange = new EventEmitter();\n @Output() mContextChange = new EventEmitter();\n disabled: boolean;\n options: IOption[];\n options$ = new ReplaySubject<IOption[]>();\n rawOptions: any[];\n showPassword: boolean;\n type: ETSInputType;\n viewInited: boolean;\n forcePatched: boolean;\n selectionObject: TOption;\n oType: ETSInputType;\n @Input('setCurrentDate') set _setCurrentDate(v: boolean) {\n if (v) this.control.patchValue(new Date().toISOString().split('T')[0]);\n }\n @Input('disabled') set _disabled(v: boolean) {\n if (this.debug) debugger;\n this.disabled = v;\n if (this.control?.parent?.disabled) return;\n if (v) {\n if (this.clearOnDisable) this.control?.reset();\n this.control?.disable();\n } else if (this.control?.disabled) {\n this.control?.enable();\n }\n }\n @Input() customSelectChangeAction: (\n val: string | number,\n options: any[],\n rawOptions: any[]\n ) => any;\n @Input('options') set _options(v: TOption[]) {\n // debugger\n // console.log('options', v);\n this.rawOptions = v;\n this.options = this.iS.optionsFormatter(\n v,\n this.valueField as string,\n this.optionFormatter,\n this.labelType,\n this.labelField as string,\n this.autoPickValueField\n );\n // debugger\n this.options$.next(this.options);\n }\n @Input('type') set _type(v: ETSInputType) {\n this.oType = v;\n if (v == 'percentage') {\n this.type = 'number';\n this.max = 100;\n this.min = 0;\n } else this.type = v;\n // if (this.forcePatched) {\n // this.control.reset();\n // this.forcePatched = false;\n // }\n // if (v == 'checkbox' && (this.value == null || this.value == undefined)) {\n // this.control?.patchValue(false);\n // this.forcePatched = true;\n // }\n }\n __value: string | number;\n @Input('mvalue') set _value(v: string | number) {\n this.__value = v;\n }\n @ViewChild('inp') inpTag: ElementRef<HTMLInputElement>;\n constructor(public iS: InputService) {}\n\n ngOnInit(): void {\n if (this.showLabel == null) this.showLabel = !!this.label;\n if (this.autoPickValueField) {\n this.labelType = 'cdt';\n this.valueField = 'code' as any;\n }\n if (this.min == 0 && this.max == 100) this.oType = 'percentage';\n if (\n this.type == 'viewer' &&\n (this.noFormat == null || this.noFormat == undefined)\n )\n this.noFormat = true;\n // console.log(this.id)\n // if (this.disabled) this._disabled = this.disabled;\n }\n ngAfterViewInit(): void {\n // this.viewInited = true;\n }\n disableControl(control: AbstractControl = this.control) {\n if (!this.disabled) return;\n control?.disable({ emitEvent: false });\n }\n get isRequired() {\n return this.required || this.control?.hasValidator(Validators.required);\n }\n change(e) {\n // debugger;\n let val = e;\n if (this.type == 'checkbox') {\n val = e.target.checked;\n } else {\n val = e.target.value;\n }\n if (this.type == 'number') {\n if (this.max && +val > this.max) {\n this.control.setValue(this.max);\n } else if (this.min != null && this.min != undefined && +val < this.min) {\n this.control.setValue(this.min);\n }\n if (this.decimalPoints != undefined && this.decimalPoints != null)\n this.control.setValue(+(+val).toFixed(this.decimalPoints));\n }\n this.__value = this.control.value;\n this.mchange.emit(this.control.value);\n // debugger\n if (this.rawOptions) {\n this.selectionObject = this.rawOptions.find(\n (x) => x[this.valueField] == this.__value\n );\n this.mSelectOptionChange.emit(this.selectionObject);\n }\n if (this.customSelectChangeAction) {\n this.mContextChange.emit(\n this.customSelectChangeAction(\n this.control.value,\n this.options,\n this.rawOptions\n )\n );\n }\n }\n get control(): AbstractControl {\n return (\n this.mformControl ||\n (this.form as FormGroup<TFormGroup>)?.controls[this.name as string]\n );\n }\n get valid() {\n return this.control?.valid && this.control?.dirty;\n }\n get invalid() {\n return this.control?.invalid && this.control?.dirty;\n }\n get value() {\n return this.control?.value;\n }\n get hasValue() {\n return !!this.control?.value?.toString()?.trim();\n }\n get invalidCheckbox() {\n return this.invalid && this.type == 'checkbox';\n }\n upload(e) {\n this.files = e.target.files;\n this.mchange.emit(e);\n }\n}\ntype InputTheme = 1 | 2; ","import { Directive, ElementRef, HostBinding, HostListener, Input } from '@angular/core';\nimport { DecimalPipe } from '@angular/common'\nimport { ControlValueAccessor, NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Directive({\n selector: '[appCommafyNumber]',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: CommafyNumberDirective,\n multi: true,\n }]\n})\nexport class CommafyNumberDirective implements ControlValueAccessor{\n // tslint:disable-next-line:variable-name\n private _value: string | null;\n @Input('disabled') disableInput;\n\n constructor(\n private elementRef: ElementRef<HTMLInputElement>,\n private numberPipe: DecimalPipe,\n // private ngControl: NgControl,\n ) {\n this.elementRef.nativeElement.type = 'text'\n }\n\n ngOnChanges(){\n this.elementRef.nativeElement.disabled = this.disableInput;\n }\n\n // ngDoCheck(){\n // this.elementRef.nativeElement.disabled = this.disabled;\n // console.log(\"ngDoCheck this.disabled: \", this.disabled)\n // console.log(\"ngDoCheck ran in commafyNumberDirective and this.elementRef.nativeElement.disabled is: \", this.elementRef.nativeElement.disabled)\n // }\n // get value(): string | null {\n // return this._value;\n // }\n\n @Input('value')\n set value(value: number) {\n if (isNaN(value)) return;\n this.elementRef.nativeElement.value = this.formatValue(value.toString());\n }\n\n private formatValue(value: string | null = '') {\n return value == null ? '' : this.numberPipe.transform(value)\n }\n\n private unFormatValue(value: string = '') {\n return value == null ? '' : value.toString().replace(/[^\\d.-]/g, '');\n }\n\n @HostListener('input', ['$event.target.value'])\n onInput(value) {\n this._value = this.unFormatValue(value) // unformat to get real number\n this._onChange(this._value); // here to notify Angular Validators\n this.elementRef.nativeElement.value = this.formatValue(this._value) \n }\n\n @HostListener('focus')\n onFocus() {}\n\n writeValue(value: string): void {\n this._value = this.unFormatValue(value)\n this.elementRef.nativeElement.value = this.formatValue(this._value)\n }\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n \n }\n _onChange(value: any): void {}\n}\n","import { ListKeyManager } from '@angular/cdk/a11y';\nimport { Directive, ElementRef, HostListener, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Directive({\n selector: '[appIntegerOnly]',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: IntegerOnlyDirective,\n multi: true,\n }],\n})\nexport class IntegerOnlyDirective implements ControlValueAccessor{\n @Input() allowNegativeNumbers: boolean = false;\n\n constructor(\n private elemRef: ElementRef,\n ) { }\n\n @HostListener('focus') onFocus(){\n // if the content is just a zero (the usual default value from backend), clear it\n if (!Number(this.elemRef.nativeElement.value)) {\n this.writeValue('')\n this._onChange(this.elemRef.nativeElement.value) // notify angular validators\n }\n }\n\n @HostListener('input') onKeyUp(){\n // optionally allow for negative sign\n let pattern = this.allowNegativeNumbers ? /[^\\d-]/g : /[^\\d]/g;\n // remove everything except digits\n this.elemRef.nativeElement.value = this.elemRef.nativeElement.value.replace(pattern, '')\n // notify angular validators\n this._onChange(this.elemRef.nativeElement.value)\n }\n\n writeValue(value: string){\n this.elemRef.nativeElement.value = value;\n }\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n\n }\n\n _onChange(value: any):void {}\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[appNegativeNumberOnly]'\n})\nexport class NegativeNumberOnlyDirective {\n\n constructor(\n private el: ElementRef<HTMLInputElement>,\n ) { }\n\n @HostListener('input', ['$event.target.value'])\n onChange(value){\n if (!value.startsWith('-')){\n this.el.nativeElement.value = `-${value}`\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Directive, ElementRef, Input, NgModule } from '@angular/core'; \nimport { PermissionManager } from '../../../lib/Shared/classes/permission-manager.class';\nimport { EETSPageBtnID, ETSMenuItem, ETSPageButton } from '../models/IMenuItem';\n\n@Directive({\n selector: '[pmV]',\n})\nexport class PermissionManagerViewDirective {\n id: string;\n @Input('pmV') set pm(v: EETSPageBtnID | string) {\n this.id = v;\n if (!PermissionManager.pagePermission) return;\n const res = PermissionManager.findByID(v, PermissionManager.pagePermission);\n if (!res) return;\n if (!res.viewAccess) {\n this.ef.nativeElement.remove();\n return;\n }\n }\n constructor(public ef: ElementRef<HTMLElement>) {}\n ngOnInit(): void {\n if (this.id) return;\n if (!PermissionManager.pagePermission) return;\n if (!PermissionManager.pagePermission.viewAccess)\n this.ef.nativeElement.remove();\n }\n}\n@Directive({\n selector: '[pmE]',\n})\nexport class PermissionManagerEditDirective {\n id: string;\n @Input('pmE') set pm(v: EETSPageBtnID | string) {\n this.id = v;\n if (!PermissionManager.pagePermission) return;\n const res = PermissionManager.findByID(v, PermissionManager.pagePermission);\n if (!res) return;\n if (!res.editAccess) {\n this.ef.nativeElement.remove();\n return;\n }\n }\n constructor(public ef: ElementRef<HTMLElement>) {}\n ngOnInit(): void {\n if (this.id) return;\n if (!PermissionManager.pagePermission) return;\n if (!PermissionManager.pagePermission.editAccess)\n this.ef.nativeElement.remove();\n }\n}\n\nconst comps = [PermissionManagerViewDirective, PermissionManagerEditDirective];\n@NgModule({\n declarations: comps,\n imports: [CommonModule],\n exports: comps,\n})\nexport class PermissionManagerDirectivesModule {}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { IBtn } from '../../models/index.model';\n\n@Component({\n templateUrl: './info-dialog.component.html',\n styles: [\n `\n .bar {\n height: 5px;\n }\n .card-body {\n overflow-wrap: anywhere;\n white-space: pre-line;\n }\n `,\n ],\n})\nexport class InfoDialogComponent implements OnInit {\n constructor(\n @Inject(MAT_DIALOG_DATA)\n public data: {\n text: string;\n heading: string;\n status: number;\n btns: IBtn[];\n },\n public dialogRef: MatDialogRef<InfoDialogComponent>\n ) {}\n\n ngOnInit() {}\n yes() {\n this.dialogRef.close(true);\n }\n no() {\n this.dialogRef.close(false);\n }\n cls = (status: 0 | 1 | 2 = this.data.status as any) => {\n switch (status) {\n case 1:\n return 'success';\n case 2:\n return 'info';\n case 0:\n return 'danger';\n default:\n return '';\n }\n };\n}\n","<div class=\"text-center\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <div class=\"text-{{cls()}} ms-3 font-weight-bold text-uppercase\">\n <i class=\"fa fa-{{data?.status?'check-circle':'exclamation-circle'}}\"></i>\n {{(data?.heading||'Notice')|appTranslate|async}}\n </div>\n <button mat-icon-button (click)=\"yes()\" class=\"btn-outline-danger\"><i class=\"material-icons\">close</i></button>\n </div>\n\n <div class=\"card-body \" [innerHTML]=\"data?.text|appTranslate|async\">\n\n </div>\n\n <div class=\"row justify-content-center\">\n <div class=\"col-md-auto my-1\" *ngFor=\"let item of data?.btns\">\n <app-btn [type]=\"item.type||'secondary'\" [icon]=\"item.icon\" (mclick)=\"item.action($event);yes();\">\n {{item.value||item.label}}\n </app-btn>\n </div>\n </div>\n <div class=\"bg-{{data?.status?'success':'danger'}} mt-2 rounded bar\"></div>\n</div>\n","import { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog'; \nimport { IBtn } from '../../models/index.model';\nimport { InfoDialogComponent } from './info-dialog.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ETSInfoDialogService {\n constructor(public dialog: MatDialog) {}\n info = (\n text: string,\n status: 1 | 0 | 2 = 1,\n heading?: string,\n btns?: IBtn[],\n disableClose = false\n ) => {\n text =\n typeof text == 'string' ? text : status == 0 ? 'An error occurred' : '';\n return this.dialog\n .open(InfoDialogComponent, {\n data: {\n text,\n status: +status,\n heading: heading || (status ? 'Success!' : 'Oops!'),\n btns: btns?.filter((b) => b),\n },\n height: 'auto',\n minWidth: '450px',\n autoFocus: false,\n disableClose,\n })\n .afterClosed()\n .toPromise()\n .then((r) => {\n if (r) {\n return true;\n } else {\n return false;\n }\n });\n };\n}\n","import {\n Directive,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n} from '@angular/core'; \nimport { ETSInfoDialogService } from '../components/info-dialog/info-dialog.service';\n@Directive({\n selector: '[libDragDropFileUpload]',\n})\nexport class DragDropFileUploadDirective {\n @Input() multiple: boolean;\n @Output() fileDropped = new EventEmitter<File[]>();\n @HostBinding('style.background-color') private background = '#ffffff';\n // Dragover Event\n @HostListener('dragover', ['$event']) dragOver(event: any) {\n event.preventDefault();\n event.stopPropagation();\n this.background = '#e2eefd';\n }\n // Dragleave Event\n @HostListener('dragleave', ['$event']) public dragLeave(event: any) {\n event.preventDefault();\n event.stopPropagation();\n this.background = '#ffffff';\n }\n // Drop Event\n @HostListener('drop', ['$event']) public drop(event: any) {\n event.preventDefault();\n event.stopPropagation();\n this.background = '#ffffff';\n const files = event.dataTransfer.files;\n if (!files?.length) return;\n if (files?.length > 1 && !this.multiple) {\n this.iS.info(`Please drag and drop a single file`, 0);\n return;\n }\n this.fileDropped.emit(Array.from(files));\n }\n\n constructor(public iS: ETSInfoDialogService) {}\n}\n","import { CommonModule, DecimalPipe } from '@angular/common';\nimport {\n AfterViewInit,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n NgModule,\n OnChanges,\n Output,\n} from '@angular/core'; \nimport { ImageType } from '../models/index.model';\nimport { CommafyNumberDirective } from './commafy-number.directive';\nimport { IntegerOnlyDirective } from './integer-only.directive';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NegativeNumberOnlyDirective } from './negative-number-only.directive';\nimport PerfectScrollbar from 'perfect-scrollbar'; \nimport { PermissionManagerDirectivesModule } from './permission-manager.directive';\nimport {\n InputFormatDirective,\n InputFormatDirectivesModule,\n} from './InputFormat.directive'; \nimport { DragDropFileUploadDirective } from './drag-drop-file-upload.directive';\nimport { Config } from '../../configs/index.config';\nimport { ETSUtilityService } from '../../Services/utility.service';\n\n@Directive({\n selector: '[imageUpload]',\n})\nexport class ImageUpload {\n @Output() extractedImg = new EventEmitter<File>();\n @HostListener('click') onClick() {\n if (!this.disableUpload) this.openFile();\n }\n @Input() disableUpload: boolean;\n fileEl: HTMLInputElement;\n\n constructor(\n public el: ElementRef<HTMLImageElement>,\n public uS: ETSUtilityService\n ) {\n this.fileEl = document.createElement('input');\n this.fileEl.type = 'file';\n }\n ngAfterViewInit(): void {\n this.el.nativeElement.style.cursor = 'pointer';\n\n this.fileEl.onchange = () => {\n this.preview(this.fileEl.files);\n };\n }\n openFile() {\n this.fileEl.click();\n }\n\n preview(files: FileList) {\n if (files.length === 0) return;\n const f = files[0];\n const mimeType = f.type;\n if (files.length == 1 && f.size > 10000000) {\n this.uS.notify('Image has to be less then 10mb in size', 0);\n return;\n }\n if (mimeType.match(/image\\/*/) == null) {\n this.uS.notify('Only images are supported.', 0);\n return;\n }\n this.extractedImg.emit(f);\n }\n}\n@Directive({\n selector: '[imageLoader]',\n})\nexport class ImageLoaderDirective {\n src: string;\n @Input() set imageLoader(v: string) {\n this.src = v;\n this.loadImage(v);\n }\n @Input() imageType: ImageType;\n constructor(public el: ElementRef<HTMLImageElement>) {}\n loadImage(src: string = this.src, type: ImageType = this.imageType) {\n this.el.nativeElement.src = this.getImageByType(type)?.min;\n const imgEl = document.createElement('img');\n imgEl.src = src || this.getImageByType(type)?.src;\n imgEl.onload = (e) => {\n this.el.nativeElement.src = imgEl.src;\n };\n }\n getImageByType(type: ImageType) {\n return Config.Images[type] ? Config.Images[type] : Config.Images.other;\n }\n}\n\n@Directive({\n selector: 'button',\n})\nexport class OnClickDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n const location = $event.view.location;\n const pathName = decodeURI(location.pathname);\n const innterHtml: string = this.el.nativeElement.innerHTML;\n console.log(location, pathName);\n // send pathName and innterHtml to server.\n // :\n }\n\n constructor(private el: ElementRef) {}\n}\n@Directive({\n selector: '[mrouterLink]',\n})\nexport class MrouterLinkirective {\n mrouterLink: string;\n @Input('mrouterLink') set _mrouterLink(v: string) {\n this.mrouterLink = v;\n // if (v) debugger;\n this.setRouter();\n }\n @Input() mrouterLinkActivatedRoute: ActivatedRoute;\n @Input() mqueryParams: any;\n @Input() isPhone: boolean;\n @Input() isEmail: boolean;\n\n constructor(\n public el: ElementRef<HTMLAnchorElement>,\n public route: ActivatedRoute,\n public router: Router,\n public uS: ETSUtilityService\n ) {}\n ngAfterViewInit(): void {\n this.setRouter();\n }\n setRouter() {\n if (this.mrouterLink && this.el.nativeElement) {\n this.el.nativeElement.classList.remove('notLink');\n this.el.nativeElement.classList.add('link');\n // debugger;\n if (this.isEmail) {\n this.el.nativeElement.href = 'mailto:' + this.mrouterLink;\n } else if (this.isPhone) {\n this.el.nativeElement.href = 'tel:' + this.mrouterLink;\n } else {\n // debugger;\n const queryParams: { [x: string]: string } = this.mqueryParams || {},\n routeLevels = this.mrouterLink.split('../').length - 1,\n currentLocationParts = location.pathname.split('/');\n let route = '',\n urlParts = this.mrouterLink.split('?');\n\n route = urlParts[0];\n if (urlParts.length > 1) {\n const kvps = urlParts[1].split('&');\n for (const kvp of kvps) {\n const kvpSplit = kvp.split('=');\n queryParams[kvpSplit[0]] = kvpSplit[1];\n }\n }\n\n currentLocationParts.splice(routeLevels * -1);\n\n this.el.nativeElement.href =\n currentLocationParts.join('/') +\n '/' +\n route\n .split('../')\n .filter((x) => x)\n .join('/') +\n '?' +\n this.stringifyQueryParams(queryParams);\n this.el.nativeElement.onclick = (e: MouseEvent) => {\n e.preventDefault();\n // debugger;\n this.router.navigate([route], {\n relativeTo: this.uS.environment.activatedRoute || this.route,\n queryParams,\n });\n };\n }\n } else {\n this.el.nativeElement.classList.add('notLink');\n }\n }\n stringifyQueryParams(q: { [x: string]: string }): string {\n return Object.keys(q)\n .map((key) => `${key}=${q[key]}`)\n .join('&');\n }\n}\n\n@Directive({\n selector: '[PSBox]',\n})\nexport class PSDirective implements OnChanges, AfterViewInit {\n @Input('PSBox') selector: string;\n @Input('PSBoxNoHorizontal') noHorizontal: boolean;\n @Input('PSBoxNoVertical') noVertical: boolean;\n constructor(public el: ElementRef, public uS: ETSUtilityService) {}\n ngOnChanges(): void {}\n ngAfterViewInit() {\n this.init();\n }\n init() {\n if (!this.uS.isMobile) {\n setTimeout(() => {\n const psNotif = new PerfectScrollbar(\n this.selector || this.el.nativeElement,\n {\n wheelSpeed: 0.5,\n swipeEasing: false,\n suppressScrollX: this.noHorizontal || false,\n suppressScrollY: this.noVertical || false,\n wheelPropagation: true,\n minScrollbarLength: 40,\n }\n );\n psNotif.update();\n }, 0);\n }\n }\n}\n \n\nconst comps = [\n CommafyNumberDirective,\n ImageLoaderDirective,\n ImageUpload,\n IntegerOnlyDirective,\n // NoFormatDirective,\n MrouterLinkirective,\n NegativeNumberOnlyDirective,\n // OnClickDirective,\n // InputFormatDirective,\n PSDirective, \n DragDropFileUploadDirective,\n];\n@NgModule({\n declarations: comps,\n imports: [CommonModule, InputFormatDirectivesModule],\n exports: [\n ...comps,\n PermissionManagerDirectivesModule,\n InputFormatDirectivesModule, \n ],\n providers: [DecimalPipe],\n})\nexport class DirectivesModule {}\n","import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';\nimport { QueryParamsHandling } from '@angular/router';\nimport { AppService } from '../../../../Services/app.service';\nimport { BtnComponent } from '../btn.component';\nimport { BtnService } from '../btn.service';\n\n@Component({\n selector: 'app-btn-lg',\n templateUrl: './btn-lg.component.html',\n styleUrls: ['./btn-lg.component.scss'],\n})\nexport class BtnLgComponent extends BtnComponent {\n @Input() queryParamsHandling: QueryParamsHandling;\n @Input() route: string;\n @Input() value: string | number;\n @Input() subText: string;\n @Input() subValue: string | number;\n constructor(\n public appS: AppService,\n public btnS: BtnService,\n public cdr: ChangeDetectorRef\n ) {\n super(appS, btnS,cdr);\n }\n\n ngOnInit(): void {}\n}\n","<span class=\"section-cards\">\n <ng-container *ngIf=\"route; else elseTemplate\">\n <button matRipple class=\"btn-large\" routerLink=\"{{route}}\" [queryParamsHandling]='queryParamsHandling'>\n <ng-container *ngTemplateOutlet=\"btnContent\">\n </ng-container>\n </button>\n </ng-container>\n <ng-template #elseTemplate>\n <button matRipple class=\"btn-large\">\n <ng-container *ngTemplateOutlet=\"btnContent\">\n </ng-container>\n </button>\n </ng-template>\n\n\n</span>\n<ng-template #btnContent>\n <div>\n <div class=\"title\" [innerHTML]=\"text|appTranslate|async\"> </div>\n <div class=\"text\" [ngClass]=\"{detach:!!subText}\"[innerHTML]=\"value|toAny|appTranslate|async\"> </div>\n <div class=\"sub-title\" *ngIf=\"subText\" [innerHTML]=\"subText|appTranslate|async\"> </div>\n <div class=\"sub-text\" *ngIf=\"subValue\" [innerHTML]=\"subValue|toAny|appTranslate|async\"> </div>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { BtnComponent } from './btn.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { DirectivesModule } from '../../directives/index.directive';\nimport { BtnLgComponent } from './btn-lg/btn-lg.component';\nimport { MatRippleModule } from '@angular/material/core';\nimport { RouterModule } from '@angular/router';\nimport { MatBadgeModule } from '@angular/material/badge';\n\n@NgModule({\n declarations: [BtnComponent, BtnLgComponent],\n imports: [\n CommonModule,\n FontAwesomeModule,\n MatTooltipModule,\n UtilityPipesModule,\n DirectivesModule,\n MatRippleModule,\n RouterModule,\n MatBadgeModule,\n ],\n exports: [BtnComponent, BtnLgComponent, FontAwesomeModule],\n})\nexport class BtnModule {}\n","import { Component, Input } from '@angular/core';\nimport {\n FormGroup,\n FormControl,\n AbstractControl,\n} from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { ETSUtilityService } from '../../../../Services/utility.service';\nimport { InputBasicComponent } from '../input-basic.component';\nimport { InputService } from '../input.service';\n\n@Component({\n selector: 'app-day-hour-min-input',\n templateUrl: './day-hour-min-input.component.html',\n styleUrls: ['./day-hour-min-input.component.scss'],\n})\nexport class DayHourMinInputComponent extends InputBasicComponent {\n // @Input() format: 'hm' | 'm' | 'dhm' = 'hm';\n @Input() clearOnDisable = false;\n subForm = new FormGroup(\n {\n days: new FormControl(null),\n hours: new FormControl(null),\n mins: new FormControl(null),\n }\n // this.validateFromParent.bind(this)\n );\n sub1: Subscription;\n sub2: Subscription;\n sub3: Subscription;\n updateSubForm: boolean = true;\n\n @Input('disabled') set _disabled(v: boolean) {\n // if (this.debug) debugger;\n super._disabled = v;\n if (this.control?.parent?.disabled) return;\n if (v) {\n if (this.clearOnDisable) this.subForm?.reset();\n this.subForm?.disable();\n } else {\n this.subForm?.enable();\n }\n }\n\n constructor(public iS: InputService, public uS: ETSUtilityService) {\n super(iS);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.type = this.type || 'number';\n\n this.sub1 = this.control?.valueChanges.subscribe((r) => {\n // if (this.debug) debugger;\n if (this.updateSubForm) {\n if (r?.toString().indexOf(':') == '-1')\n this.subForm?.patchValue(this.uS.minutesToDayHourMin(+r));\n } else this.updateSubForm = true;\n if (this.control?.disabled && this.subForm?.enabled) {\n this.subForm?.disable();\n } else if (this.control?.enabled && this.subForm?.disabled) {\n this.subForm.enable();\n }\n });\n2\n this.sub2 = this.control?.statusChanges.subscribe((r) => {\n if (this.debug) debugger;\n if (this.control.errors && (this.control.dirty || this.control.touched)) {\n this.subForm?.get('days').markAsDirty();\n this.subForm?.get('hours').markAsDirty();\n this.subForm?.get('mins').markAsDirty();\n this.subForm?.markAllAsTouched();\n }\n this.subForm?.get('days').setErrors(this.control?.errors);\n this.subForm?.get('hours').setErrors(this.control?.errors);\n this.subForm?.get('mins').setErrors(this.control?.errors);\n });\n\n this.sub3 = this.subForm?.valueChanges.subscribe((r) => {\n if (this.debug) debugger;\n if (this.control?.pristine) this.control?.markAsDirty();\n if (!this.control?.disabled) {\n const time = this.uS.dayHourMinToHourMinutes(\n r?.days,\n r?.hours,\n r?.mins\n );\n\n this.updateSubForm = false;\n this.control?.patchValue(time == '00:00' ? null : time);\n }\n });\n }\n\n // async isParentValid() {\n // return new Promise((res) => {\n // if (this.subForm?.pristine) res(null);\n // else {\n // setTimeout(() => {\n // this.subForm?.get('days').setErrors(this.control?.errors);\n // this.subForm?.get('hours').setErrors(this.control?.errors);\n // this.subForm?.get('mins').setErrors(this.control?.errors);\n // const err = this.control?.errors;\n // res(err);\n // }, 100);\n // }\n // });\n // }\n validateFromParent(form: FormGroup) {\n // debugger\n const controls: { [x: string]: AbstractControl } = {\n days: form.get('days'),\n hours: form.get('hours'),\n mins: form.get('mins'),\n };\n if (controls.days.value || controls.hours.value || controls.mins.value) {\n controls.days.markAsDirty();\n controls.hours.markAsDirty();\n controls.mins.markAsDirty();\n }\n // form?.get('days').markAsDirty();\n form?.get('days').setErrors(this.control?.errors);\n // form?.get('hours').markAsDirty();\n form?.get('hours').setErrors(this.control?.errors);\n // form?.get('mins').markAsDirty();\n form?.get('mins').setErrors(this.control?.errors);\n // return this.control?.errors;\n }\n ngOnDestroy(): void {\n this.sub1.unsubscribe();\n this.sub2.unsubscribe();\n this.sub3.unsubscribe();\n }\n}\n","<div class=\"row\">\n <app-input-label [colored]=\"colored\" [form]=\"form\" [hint]=\"hint\" [id]=\"id\" [invalidCheckbox]=\"invalidCheckbox\"\n [isRequired]=\"isRequired\" [label]=\"label\" [lblCl]=\"lblCl\" [light]=\"light\" [mini]=\"mini\" [showLabel]=\"showLabel\" *ngIf=\"showLabel\"\n [small]=\"small\" [stacked]=\"stacked\" [theme]=\"theme\" [xsmall]=\"xsmall\">\n </app-input-label>\n <div class=\"{{ stacked ? 'col-12' : 'col-md' }} position-relative\">\n <div class=\"row\">\n <div class=\"col-4\">\n <app-input-basic [showLabel]=\"false\" [form]=\"subForm\" name=\"days\" [min]=\"0\" [type]=\"type\" [noFormat]=\"true\" [stacked]=\"true\"\n [clearOnDisable]=\"clearOnDisable\" placeholder=\"days\" [showValidation]=\"daysTag.invalid\" #daysTag>\n </app-input-basic>\n </div>\n <div class=\"col-4\">\n <app-input-basic [showLabel]=\"false\" [form]=\"subForm\" name=\"hours\" [min]=\"0\" [type]=\"type\" [noFormat]=\"true\" [stacked]=\"true\"\n [clearOnDisable]=\"clearOnDisable\" placeholder=\"hours\" [showValidation]=\"hoursTag.invalid\" #hoursTag>\n </app-input-basic>\n </div>\n <div class=\"col-4\">\n <app-input-basic [showLabel]=\"false\" [form]=\"subForm\" name=\"mins\" [min]=\"0\" [type]=\"type\" [noFormat]=\"true\" [stacked]=\"true\"\n [clearOnDisable]=\"clearOnDisable\" placeholder=\"minutes\" [showValidation]=\"minsTag.invalid\" #minsTag>\n </app-input-basic>\n </div>\n </div>\n </div>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n AsyncValidatorFn,\n FormControl,\n FormGroup,\n ValidatorFn,\n} from '@angular/forms';\nimport { InputBasicComponent } from './input-basic.component';\nimport { InputService } from './input.service';\n\n@Component({\n selector: 'app-input-td-rf', //template driven to reactive form\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.scss'],\n})\nexport class InputTD_RFComponent extends InputBasicComponent {\n validators: ValidatorFn[];\n @Input('validators') set _validators(v: ValidatorFn[]) {\n this.control?.removeValidators(this.validators);\n this.validators = v;\n this.control?.setValidators(v);\n this.control?.updateValueAndValidity();\n }\n\n asyncValidators: AsyncValidatorFn[];\n @Input('asyncValidators') set _asyncValidators(v: AsyncValidatorFn[]) {\n this.control?.removeValidators(this.asyncValidators);\n this.asyncValidators = v;\n this.control?.setValidators(v);\n this.control?.updateValueAndValidity();\n }\n\n private model: any;\n @Input('model') set _model(v: any) {\n if (v == this.model) return;\n this.model = v;\n if (this.debug) debugger;\n this.control?.enable();\n this.control?.patchValue(v);\n if (this.disabled) this.control?.disable();\n }\n @Output() modelChange = new EventEmitter();\n\n @Input('disabled') set _disabled(v: boolean) {\n if (this.debug) debugger;\n this.disabled = v;\n if (v) {\n if (this.clearOnDisable) this.control?.reset();\n this.control?.disable();\n } else if (this.control?.disabled) {\n this.control?.enable();\n }\n }\n constructor(public iS: InputService) {\n super(iS);\n this.name = 'item';\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.form = new FormGroup({\n item: new FormControl(this.model, this.validators, this.asyncValidators),\n });\n this.disableControl();\n this.control?.valueChanges.subscribe((r) => {\n this.modelChange.emit(r);\n this.disableControl();\n });\n this.control?.statusChanges.subscribe((r) => {\n if (this.debug) debugger;\n });\n }\n ngAfterViewInit() {\n super.ngAfterViewInit();\n }\n get invalid() {\n return this.control?.invalid;\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup } from '@angular/forms';\nimport { InputBasicComponent } from './input-basic.component';\nimport { InputService } from './input.service';\n\n@Component({\n selector: 'input-control',\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.scss'],\n})\nexport class InputControlComponent extends InputBasicComponent {\n @Input() form = new FormGroup({});\n\n @Input() set control(value: FormControl) {\n this.form.setControl(this.name, value);\n }\n get control(): FormControl {\n return this.form?.controls[this.name];\n }\n readonly name = 'control';\n constructor(public iS: InputService) {\n super(iS);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { InputTD_RFComponent } from '../input-td-rf.component';\nimport { InputService } from '../input.service';\n\n@Component({\n selector: 'app-input-year-month-td-rf',\n templateUrl: './year-month-td-rf.component.html',\n styleUrls: ['./year-month-td-rf.component.scss'],\n})\nexport class YearMonthTdRfComponent extends InputTD_RFComponent {\n @Input() yrModel: any;\n @Output() yrModelChange = new EventEmitter();\n\n @Input() mthModel: any;\n @Output() mthModelChange = new EventEmitter();\n\n constructor(public iS: InputService) {\n super(iS);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this._model = '';\n this.control?.statusChanges.subscribe((r) => {\n if (r == 'DISABLED') this.disabled = true;\n });\n }\n}\n","<div class=\"row\">\n <app-input-label [colored]=\"colored\" [form]=\"form\" [hint]=\"hint\" [id]=\"id\" [invalidCheckbox]=\"invalidCheckbox\"\n [isRequired]=\"isRequired\" [label]=\"label\" [lblCl]=\"lblCl\" [light]=\"light\" [mini]=\"mini\" [showLabel]=\"showLabel\"\n *ngIf=\"showLabel\" [small]=\"small\" [stacked]=\"stacked\" [theme]=\"theme\" [xsmall]=\"xsmall\">\n </app-input-label>\n <div class=\"{{ stacked ? 'col-12' : 'col-md' }} position-relative\">\n <div class=\"row gx-2\">\n <div class=\"col-md-6\">\n <app-input-td-rf [model]=\"yrModel\" [endLabel]=\"(mini?'yrs':'Years')\" [endLabelTooltip]=\"mini?'Years':null\"\n (modelChange)=\"yrModelChange.emit($event)\"\n type=\"number\" [id]=\"id\" [disabled]=\"disabled\" [showLabel]=\"false\"\n [validators]=\"validators\">\n </app-input-td-rf>\n </div>\n <div class=\"col-md-6\">\n <app-input-td-rf [model]=\"mthModel\" [endLabel]=\"(mini?'mos':'Months')\" [endLabelTooltip]=\"mini?'Months':null\"\n (modelChange)=\"mthModelChange.emit($event)\" type=\"number\" [id]=\"id\" [disabled]=\"disabled\"\n [showLabel]=\"false\" [validators]=\"validators\">\n </app-input-td-rf>\n </div>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InputComponent } from './input.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { InputBasicComponent } from './input-basic.component';\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { BtnModule } from '../btn/btn.module';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport {\n ErrorMessagePipe,\n ValidationMessageComponent,\n} from './validation-message/validation-message.component';\nimport { DirectivesModule } from '../../directives/index.directive';\nimport { DayHourMinInputComponent } from './day-hour-min-input/day-hour-min-input.component';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { InputTD_RFComponent } from './input-td-rf.component';\nimport { InputLabelComponent } from './input-label/input-label.component';\nimport { InputControlComponent } from './input-control.component';\nimport { YearMonthTdRfComponent } from './year-month-td-rf/year-month-td-rf.component';\nimport { InputPipesModule } from './inputs-pipes.pipe';\n\n@NgModule({\n imports: [\n BtnModule,\n CommonModule,\n DirectivesModule,\n FormsModule,\n InputPipesModule,\n MatTooltipModule,\n ReactiveFormsModule,\n UtilityPipesModule,\n ],\n declarations: [\n DayHourMinInputComponent,\n ErrorMessagePipe,\n InputBasicComponent,\n InputComponent,\n InputControlComponent,\n InputLabelComponent,\n InputTD_RFComponent,\n ValidationMessageComponent,\n YearMonthTdRfComponent,\n ],\n exports: [\n BtnModule,\n DayHourMinInputComponent,\n ErrorMessagePipe,\n FormsModule,\n InputBasicComponent,\n InputComponent,\n InputControlComponent,\n InputLabelComponent,\n InputPipesModule,\n InputTD_RFComponent,\n MatTooltipModule,\n ReactiveFormsModule,\n ValidationMessageComponent,\n YearMonthTdRfComponent, \n ],\n})\nexport class InputModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule, TitleCasePipe } from '@angular/common';\nimport { InputNGModelComponent } from './input-ngmodel.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ValidationMessageNgmodelComponent } from './validation-message-ngmodel/validation-message-ngmodel.component';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { InputPipesModule } from '../input/inputs-pipes.pipe';\n\n@NgModule({\n declarations: [InputNGModelComponent, ValidationMessageNgmodelComponent],\n imports: [CommonModule, FormsModule, ReactiveFormsModule, InputPipesModule,UtilityPipesModule,MatTooltipModule],\n exports: [InputNGModelComponent, FormsModule, ReactiveFormsModule, ValidationMessageNgmodelComponent],\n providers: [TitleCasePipe]\n})\nexport class InputNGModelModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AutocompleteNgModelComponent } from './autocomplete-ng-model.component';\nimport { MatAutocompleteModule as MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { InputModule } from '../input/input.module';\nimport { InputNGModelModule } from '../input-NgModel/input-ngmodel.module';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\n\n\n\n@NgModule({\n declarations: [\n AutocompleteNgModelComponent\n ],\n imports: [\n CommonModule,InputModule,MatAutocompleteModule,InputNGModelModule,UtilityPipesModule\n ],\n exports: [\n AutocompleteNgModelComponent\n ]\n})\nexport class AutocompleteNgModelModule { }\n","import { Component, Input } from '@angular/core';\nimport { AbstractControl, FormControl } from '@angular/forms';\n \nimport { merge } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\nimport { IOption } from '../../models/form-schema.model';\nimport { InputBasicComponent } from '../input/input-basic.component';\nimport { InputService } from '../input/input.service';\nimport { AutocompleteService } from './autocomplete.service';\n\n@Component({\n selector: 'app-autocomplete',\n templateUrl: './autocomplete.component.html',\n styleUrls: ['../input/input.component.scss', './autocomplete.component.scss'],\n})\nexport class AutocompleteComponent<\n TFormGroup extends {\n [K in keyof TFormGroup]: AbstractControl<any, any>;\n } = any,\n TControl = any,\n TOption = any\n> extends InputBasicComponent<TFormGroup, TControl, TOption> {\n filteredOptions: IOption[];\n @Input() validate = true;\n constructor(public iS: InputService, public autoS: AutocompleteService) {\n super(iS);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.control?.addValidators(this.includesOption.bind(this));\n this.control?.valueChanges.subscribe((r) => {\n // debugger\n super.change({ target: { value: r } });\n });\n // this.options$.subscribe((r) => {\n // if (this.debug) debugger;\n // (this.control as FormControl)?.patchValue(this.control?.value,{emitEvent:false});\n // if (this.control.disabled) this.control.disable({ emitEvent: false });\n // });\n merge(\n this.control.valueChanges.pipe(startWith('')),\n this.options$\n ).subscribe((r) => {\n this.filteredOptions = this.autoS.filterOptions(\n this.control.value,\n this.options\n );\n });\n }\n\n displayWith = (val: string) => {\n return this.options.find((x) => x.value == val)?.label || val;\n };\n\n includesOption = (control: AbstractControl) => {\n const val = control?.value;\n if (!val) return null;\n if (!this.options || this.options.length === 0) return null;\n // debugger\n if (this.options.find((x) => x.value == val)) return null;\n else return { notFound: true };\n };\n}\n","<div class=\"row align-items-center\">\n <app-input-label [colored]=\"colored\" [form]=\"form\" [hint]=\"hint\" [id]=\"id\" [invalidCheckbox]=\"invalidCheckbox\"\n *ngIf=\"showLabel\" [isRequired]=\"isRequired\" [label]=\"label\" [lblCl]=\"lblCl\" [light]=\"light\" [mini]=\"mini\"\n [showLabel]=\"showLabel\" [small]=\"small\" [stacked]=\"stacked\" [theme]=\"theme\" [xsmall]=\"xsmall\">\n </app-input-label>\n <div class=\"{{stacked?'col-12':'col-md'}} position-relative\">\n <form [formGroup]=\"form|toAny\">\n <input type=\"text\" data-noformat=\"true\" [formControlName]=\"name|toAny \" placeholder=\"{{placeholder}}\" id=\"{{id}}\"\n [class]=\"inpCl|inputClass:valid:invalid:showValidation\" [required]=\"required\" [readonly]=\"readonly\"\n #trigger=\"matAutocompleteTrigger\" [matAutocomplete]=\"auto\" #inp>\n <i class=\"input-icon fa fa-search\"\n (click)=\"$event.stopPropagation(); trigger.openPanel()\"></i>\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayWith\">\n <mat-option *ngFor=\"let item of filteredOptions ; trackBy:iS.trackByValue\" [value]=\"item.value\">\n <div class=\"option\" [matTooltip]=\"item.label\" [matTooltipDisabled]=\"ele.scrollWidth<=ele.offsetWidth\" #ele>\n {{item.label}}</div>\n </mat-option>\n </mat-autocomplete>\n <ng-container *ngIf=\"control?.dirty && showValidation && showValidationIcon \">\n <div [ngClass]=\"{valid:control?.valid}\" class=\" validity-icon\"><i class=\"fa fa-check\"></i></div>\n <div [ngClass]=\"{pending:control?.pending}\" class=\" validity-icon\"><i class=\"fa fa-spinner fa-spin\"></i></div>\n <div [ngClass]=\"{invalid:control?.invalid}\" class=\" validity-icon\"><i class=\"fa fa-times\"></i></div>\n </ng-container>\n </form>\n </div>\n</div>\n<app-validation-message *ngIf=\"showValidationMsg\" [control]=\"control\" [label]=\"label\"></app-validation-message>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ValidatorFn, AsyncValidatorFn, FormGroup, FormControl } from '@angular/forms';\nimport { InputService } from '../../input/input.service';\nimport { AutocompleteComponent } from '../autocomplete.component';\nimport { AutocompleteService } from '../autocomplete.service';\n\n@Component({\n selector: 'autocomplete-td-rf',\n templateUrl: './autocomplete-td-rf.component.html',\n styleUrls: ['./autocomplete-td-rf.component.scss'],\n})\nexport class AutocompleteTdRfComponent extends AutocompleteComponent {\n validators: ValidatorFn[];\n @Input('validators') set _validators(v: ValidatorFn[]) {\n this.control?.removeValidators(this.validators);\n this.validators = v;\n this.control?.setValidators(v);\n this.control?.updateValueAndValidity();\n }\n\n asyncValidators: AsyncValidatorFn[];\n @Input('asyncValidators') set _asyncValidators(v: AsyncValidatorFn[]) {\n this.control?.removeValidators(this.asyncValidators);\n this.asyncValidators = v;\n this.control?.setValidators(v);\n this.control?.updateValueAndValidity();\n }\n\n private model: any;\n @Input('model') set _model(v: any) {\n if (v == this.model) return;\n this.model = v;\n if (this.debug) debugger;\n this.control?.enable();\n this.control?.patchValue(v);\n if (this.disabled) this.control?.disable();\n }\n @Output() modelChange = new EventEmitter();\n\n @Input('disabled') set _disabled(v: boolean) {\n if (this.debug) debugger;\n this.disabled = v;\n if (v) {\n if (this.clearOnDisable) this.control?.reset();\n this.control?.disable();\n } else if (this.control?.disabled) {\n this.control?.enable();\n }\n }\n \n constructor(public iS: InputService, public autoS: AutocompleteService) {\n super(iS, autoS);\n this.name = 'item';\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.form = new FormGroup({\n item: new FormControl(this.model, this.validators, this.asyncValidators),\n });\n this.disableControl();\n this.control?.valueChanges.subscribe((r) => {\n this.modelChange.emit(r);\n this.disableControl();\n });\n this.control?.statusChanges.subscribe((r) => {\n if (this.debug) debugger;\n });\n }\n ngAfterViewInit() {\n super.ngAfterViewInit();\n }\n get invalid() {\n return this.control?.invalid;\n }\n}\n","<p>autocomplete-td-rf works!</p>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AutocompleteComponent } from './autocomplete.component';\nimport { InputModule } from '../input/input.module';\nimport {MatAutocompleteModule as MatAutocompleteModule} from '@angular/material/autocomplete';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { AutocompleteTdRfComponent } from './autocomplete-td-rf/autocomplete-td-rf.component';\n\n\n@NgModule({\n declarations: [AutocompleteComponent, AutocompleteTdRfComponent],\n imports: [\n CommonModule,\n InputModule,\n MatAutocompleteModule,\n UtilityPipesModule,\n ],\n exports: [AutocompleteComponent, AutocompleteTdRfComponent],\n})\nexport class AutocompleteModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit,\n} from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup } from '@angular/forms';\nimport { ModalComponent } from '../../modal/modal.component'; ;\n\n@Component({\n selector: 'details-btn',\n templateUrl: './details-btn.component.html',\n styleUrls: ['./details-btn.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DetailsBtnComponent<FG> {\n @Input() form: FormGroup<{ [K in keyof FG]: FormControl<any> }>;\n @Input() fields: (keyof typeof this.form.controls)[];\n @Input() modal: ModalComponent;\n constructor(public cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.form?.valueChanges.subscribe(r=>{\n this.cdr.detectChanges()\n })\n }\n\n get hasDetails() {\n return this.fields?.some((f) => !!this.form.controls[f].value) || false;\n }\n\n get type() {\n return this.hasDetails ? 'primary' : 'secondary';\n }\n}\n","<app-btn icon=\"info\" text=\"Details\" [type]=\"type\" (mclick)=\"modal?.open()\"></app-btn>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DetailsBtnComponent } from './details-btn.component';\nimport { BtnModule } from '../btn.module';\n\n\n\n@NgModule({\n declarations: [DetailsBtnComponent],\n imports: [CommonModule, BtnModule],\n exports: [DetailsBtnComponent],\n})\nexport class DetailsBtnModule {}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n})\nexport class CardComponent implements OnInit {\n @Input() header:string\n constructor() {}\n\n ngOnInit(): void {}\n}\n"," <div class=\"card mt-3\">\n <h5 class=\"card-header bg-primary color-white\">\n {{ header | appTranslate | async }}\n </h5>\n <div class=\"card-body\">\n <ng-content></ng-content>\n </div>\n </div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CardComponent } from './card.component';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\n\n@NgModule({\n declarations: [CardComponent],\n imports: [CommonModule, UtilityPipesModule],\n exports: [CardComponent],\n})\nexport class CardModule {}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styles: [\n `\n .que {\n font-size: 100px;\n }\n `,\n ],\n})\nexport class ConfirmDialogComponent implements OnInit {\n constructor(\n @Inject(MAT_DIALOG_DATA) public text: string,\n public dialogRef: MatDialogRef<ConfirmDialogComponent>\n ) {}\n\n ngOnInit(): void {}\n yes() {\n this.dialogRef.close(true);\n }\n no() {\n this.dialogRef.close(false);\n }\n}\n","<div class=\"text-center\">\n <div class=\"font-weight-bold d-inline-block bg-peimary text-light mt-3 rounded ps-4 pe-4 pt-1 pb-1\">\n {{'CONFIRM'|appTranslate|async}}\n </div>\n <div class=\" \">\n <span class=\"fa fa-warning que text-peimary\">\n \n </span>\n </div>\n\n <div class=\"card-body overflow-auto pre-line\" [innerHTML]=\"text|appTranslate|async\">\n </div>\n\n <div class=\"p-1 p-md-4 \">\n <div class=\"justify-content-between d-flex align-items-center\">\n <div class=\"col-5 ps-0\">\n <button class=\"btn btn-outline-danger m-0 w-100\" (click)=\"no()\">{{'No'|appTranslate|async}}</button>\n </div>\n <div class=\"col-5 pe-0 text-right\">\n <button class=\"btn btn-outline-success m-0 w-100\" (click)=\"yes()\">{{'Yes'|appTranslate|async}}</button>\n </div>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ConfirmDialogComponent } from './confirm-dialog.component';\nimport { MatButtonModule as MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { DirectivesModule } from '../../directives/index.directive';\n\n@NgModule({\n declarations: [ConfirmDialogComponent],\n exports: [ConfirmDialogComponent],\n imports: [CommonModule, MatDialogModule, MatButtonModule,UtilityPipesModule,DirectivesModule],\n})\nexport class ConfirmDialogModule {}\n","import { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfirmDialogComponent } from './confirm-dialog.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ETSConfirmDialogService {\n constructor(public dialog: MatDialog) {}\n confirm(text: string) {\n return this.dialog\n .open(ConfirmDialogComponent, {\n data: text,\n height: 'auto',\n width: '450px',\n autoFocus: false,\n })\n .afterClosed()\n .toPromise()\n .then((r) => {\n if (r) {\n return true;\n } else {\n return false;\n }\n });\n }\n}\n","import {Component, HostListener, Input, OnInit} from '@angular/core';\nimport {\n faArrowLeft,\n faArrowRight,\n faCheck,\n faClone,\n faCogs,\n faEdit,\n faEye,\n faFile,\n faHistory,\n faPen,\n faPlay,\n faPlus,\n faSave,\n faSearch, faSlidersH,\n faTrash,\n faUpload\n} from '@fortawesome/free-solid-svg-icons';\n\n\n@Component({\n selector: 'app-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n})\nexport class ButtonComponent implements OnInit {\n faEye = faEye;\n faPlus = faPlus;\n faClone = faClone;\n faSearch = faSearch;\n faCheck = faCheck;\n faFile = faFile;\n faSave = faSave;\n faEdit = faEdit;\n faUpload = faUpload;\n faPlay = faPlay;\n faPen = faPen;\n faTrash = faTrash;\n faArrowRight = faArrowRight;\n faArrowLeft = faArrowLeft;\n @Input() buttonType: string = '';\n @Input() text: string = '';\n @Input() disabled:boolean;\n faHistory = faHistory;\n faSlidersH = faSlidersH;\n faCogs = faCogs;\n\n constructor() {}\n\n ngOnInit(): void {}}\n\n\n","<div *ngIf=\"buttonType === 'show'\">\n <div matRipple class=\"btn btn-dark btn-lg\">\n <fa-icon [icon]=\"faEye\"></fa-icon>\n {{'Show'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'showCustom'\">\n <div matRipple class=\"btn btn-dark btn-lg\">\n <fa-icon [icon]=\"faEye\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'showsmall'\">\n <div matRipple class=\"btn btn-dark btn-lg\">\n <span class=\"small1\">\n <fa-icon [icon]=\"faEye\"></fa-icon>\n {{'Show'|appTranslate|async}}\n </span>\n\n </div>\n</div>\n<div *ngIf=\"buttonType === 'create'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{'Create New'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'createGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{'Create New'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'createCustom'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'createCustomRed'\">\n <div matRipple class=\"btn btn-outline-danger btn-lg\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'createCustomGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'createCustom2'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n\n <span class=\"small1\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{text|appTranslate|async}}\n </span>\n </div>\n</div>\n<div *ngIf=\"buttonType === 'createCustom2GB'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n\n <span class=\"small1\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{text|appTranslate|async}}\n </span>\n </div>\n</div>\n<div *ngIf=\"buttonType === 'createCustom2small'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg \">\n\n <span class=\"small1\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{text|appTranslate|async}}\n </span>\n </div>\n</div>\n<div *ngIf=\"buttonType === 'createCustom2smallRed'\">\n <div matRipple class=\"btn btn-outline-danger btn-lg \">\n\n <span class=\"small1\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{text|appTranslate|async}}\n </span>\n </div>\n</div>\n<div *ngIf=\"buttonType === 'createCustom2smallGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg \">\n\n <span class=\"small1\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{text|appTranslate|async}}\n </span>\n </div>\n</div>\n<div *ngIf=\"buttonType === 'clone'\">\n <div matRipple class=\"btn btn btn-outline-primary btn-lg btn-clone\">\n <fa-icon [icon]=\"faClone\"></fa-icon>\n {{'Clone'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'clone-red'\">\n <div matRipple class=\"btn btn btn-outline-danger btn-lg btn-clone\">\n <fa-icon [icon]=\"faClone\"></fa-icon>\n {{'Clone'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'search'\">\n <div matRipple class=\"btn btn btn-outline-primary btn-lg btn-clone\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{'Search'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'searchRed'\">\n <div matRipple class=\"btn btn btn-outline-danger btn-lg btn-clone\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{'Search'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'searchGB'\">\n <div matRipple class=\"btn btn btn-outline-primary btn-lg btn-clone\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{'Search'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'searchCustom'\">\n <div matRipple class=\"btn btn btn-outline-primary btn-lg btn-clone\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'searchCustomGB'\">\n <div matRipple class=\"btn btn btn-outline-primary btn-lg btn-clone\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'searchGb'\">\n <div matRipple class=\"btn btn btn-outline-primary btn-lg btn-clone\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{'Search'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'default'\">\n <div matRipple class=\"btn btn btn-outline-primary btn-lg btn-clone\">\n <fa-icon></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'createclone'\">\n <div matRipple class=\"btn btn-outline-primary\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{'Create New'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'add'\">\n <div matRipple class=\"btn btn-outline-primary\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{'Add'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'addred'\">\n <div matRipple class=\"btn btn-outline-danger\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{'Add'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'addYellow'\">\n <div matRipple class=\"btn btn-outline-primary\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{'Add'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'add-red'\">\n <div matRipple class=\"btn btn-outline-secondry\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{'Add'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'edit'\">\n <div matRipple class=\"btn btn-outline-primary\">\n <fa-icon [icon]=\"faEdit\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'editGB'\">\n <div matRipple class=\"btn btn-outline-primary\">\n <fa-icon [icon]=\"faEdit\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'editRed'\">\n <div matRipple class=\"btn btn-outline-danger\">\n <fa-icon [icon]=\"faEdit\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'addCustom'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'addCustomGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n\n\n<div *ngIf=\"buttonType === 'addCustom-red'\">\n <div matRipple class=\"btn btn-outline-danger btn-lg\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'editCustom'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone p-0\">\n <fa-icon [icon]=\"faEdit\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'editCustomGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone p-0\">\n <fa-icon [icon]=\"faEdit\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'submit'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faCheck\"></fa-icon>\n {{'Submit'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'submitRed'\">\n <div matRipple class=\"btn btn-outline-danger btn-lg\">\n <fa-icon [icon]=\"faCheck\"></fa-icon>\n {{'Submit'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'update'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faCheck\"></fa-icon>\n {{'Update'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'history'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faHistory\"></fa-icon>\n {{'History'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'historyGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faHistory\"></fa-icon>\n {{'History'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'adjust'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faSlidersH\"></fa-icon>\n {{'Adjust'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'adjustGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faSlidersH\"></fa-icon>\n {{'Adjust'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'generate'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faCogs\"></fa-icon>\n {{'Generate'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'generateGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faCogs\"></fa-icon>\n {{'Generate'|appTranslate|async}}\n </div>\n</div>\n\n\n\n\n<div *ngIf=\"buttonType === 'document'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n <fa-icon [icon]=\"faFile\"></fa-icon>\n {{'Document'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'find'\" >\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{'Find'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'findRed'\">\n <div matRipple class=\"btn btn-outline-danger btn-clone btn-lg\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{'Find'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'Find Policy'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n\n {{'Find Policy'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'action'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n {{'Action'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'Authorise'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n {{'Authorise'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'Decline'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n {{'Decline'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'changestatus'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n {{'Status'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'generates'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n {{'Generate'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'adjusts'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n {{'Adjust'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'historys'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n {{'History'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'register'\">\n <div matRipple class=\"btn btn-primary\">\n {{'Register New Claim'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'submits'\">\n <div matRipple class=\"btn btn-primary\">\n {{'Submit'|appTranslate|async}}\n </div>\n</div>\n\n\n<div *ngIf=\"buttonType === 'findGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{'Find'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'find-red'\">\n <div matRipple class=\"btn btn-outline-danger btn-clone-red btn-lg\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{'Find'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'findsmall'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n <span class=\"small1\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{'Find'|appTranslate|async}}\n </span>\n\n </div>\n</div>\n<div *ngIf=\"buttonType === 'findsmallred'\">\n <div matRipple class=\"btn btn-outline-danger btn-clone btn-lg\">\n <span class=\"small1\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{'Find'|appTranslate|async}}\n </span>\n\n </div>\n</div>\n<div *ngIf=\"buttonType === 'findsmallGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n <span class=\"small1\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{'Find'|appTranslate|async}}\n </span>\n\n </div>\n</div>\n<div *ngIf=\"buttonType === 'save'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faSave\"></fa-icon>\n {{'Save'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'saveGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faSave\"></fa-icon>\n {{'Save'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'save-red'\">\n <div matRipple class=\"btn btn-outline-danger btn-lg\">\n <fa-icon [icon]=\"faSave\"></fa-icon>\n {{'Save'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'saverun-red'\">\n <div matRipple class=\"btn btn-outline-danger btn-lg\">\n <fa-icon [icon]=\"faSave\"></fa-icon>\n {{'Save & Run'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'custSave'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faSave\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'upload'\">\n <div matRipple class=\"btn btn-primary btn-lg\">\n <fa-icon [icon]=\"faUpload\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'uploadRed'\">\n <div matRipple class=\"btn btn-danger btn-lg\">\n <fa-icon [icon]=\"faUpload\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'uploadGB'\">\n <div matRipple class=\"btn btn-primary btn-lg\">\n <fa-icon [icon]=\"faUpload\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'custSave2'\">\n <div matRipple class=\"btn btn-outline-primary \">\n <fa-icon [icon]=\"faSave\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'btnCustomClone'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone\">\n {{text|appTranslate|async}}</div>\n</div>\n<div *ngIf=\"buttonType === 'btnCustomCloneRed'\">\n <div matRipple class=\"btn btn-outline-danger btn-clone\">\n {{text|appTranslate|async}}</div>\n</div>\n\n<div *ngIf=\"buttonType === 'btnCustomCloneGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone\">\n {{text|appTranslate|async}}</div>\n</div>\n\n<div *ngIf=\"buttonType === 'create-red'\">\n <div matRipple class=\"btn btn-outline-danger btn-lg\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{'Create New'|appTranslate|async}}\n </div>\n</div>\n\n\n<div *ngIf=\"buttonType === 'show-red'\">\n <div matRipple class=\"btn btn-secondry bg-dark color-white btn-lg\">\n <fa-icon [icon]=\"faEye\"></fa-icon>\n {{'Show'|appTranslate|async}}\n </div>\n</div>\n\n\n<div *ngIf=\"buttonType === 'custSave-red'\">\n <div matRipple class=\"btn btn-outline-secondry btn-lg\">\n <fa-icon [icon]=\"faSave\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'btnCustomNote'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone\">\n <fa-icon [icon]=\"faPen\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'btnCustomNoteRed'\">\n <div matRipple class=\"btn btn-outline-danger btn-clone\">\n <fa-icon [icon]=\"faPen\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'btnCustomNoteGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone\">\n <fa-icon [icon]=\"faPen\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'btnCustomCloneRaised'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-raised\">\n {{text|appTranslate|async}}</div>\n</div>\n<div *ngIf=\"buttonType === 'btnCustomCloneRaisedRed'\">\n <div matRipple class=\"btn btn-outline-danger btn-clone-red btn-raised\">\n {{text|appTranslate|async}}</div>\n</div>\n<div *ngIf=\"buttonType === 'btnCustomCloneRaisedYellow'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone-yellow btn-raised\">\n {{text|appTranslate|async}}</div>\n</div>\n<div *ngIf=\"buttonType === 'run'\">\n <div matRipple class=\"btn btn-primary btn-lg\">\n <fa-icon [icon]=\"faPlay\"></fa-icon>\n {{'Run'|appTranslate|async}}\n\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'insert'\">\n <div matRipple class=\"btn btn-outline-primary\">\n\n {{'Insert'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'delete'\">\n <div matRipple class=\"btn btn-outline-danger btn-lg\">\n\n <fa-icon [icon]=\"faTrash\"></fa-icon>\n\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'translate'\">\n <div matRipple class=\"btn btn-dark btn-lg\">\n {{'Translate'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'next'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n {{'Next'|appTranslate|async}}\n <fa-icon [icon]=\"faArrowRight\"></fa-icon>\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'nextRed'\">\n <div matRipple class=\"btn btn-outline-danger btn-clone btn-lg\">\n {{'Next'|appTranslate|async}}\n <fa-icon [icon]=\"faArrowRight\"></fa-icon>\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'nextGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n {{'Next'|appTranslate|async}}\n <fa-icon [icon]=\"faArrowRight\"></fa-icon>\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'next-red'\">\n <div matRipple class=\"btn btn-outline-danger btn-clone-red btn-lg\">\n {{'Next'|appTranslate|async}}\n <fa-icon [icon]=\"faArrowRight\"></fa-icon>\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'addFilter'\">\n <div matRipple class=\"btn btn-dark btn-lg\">\n\n {{'Add Filter'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'prev'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n <fa-icon [icon]=\"faArrowLeft\"></fa-icon>\n {{'Prev'|appTranslate|async}}\n </div>\n</div>\n\n\n\n<div *ngIf=\"buttonType === 'uploadLg'\">\n <div matRipple class=\"btn btn-primary btn-lg\">\n <fa-icon [icon]=\"faUpload\"></fa-icon>\n {{'Upload'|appTranslate|async}}\n </div>\n</div>\n<!-- -->\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { ButtonComponent } from './button.component';\nimport { DirectivesModule } from '../../../directives/index.directive';\nimport { UtilityPipesModule } from '../../../pipes/utility.pipe';\nimport { MatRippleModule } from '@angular/material/core';\n\n@NgModule({\n declarations: [ButtonComponent],\n imports: [\n CommonModule,\n FontAwesomeModule,\n UtilityPipesModule,\n MatRippleModule,\n ],\n exports: [ButtonComponent],\n})\nexport class ComponentsModule {}\n","export type FileNameFormat =\n | 'NON_POLICY_DOCUMENT'\n | 'POLICY_DOCUMENT'\n | 'POLICY_DOCUMENT_WITH_SUFFIX';\n\n// export const formats = {\n// NON_POLICY_DOCUMENT: 'refCat_refNo_docSubCat_title.ext',\n// POLICY_DOCUMENT: 'refCat_policyNo-policyCode_docSubCat_title.ext',\n// POLICY_DOCUMENT_WITH_SUFFIX: 'refCat_policyNo-policyCode-policyNoSuffix_docSubCat_title.ext',\n// };\n\nexport const formats = {\n NON_POLICY_DOCUMENT: 'refCat_refNo_docSubCat_title',\n POLICY_DOCUMENT: 'refCat_policyNo-policyCode_docSubCat_title',\n POLICY_DOCUMENT_WITH_SUFFIX: 'refCat_policyNo-policyCode-policyNoSuffix_docSubCat_title',\n};\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { FileNameFormat, formats } from './documents-name-display.model';\n\n@Component({\n selector: 'app-documents-name-display',\n templateUrl: './documents-name-display.component.html',\n styleUrls: ['./documents-name-display.component.scss'],\n})\nexport class DocumentsNameDisplayComponent implements OnInit {\n @Input() files: File[];\n @Input() fileNameFormat: FileNameFormat;\n @Output() valid = new EventEmitter<boolean>();\n @Output() error = new EventEmitter<any>();\n fileFormats = formats;\n\n fileNames: any[];\n errors: string[];\n\n constructor() {}\n\n ngOnInit(): void {}\n\n ngOnChanges(changes: SimpleChanges) {\n // reset errors\n this.errors = [];\n\n if (changes.files.currentValue != changes.files.previousValue) {\n this.displayFileNames(changes.files.currentValue);\n }\n }\n\n displayFileNames(files) {\n this.fileNames = files\n ?.map((file) => this.parseFileName(file.name))\n // filter out files that weren't rightly named\n .filter((item) => !(item === null));\n }\n\n parseFileName(name) {\n let params;\n // returns an object representing different parts of the name or null if the name doesn't match\n switch (this.fileNameFormat) {\n case 'POLICY_DOCUMENT':\n params = this.getPolicyDocumentParams(name);\n break;\n case 'POLICY_DOCUMENT_WITH_SUFFIX':\n params = this.getPolicyDocumentWithSuffixParams(name);\n break;\n case 'NON_POLICY_DOCUMENT':\n params = this.getNonPolicyDocumentParams(name);\n break;\n default:\n params = {};\n }\n\n if (this.errors.length) {\n this.valid.emit(false);\n this.error.emit(this.errors);\n } else {\n this.valid.emit(true);\n }\n\n return params;\n }\n\n getPolicyDocumentParams(name) {\n const params = name.split(/[_\\-\\.]/i);\n\n const [refCat, policyNo, policyCode, docSubCat, title, ext] = params;\n\n const valid =\n refCat &&\n policyNo &&\n policyCode &&\n docSubCat &&\n title &&\n ext &&\n params.length === 6;\n if (!valid) this.errors.push(name);\n\n return valid ? { refCat, policyNo, policyCode, docSubCat, title } : null;\n }\n\n getPolicyDocumentWithSuffixParams(name) {\n const params = name.split(/[_\\-\\.]/i);\n\n const [\n refCat,\n policyNo,\n policyCode,\n policyNoSuffix,\n docSubCat,\n title,\n ext,\n ] = params;\n\n const valid =\n refCat &&\n policyNo &&\n policyCode &&\n policyNoSuffix &&\n docSubCat &&\n title &&\n ext &&\n params.length === 7;\n if (!valid) this.errors.push(name);\n\n return valid\n ? {\n refCat,\n policyNo,\n policyCode,\n policyNoSuffix,\n docSubCat,\n title,\n }\n : null;\n }\n\n getNonPolicyDocumentParams(name) {\n const params = name.split(/[_\\.]/i);\n\n const [refCat, refNo, docSubCat, title, ext] = params;\n const valid =\n refCat && refNo && docSubCat && title && ext && params.length === 5;\n if (!valid) this.errors.push(name);\n\n return valid ? { refCat, refNo, docSubCat, title } : null;\n }\n}\n","<div>\n <div class=\"row justify-content-center\">\n <div class=\"col-md-auto p-3 mt-4 text-center\">\n <span class=\"text-muted\">{{'Upload files named in this format: '|appTranslate|async}}</span>\n <span>{{fileFormats[fileNameFormat]}}</span>\n </div>\n </div>\n <div class=\"row justify-content-center\">\n <div *ngIf=\"errors?.length\" class=\"col-md-auto text-danger border border-danger light-red-bg rounded text-center mt-2 mb-4\">\n <p>{{'The following files are not in the right format: '}}</p>\n <span *ngFor=\"let error of errors\" class=\"me-5\">{{error}}</span>\n </div>\n </div>\n <div class=\"table-responsive\" *ngIf=\"files?.length\">\n <table class=\"table table-striped col-md-auto\" [ngSwitch]=\"fileNameFormat\">\n <ng-container *ngSwitchCase=\"'NON_POLICY_DOCUMENT'\">\n <thead>\n <th>{{'Ref Cat'|appTranslate|async}}</th>\n <th>{{'Ref No'|appTranslate|async}}</th>\n <th>{{'Doc SubCat'|appTranslate|async}}</th>\n <th>{{'Title'|appTranslate|async}}</th>\n </thead>\n <tbody>\n <tr *ngFor=\"let file of fileNames\">\n <td>{{file.refCat}}</td>\n <td>{{file.refNo}}</td>\n <td>{{file.docSubCat}}</td>\n <td>{{file.title}}</td>\n </tr>\n </tbody>\n </ng-container>\n <ng-container *ngSwitchCase=\"'POLICY_DOCUMENT'\">\n <thead>\n <th>{{'Ref Cat'|appTranslate|async}}</th>\n <th>{{'Policy No'|appTranslate|async}}</th>\n <th>{{'Policy Code'|appTranslate|async}}</th>\n <th>{{'Doc SubCat'|appTranslate|async}}</th>\n <th>{{'Title'|appTranslate|async}}</th>\n </thead>\n <tbody>\n <tr *ngFor=\"let file of fileNames\">\n <td>{{file.refCat}}</td>\n <td>{{file.policyNo}}</td>\n <td>{{file.policyCode}}</td>\n <td>{{file.docSubCat}}</td>\n <td>{{file.title}}</td>\n </tr>\n </tbody>\n </ng-container>\n <ng-container *ngSwitchCase=\"'POLICY_DOCUMENT_SUFFIX'\">\n <thead>\n <th>{{'Ref Cat'|appTranslate|async}}</th>\n <th>{{'Policy No'|appTranslate|async}}</th>\n <th>{{'Policy Code'|appTranslate|async}}</th>\n <th>{{'Policy No Suffix'|appTranslate|async}}</th>\n <th>{{'Doc SubCat'|appTranslate|async}}</th>\n <th>{{'Title'|appTranslate|async}}</th>\n </thead>\n <tbody>\n <tr *ngFor=\"let file of fileNames\">\n <td>{{file.refCat}}</td>\n <td>{{file.policyNo}}</td>\n <td>{{file.policyCode}}</td>\n <td>{{file.policyNoSuffix}}</td>\n <td>{{file.docSubCat}}</td>\n <td>{{file.title}}</td>\n </tr>\n </tbody>\n </ng-container>\n </table>\n\n </div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InputModule } from '../input/input.module';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { RouterModule } from '@angular/router';\nimport { DirectivesModule } from '../../directives/index.directive';\nimport { DocumentsNameDisplayComponent } from './documents-name-display.component';\n\n@NgModule({\n declarations: [DocumentsNameDisplayComponent],\n imports: [\n CommonModule,\n InputModule,\n UtilityPipesModule,\n MatTooltipModule,\n RouterModule,\n DirectivesModule,\n ],\n exports: [DocumentsNameDisplayComponent],\n})\nexport class DocumentsNameDisplayModule {}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ETSInputType } from '../../models/index.model';\n\n@Component({\n selector: 'app-editable-text-case',\n templateUrl: './editable-text-case.component.html',\n styleUrls: ['./editable-text-case.component.scss'],\n})\nexport class EditableTextCaseComponent implements OnInit {\n @Input() action: any;\n @Input() coloredLbl: boolean;\n @Input() coloredVal: boolean;\n @Input() form: any;\n @Input() formatter: (item) => string | Promise<string> | Observable<string>;\n @Input() hint: string;\n @Input() label: string;\n @Input() light: boolean;\n @Input() mini: boolean;\n @Input() name: string;\n @Input() route: string;\n @Input() routeFunc: (item) => Promise<string> | Observable<string>;\n @Input() showEditing: boolean;\n @Input() stacked: boolean;\n @Input() type: ETSInputType;\n @Input() value: any;\n @Input() wrapLabel: boolean = true;\n editing: boolean;\n constructor( ) {}\n\n ngOnInit(): void {}\n reset() {\n this.editing = false;\n }\n unreset() {\n if (this.action) {\n this.action();\n } else {\n this.editing = true;\n }\n } \n}\n","<div class=\"row align-items-center\">\n <label [matTooltip]=\"hint\" class=\"col-md-{{stacked?'12 pb-0':mini?'auto':''}} m-0 hide-scroll-x\"\n [ngClass]=\"{'text-primary':coloredLbl,light,'overflow-x-auto':wrapLabel}\">\n {{label|appTranslate|async}}\n </label>\n <div class=\"{{stacked?'col-12':'col-md'}} position-relative\">\n <div class=\"row align-items-center\">\n <ng-container *ngIf=\"editing; else elseTemplate\">\n <div class=\"col-9 pe-0\">\n <app-input-basic [form]=\"form\" [stacked]=\"true\" [showLabel]=\"false\" [name]=\"name\" [type]=\"type\">\n </app-input-basic>\n </div>\n <div class=\"col-auto \">\n <i (click)=\"reset()\" class=\"ps-1 pointer fas fa-undo-alt text-danger\"></i>\n </div>\n </ng-container>\n <ng-template #elseTemplate> \n <a [mrouterLink]=\"route||(routeFunc|functionCaller1:value|async)\"\n class=\"{{!coloredVal?'':'text-primary'}} col-{{!stacked?'auto':showEditing?'9':'12'}} lbl\" >\n <div class=\"hide-scroll-x overflow-x-auto\">{{((value|valueFormatter:formatter)|async)||'-'}}</div>\n </a>\n <div class=\"col-auto \" *ngIf=\"showEditing\">\n <i (click)=\"unreset()\" class=\"ps-1 pointer fas fa-pencil-alt {{!coloredVal?'':'text-primary'}}\"></i>\n </div>\n </ng-template>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EditableTextCaseComponent } from './editable-text-case.component';\nimport { InputModule } from '../input/input.module';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { RouterModule } from '@angular/router';\nimport { DirectivesModule } from '../../directives/index.directive';\n\n@NgModule({\n declarations: [EditableTextCaseComponent],\n imports: [\n CommonModule,\n InputModule,\n UtilityPipesModule,\n MatTooltipModule,\n RouterModule,\n DirectivesModule,\n ],\n exports: [EditableTextCaseComponent],\n})\nexport class EditableTextCaseModule {}\n","import { ETSenvironment } from \"../../../../../environments/environment\";\n\n \nexport interface IUADeletionPayload {\n id: number;\n selected: boolean;\n}\nexport interface IUASearchObj {\n loggedTimeFrom: string;\n loggedTimeTo: string;\n pageNumber: number;\n pageSize: number;\n pageTitle: string;\n screen: string;\n sortBy: string;\n userAgent: string;\n userName: string;\n}\nexport interface IUASearchResponse {\n id: number;\n userName?: string;\n loggedIn: boolean;\n ipAddress: string;\n loggedTime: string;\n userAgent: string;\n pageUrl?: string;\n screen?: string;\n pageTitle: string;\n activityDescription?: string;\n requestUrl?: string;\n requestMethod?: string;\n companyCode?: string;\n}\nexport interface IUserActivity {\n id?: number;\n activityDescription?: string;\n pageTitle?: string;\n pageUrl?: string;\n requestMethod?: string;\n requestUrl?: string;\n code: EUA;\n}\nexport class UserActivity implements IUserActivity {\n id: number;\n activityDescription: string;\n pageTitle: string;\n pageUrl: string;\n requestMethod: string;\n requestUrl: string;\n code: EUA;\n constructor(data:IUserActivity) {\n Object.assign(this, data);\n this.activityDescription = (\n codeToDescriptionMap.find((x) => x.key == this.code)?.value +\n ' ' +\n (this.activityDescription ? `{${this.activityDescription}}` : '')\n )?.trim();\n this.pageUrl =this.pageUrl || location.href;\n this.pageTitle =this.pageTitle|| ETSenvironment.pageTitle;\n }\n}\nexport enum EUA {\n exported = 'export',\n visited = 'visited',\n searched = 'searched',\n downloaded = \"downloaded\"\n}\nconst codeToDescriptionMap = [\n { key: EUA.exported, value: 'Exported data' },\n { key: EUA.visited, value: 'User visited new page' },\n { key: EUA.searched, value: 'User performed a search' },\n { key: EUA.downloaded, value: 'User downloaded an item' },\n];\n","import { Injectable } from '@angular/core';\nimport { clone } from 'lodash-es';\nimport { ETSenvironment } from '../../../../../environments/environment';\nimport { Observable } from 'rxjs';\nimport { IUserActivity, UserActivity } from './user-activity.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserActivityService {\n private activities: IUserActivity[] = [];\n submissionFunc: (activities: UserActivity[]) => Observable<any>;\n constructor() {\n setInterval(() => {\n if (!this.activities?.length) return;\n const activities = clone(this.activities);\n this.activities = [];\n this.submissionFunc(activities).toPromise();\n }, 1000);\n }\n\n add = (data: IUserActivity) => {\n if (ETSenvironment.production) this.activities.push(new UserActivity(data));\n };\n}\n","import { Component, Input, OnInit } from '@angular/core'; \nimport { EUA } from '../../../Reusables/reusable-pages/user-activity/ua-extras/user-activity.model';\nimport { UserActivityService } from '../../../Reusables/reusable-pages/user-activity/ua-extras/user-activity.service';\nimport { ETSTableCol } from '../../models/index.model';\n\n@Component({\n selector: 'app-export-table',\n templateUrl: './export-table.component.html',\n styleUrls: ['./export-table.component.scss'],\n})\nexport class ExportTableComponent implements OnInit {\n @Input() data: any[];\n @Input() displayedColumns: ETSTableCol[];\n @Input() label: string;\n @Input() disabled: boolean;\n constructor(public uaS: UserActivityService) {}\n\n ngOnInit(): void {}\n downloadCSV(data: any[] = this.data, label = this.label) {\n const csvArray =\n `${this.displayedColumns.map((x) => x.t).join(',')}\\r\\n` +\n data\n .map((x) => this.displayedColumns.map((y) => x[y.f]).join(','))\n .join('\\r\\n');\n // console.log(csvArray);\n // debugger\n\n const a = document.createElement('a');\n const blob = new Blob([csvArray], { type: 'text/csv' });\n const url = window.URL.createObjectURL(blob);\n const docTitle = `${this.label} ${new Date().toISOString()} ${\n this.displayedColumns?.length\n }x${data?.length}.csv`;\n a.href = url;\n a.download = docTitle;\n a.click();\n window.URL.revokeObjectURL(url);\n a.remove();\n this.uaS.add({ code: EUA.downloaded, activityDescription: docTitle });\n }\n}\n","<app-btn group=\"download\" [disabled]=\"disabled||!data?.length||!displayedColumns?.length\" (mclick)=\"downloadCSV()\"\n ></app-btn> ","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ExportTableComponent } from './export-table.component';\nimport { BtnModule } from '../btn/btn.module';\n\n\n\n@NgModule({\n declarations: [\n ExportTableComponent\n ],\n imports: [\n CommonModule,BtnModule\n ],\n exports: [\n ExportTableComponent\n ]\n})\nexport class ExportTableModule { }\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core'; \nimport { ETSUtilityService } from '../../../Services/utility.service';\n\n@Component({\n selector: 'app-file-upload',\n templateUrl: './file-upload.component.html',\n styleUrls: ['./file-upload.component.scss'],\n})\nexport class FileUploadComponent<IFile_Metadata = any> implements OnInit {\n @Input() help: string;\n @Input() label: string;\n @Input() class: string;\n @Input() disabled: boolean;\n @Input() multiple: boolean;\n @Input() mini = true;\n @Input() useDocumentModal: boolean;\n @Input() listFiles: boolean = true;\n accept: string;\n @Input('accept') set _accept(v: string) {\n switch (v) {\n case 'image':\n this.accept = '.png,.jpg,.docx,.pdf';\n break;\n\n default:\n this.accept = v;\n break;\n }\n }\n // @ViewChild('uploadInput') uploadInputRef: ElementRef<HTMLInputElement>;\n @Input() file: File;\n @Output() fileChange = new EventEmitter<File>();\n @Input() files: File[];\n @Output() filesChange = new EventEmitter<File[]>();\n @Input() fileMetadata: IFile_Metadata;\n @Output() fileMetadataChange = new EventEmitter<IFile_Metadata>();\n @Input() fileMetadatas: IFile_Metadata[] = [];\n @Output() fileMetadatasChange = new EventEmitter<IFile_Metadata[]>();\n @Input('fileMetadatas') set _fileMetadatas(v: IFile_Metadata) {\n this.fileMetadatas.push();\n }\n\n constructor(public uS: ETSUtilityService) {}\n\n ngOnInit(): void {}\n get isSingle() {\n return !this.multiple;\n }\n private acceptFiles(...files: File[]) {\n this.files = files;\n this.file = files ? files[0] : null;\n }\n private acceptFileMetadata(fm: IFile_Metadata) {\n this.fileMetadatas = this.fileMetadatas || [];\n this.fileMetadata = fm;\n if (this.multiple) this.fileMetadatas.push(fm);\n else this.fileMetadatas = [fm];\n }\n private emitFiles() {\n if (this.multiple) this.filesChange.emit(this.files);\n else this.fileChange.emit(this.file);\n }\n\n onUpload(event: any) {\n const files = Array.from<File>(event.target.files);\n this.acceptFiles(...files);\n this.emitFiles();\n }\n\n removeFile(index: number) {\n this.files.splice(index, 1);\n this.file = this.files ? this.files[0] : null;\n\n this.fileChange.emit(this.file);\n this.filesChange.emit(this.files);\n }\n removeFileMetadata(index: number) {\n this.fileMetadatas.splice(index, 1);\n this.fileMetadata = null;\n this.fileMetadataChange.emit(this.fileMetadata);\n this.fileMetadatasChange.emit(this.fileMetadatas);\n }\n openDialog() {\n const inp = document.createElement('input');\n inp.type = 'file';\n inp.accept = this.accept;\n inp.multiple = this.multiple;\n inp.onchange = (e) => {\n this.onUpload(e);\n inp.remove();\n };\n // document.body.appendChild(inp);\n inp.click();\n }\n}\n","<div *ngIf=\"listFiles\" [ngClass]=\"{meta:mini}\" class=\"{{class}} form-label mb-2 hide-scroll\">\n <div class=\"row align-items-start mb-1\" *ngFor=\"let item of files;let i = index\">\n <div class=\"col\">\n <div class=\"hide-scroll file-name\">\n {{item?.name}}\n </div>\n </div>\n <div class=\"col-auto text-end\">\n <span class=\"text-danger pointer p-1 fa fa-close\" (click)=\"removeFile(i);\"></span>\n </div>\n </div>\n <div class=\"row align-items-start mb-1\" *ngFor=\"let item of fileMetadatas;let i = index\">\n <div class=\"col\">\n <div class=\"hide-scroll file-name\">\n {{(item|toAny)?.metadata?.title}}\n </div>\n </div>\n <div class=\"col-auto text-end\">\n <span class=\"text-danger pointer p-1 fa fa-close\" (click)=\"removeFileMetadata(i)\"></span>\n </div>\n </div>\n</div>\n<!-- <input type=\"file\" style=\"display: none;\" accept=\"{{accept}}\" (change)=\"onUpload($event)\" #uploadInput [multiple]=\"multiple\"> -->\n<app-btn icon=\"upload\" (mclick)=\"openDialog()\" [type]=\"file||(fileMetadata|toAny)?.file?'primary':'secondary'\"\n [disabled]=\"disabled\" [help]=\"help\" [text]=\"label\">\n\n</app-btn>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FileUploadComponent } from './file-upload.component';\nimport { BtnModule } from '../btn/btn.module';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\n\n@NgModule({\n declarations: [FileUploadComponent],\n imports: [CommonModule, BtnModule,UtilityPipesModule],\n exports: [FileUploadComponent],\n})\nexport class FileUploadModule {}\n","export namespace IntlTelInput {\n export interface IIntlTelInput {\n id: number;\n a;\n b?: any;\n c?: any;\n d: D;\n e: boolean;\n g: boolean;\n s: ISelectedCountry;\n p: P[];\n countryCodeMaxLen: number;\n dialCodes: DialCodes;\n q: Q;\n preferredCountries: PreferredCountry[];\n k;\n selectedFlag;\n l;\n j: string;\n isValidNumber(): boolean;\n getSelectedCountryData: () => {\n name: string;\n iso2: string;\n dialCode: string;\n };\n getNumberType(): ENumberType;\n getNumber(): string;\n destroy();\n setCountry(alpha2: string);\n setNumber(phoneNumber: string);\n }\n\nenum ENumberType {\n 'FIXED_LINE' = 0,\n 'MOBILE' = 1,\n 'FIXED_LINE_OR_MOBILE' = 2,\n 'TOLL_FREE' = 3,\n 'PREMIUM_RATE' = 4,\n 'SHARED_COST' = 5,\n 'VOIP' = 6,\n 'PERSONAL_NUMBER' = 7,\n 'PAGER' = 8,\n 'UAN' = 9,\n 'VOICEMAIL' = 10,\n 'UNKNOWN' = -1,\n}\nexport class IntlTelInputOptions implements IIntlTelInputOptions {\n allowDropdown?: boolean = true;\n autoHideDialCode?: boolean = true;\n autoPlaceholder?: 'aggressive' | 'polite';\n customContainer?: string;\n customPlaceholder?(): string;\n dropdownContainer?: any;\n excludeCountries?: string[];\n formatOnDisplay?: boolean = true;\n geoIpLookup?(): string;\n hiddenInput?: string;\n initialCountry?: string;\n localizedCountries?: { [x: string]: string };\n nationalMode?: boolean = true;\n onlyCountries?: string[];\n placeholderNumberType?: 'MOBILE';\n preferredCountries?: string[];\n separateDialCode?: boolean;\n utilsScript?: string;\n constructor(data?: IIntlTelInputOptions) {\n if (data)\n for (const key in data) {\n if (\n Object.prototype.hasOwnProperty.call(data, key) &&\n typeof data[key] != undefined\n ) {\n this[key] = data[key];\n }\n }\n this.autoPlaceholder = this.autoPlaceholder || 'polite';\n this.customContainer = this.customContainer || '';\n this.excludeCountries = this.excludeCountries || [];\n this.hiddenInput = this.hiddenInput || '';\n this.initialCountry = this.initialCountry || '';\n this.onlyCountries = this.onlyCountries || [];\n this.placeholderNumberType = this.placeholderNumberType || 'MOBILE';\n this.utilsScript = this.utilsScript || '';\n }\n}\nexport interface IIntlTelInputOptions {\n allowDropdown?: boolean;\n autoHideDialCode?: boolean;\n autoPlaceholder?: 'aggressive' | 'polite';\n customContainer?: string;\n customPlaceholder?(): string;\n dropdownContainer?: any;\n excludeCountries?: string[];\n formatOnDisplay?: boolean;\n geoIpLookup?(): string;\n hiddenInput?: string;\n initialCountry?: string;\n localizedCountries?: { [x: string]: string };\n nationalMode?: boolean;\n onlyCountries?: string[];\n placeholderNumberType?: 'MOBILE';\n preferredCountries?: string[];\n separateDialCode?: boolean;\n utilsScript?: string;\n}\n\n export interface D {\n allowDropdown: boolean;\n autoHideDialCode: boolean;\n autoPlaceholder: string;\n customContainer: string;\n customPlaceholder?: any;\n dropdownContainer?: any;\n excludeCountries: any[];\n formatOnDisplay: boolean;\n geoIpLookup?: any;\n hiddenInput: string;\n initialCountry: string;\n localizedCountries?: any;\n nationalMode: boolean;\n onlyCountries: any[];\n placeholderNumberType: string;\n preferredCountries: string[];\n separateDialCode: boolean;\n utilsScript: string;\n }\n\n export interface ISelectedCountry {\n name: string;\n iso2: string;\n dialCode: string;\n priority: number;\n areaCodes?: any;\n }\n\n export interface P {\n name: string;\n iso2: string;\n dialCode: string;\n priority: number;\n areaCodes: string[];\n }\n\n export interface DialCodes {\n [x: number]: boolean;\n }\n\n export interface Q {\n [x: number]: string[];\n }\n\n export interface PreferredCountry {\n name: string;\n iso2: string;\n dialCode: string;\n priority: number;\n areaCodes?: any;\n }\n}\n","import { Injectable } from '@angular/core';\nimport isoCountries from './iso-3166.json';\nimport { IntlTelInput } from './phone-number.model';\nexport interface ICountry {\n name: string;\n alpha2: string;\n alpha3: string;\n countryCode: string;\n 'iso_3166-2': string;\n region: string;\n subRegion: string;\n intermediateRegion: string;\n regionCode: string;\n subRegionCode: string;\n intermediateRegionCode: string;\n}\n@Injectable({\n providedIn: 'root',\n})\nexport class PhoneNumberService {\n isoCountries: ICountry[] = isoCountries;\n\n map: Map<string, IntlTelInput.ISelectedCountry> = new Map();\n constructor() {}\n\n getByCode3(code: string) {\n return isoCountries.find((x) => x.alpha3 == code);\n }\n\n clearMap() {\n this.map.clear();\n }\n\n setInMap(key: string, country: IntlTelInput.ISelectedCountry) {\n this.map.set(key, country);\n }\n}\n","import { Directive, ElementRef } from '@angular/core';\nimport { Ng2TelInput } from 'ng2-tel-input';\n\n@Directive({\n selector: '[phoneNumber]',\n})\nexport class PhoneNumberDirective extends Ng2TelInput {\n constructor(private ell: ElementRef<HTMLInputElement>) {\n super(ell, 'browser'); \n }\n\n ngOnInit() {\n super.ngOnInit(); \n } \n getUtilsScript(options: any) {\n return `https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.14/js/utils.js`;\n return super.getUtilsScript(options);\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { Ng2TelInput } from 'ng2-tel-input';\nimport { InputBasicComponent } from '../input/input-basic.component';\nimport { InputService } from '../input/input.service';\nimport { IntlTelInput } from './phone-number.model';\nimport { ICountry, PhoneNumberService } from './phone-number.service';\n\n@Component({\n selector: 'app-phone-number',\n templateUrl: './phone-number.component.html',\n styleUrls: ['./phone-number.component.scss', '../input/input.component.scss'],\n})\nexport class PhoneNumberComponent extends InputBasicComponent {\n @Input() showLabel: boolean = true;\n country: ICountry;\n private countryAlpha2: string;\n iti: IntlTelInput.IIntlTelInput;\n @Input('countryCode3') set _countryCode3(v: string) {\n if (v) {\n this.country = this.pnS.getByCode3(v);\n this.countryAlpha2 = this.country?.alpha2?.toString()?.toLowerCase();\n }\n if (this.country?.alpha2 && this.iti) {\n this.iti.setCountry(this.country.alpha2);\n this.config.onlyCountries = [this.country.alpha2];\n (this.iti as any).onlyCountries = [this.country.alpha2];\n }\n this.control?.updateValueAndValidity();\n }\n @Input() config = new IntlTelInput.IntlTelInputOptions({\n // separateDialCode: true,\n allowDropdown: false,\n initialCountry: 'ng',\n });\n @Output() onCountrySelect = new EventEmitter<IntlTelInput.ISelectedCountry>();\n @ViewChild('pn') pnRef: ElementRef<HTMLInputElement>;\n constructor(public iS: InputService, public pnS: PhoneNumberService) {\n super(iS);\n }\n\n ngOnInit(): void {\n this.control?.addValidators(this.validate.bind(this));\n }\n ngAfterViewInit(): void {\n // this.pnRef.nativeElement.addEventListener('countrychange', () => {\n // const selectedCountry = this.iti.getSelectedCountryData();\n // if (this.country.alpha2 != selectedCountry.iso2) selectedCountry.iso2;\n // });\n if (this.country) {\n this.iti?.setCountry(this.country.alpha2);\n this.config.onlyCountries = [this.country.alpha2];\n }\n }\n\n onCountryChange(e) {\n console.log('onCountryChange', e);\n }\n telInputObject(e: IntlTelInput.IIntlTelInput) {\n // console.log(1, e, e.s);\n this.iti = e;\n this.pnS.setInMap(this.name?.toString(), this.selectedCountry);\n this.onCountrySelect.emit(this.selectedCountry);\n }\n get selectedCountry() {\n return this.iti.s;\n }\n getNumber(e) {\n this.control.patchValue(e);\n }\n validate(control: AbstractControl) {\n // debugger;\n if (!this.iti?.getNumber() || this.iti?.isValidNumber()) {\n return null;\n } else if (this.countryAlpha2 != this.iti?.getSelectedCountryData()?.iso2) {\n return {\n custom:\n `Phone number's country (${\n this.iti?.getSelectedCountryData()?.iso2\n }) does not match selected country ` + (this.countryAlpha2 || ''),\n };\n } else {\n return { custom: 'Phone number is invalid' };\n }\n }\n isValid(e) {}\n}\n","<div [formGroup]=\"form|toAny\" class=\"row\">\n <app-input-label [colored]=\"colored\" [form]=\"form\" [hint]=\"hint\" [id]=\"id\" *ngIf=\"showLabel\"\n [invalidCheckbox]=\"invalidCheckbox\" [isRequired]=\"isRequired\" [label]=\"label\" [lblCl]=\"lblCl\" [light]=\"light\"\n [mini]=\"mini\" [showLabel]=\"showLabel\" [small]=\"small\" [stacked]=\"stacked\" [theme]=\"theme\" [xsmall]=\"xsmall\">\n </app-input-label>\n <input type=\"text\" phoneNumber [formControlName]=\"name|toAny\" [class]=\"inpCl|inputClass:valid:invalid:showValidation\"\n [ng2TelInputOptions]=\"config\" (hasError)=\"isValid($event)\" #pn (ng2TelOutput)=\"getNumber($event)\"\n (intlTelInputObject)=\"telInputObject($event)\" (countryChange)=\"onCountryChange($event)\" />\n <app-validation-message *ngIf=\"showValidationMsg\" [label]=\"label\" [control]=\"control\"></app-validation-message>\n <!-- <input type=\"text\" [formControlName]=\"name|toAny\" [class]=\"inpCl|inputClass:valid:invalid:showValidation\" ng2TelInput\n [ng2TelInputOptions]=\"config\" (hasError)=\"isValid($event)\" #pn (ng2TelOutput)=\"getNumber($event)\"\n (intlTelInputObject)=\"telInputObject($event)\" (countryChange)=\"onCountryChange($event)\" /> -->\n</div>\n","import {\n Component,\n OnInit,\n Input,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n} from '@angular/core'; \nimport { PageLoader } from '../../classes/page-loader.class';\n\n@Component({\n selector: 'loader',\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.scss'],\n\n // changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LoaderComponent {\n loader = new PageLoader();\n @Input() class: classes = 'vh-80';\n @Input() text = 'Loading...';\n @Input('loading') set _loading(v: boolean) {\n this.loading = v;\n }\n loading: boolean;\n height: string;\n @Input('height') set _height(v: number) {\n this.height = v ? (v < 80 ? 80 : v) + 'px' : this.height;\n // console.log('height', v, this.height);\n }\n constructor(public cdr: ChangeDetectorRef) {}\n ngOnInit() {}\n startLoader() {\n this.loader.startPl();\n this.loading = this.loader.isLoading;\n }\n stopLoader() {\n this.loader.stopPl();\n this.loading = this.loader.isLoading;\n }\n}\n\ntype classes =\n | 'vh-10'\n | 'vh-20'\n | 'vh-30'\n | 'vh-40'\n | 'vh-50'\n | 'vh-60'\n | 'vh-70'\n | 'vh-80'\n | 'vh-90'\n | 'vh-95'\n | 'vh-100';\n","<div class=\"h-100\">\n <div *ngIf=\"loading\" class=\" {{height?'':class}} center \" id=\"loader\" [ngStyle]=\"{height }\" >\n <div class=\" text-center\">\n <div>\n <div class=\"lds-grid\">\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n </div>\n </div>\n <h5 class=\"mt-2 noselect\" *ngIf=\"text\">{{text|appTranslate|async}}</h5>\n </div>\n </div>\n\n <div [hidden]=\"loading\">\n <!-- <div > -->\n <ng-content></ng-content>\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormGroup } from '@angular/forms'; \nimport { ETSUtilityService } from '../../../Services/utility.service';\nimport { IFormOptions, IETSFormSchema } from '../../models/form-schema.model';\nimport { ETSInfoDialogService } from '../info-dialog/info-dialog.service';\n\n@Component({\n selector: 'form-generator',\n templateUrl: './form-generator.component.html',\n styleUrls: ['./form-generator.component.scss'],\n})\nexport class FormGeneratorComponent implements OnInit {\n @Input() keyField: 'field' | 'label' = 'field';\n\n @Output() onSubmit = new EventEmitter<any>();\n @Output('submissionResponse') _submissionResponse = new EventEmitter<any>();\n @Input() submitFunc: (value: any) => Promise<any>;\n @Input() submitBtnText: string = 'Submit';\n @Input() submitSuccessText: string = 'Save';\n @Input() showSubmitBtn: boolean = true;\n\n @Input() gridStyle: number;\n @Input() gridMDStyle: number;\n @Input() gridXXLStyle: number;\n\n @Input() useLoader: boolean;\n @Input() loading: boolean;\n\n @Input() form: FormGroup;\n formSchema: IETSFormSchema[];\n submissionResponse: any;\n @Input('formSchema') set _formSchema(v: IETSFormSchema[]) {\n this.init(v);\n }\n optionsMap: IFormOptions = {};\n cellCountryCode3s: IFormOptions = {};\n\n constructor(public iS: ETSInfoDialogService,public uS: ETSUtilityService,) {}\n\n ngOnInit(): void {}\n\n init(schema: IETSFormSchema[]) {\n for (const scheme of schema) {\n // scheme.form = this.form || scheme.form;\n scheme.id = 'id' + this.uS.genRandomID;\n if (\n scheme.autoPickValueField == null &&\n (!scheme.valueField || !scheme.labelField)\n )\n scheme.autoPickValueField = true;\n\n if (scheme.optionsInitFunc) {\n scheme.optionsInitFunc.subscribe((r) => {\n scheme.options = r;\n // this.optionsMap[scheme.field] = r;\n });\n }\n }\n this.formSchema = schema;\n }\n\n async submit() {\n if (this.submitFunc) {\n this.loading = true;\n this.onSubmit.emit(this.form.value);\n try {\n this.submissionResponse = await this.submitFunc(this.form.value);\n this.iS.info(this.submitSuccessText, 1);\n this._submissionResponse.emit(this.submissionResponse);\n } catch (error) {\n this.iS.info(error, 0);\n }\n this.loading = false;\n } else this.onSubmit.emit(this.form.value);\n }\n}\n"," <loader [loading]=\"useLoader && loading\">\n <form>\n <div\n class=\"row row-cols-{{gridStyle}} row-cols-md-{{gridMDStyle}} row-cols-xxl-{{gridXXLStyle}} align-items-center\">\n <ng-container *ngFor=\"let scheme of formSchema;trackBy:uS.trackByID\">\n <div class=\"col {{scheme.cls}} \" *ngIf=\"!scheme.hideIfFunc || !scheme.hideIfFunc(form.value)\">\n <ng-container [ngSwitch]=\"true\">\n <ng-container *ngSwitchCase=\"scheme.type == 'tel'\">\n <app-phone-number [form]=\"form\" [label]=\"scheme.label\" [clearOnDisable]=\"scheme.clearOnDisable\"\n [name]=\"scheme.field\" [showLabel]=\"false\" [noFormat]=\"scheme.noFormat\"\n [showValidation]=\"scheme.showValidation\" [autoPickValueField]=\"scheme.autoPickValueField\"\n [showValidationIcon]=\"scheme.showValidationIcon\" [countryCode3]=\"\n cellCountryCode3s[scheme.getCountryCode3Key] || scheme.countryCode3\n \" [disabled]=\"scheme.disabled||\n (scheme.disabledIf\n | functionCaller2: form.value:scheme.field)\n \" #inputTag>\n </app-phone-number>\n <app-validation-message [input]=\"inputTag\"></app-validation-message>\n </ng-container>\n <ng-container *ngSwitchCase=\"scheme.type == 'autocomplete'\">\n <app-autocomplete [form]=\"form\" [label]=\"scheme.label\" [clearOnDisable]=\"scheme.clearOnDisable\"\n [labelField]=\"scheme.labelField\" [noFormat]=\"scheme.noFormat\" [labelType]=\"scheme.labelType\"\n [name]=\"scheme.field\" [optionFormatter]=\"scheme.optionFormatter\" [valueField]=\"scheme.valueField\"\n [autoPickValueField]=\"scheme.autoPickValueField\" [options]=\"\n (scheme.optionsFunc\n | functionCaller2: form.value:scheme.field\n | async) || scheme.options||optionsMap[scheme.field|toAny]\n \" [hint]=\"scheme.hint\" [disabled]=\"scheme.disabled||\n ( scheme.disabledIf\n | functionCaller2: form.value:scheme.field)\n \" #inputTag></app-autocomplete>\n <app-validation-message [input]=\"inputTag\"></app-validation-message>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <app-input-basic #formField [name]=\"scheme.field\" [form]=\"form\" [clearOnDisable]=\"scheme.clearOnDisable\"\n [type]=\"scheme.type\" [valueField]=\"scheme.valueField\" [autoPickValueField]=\"scheme.autoPickValueField\"\n [labelType]=\"scheme.labelType\" [checked]=\"scheme.checked\" [showValidation]=\"!!scheme.asyncValidators\"\n [noFormat]=\"scheme.noFormat\" [showValidationIcon]=\"!!scheme.asyncValidators\"\n [labelField]=\"scheme.labelField\" [optionFormatter]=\"scheme.optionFormatter\"\n [options]=\"(scheme.optionsFunc|functionCaller2:form.value:scheme.field|async)||scheme.options||optionsMap[scheme.field|toAny]\"\n [decimalPoints]=\"scheme.decimalPoints\" [hint]=\"scheme.hint\" [max]=\"scheme.max\" [min]=\"scheme.min\"\n [placeholder]=\"scheme.placeholder\" [label]=\"scheme.label\"\n [disabled]=\"scheme.disabled||(scheme.disabledIf|functionCaller2:form.value:scheme.field)\">\n </app-input-basic>\n <app-validation-message [input]=\"formField\"></app-validation-message>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </div>\n <div class=\"row row-cols-auto justify-content-end\" *ngIf=\"showSubmitBtn\">\n <app-btn [text]=\"submitBtnText\" group=\"submit\" [form]=\"form\" (mclick)=\"submit()\">\n </app-btn>\n </div>\n </form>\n </loader>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { BtnModule } from '../btn/btn.module';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { PhoneNumberComponent } from './phone-number.component';\nimport { InputModule } from '../input/input.module';\nimport { Ng2TelInputModule } from 'ng2-tel-input';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { PhoneNumberDirective } from './phone-number.directive';\nimport { InputPipesModule } from '../input/inputs-pipes.pipe';\n\n@NgModule({\n declarations: [PhoneNumberComponent, PhoneNumberDirective],\n imports: [\n CommonModule,\n InputPipesModule,\n BtnModule,\n MatTooltipModule,\n InputModule,\n Ng2TelInputModule,\n UtilityPipesModule,\n ],\n exports: [PhoneNumberComponent, PhoneNumberDirective],\n})\nexport class PhoneNumberModule {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'spinner',\n template: `\n <mat-spinner *ngIf=\"loading\" [diameter]=\"diameter\">{{ text }} </mat-spinner>\n `,\n styles: [\n `\n .mat-progress-spinner {\n display: inline-block;\n margin: 5px;\n vertical-align: bottom;\n }\n `,\n ],\n})\nexport class SpinnerComponent {\n @Input() text: string;\n @Input() diameter = 20;\n @Input() loading: boolean;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LoaderComponent } from './loader.component';\nimport { SpinnerComponent } from './spinner.component';\nimport { MatProgressSpinnerModule as MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nconst exports = [LoaderComponent, SpinnerComponent];\n@NgModule({\n declarations: exports,\n exports,\n imports: [CommonModule, MatProgressSpinnerModule,UtilityPipesModule],\n})\nexport class LoaderModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormGeneratorComponent } from './form-generator.component';\nimport { InputModule } from '../input/input.module';\nimport { BtnModule } from '../btn/btn.module';\nimport { PhoneNumberModule } from '../phone-number/phone-number.module';\nimport { AutocompleteModule } from '../autocomplete/autocomplete.module';\nimport { LoaderModule } from '../loader/loader.module';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\n\n\n\n@NgModule({\n declarations: [FormGeneratorComponent],\n imports: [\n CommonModule,\n InputModule,\n BtnModule, \n PhoneNumberModule,\n AutocompleteModule,\n LoaderModule,\n UtilityPipesModule,\n ],\n exports: [FormGeneratorComponent],\n})\nexport class FormGeneratorModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\n@Component({\n selector: 'form-link',\n templateUrl: './form-link.component.html',\n styleUrls: ['./form-link.component.scss'],\n})\nexport class FormLinkComponent implements OnInit {\n @Input() cqueryParams: { [x: string]: string };\n @Input() crouterLink: string;\n @Input() value: string;\n @Input() options: any[];\n @Input() labelField: string;\n @Input() valueField: string;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<a class=\"form-link link form-control control-bg-gray\" readonly routerLink=\"{{crouterLink}}\"\n [queryParams]=\"cqueryParams\">\n {{value|getValueLabel:options:labelField:valueField}}\n</a>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormLinkComponent } from './form-link.component';\nimport { RouterModule } from '@angular/router';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\n\n@NgModule({\n declarations: [FormLinkComponent],\n imports: [CommonModule, RouterModule,UtilityPipesModule],\n exports: [FormLinkComponent],\n})\nexport class FormLinkModule {}\n","import {\n Component,\n OnInit,\n ChangeDetectionStrategy,\n Input,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { ITab } from '../../models/index.model';\n\n@Component({\n selector: 'app-form-tabs-header',\n templateUrl: './form-tab-headers.component.html',\n styleUrls: ['./form-tab-headers.component.scss'],\n})\nexport class FormTabHeadersComponent implements OnInit {\n @Input() selectedIndex:number\n @Input() tabs: ITab[];\n @Output() selectedIndexChange = new EventEmitter<number>();\n constructor() {}\n\n ngOnInit(): void {\n this.selectedIndex=0\n }\n changeTab(index: number) {\n this.selectedIndex = index;\n this.selectedIndexChange.emit(index);\n }\n}\n","<nav class=\"\">\n <div class=\"nav nav-pills nav-justified mt-5 d-flex justify-content-center border-0\" id=\"nav-tab\" role=\"tablist\">\n <button class=\"nav-link border-0\" *ngFor=\"let tab of tabs;let index=index\"\n [ngClass]=\"selectedIndex == index? 'active' : ''\" (click)=\"changeTab(index)\" type=\"button\" role=\"tab\"\n aria-controls=\"nav-home\">{{tab.label|appTranslate|async}}\n </button>\n </div>\n</nav>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormTabHeadersComponent } from './form-tab-headers.component';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\n\n@NgModule({\n declarations: [FormTabHeadersComponent],\n imports: [CommonModule, UtilityPipesModule],\n exports: [FormTabHeadersComponent],\n})\nexport class FormTabHeadersModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InfoDialogComponent } from './info-dialog.component';\nimport { MatButtonModule as MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { InfoDialogSadIconComponent } from './sad-icon.component';\nimport { InfoDialogHappyIconComponent } from './happy-icon.component';\nimport { InfoDialogInfoIconComponent } from './info-icon.component';\nimport { BtnModule } from '../btn/btn.module';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { DirectivesModule } from '../../directives/index.directive';\nimport { BrowserModule } from '@angular/platform-browser';\n\n@NgModule({\n declarations: [\n InfoDialogComponent,\n InfoDialogSadIconComponent,\n InfoDialogHappyIconComponent,\n InfoDialogInfoIconComponent,\n ],\n imports: [\n BrowserModule,\n CommonModule,\n MatDialogModule,\n MatButtonModule,\n BtnModule,\n UtilityPipesModule,\n DirectivesModule,\n ],\n exports: [\n InfoDialogComponent,\n InfoDialogSadIconComponent,\n InfoDialogHappyIconComponent,\n InfoDialogInfoIconComponent,\n ],\n})\nexport class InfoDialogModule {}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-info-icon',\n templateUrl: './info-icon.component.html',\n styleUrls: ['./info-icon.component.scss'],\n})\nexport class InfoIconComponent implements OnInit {\n @Input() text: string;\n @Input() coloured = true;\n @Input() left =false;\n @Input() right = true;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<span class=\"d-flex align-items-center\">\n <i *ngIf=\"left && text\" class=\"fa fa-info-circle me-2\" [ngClass]=\"{'text-primary':coloured}\"\n [matTooltip]=\"text|appTranslate|async\" matTooltipClass=\"matToolTip-block glass\"></i>\n <span>\n <ng-content></ng-content>\n </span>\n <i *ngIf=\"right && text\" class=\"fa fa-info-circle ms-2\" [ngClass]=\"{'text-primary':coloured}\"\n [matTooltip]=\"text|appTranslate|async\" matTooltipClass=\"matToolTip-block glass\"></i>\n</span>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InfoIconComponent } from './info-icon.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { DirectivesModule } from '../../directives/index.directive';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\n\n\n\n@NgModule({\n declarations: [\n InfoIconComponent\n ],\n imports: [\n CommonModule,MatTooltipModule,DirectivesModule,UtilityPipesModule\n ],\n exports: [\n InfoIconComponent\n ]\n})\nexport class InfoIconModule { }\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { ETSIconType } from '../../models/index.model';\nimport { BtnService } from '../btn/btn.service';\n\n@Component({\n selector: 'app-label',\n templateUrl: './label.component.html',\n styleUrls: ['./label.component.scss'],\n})\nexport class LabelComponent implements OnInit {\n @Input() animate = false; \n @Input() coloured: boolean;\n @Input() hint: string;\n @Input() light: boolean = true;\n @Input() mclass = 'text-primary';\n @Input() showHelpIcon = true;\n @Input() small: boolean;\n @Input() stacked: boolean = true;\n @Input() text: string;\n @Input() xsmall: boolean;\n customIcon: string;\n icon: any;\n iconPosition: string = 'left';\n @Input('icon') set _icon(v: ETSIconType) {\n const res = this.btnS.getIcon(v);\n this.iconPosition = res.iconPosition;\n this.icon = res.icon;\n this.customIcon = res.iconString;\n }\n constructor(public btnS: BtnService) {}\n\n ngOnInit(): void {}\n}\n","<div class=\"d-flex align-items-center \">\n <i *ngIf=\"showHelpIcon && hint\" class=\"fa fa-info-circle me-2 text-primary\"\n [matTooltip]=\"hint|appTranslate|async\"></i>\n <span *ngIf=\"iconPosition=='left'\">\n <fa-icon *ngIf=\"icon\" [icon]=\"icon\"></fa-icon>\n <i *ngIf=\"customIcon\" class=\"pe-1\"></i>\n </span>\n <div class=\"{{mclass}} lbl\" [ngClass]=\"{'fw-bold':!light,small,small1:xsmall,'text-primary':coloured}\"\n [matTooltip]=\"hint|appTranslate|async\" [matTooltipDisabled]=\"!hint||showHelpIcon\">\n {{text|appTranslate|async}}\n </div>\n <span class=\"ps-1\" *ngIf=\"iconPosition=='right'\">\n <fa-icon *ngIf=\"icon\" [icon]=\"icon\"></fa-icon>\n </span>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LabelComponent } from './label.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\n\n\n@NgModule({\n declarations: [LabelComponent],\n imports: [\n CommonModule,\n MatTooltipModule,\n UtilityPipesModule,\n FontAwesomeModule,\n ],\n exports: [LabelComponent],\n})\nexport class LabelModule {}\n","import { Component, OnInit, ChangeDetectionStrategy, Input } from '@angular/core';\nimport { MatDialogRef as MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'modal-header',\n templateUrl: './modal-header.component.html',\n styleUrls: ['./modal-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModalHeaderComponent implements OnInit {\n @Input() dialogRef: MatDialogRef<any>;\n @Input() header:string;\n /**\n * Value to pass into the close function of the modal\n */\n @Input() onCloseValue:any;\n constructor() {}\n\n ngOnInit(): void {}\n close() {\n this.dialogRef.close(this.onCloseValue);\n }\n}\n","<div class=\"d-flex justify-content-between align-items-center\">\n <h6 class=\"m-0\" mat-dialog-title>{{header|appTranslate|async}}</h6>\n <!-- <app-btn group=\"close\" (mclick)=\"close()\"></app-btn> -->\n <button mat-icon-button (click)=\"close()\" class=\"btn-outline-danger\"><i class=\"material-icons\">close</i></button>\n</div>\n<ng-content></ng-content>","import {\n Component,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { MatDialogRef as MatDialogRef } from '@angular/material/dialog'; \nimport { ETSUtilityService } from '../../../Services/utility.service';\nimport { ETSIconType } from '../../models/index.model';\n \nimport { LoaderComponent } from '../loader/loader.component';\n\n@Component({\n selector: 'modal-comp',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n})\nexport class ModalComponent implements OnInit {\n @ViewChild('temp') tempRef: TemplateRef<any>;\n @ViewChild('loader') loaderRef: LoaderComponent;\n @Input() header: string;\n @Input() loading: boolean;\n @Input() width: string = 'auto';\n @Input() height: string = 'auto';\n @Input() icon: ETSIconType;\n @Input() data: { [x: string]: any } = {};\n public dialogRef: MatDialogRef<any>;\n // public dialogRef: MatDialogRef<typeof this.tempRef>;\n // public dialogRef: MatDialogRef<ModalComponent>;\n constructor(public uS: ETSUtilityService) {}\n\n ngOnInit(): void {}\n open(...args) {\n this.dialogRef = this.uS.dialogOpenerRef(this.tempRef, {\n width: this.width,\n height: this.height,\n maxHeight: '100vh',\n maxWidth: '100vw',\n });\n }\n close() {\n this.dialogRef.close();\n }\n}\n","<ng-template #temp>\n <loader [loading]=\"loading\" [height]=\"cont.offsetHeight\" #loader>\n <div #cont>\n <modal-header [header]=\"header\" [dialogRef]=\"dialogRef\"></modal-header>\n <div mat-dialog-content class=\"mt-2 pb-2\">\n <ng-content select=\"[body]\"></ng-content>\n </div>\n <div mat-dialog-actions class=\" \">\n <ng-content select=\"[actionPanel]\"></ng-content>\n </div>\n </div>\n </loader>\n <!-- wdwwd -->\n</ng-template>\n","import { ModalComponent } from '../modal/modal.component';\nimport {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport {\n FormGroup,\n} from '@angular/forms'; \nimport { IFormOptions, IETSFormSchema } from '../../models/form-schema.model';\nimport { ETSUtilityService } from '../../../Services/utility.service';\n\n@Component({\n selector: 'modal-form',\n templateUrl: './modal-form.component.html',\n styleUrls: ['./modal-form.component.scss'],\n})\nexport class ModalFormComponent extends ModalComponent {\n @Input() keyField: 'field' | 'label' = 'field';\n @Output() submitted = new EventEmitter<any>();\n @Input() submitFunc: (value: any) => Promise<any>;\n\n @Input() text: string = 'Save';\n @Input() contextData: any;\n @Input() gridStyle: number;\n @Input() gridMDStyle: number;\n @Input() gridXXLStyle: number;\n @Input() form: FormGroup;\n standaloneForm: any;\n @Input() formSchema: IETSFormSchema[]; \n optionsMap: IFormOptions = {};\n cellCountryCode3s: IFormOptions = {};\n loading: boolean;\n\n constructor(public uS: ETSUtilityService) {\n super(uS);\n }\n\n ngOnInit(): void {}\n \n open(contextData) {\n if (contextData != null) this.contextData = contextData;\n super.open();\n }\n}\n","<ng-template #temp>\n <modal-header [header]=\"header\" [dialogRef]=\"dialogRef\"></modal-header>\n <loader [loading]=\"loading\">\n <div mat-dialog-content>\n <form-generator [form]=\"form\" [formSchema]=\"formSchema\" \n [gridStyle]=\"gridStyle\"\n [gridMDStyle]=\"gridMDStyle\"\n [gridXXLStyle]=\"gridXXLStyle\"\n [submitFunc]=\"submitFunc\"\n [submitBtnText]=\"text\"\n [showSubmitBtn]=\"false\"></form-generator>\n </div>\n <div mat-dialog-actions>\n <div class=\"row row-cols-auto justify-content-end\">\n <app-btn [text]=\"text\" group=\"submit\" [form]=\"form\" (mclick)=\"submitted.emit(this.form.value);dialogRef.close()\"></app-btn>\n </div>\n </div>\n </loader>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ModalHeaderComponent } from './modal-header.component';\nimport { BtnModule } from '../btn/btn.module';\nimport { UtilityPipesModule } from '../../../Shared/pipes/utility.pipe';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\n@NgModule({\n declarations: [ModalHeaderComponent],\n imports: [\n CommonModule,\n BtnModule,\n UtilityPipesModule,\n MatDialogModule,\n MatButtonModule,MatIconModule\n ],\n exports: [ModalHeaderComponent],\n})\nexport class ModalHeaderModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ModalComponent } from './modal.component';\nimport { ModalHeaderModule } from '../modal-header/modal-header.module';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { BtnModule } from '../btn/btn.module';\nimport { LoaderModule } from '../loader/loader.module';\n\n@NgModule({\n declarations: [ModalComponent],\n exports: [ModalComponent],\n imports: [CommonModule, ModalHeaderModule, MatDialogModule, BtnModule,LoaderModule],\n})\nexport class ModalModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ModalFormComponent } from './modal-form.component';\nimport { BtnModule } from '../btn/btn.module';\nimport { ModalHeaderModule } from '../modal-header/modal-header.module';\nimport { ModalModule } from '../modal/modal.module';\nimport { LoaderModule } from '../loader/loader.module';\nimport { FormGeneratorModule } from '../form-generator/form-generator.module';\n\n@NgModule({\n declarations: [ModalFormComponent],\n imports: [\n CommonModule,\n BtnModule,\n ModalHeaderModule,\n ModalModule,\n LoaderModule,\n FormGeneratorModule,\n ],\n exports: [ModalFormComponent],\n})\nexport class ModalFormModule {}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { ETSUtilityService } from '../../../../lib/Services/utility.service';\nimport { EPageType } from '../../models/index.model';\nimport { ETSInfoDialogService } from '../info-dialog/info-dialog.service';\n\n@Component({\n template: ``,\n})\nexport class PageTemplateComponent<ModelData = any> {\n loading: boolean;\n @Input() isModal: boolean;\n @Input() modelData: ModelData;\n modalOnComplete: (...args) => any;\n @Output() modalSubmitted = new EventEmitter();\n code: string;\n pageType: EPageType;\n idField = 'code';\n isCreate: boolean;\n isIndex: boolean;\n isClone: boolean;\n isEdit: boolean;\n isShow: boolean;\n constructor(\n public route: ActivatedRoute,\n public uS: ETSUtilityService,\n public iS: ETSInfoDialogService\n ) {\n this.update();\n }\n\n async init(func?: () => Promise<any>, err?: () => any) {\n this.loading = true;\n try {\n const code =\n this.route.snapshot.queryParamMap.get(this.idField) ||\n this.route.snapshot.paramMap.get(this.idField);\n this.pageType = this.route.snapshot.data.type;\n this[this.idField] = code;\n if (this.isCreate && code) throw 'Page is impure';\n if (code && func) await func();\n } catch (error) {\n console.error(error);\n if (err) err();\n else {\n await this.iS.info(error, 0);\n this.uS.back();\n }\n }\n this.loading = false;\n }\n\n setAsIndex() {\n this.pageType = EPageType.indexPage;\n this.update();\n }\n setAsClone() {\n this.pageType = EPageType.clonePage;\n this.update();\n }\n setAsCreate() {\n this.pageType = EPageType.createPage;\n this.update();\n }\n setAsEdit() {\n this.pageType = EPageType.editPage;\n this.update();\n }\n setAsShow() {\n this.pageType = EPageType.showPage;\n this.update();\n }\n update() {\n // debugger\n this.isIndex = this.uS.pageS.isIndex(this.route, this.pageType);\n this.isClone = this.uS.pageS.isClone(this.route, this.pageType);\n this.isCreate = this.uS.pageS.isCreate(this.route, this.pageType);\n this.isEdit = this.uS.pageS.isEdit(this.route, this.pageType);\n this.isShow = this.uS.pageS.isShow(this.route, this.pageType);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PageTemplateComponent } from './page-template.component';\n\n\n\n@NgModule({\n declarations: [\n PageTemplateComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class PageTemplateModule { }\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[appPageToComponent]'\n})\nexport class PageToComponentDirective {\n\n constructor(public viewContainerRef: ViewContainerRef) { }\n\n}\n","import { Component, Inject, Input, OnInit, Type, ViewChild } from '@angular/core';\nimport { MAT_DIALOG_DATA as MAT_DIALOG_DATA, MatDialogRef as MatDialogRef } from '@angular/material/dialog';\nimport { EPageType } from '../../models/index.model';\nimport { PageToComponentDirective } from './page-to-component.directive';\n\n@Component({\n templateUrl: './page-to-component.component.html',\n styleUrls: ['./page-to-component.component.scss'],\n})\nexport class PageToComponentComponent implements OnInit {\n @ViewChild(PageToComponentDirective, { static: true })\n compHost!: PageToComponentDirective;\n constructor(\n @Inject(MAT_DIALOG_DATA)\n public data: {\n component: Type<any>;\n modelData: any;\n title: string;\n pageType:EPageType\n },\n public dialogRef: MatDialogRef<PageToComponentComponent>\n ) {}\n\n ngOnInit(): void {\n this.loadComponent();\n }\n\n loadComponent() {\n const viewContainerRef = this.compHost.viewContainerRef;\n viewContainerRef.clear();\n const componentRef = viewContainerRef.createComponent(this.data.component);\n componentRef.instance.modelData = this.data.modelData;\n componentRef.instance.isModal = true;\n componentRef.instance.pageType = this.data.pageType;\n componentRef.instance.modalOnComplete = (data?: any) => {\n this.onComplete(data);\n };\n }\n\n onComplete(data) {\n this.dialogRef.close(data);\n }\n\n close() {\n this.dialogRef.close();\n }\n}\n\n@Component({ template: `` })\nexport class PageModal<ModelData = any,CompletionFunc=any> {\n @Input() isModal: boolean;\n @Input() modelData: ModelData;\n @Input() modalOnComplete:CompletionFunc;\n}","<div class=\"d-flex justify-content-between align-items-center\">\n <h6 class=\"m-0\" mat-dialog-title>{{data.title|appTranslate|async}}</h6>\n <!-- <app-btn group=\"close\" (mclick)=\"close()\"></app-btn> -->\n <button mat-icon-button (click)=\"close()\" class=\"btn-outline-danger\"><i class=\"material-icons\">close</i></button>\n</div>\n<ng-content></ng-content>\n<div class=\"\" mat-dialog-content>\n <ng-template appPageToComponent></ng-template>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PageToComponentComponent } from './page-to-component.component'; \nimport { PageToComponentDirective } from './page-to-component.directive'; \nimport { MatDialogModule } from '@angular/material/dialog'; \nimport { TranslatePipeModule } from '../../pipes/translate.pipe';\n\n@NgModule({\n declarations: [PageToComponentComponent, PageToComponentDirective],\n exports: [PageToComponentComponent, PageToComponentDirective],\n imports: [CommonModule, MatDialogModule, TranslatePipeModule],\n})\nexport class PageToComponentModule {}\n","import { Injectable, Type } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog'; \nimport { EPageType } from '../../models/index.model';\nimport { PageToComponentComponent } from './page-to-component.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PageToComponentService {\n constructor(public dialog: MatDialog) {}\n\n pageToModalOpener = (\n component: Type<any>,\n title: string,\n modelData?: any,\n pageType: EPageType = EPageType.createPage\n ) =>\n this.dialog\n .open(PageToComponentComponent, {\n data: { component, modelData, title, pageType },\n height: '100vh',\n maxHeight: '100vh',\n width: '100%',\n maxWidth: '100%',\n disableClose: true,\n closeOnNavigation: true,\n panelClass: 'fullscreen-modal',\n autoFocus: false,\n })\n .afterClosed();\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { IBtn } from '../../models/index.model';\n\n@Component({\n selector: 'row-actions',\n templateUrl: './row-actions.component.html',\n styleUrls: ['./row-actions.component.scss'],\n})\nexport class RowActionsComponent implements OnInit {\n @Output() clickedAdd = new EventEmitter();\n @Output() clickedDelete = new EventEmitter();\n @Input() isShow: boolean;\n @Input() btns: IBtn[] = [\n { group: 'delete', action: () => this.clickedDelete.emit() },\n { group: 'add', action: () => this.clickedAdd.emit() },\n ];\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"d-flex\" *ngIf=\"!isShow\">\n <div class=\"mx-1\" *ngFor=\"let btn of btns\">\n <app-btn [iconBtn]=\"true\" [group]=\"btn.group\" (mclick)=\"btn.action()\"></app-btn>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RowActionsComponent } from './row-actions.component';\nimport { BtnModule } from '../btn/btn.module';\n\n\n\n@NgModule({\n declarations: [\n RowActionsComponent\n ],\n imports: [\n CommonModule,BtnModule\n ],\n exports: [\n RowActionsComponent\n ]\n})\nexport class RowActionsModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { ETSTableCol } from '../../models/index.model';\n\n@Pipe({\n name: 'getColFormatted',\n})\nexport class GetColFormattedPipe implements PipeTransform {\n transform(row: any, col: ETSTableCol) {\n return Promise.resolve(\n (col.formatterRow\n ? col.formatterRow(row)\n : col.formatter\n ? col.formatter(row[col.f])\n : row[col.f]) || '-'\n );\n }\n}\n\n@Pipe({\n name: 'getRawFields',\n})\nexport class GetRawFieldsPipe implements PipeTransform {\n transform(\n arr: ETSTableCol[],\n optionsLen: number = 0,\n useSelection = false,\n placeSelectionAtRight = false, // the parameter is to support setting the selection checkboxes as the last item instead of the first\n ): string[] {\n const fields = arr.map((r) => r.f .toString());\n optionsLen ? fields.push('option') : null;\n const fieldsWithSelect = placeSelectionAtRight\n ? [...fields, useSelection ? 'mselect' : null]\n : [useSelection ? 'mselect' : null, ...fields];\n return fieldsWithSelect.filter((x) => x);\n }\n}\n\n@Pipe({\n name: 'getHeaders',\n})\nexport class GetHeadersPipe implements PipeTransform {\n transform(arr: ETSTableCol[]): string[] {\n return arr.map((r) => r.t);\n }\n}\n\n@Pipe({\n name: 'tableToString',\n})\nexport class TableToStringPipe implements PipeTransform {\n async transform(arr: ETSTableCol[], obj: any): Promise<string> {\n let str = '';\n for (const col of arr) {\n let transText = await this.cfS.transform(obj,col)\n str += `${col.t}: ${transText}\\n`;\n }\n return str;\n }\n constructor(public cfS: GetColFormattedPipe) {}\n}\n\nconst pipes = [\n GetColFormattedPipe,\n GetHeadersPipe,\n GetRawFieldsPipe,\n TableToStringPipe,\n];\n@NgModule({\n declarations: pipes,\n exports: pipes,\n imports: [CommonModule],\n providers: [GetColFormattedPipe],\n})\nexport class TablePipesModule {}\n","import { SelectionChange, SelectionModel } from '@angular/cdk/collections';\nimport {\n Component,\n OnInit,\n Input,\n ViewChild,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatPaginator as MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTable as MatTable } from '@angular/material/table';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { merge, Observable, of as observableOf, of } from 'rxjs';\nimport { catchError, map, startWith, switchMap, tap } from 'rxjs/operators';\nimport {\n IRowOption,\n ISearchResponse,\n SortType,\n ETSTableCol,\n} from '../../models/index.model';\n\n@Component({\n selector: 'table-https',\n templateUrl: './table-https.component.html',\n styleUrls: ['../table-plain/table-plain.component.scss'],\n})\nexport class TableHttpsComponent implements OnInit {\n @Input() orderField: string;\n @Input() orderDirection: SortType = 'asc';\n @Input() text: string;\n @Input() centerCells: boolean;\n @Input() smallerFonts = false;\n @Input() showRowPointer = true;\n @Input() nowrap = false;\n @Input() curvy = false;\n @Input() noItemTxt: string;\n @Input() queryData: any;\n @Input() displayedColumns: ETSTableCol[];\n @Input() observableFunc: (data: any) => Observable<ITableSearchFunc<any>>;\n @Input() pageSize = 10;\n @Input() showExport = false;\n @Input() useSelection = false;\n @Input() pageNumber = 0;\n @Input('rowOptions') options: IRowOption[];\n @Output('rowClick') _rowClick = new EventEmitter();\n @Output() selectionChanged = new EventEmitter<SelectionChange<any>>();\n form: FormGroup;\n filteredAndPagedResults: Observable<any[]>;\n\n resultsLength = 0;\n isLoadingResults = true;\n isRateLimitReached = false;\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatSort) sort: MatSort;\n @ViewChild('table') table: MatTable<any>;\n selection = new SelectionModel<any>(true, []);\n data: any[];\n\n constructor(public route: ActivatedRoute) {}\n ngOnInit() {\n this.form = new FormGroup({\n pageNumber: new FormControl(this.pageNumber || 0),\n sortBy: new FormControl(this.orderField),\n sortDirection: new FormControl(\n this.orderDirection == 'asc'\n ? 'ASC'\n : this.orderDirection == 'desc'\n ? 'DESC'\n : ''\n ),\n pageSize: new FormControl(this.pageSize),\n });\n this.selection.changed.subscribe((r) => {\n this.selectionChanged.emit(r);\n });\n }\n ngAfterViewInit() {\n this.queryData = this.queryData || this.route.snapshot.queryParams;\n this.paginator.page.subscribe((r) => {\n // debugger;\n this.form.patchValue({ pageNumber: r.pageIndex, pageSize: r.pageSize });\n });\n this.sort.sortChange.subscribe((r) => {\n this.form.patchValue({\n sortDirection:\n r.direction == 'asc' ? 'ASC' : r.direction == 'desc' ? 'DESC' : '',\n sortBy: r.active,\n });\n });\n this.filteredAndPagedResults = merge(this.form.valueChanges).pipe(\n startWith({}),\n switchMap(() => {\n // debugger\n this.isLoadingResults = true;\n const queryData = this.queryData;\n return this.observableFunc({\n ...queryData,\n ...this.form.value,\n }).pipe(\n catchError((e) => of(<ITableSearchFunc>{ content: [], total: 0 }))\n );\n }),\n tap((r) => this.selection.clear()),\n map((data) => {\n // Flip flag to show that loading has finished.\n console.log(data);\n this.isLoadingResults = false;\n this.isRateLimitReached = false;\n this.resultsLength = data?.total;\n this.data = data.content;\n return data?.content;\n }),\n catchError((e) => {\n console.log(e);\n this.isLoadingResults = false;\n\n this.isRateLimitReached = true;\n return observableOf([]);\n })\n );\n }\n search(query: any) {\n this.queryData = query;\n // this.form.controls.pageNumber.patchValue(0);\n this.resetPaging();\n this.form.updateValueAndValidity();\n }\n\n /** Whether the number of selected elements matches the total number of rows. */\n isAllSelected() {\n const numSelected = this.selection?.selected?.length;\n const numRows = this.data?.length;\n return numSelected === numRows;\n }\n\n /** Selects all rows if they are not all selected; otherwise clear selection. */\n masterToggle() {\n if (this.isAllSelected()) {\n this.selection.clear();\n return;\n }\n this.selection.select(...this.data);\n }\n get selectedItems() {\n return this.selection.selected;\n }\n\n /** The label for the checkbox on the passed row */\n checkboxLabel(row?: any): string {\n if (!row) {\n return `${this.isAllSelected() ? 'deselect' : 'select'} all`;\n }\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row `;\n }\n resetPaging(): void {\n this.paginator.pageIndex = 0;\n }\n rowClick(e) {\n this._rowClick.emit(e);\n }\n}\n\nexport interface ITableSearchFunc<T = any> {\n content: T[];\n total: number;\n}\n","<div class=\" \">\n <div class=\"mt-4 text-center\" *ngIf=\"text\">\n <h3>{{text|appTranslate|async}} </h3>\n </div>\n <loader [loading]=\"isLoadingResults\" [height]=\"container?.offsetHeight+100\">\n <div class=\"\" #container>\n <div class=\"overflow-auto border\">\n <table mat-table [dataSource]=\"filteredAndPagedResults\" class=\"w-100 d-table\"\n [ngClass]=\"{smallerFonts,nowrap,centerCells,curvy}\" matSort matSortActive=\"{{orderField}}\" matSortDisableClear\n [matSortDirection]=\"orderDirection\" #table (matSortChange)=\"resetPaging()\">\n <!-- Checkbox Column -->\n <ng-container matColumnDef=\"mselect\" sticky>\n <th mat-header-cell *matHeaderCellDef>\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\" [aria-label]=\"checkboxLabel()\">\n </mat-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\" [aria-label]=\"checkboxLabel(row)\">\n </mat-checkbox>\n </td>\n </ng-container>\n\n <!-- COLUMNS -->\n <ng-container *ngFor=\"let col of displayedColumns; let i = index\">\n <ng-container [ngSwitch]=\"col.type\">\n <!-- Sub Table -->\n <ng-container *ngSwitchCase=\"'table'\" matColumnDef=\"{{ col.f |toAny}}\">\n <th mat-header-cell class=\"text-center\" *matHeaderCellDef>\n {{ col.t | appTranslate | async }}\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <app-btn [icon]=\"col.icon\" type=\"dark\" (mclick)=\"col.action ? col.action(row, col.f) : null\"\n [help]=\"col.subTable|tableToString:row| async\" [showHelpIcon]=\"false\" [iconBtn]=\"true\" mclass=\"w-auto\">\n </app-btn>\n </td>\n </ng-container>\n <!--// -->\n\n <!-- EDITABLE -->\n <ng-container matColumnDef=\"{{ col.f|toAny }}\" *ngSwitchCase=\"'editable'\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n {{ col.t | appTranslate | async }}\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <a class=\"cell\" [mqueryParams]=\"col.mqueryParams | functionCaller2: row:col.f\" [mrouterLink]=\"\n col.routeFormatter | functionCaller2: row:col.f\n \" [innerHTML]=\"((row | getColFormatted: col)|async) || '-'\">\n\n </a><i (click)=\"col.action ? col.action(row, col.f):null\"\n class=\"ps-1 pointer fas fa-pencil-alt \"></i>\n </td>\n </ng-container>\n <!-- DEFAULT -->\n <ng-container matColumnDef=\"{{ col.f |toAny}}\" *ngSwitchDefault>\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear>{{col.t|appTranslate|async}}</th>\n <td mat-cell *matCellDef=\"let row\">\n <a class=\"cell\" [ngClass]=\"{pointer:col.action,link:col.action}\"\n (click)=\"col.action?col.action(row,col.f):null\"\n [mqueryParams]=\"col.mqueryParams|functionCaller2:row:col.f\"\n [mrouterLink]=\"(col.routeFormatter|functionCaller2:row:col.f)\"\n [innerHTML]=\"((row|getColFormatted:col)|async)||'-'\">\n </a>\n </td>\n </ng-container>\n <!--// -->\n </ng-container>\n </ng-container>\n <!--// -->\n <!-- OPTIONS COLUMN -->\n <ng-container matColumnDef=\"option\" *ngIf=\"options?.length>0\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear></th>\n <td mat-cell *matCellDef=\"let row\">\n <button type=\"button\" [matMenuTriggerFor]=\"menu\" class=\"btn ms-2\"><i class=\"bx bx-menu me-0\"></i>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let option of options\" (click)=\"option.action(row)\">\n {{option.t|appTranslate|async}}\n </button>\n </mat-menu>\n </td>\n </ng-container>\n <!--// -->\n\n\n\n <ng-container *ngIf=\"displayedColumns|getRawFields:options?.length:useSelection as dcols\">\n <tr mat-header-row *matHeaderRowDef=\"dcols\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: dcols\" [ngClass]=\"{pointer:showRowPointer}\"\n (click)=\"rowClick(row)\"></tr>\n <tr class=\"mat-row\" *matNoDataRow>\n <td class=\"mat-cell\" [attr.colspan]=\"dcols?.length||1\">{{noItemTxt|appTranslate|async}}</td>\n </tr>\n </ng-container>\n </table>\n </div>\n\n <mat-paginator [length]=\"resultsLength\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"[5,10,20,50,100,500,10000]\"\n showFirstLastButtons></mat-paginator>\n </div>\n </loader>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TableHttpsComponent } from './table-https.component';\nimport { MatPaginatorModule as MatPaginatorModule } from '@angular/material/paginator';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTableModule as MatTableModule } from '@angular/material/table';\nimport { LoaderModule } from '../loader/loader.module';\nimport { MatFormFieldModule as MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule as MatInputModule } from '@angular/material/input';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatCheckboxModule as MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatButtonModule as MatButtonModule } from '@angular/material/button';\nimport { TablePipesModule } from '../table-plain/table.pipe';\nimport { RouterModule } from '@angular/router';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { DirectivesModule } from '../../directives/index.directive';\nimport { BtnModule } from '../btn/btn.module';\n@NgModule({\n declarations: [TableHttpsComponent],\n imports: [\n BtnModule,\n CommonModule,\n DirectivesModule,\n FormsModule,\n LoaderModule,\n MatButtonModule,\n MatCheckboxModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatMenuModule,\n MatPaginatorModule,\n MatSortModule,\n MatTableModule,\n ReactiveFormsModule,\n RouterModule,\n TablePipesModule,\n UtilityPipesModule,\n ],\n exports: [TableHttpsComponent],\n})\nexport class TableHttpsModule {}\n","import { SelectionChange, SelectionModel } from '@angular/cdk/collections';\nimport {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { MatPaginator as MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTable as MatTable, MatTableDataSource as MatTableDataSource } from '@angular/material/table';\nimport { ETSUtilityService } from '../../../../lib/Services/utility.service';\nimport { IFormOptions, IETSFormSchema } from '../../models/form-schema.model';\nimport {\n ICodeDescription,\n IRowOption,\n SortType,\n ETSTableCol,\n} from '../../models/index.model';\n\n@Component({\n selector: 'table-plain',\n templateUrl: './table-plain.component.html',\n styleUrls: ['./table-plain.component.scss'],\n})\nexport class TablePlainComponent<T = any> implements OnInit {\n @Input('rowOptions') options: IRowOption[];\n @Input() centerCells: boolean;\n displayedColumns: ETSTableCol<T>[];\n filterOptions: ICodeDescription[];\n @Input('displayedColumns') set _displayedColumns(v: ETSTableCol<T>[]) {\n this.displayedColumns = v;\n this.filterOptions = this.displayedColumns.map((x) => ({\n code: x.f as string,\n description: x.t,\n }));\n }\n @Input() distinct = true;\n @Input() showRowPointer = true;\n @Input() idField: string = 'id';\n @Input() header: string;\n @Input() noItemTxt: string = 'There are no items';\n @Input() nowrap = true;\n @Input() curvy = false;\n @Input() orderDirection: SortType = 'desc';\n @Input() orderField: string;\n @Input() pageSize = 5;\n @Input() pageSizeOptions = [5, 10, 15, 20, 50, 100, 200];\n @Input() resultsLength = 5;\n @Input() showExport = false;\n @Input() useSelection = false;\n @Input() placeSelectionAtRight = false; // support customizing the position of the select checkboxes.\n @Input() customSelectClass; // custom class for row selection checkboxes\n @Input() showFilter = false;\n @Input() showPager = false;\n @Input() smallerFonts = false;\n @Input('label') text: string;\n @Output('rowClick') _rowClick = new EventEmitter<any>();\n @Output('view') _view = new EventEmitter<any>();\n @Output() selectionChanged = new EventEmitter<SelectionChange<any>>();\n selection = new SelectionModel<T>(true, []);\n\n form = new FormGroup({ field: new FormControl(), value: new FormControl() });\n dataSource: MatTableDataSource<any>;\n mutableList: any[];\n defaultFilterPredicate: any;\n filterFields: IETSFormSchema[];\n @ViewChild('table') table: MatTable<any>;\n @Input() set data(v: T[]) {\n console.log(v);\n this.dataSource = new MatTableDataSource(v);\n this.dataChanged.emit(v);\n this.dataSource.sort = this.sort;\n this.selection?.clear();\n if (this.orderField && this.orderDirection && this.dataSource.sort) {\n // debugger\n this.dataSource.sort.active = this.orderField;\n this.dataSource.sort.direction = this.orderDirection;\n this.dataSource.sort.sortChange.emit({\n active: this.orderField,\n direction: this.orderDirection,\n });\n }\n if (this.showPager) {\n this.dataSource.paginator = this.paginator;\n }\n if (this.showFilter) {\n this.defaultFilterPredicate =\n this.defaultFilterPredicate || this.dataSource.filterPredicate.clone();\n this.dataSource.filterPredicate = (row: any, filter: any) => {\n if (filter.field) {\n return (row[filter.field]?.toLowerCase()?.trim() || '')?.includes(\n filter.value\n );\n } else {\n return this.defaultFilterPredicate(row, filter.value);\n }\n };\n } else if (this.filterFields) {\n this.defaultFilterPredicate =\n this.defaultFilterPredicate || this.dataSource.filterPredicate.clone();\n this.dataSource.filterPredicate = (row: any, filter: any) => {\n // debugger;\n if (!Object.keys(filter).some((key) => filter[key])) return true;\n for (const key in filter) {\n // const it1 = filter[key]?.toLowerCase(); ;\n // const it2 = row[key]?.toString()?.toLowerCase();\n // const it3 = row[key]?.toString()?.toLowerCase() || '';\n // const it4 = (row[key]?.toString()?.toLowerCase() || '')?.includes(\n // filter[key]?.toLowerCase()\n // );\n if (\n filter[key]?.toLowerCase() &&\n (row[key]?.toString()?.toLowerCase() || '')?.includes(\n filter[key]?.toLowerCase()\n )\n ) {\n // debugger;\n return true;\n }\n }\n return false;\n };\n }\n this.mutableList = v;\n }\n\n @Input('filterFields') set _filterFields(v: IETSFormSchema[]) {\n this.form = new FormGroup<any>(this.uS.formSchemaToFormControls(v));\n this.filterFields = v;\n for (const scheme of v) {\n if (scheme.optionsInitFunc) {\n scheme.optionsInitFunc.subscribe(\n (r) => (this.cellOptions[scheme.field?.toString()] = r)\n );\n }\n }\n }\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatSort) sort: MatSort;\n\n @Output() emitCheckbox = new EventEmitter<{\n field: keyof T;\n item: T;\n value: boolean;\n }>();\n\n @Output() listMutated = new EventEmitter<T[]>();\n\n /** Selects all rows in the current page of the table if true */\n @Input() selectionPerPage: boolean = true;\n\n @Output() dataChanged = new EventEmitter();\n\n cellOptions: IFormOptions = {};\n constructor(public uS: ETSUtilityService) {}\n ngOnInit() {\n this.form.valueChanges.subscribe((r: { field: string; value: string }) => {\n // debugger\n if (!this.filterFields) r.value = r.value?.toLowerCase()?.trim() || '';\n\n this.dataSource.filter = r as any;\n });\n this.selection.changed.subscribe((r) => {\n this.selectionChanged.emit(r);\n });\n }\n ngAfterViewInit(): void {\n if (this.showPager && this.dataSource) {\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n }\n }\n\n clearFilter() {\n this.form.reset();\n }\n outputCheckbox(field: keyof T, item: T, value: any) {\n console.log(field, item, value, this.mutableList);\n const find = this.mutableList?.find(\n (x) => x[this.idField] == item[this.idField]\n );\n if (find) find[field] = value;\n this.emitCheckbox.emit({ field, item, value });\n this.listMutated.emit(this.mutableList);\n }\n /** Whether the number of selected elements matches the total number of rows. */\n isAllSelected() {\n const numSelected = this.selection?.selected?.length;\n const numRows = this.dataSource?.data?.length;\n return numSelected === numRows;\n }\n\n /** Selects all rows if they are not all selected; otherwise clear selection. */\n masterToggle() {\n if (this.isAllSelected()) {\n this.selection.clear();\n return;\n }\n let lastSelection = this.selectedItems.length ? this.selectedItems[this.selectedItems.length - 1]: null\n let selectedIndex = lastSelection ? this.dataSource.data.findIndex((r)=>r == lastSelection) : -1\n let end = this.paginator.hasNextPage()\n ? (this.dataSource.paginator.pageIndex + 1) *\n this.dataSource.paginator.pageSize\n : this.dataSource.data.length;\n if(this.selectedItems.length && selectedIndex != -1 && (selectedIndex+1 == end) ){\n let start =\n this.dataSource.paginator.pageIndex < 1\n ? 0\n : this.dataSource.paginator.pageIndex *\n this.dataSource.paginator.pageSize;\n let end = this.paginator.hasNextPage()\n ? (this.dataSource.paginator.pageIndex + 1) *\n this.dataSource.paginator.pageSize\n : this.dataSource.data.length + 1;\n let pageData = this.dataSource.data.slice(start, end);\n this.selection.deselect(...pageData);\n return\n }\n \n if (this.selectionPerPage) {\n let start =\n this.dataSource.paginator.pageIndex < 1\n ? 0\n : this.dataSource.paginator.pageIndex *\n this.dataSource.paginator.pageSize;\n let end = this.paginator.hasNextPage()\n ? (this.dataSource.paginator.pageIndex + 1) *\n this.dataSource.paginator.pageSize\n : this.dataSource.data.length + 1;\n let pageData = this.dataSource.data.slice(start, end);\n this.selection.select(...pageData);\n } else {\n this.selection.select(...this.dataSource.data);\n }\n }\n\n get selectedItems() {\n return this.selection.selected;\n }\n\n /** The label for the checkbox on the passed row */\n checkboxLabel(row?: any): string {\n if (!row) {\n return `${this.isAllSelected() ? 'deselect' : 'select'} all`;\n }\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row ${\n row.position + 1\n }`;\n }\n\n rowClick(e) {\n this._rowClick.emit(e);\n }\n\n getActionStatusCallback(col) {\n return (state: boolean) => (col.btn.loading = state);\n }\n}\n","<div class=\" \">\n <h5 class=\"text-primary\" *ngIf=\"header\">\n {{header}}\n </h5>\n <div class=\"row align-items-center\" *ngIf=\"filterFields\">\n <ng-container *ngFor=\"let scheme of filterFields\">\n <div class=\"col-md-4 col-xxl-3\">\n <ng-container [ngSwitch]=\"true\">\n <ng-container *ngSwitchCase=\"scheme.type == 'autocomplete'\">\n <div class=\"col\">\n <app-autocomplete [form]=\"form\" [label]=\"scheme.label\" [labelField]=\"scheme.labelField\"\n [labelType]=\"scheme.labelType\" [name]=\"scheme.field|toAny\" [optionFormatter]=\"scheme.optionFormatter\"\n [valueField]=\"scheme.valueField\" [hint]=\"scheme.hint\"\n [disabled]=\"scheme.disabledIf|functionCaller2:form.value:scheme.field\" #inputTag [options]=\"(scheme.optionsFunc| functionCaller2: form.value:scheme.field\n | async) || scheme.options ||cellOptions[scheme.field|toAny]\">\n </app-autocomplete>\n <app-validation-message [input]=\"inputTag\"></app-validation-message>\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <app-input-basic #formField [name]=\"scheme.field|toAny\" [form]=\"form\" [stacked]=\"true\" [type]=\"scheme.type\"\n [valueField]=\"scheme.valueField\" [labelType]=\"scheme.labelType\" [labelField]=\"scheme.labelField\"\n [optionFormatter]=\"scheme.optionFormatter\" [decimalPoints]=\"scheme.decimalPoints\" [hint]=\"scheme.hint\"\n [max]=\"scheme.max\" [min]=\"scheme.min\" [placeholder]=\"scheme.placeholder\" [label]=\"scheme.label\"\n [disabled]=\"scheme.disabledIf|functionCaller2:form.value:scheme.field\" [options]=\"(scheme.optionsFunc| functionCaller2: form.value:scheme.field\n | async) || scheme.options ||cellOptions[scheme.field|toAny]\"></app-input-basic>\n <app-validation-message [input]=\"formField\"></app-validation-message>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n <div class=\"col-md justify-content-end d-flex \">\n <app-btn type=\"danger-outline\" text=\"Clear\" icon=\"delete\" (mclick)=\"clearFilter()\">\n </app-btn>\n </div>\n </div>\n <div class=\"row justify-content-between align-items-end\">\n <div class=\"col-md mb-3\">\n <form [formGroup]=\"form\" *ngIf=\"showFilter\">\n <div class=\"row justify-content-center align-items-end\">\n <div class=\"col-md-auto\">\n <app-input-basic label=\"Filter\" type=\"select\" [form]=\"form\" name=\"field\" [stacked]=\"false\"\n [options]=\"filterOptions\" valueField=\"code\" labelField=\"description\">\n </app-input-basic>\n </div>\n <div class=\"col-md-auto\">\n <app-input-basic label=\"Value\" type=\"text\" [form]=\"form\" name=\"value\" [stacked]=\"false\">\n </app-input-basic>\n </div>\n <div class=\"col-md-auto\">\n <app-btn text=\"Clear\" type=\"secondary\" (mclick)=\"clearFilter()\">\n </app-btn>\n </div>\n </div>\n </form>\n </div>\n <div class=\"col-md-auto my-3\">\n <app-export-table *ngIf=\"showExport\" [disabled]=\"!dataSource.data?.length\" [label]=\"text\"\n [displayedColumns]=\"displayedColumns\" [data]=\"mutableList\">\n </app-export-table>\n </div>\n </div>\n <div [ngClass]=\"{ border: distinct }\">\n <div class=\"overflow-auto\">\n <table mat-table [dataSource]=\"dataSource\" matSort class=\"w-100 d-table table table-striped mb-0\" #table\n [ngClass]=\"{smallerFonts,nowrap,centerCells,curvy}\">\n <!-- Checkbox Column -->\n <ng-container matColumnDef=\"mselect\" [sticky]=\"!placeSelectionAtRight\" [stickyEnd]=\"placeSelectionAtRight\">\n <th mat-header-cell *matHeaderCellDef>\n <ng-container *ngIf=\"customSelectClass\">\n <input type=\"checkbox\" [class]=\"customSelectClass\" (change)=\"$event ? masterToggle() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\" [attr.aria-label]=\"checkboxLabel()\" />\n </ng-container>\n <ng-container *ngIf=\"!customSelectClass\">\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\" [aria-label]=\"checkboxLabel()\">\n </mat-checkbox>\n </ng-container>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"customSelectClass\">\n <input type=\"checkbox\" class=\"form-control control-bg-gray\" (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection.toggle(row) : null\" [checked]=\"selection.isSelected(row)\"\n [attr.aria-label]=\"checkboxLabel(row)\" />\n </ng-container>\n <ng-container *ngIf=\"!customSelectClass\">\n <mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\" [aria-label]=\"checkboxLabel(row)\">\n </mat-checkbox>\n </ng-container>\n </td>\n </ng-container>\n <!-- Columns -->\n <ng-container *ngFor=\"let col of displayedColumns; let i = index\">\n <ng-container [ngSwitch]=\"col.type\">\n <!-- CHECKBOX -->\n <ng-container *ngSwitchCase=\"'checkbox'\" matColumnDef=\"{{ col.f|toAny }}\">\n <th mat-header-cell *matHeaderCellDef>\n <app-info-icon [text]=\"col.hint\">\n {{ col.t | appTranslate | async }}\n </app-info-icon>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <!-- Removing the empty space above checkboxes -->\n <app-input-ngmodel [showLabel]=\"false\" [stacked]=\"true\" type=\"checkbox\" [disabled]=\"col.disabled\"\n [checked]=\"col.checked\" [(model)]=\"row[col.f]\" (mchange)=\"outputCheckbox(col.f, row, $event)\">\n </app-input-ngmodel>\n </td>\n </ng-container>\n <!--// -->\n\n <!-- PROGRESS BAR -->\n <ng-container *ngSwitchCase=\"'progress'\" matColumnDef=\"{{ col.f|toAny }}\">\n <th mat-header-cell *matHeaderCellDef>\n <app-info-icon [text]=\"col.hint\">\n {{ col.t | appTranslate | async }}\n </app-info-icon>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <div class=\"progress\">\n <div class=\"progress-bar progress-bar-striped bg-success\" role=\"progressbar\"\n [ngStyle]=\"{ width: row[col.f] }\">\n {{ row[col.f] }}\n </div>\n </div>\n </td>\n </ng-container>\n <!--// -->\n\n <!-- Button -->\n <ng-container *ngSwitchCase=\"'button'\" matColumnDef=\"{{ col.f|toAny }}\">\n <th mat-header-cell *matHeaderCellDef>\n <app-info-icon [text]=\"col.hint\">\n {{ col.t | appTranslate | async }}\n </app-info-icon>\n </th>\n <td mat-cell *matCellDef=\"let row;let index =index \" class=\"btn-cell\">\n <app-btn [icon]=\"col.icon\" [type]=\"col.btn?.type\"\n (mclick)=\"col.action ? col.action(row, col.f, getActionStatusCallback(col),index) : null\"\n [help]=\"col.btn?.help\" [showHelpIcon]=\"col.btn?.showHelpIcon\" [text]=\"col.btn?.label\"\n [loading]=\"col.btn?.loading\" [iconBtn]=\"col.btn?.iconBtn\" mclass=\"w-auto\"\n [disabled]=\"col.btn?.disabled || col.btn?.loading\"></app-btn>\n </td>\n </ng-container>\n <!--// -->\n\n <!-- Sub Table -->\n <ng-container *ngSwitchCase=\"'table'\" matColumnDef=\"{{ col.f|toAny }}\">\n <th mat-header-cell class=\"text-center\" *matHeaderCellDef>\n <app-info-icon [text]=\"col.hint\">\n {{ col.t | appTranslate | async }}\n </app-info-icon>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <app-btn [icon]=\"col.icon\" [type]=\"col.btn?.type||'dark'\"\n (mclick)=\"col.action ? col.action(row, col.f) : null\" [group]=\"col.btn?.group\"\n [help]=\"col.subTable|tableToString:row | async \" [showHelpIcon]=\"false\" [text]=\"col.btn?.label\"\n [iconBtn]=\"true\" mclass=\"w-auto\"></app-btn>\n </td>\n </ng-container>\n <!--// -->\n\n <!-- ACTION COLUMNS -->\n <ng-container matColumnDef=\"{{ col.f|toAny }}\" *ngSwitchCase=\"'btns'\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header class=\"btn-cell\">\n <app-info-icon [text]=\"col.hint\">\n {{ col.t | appTranslate | async }}\n </app-info-icon>\n </th>\n <td mat-cell *matCellDef=\"let row;let i=index\" class=\"btn-cell\">\n <div class=\"d-flex col-md-auto col-sm-auto \">\n\n <div class=\"mx-2\" *ngFor=\"let button of col.buttons\">\n <app-btn [icon]=\"button.icon\" [help]=\"button.help\" [showHelpIcon]=\"button.showHelpIcon\"\n [type]=\"button.type\" [group]=\"button.group\" [iconBtn]=\"true\" mclass=\"w-auto\"\n (mclick)=\"button.action(row,i)\"></app-btn>\n </div>\n\n\n\n </div>\n </td>\n </ng-container>\n\n <!-- EDITABLE -->\n <ng-container matColumnDef=\"{{ col.f |toAny}}\" *ngSwitchCase=\"'editable'\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <app-info-icon [text]=\"col.hint\">\n {{ col.t | appTranslate | async }}\n </app-info-icon>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <a class=\"cell\" [mqueryParams]=\"col.mqueryParams | functionCaller2: row:col.f\" [mrouterLink]=\"\n col.routeFormatter | functionCaller2: row:col.f\n \" [innerHTML]=\"((row | getColFormatted: col)|async) || '-'\">\n\n </a><i (click)=\"col.action ? col.action(row, col.f):null\" class=\"ps-1 pointer fas fa-pencil-alt \"></i>\n </td>\n </ng-container>\n\n <!-- DEFAULT -->\n <ng-container matColumnDef=\"{{ col.f|toAny }}\" *ngSwitchDefault>\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <app-info-icon [text]=\"col.hint\">\n {{ col.t | appTranslate | async }}\n </app-info-icon>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <a class=\"cell\" [ngClass]=\"{ pointer: col.action ,link:col.action}\"\n (click)=\"col.action ? col.action(row, col.f) : null\"\n [mqueryParams]=\"col.mqueryParams | functionCaller2: row:col.f\" [mrouterLink]=\"\n col.routeFormatter | functionCaller2: row:col.f\n \" [innerHTML]=\"((row | getColFormatted: col)|async) || '-'\">\n </a>\n </td>\n </ng-container>\n\n <!--// -->\n </ng-container>\n </ng-container>\n <!-- Options Column -->\n <ng-container matColumnDef=\"option\" *ngIf=\"options?.length > 0\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let row\">\n <button type=\"button\" [matMenuTriggerFor]=\"menu\" class=\"btn ms-2\">\n <i class=\"bx bx-menu me-0\"></i>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let option of options\" (click)=\"option.action(row)\">\n {{ option.t | appTranslate | async }}\n </button>\n </mat-menu>\n </td>\n </ng-container>\n\n\n\n <ng-container\n *ngIf=\"displayedColumns | getRawFields: options?.length:useSelection:placeSelectionAtRight as dcols\">\n <tr mat-header-row *matHeaderRowDef=\"dcols\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: dcols\" [ngClass]=\"{pointer:showRowPointer}\" (click)=\"rowClick(row)\">\n </tr>\n <tr class=\"mat-row\" *matNoDataRow>\n <td class=\"mat-cell\" [attr.colspan]=\"dcols?.length || 1\">\n {{ noItemTxt | appTranslate | async }}\n </td>\n </tr>\n </ng-container>\n </table>\n </div>\n <mat-paginator *ngIf=\"showPager\" [length]=\"resultsLength\" [pageSizeOptions]=\"pageSizeOptions\" [pageSize]=\"pageSize\"\n showFirstLastButtons>\n </mat-paginator>\n </div>\n</div>\n","import { Injectable } from '@angular/core';\nimport { IETSKVP } from '../../models/index.model';\n\n@Injectable()\nexport class TablePlainService {\n constructor() {}\n formatToColours = (\n key: any,\n codes: IETSKVP[] = [\n { key: 1, value: 'green' },\n { key: 0, value: 'red' },\n { key: 2, value: 'yellow' },\n ]\n ) => {\n return `<span class=\"${\n codes.find((x) => x.key == key)?.value || 'default'\n } colour ${key}\" ></span>`;\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TablePlainComponent } from './table-plain.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule as MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule as MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule as MatInputModule } from '@angular/material/input';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule as MatPaginatorModule } from '@angular/material/paginator';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTableModule as MatTableModule } from '@angular/material/table';\nimport { TablePipesModule } from './table.pipe';\nimport { TablePlainService } from './table-plain.service';\nimport { InputNGModelModule } from '../input-NgModel/input-ngmodel.module';\nimport { LoaderModule } from '../loader/loader.module';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { InputModule } from '../input/input.module';\nimport { BtnModule } from '../btn/btn.module';\nimport { DirectivesModule } from '../../directives/index.directive';\nimport { ExportTableModule } from '../export-table/export-table.module';\nimport { MatCheckboxModule as MatCheckboxModule } from '@angular/material/checkbox';\nimport { AutocompleteModule } from '../autocomplete/autocomplete.module';\nimport { InfoIconModule } from '../info-icon/info-icon.module';\n\n@NgModule({\n declarations: [TablePlainComponent],\n imports: [\n BtnModule,\n CommonModule,\n DirectivesModule,\n ExportTableModule,\n FormsModule,\n InputModule,\n InputNGModelModule,\n LoaderModule,\n MatButtonModule,\n MatCheckboxModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatMenuModule,\n AutocompleteModule,\n MatPaginatorModule,\n MatSortModule,\n MatTableModule,\n ReactiveFormsModule,\n TablePipesModule,\n UtilityPipesModule,\n InfoIconModule\n ],\n exports: [TablePlainComponent],\n providers: [TablePlainService],\n})\nexport class TablePlainModule {}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'text-case-1',\n templateUrl: './text-case-1.component.html',\n styles: [\n `\n i {\n /* font-weight: 500; */\n font-size: small;\n }\n .lbl {\n font-weight: 500;\n }\n `,\n ],\n})\nexport class TextCase1Component implements OnInit {\n @Input() action: any;\n @Input() formatter: (item) => string | Promise<string> | Observable<string>;\n @Input() hint: string;\n @Input() icon: string;\n @Input() set editable(v: boolean) {\n if (v) {\n this.icon = ' pointer fas fa-pencil-alt';\n }\n }\n @Input() inverted: boolean;\n @Input() lbl: string;\n @Input() lblClass = 'text-primary';\n @Input() light: boolean = true;\n @Input() mclass: string;\n @Input() valueNGStyle: { [x: string]: any };\n @Input() route: string;\n @Input() small: boolean;\n @Input() stacked: boolean = true;\n @Input() val: any;\n @Input() xsmall: boolean;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"{{stacked?'':'d-flex align-items-center'}} tc1 {{mclass}} \">\n <div class=\"{{inverted?'val':lblClass}} lbl\" [ngClass]=\"{'fw-bold':!light,small,small1:xsmall}\"\n [matTooltip]=\"hint|appTranslate|async\">\n {{lbl|appTranslate|async}}\n </div>\n <div class=\"{{!inverted?'val':lblClass}} align-items-center d-flex justify-content-between\"\n [ngClass]=\"{'px-1':!stacked}\">\n <a [mrouterLink]=\"route\" [ngStyle]=\"valueNGStyle\">{{((val|valueFormatter:formatter)|async)||'-'}} <i *ngIf=\"icon\"\n class=\"{{icon}} {{!inverted?'val':lblClass}} ml-2\" (click)=\"action?action():null\"></i></a>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TextCase1Component } from './text-case-1.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { RouterModule } from '@angular/router';\nimport { DirectivesModule } from '../../directives/index.directive';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [TextCase1Component],\n imports: [\n CommonModule,\n MatIconModule,\n UtilityPipesModule,\n RouterModule,\n DirectivesModule,MatTooltipModule\n ],\n exports: [TextCase1Component],\n})\nexport class TextCase1Module {}\n","import {\n Component,\n OnInit,\n Input,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ETSFKVP, ETSInputType } from '../../models/index.model';\n\n@Component({\n selector: 'text-case-2',\n templateUrl: './text-case-2.component.html',\n styleUrls: ['./text-case-2.component.scss'],\n // changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TextCase2Component implements OnInit, ITextCase2 {\n @Input() set obj(v: ITextCase2) {\n Object.assign(this, v);\n }\n @Input() action: any;\n name: string;\n @Input() coloredLbl: boolean=true;\n @Input() coloredVal: boolean;\n @Input() form: any;\n @Input() formatter: (item) => string | Promise<string> | Observable<string>;\n @Input() hint: string;\n @Input() label: string;\n @Input() light: boolean;\n @Input() mini: boolean;\n @Input() route: string;\n @Input() routeFunc: (item) => Promise<string> | Observable<string>;\n @Input() editable: boolean;\n @Input() stacked: boolean = true;\n @Input() type: ETSInputType;\n @Input() value: any;\n @Input() wrapLabel: boolean = true;\n @Input() isEmail: boolean;\n @Input() isPhone: boolean;\n constructor() {}\n\n ngOnInit(): void {}\n}\nexport class TextCase2ForObject implements ITextCase2 {\n name: string;\n action: any;\n coloredLbl: boolean;\n coloredVal: boolean;\n form: any;\n formatter: (item) => string | Promise<string> | Observable<string>;\n hint: string;\n label: string;\n light: boolean;\n mini: boolean;\n route: string;\n routeFunc: (item) => Promise<string> | Observable<string>;\n editable: boolean;\n stacked: boolean = true;\n type: ETSInputType;\n value: any;\n wrapLabel: boolean = true;\n isEmail: boolean;\n isPhone: boolean;\n constructor(name: string, label: string) {\n this.name = name;\n this.label = label;\n }\n \n}\n\nexport interface ITextCase2 {\n action?: any;\n coloredLbl?: boolean;\n coloredVal?: boolean;\n formatter?: (item) => string | Promise<string> | Observable<string>;\n hint?: string;\n label?: string;\n name?: string;\n light?: boolean;\n mini?: boolean;\n route?: string;\n routeFunc?: (item) => Promise<string> | Observable<string>;\n editable?: boolean;\n stacked?: boolean;\n type?: ETSInputType;\n value?: any;\n wrapLabel?: boolean;\n isEmail?: boolean;\n isPhone?: boolean;\n}\n","<div class=\"row align-items-center\">\n <label [matTooltip]=\"hint\" class=\"col-md-{{stacked?'12 pb-0':'auto pe-0'}} m-0 hide-scroll-x\"\n [ngClass]=\"{'text-primary':coloredLbl,light,'overflow-x-auto':wrapLabel}\">\n {{label|appTranslate|async}}\n </label>\n <div class=\"{{stacked?'col-12':'col-md'}} position-relative\">\n <div class=\"row align-items-center\">\n <a [isEmail]=\"isEmail\" [isPhone]=\"isPhone\" [mrouterLink]=\"route||(routeFunc|functionCaller1:value|async)\"\n class=\"{{!coloredVal?'':'text-primary'}} col-{{!stacked?'auto':editable?'9':'12'}} lbl\">\n <div class=\"hide-scroll-x overflow-x-auto\">{{((value|valueFormatter:formatter)|async)||'-'}}</div>\n </a>\n <div class=\"col-auto \" *ngIf=\"editable\">\n <i (click)=\"action?action():null\" class=\"ps-1 pointer fas fa-pencil-alt {{!coloredVal?'':'text-primary'}}\"></i>\n </div>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TextCase2Component } from './text-case-2.component'; \nimport { MatIconModule } from '@angular/material/icon';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { RouterModule } from '@angular/router';\nimport { DirectivesModule } from '../../directives/index.directive';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [TextCase2Component],\n imports: [\n CommonModule,\n MatIconModule,\n UtilityPipesModule,\n RouterModule,\n DirectivesModule,\n MatTooltipModule,\n ],\n exports: [TextCase2Component],\n})\nexport class TextCase2Module {}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'view-form-buttons',\n templateUrl: './view-form-buttons.component.html',\n styleUrls: ['./view-form-buttons.component.scss'],\n})\nexport class ViewFormButtonsComponent implements OnInit {\n @Input() isShow:boolean\n @Input() class:string\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"d-lg-flex mt-4 {{class}}\" *ngIf=\"isShow\">\n <app-btn text=\"Edit\" routerLink=\"../edit\" icon=\"edit\" [queryParamsHandling]=\"'merge'\" type=\"secondary\"></app-btn>\n <span class=\"mx-1\"></span>\n <app-btn text=\"Clone\" routerLink=\"../clone\" icon=\"clone\" [queryParamsHandling]=\"'merge'\" type=\"secondary\">\n </app-btn>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ViewFormButtonsComponent } from './view-form-buttons.component';\nimport { BtnModule } from '../btn/btn.module';\nimport { RouterModule } from '@angular/router';\n\n@NgModule({\n declarations: [ViewFormButtonsComponent],\n imports: [CommonModule, BtnModule, RouterModule],\n exports: [ViewFormButtonsComponent],\n})\nexport class ViewFormButtonsModule {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[mHref]'\n})\nexport class MHrefDirective {\n\n constructor() { }\n\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HtmlerService {\n constructor() {}\n\n span = (label: string|number, cls?: string) => {\n return `<span class=\"${cls || ''}\">${label}</span>`;\n };\n //#\n}\n","import { Injectable } from '@angular/core';\nimport { ETSenvironment } from '../../environments/environment';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ThemeService {\n constructor() {}\n\n setup() {\n this.setFavicon();\n this.setTitle();\n this.setMeta();\n }\n setMeta() {\n document.getElementsByTagName('html')[0];\n }\n setFavicon() {\n (\n document\n .getElementsByTagName('head')[0]\n .querySelector('#favicon') as HTMLLinkElement\n ).href = ETSenvironment?.images?.favicon;\n }\n setTitle() {\n document.getElementsByTagName('title')[0].innerHTML = ETSenvironment.appName;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ETSenvironment } from '../../environments/environment';\nimport { ETSUtilityService } from './utility.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WindowSecurityService {\n constructor(public uS: ETSUtilityService) {}\n startTabCheck(singleTabUsage: boolean) {\n if (!singleTabUsage) return;\n try {\n const channel = new BroadcastChannel('tab');\n\n channel.postMessage('another-tab');\n // note that listener is added after posting the message\n\n channel.addEventListener('message', (msg) => {\n if (msg.data === 'another-tab') {\n debugger;\n // message received from 2nd tab\n channel.postMessage(`No you're not.`);\n }\n if (msg.data === `No you're not.`) {\n debugger;\n ETSenvironment.alreadyOpened = true;\n // this.uS.go(Config.alreadyOpenedRoute);\n // setTimeout(() => {\n\n // this.uS.info(`An instance has already been opened and it will be closed`,0,null,null,true);\n // }, 2000);\n // alert(`An instance of this site is already running`);\n }\n });\n } catch (error) {\n console.error(error);\n this.useOtherSingleTabCheck();\n }\n }\n useOtherSingleTabCheck() {}\n}\n","import { Injectable } from '@angular/core';\nimport { SwUpdate, VersionReadyEvent } from '@angular/service-worker';\nimport { ETSConfirmDialogService } from '../../Shared/components/confirm-dialog/confirm-dialog.service';\nimport { filter } from 'rxjs/operators';\nimport { ETSUtilityService } from '../utility.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ETSPromptUpdateService {\n constructor(swUpdate: SwUpdate, public cS: ETSConfirmDialogService) {\n swUpdate.versionUpdates\n .pipe(\n filter((evt): evt is VersionReadyEvent => evt.type === 'VERSION_READY')\n )\n .subscribe((evt) => {\n this.prompter();\n });\n }\n prompter(reason?: string) {\n this.cS\n .confirm(\n (reason\n ? reason\n : `We need to reload the application to receive new updates.`) +\n `\\n Please confirm if we should refresh.`\n )\n .then((r) => {\n if (r)\n // Reload the page to update to the latest version.\n document.location.reload();\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { SwUpdate } from '@angular/service-worker';\nimport { ETSUtilityService } from '../utility.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ETSLogUpdateService {\n constructor(updates: SwUpdate, public uS: ETSUtilityService) {\n // console.log('logging');\n\n updates.versionUpdates.subscribe((evt) => {\n let message: string;\n switch (evt.type) {\n case 'VERSION_DETECTED':\n message = `Downloading new app version`;\n console.log(`${message}: ${evt.version.hash}`);\n this.uS.notify(message, 2);\n break;\n case 'VERSION_READY':\n message = `New app version ready for use`;\n console.log(`Current app version: ${evt.currentVersion.hash}`);\n console.log(`${message}: ${evt.latestVersion.hash}`);\n // this.uS.notify(message, 1);\n break;\n case 'VERSION_INSTALLATION_FAILED':\n message = `Failed to install app version`;\n console.log(`${message} '${evt.version.hash}': ${evt.error}`);\n this.uS.notify(message, 0);\n break;\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { SwUpdate } from '@angular/service-worker';\nimport { ETSUtilityService } from '../utility.service';\nimport { ETSPromptUpdateService } from './prompt-update.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ETSHandleUnrecoverableStateService {\n constructor(\n updates: SwUpdate,\n public uS: ETSUtilityService,\n public puS: ETSPromptUpdateService\n ) {\n updates.unrecoverable.subscribe((event) => {\n console.log(event.reason);\n alert(event.reason);\n this.puS.prompter(\n 'An error occurred that we cannot recover from:\\n' + event.reason\n );\n \n });\n }\n}\n","import { ApplicationRef, Injectable } from '@angular/core';\nimport { SwUpdate } from '@angular/service-worker';\nimport { concat, interval } from 'rxjs';\nimport { first } from 'rxjs/operators';\nimport { ETSPromptUpdateService } from './prompt-update.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ETSCheckForUpdateService {\n constructor(\n public appRef: ApplicationRef,\n public updates: SwUpdate,\n public puS: ETSPromptUpdateService\n ) {\n this.init();\n }\n\n init(itvl?: number, cb?: any) {\n // Allow the app to stabilize first, before starting\n // polling for updates with `interval()`.\n const appIsStable$ = this.appRef.isStable.pipe(\n first((isStable) => {\n console.log('checking for stability ', isStable);\n return isStable === true;\n })\n );\n // const everySixHours$ = interval(itvl || 1000);\n const everySixHours$ = interval(itvl || 60 * 60 * 60 * 1000);\n const everySixHoursOnceAppIsStable$ = concat(appIsStable$, everySixHours$);\n\n everySixHours$.subscribe(async () => {\n try {\n console.log('checking update');\n // alert('checking update');\n const updateFound = await this.updates.checkForUpdate();\n if (updateFound) cb ? cb() : this.puS.prompter();\n else console.log('found no update');\n } catch (err) {\n if (this.updates.isEnabled)\n console.error('Failed to check for updates:', err);\n else console.log('found no update');\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ETSInfoDialogService } from '../../../lib/Shared/components/info-dialog/info-dialog.service';\nimport { first } from 'rxjs/operators';\nimport { ETSUtilityService } from '../utility.service';\nimport { ETSCheckForUpdateService } from './check-for-update.service';\nimport { ETSHandleUnrecoverableStateService } from './handle-unrecoverable-state.service';\nimport { ETSLogUpdateService } from './log-update.service';\nimport { ETSPromptUpdateService } from './prompt-update.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ETSServiceWorkerService {\n constructor(\n public puS: ETSPromptUpdateService,\n public luS: ETSLogUpdateService,\n public huS: ETSHandleUnrecoverableStateService,\n public cfuS: ETSCheckForUpdateService,\n public iS: ETSInfoDialogService\n ) {}\n\n async getUpdates(cb?) {\n console.log('checking update 1');\n const appIsStable$ = this.cfuS.appRef.isStable.pipe(\n first((isStable) => {\n console.log('checking for stability ', isStable);\n return isStable === true;\n })\n );\n console.log('checking update 2');\n\n // appIsStable$.subscribe(async () => {\n try {\n console.log('checking update 3');\n const updateFound = await this.cfuS.updates.checkForUpdate();\n if (updateFound) this.puS.prompter();\n else this.iS.info(`No new versions were found`, 1);\n if (cb) cb();\n } catch (err) {\n this.iS.info(`Failed to check for updates`, 0);\n console.error('Failed to check for updates:', err);\n if (cb) cb();\n }\n // });\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport {\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { timeout } from 'rxjs/operators';\nimport { ETSenvironment } from '../../../environments/environment';\n\nexport const DEFAULT_TIMEOUT = new InjectionToken<number>('defaultTimeout');\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RequestTimeoutInterceptorService {\n constructor(@Inject(DEFAULT_TIMEOUT) protected defaultTimeout: number) {}\n\n intercept(\n req: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n // if (+req.headers.get('timeout') || environment.requestTimeout)\n // console.log(\n // 'timeout',\n // +req.headers.get('timeout') ,\n // environment.requestTimeout ,\n // this.defaultTimeout\n // );\n // console.log(\n // +req.headers.get('timeout') ,\n // environment.requestTimeout ,\n // this.defaultTimeout\n // );\n const tout =\n +req.headers.get('timeout') ||\n ETSenvironment.requestTimeout ||\n this.defaultTimeout;\n // console.log('timeout period',tout);\n return next.handle(req).pipe(timeout(tout));\n }\n}\n","import {\n HttpInterceptor,\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpResponse,\n HttpErrorResponse,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { ETSenvironment } from '../../../environments/environment';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RequestLoggerInterceptorService implements HttpInterceptor {\n constructor() { }\n intercept(\n req: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n ETSenvironment.pageLoader.startPl();\n return next.handle(req).pipe(\n tap((event: HttpEvent<any>) => {\n if (\n event instanceof HttpResponse ||\n event instanceof HttpErrorResponse\n ) {\n ETSenvironment.pageLoader.stopPl();\n }\n }, err => {\n ETSenvironment.pageLoader.stopPl();\n })\n );\n }\n}\n","import {\n HttpInterceptor,\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpResponse,\n HttpErrorResponse,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\nimport { ETSenvironment } from '../../../environments/environment';\nimport { LoggerService } from '../../Reusables/reusable-pages/logger/logger.service';\nimport { Log } from '../../Reusables/reusable-pages/logger/logger.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoggerInterceptorService implements HttpInterceptor {\n constructor(public loggerS: LoggerService) {\n this.exemptList.forEach((x) => (x = x.toLowerCase()));\n }\n readonly exemptList = [\n ETSenvironment.apiBaseUrl + '/rest/translation',\n ETSenvironment.apiBaseUrl + '/rest/authentication',\n ETSenvironment.apiBaseUrl + '/rest/users/activity/log',\n ];\n intercept(\n req: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n if (\n !ETSenvironment.debug ||\n this.exemptList.find((x) => req.url.startsWith(x) || !ETSenvironment.logReq)\n )\n return next.handle(req);\n try {\n let log: Log;\n if (req.method == 'POST' || req.method == 'PUT' ) {\n log = new Log({payload:req.body,endpoint: req.url,method: req.method});\n }\n return next.handle(req).pipe(\n tap(\n (event: HttpEvent<any>) => {\n if (event instanceof HttpResponse && log ) {\n log.isSuccess = true;\n this.loggerS.pushLog(log);\n }\n },\n (e: HttpEvent<any>) => {\n // debugger;\n if (e instanceof HttpErrorResponse && log) {\n log.isSuccess = false;\n this.loggerS.pushLog(log);\n }\n }\n )\n );\n } catch (error) {\n return next.handle(req);\n }\n }\n}\n","import { ErrorHandler, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GlobalErrorHandlerService extends ErrorHandler {\n constructor() {\n super();\n }\n\n handleError(error: any) {\n // debugger\n if (/Loading chunk [\\d]+ failed/.test(error?.message))\n window.location.reload();\n if (/NG0100: ExpressionChangedAfterItHasBeenCheckedError/.test(error?.message))\n return;\n else super.handleError(error);\n }\n}\n","import {\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n HttpResponse,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { ETSenvironment } from '../../../environments/environment';\nimport { ApiService } from '../api.service';\n\n@Injectable()\nexport class AuthenticationInterceptorService implements HttpInterceptor {\n constructor(public router: Router) {}\n intercept(\n req: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n if (\n ETSenvironment.authenticate &&\n req.url.startsWith(ETSenvironment.apiBaseUrl)\n ) {\n const reqAuth = req.clone({\n url: req.url,\n headers: req.headers\n .set('Authorization', `${ETSenvironment.token}`) \n });\n return next.handle(reqAuth).pipe(\n tap(\n (event: HttpEvent<any>) => {},\n (e: HttpEvent<any>) => {\n if (e instanceof HttpResponse && e.status == 401) {\n console.error(`About to be loggeed out due to 401 `, e, req);\n this.router.navigateByUrl('/auth/login');\n }\n }\n )\n );\n } else return next.handle(req);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { merge } from 'rxjs';\nimport { ApiService } from '../api.service';\nimport { CacheService } from './cache.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CacheUpdaterService {\n constructor(public apiService: ApiService) {}\n update = (cacheS: CacheService) => {\n return merge(\n Object.keys(cacheS.cache).map((key) =>\n this.apiService.get(key).subscribe((r) => {\n cacheS.setItem(key, r);\n })\n )\n );\n };\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { StorageService } from '../storage.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SaverService {\n private readonly storageKey;\n\n constructor(\n public sS: StorageService,\n @Inject(String) public itemName: string,\n @Inject(String) storageKey: string\n ) {\n this.storageKey = storageKey;\n this.getFromLocal();\n }\n saveToLocal() {\n this.sS.saveItem(this.storageKey, this[this.itemName]);\n }\n getFromLocal() {\n // debugger\n this[this.itemName] = this.sS.getItem(this.storageKey);\n }\n}\n","import { CommonModule, DecimalPipe } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { RouterModule } from '@angular/router';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { AutocompleteNgModelModule } from './components/autocomplete-ng-model/autocomplete-ng-model.module';\nimport { AutocompleteModule } from './components/autocomplete/autocomplete.module';\nimport { BtnModule } from './components/btn/btn.module';\nimport { DetailsBtnModule } from './components/btn/details-btn/details-btn.module';\nimport { CardModule } from './components/card/card.module';\nimport { ComponentsModule } from './components/core/button/components.module';\nimport { DocumentsNameDisplayModule } from './components/documents-name-display/documents-name-display.module';\nimport { EditableTextCaseModule } from './components/editable-text-case/editable-text-case.module';\nimport { ExportTableModule } from './components/export-table/export-table.module';\nimport { FileUploadModule } from './components/file-upload/file-upload.module';\nimport { FormGeneratorModule } from './components/form-generator/form-generator.module';\nimport { FormLinkModule } from './components/form-link/form-link.module';\nimport { FormTabHeadersModule } from './components/form-tab-headers/form-tab-headers.module';\nimport { InfoIconModule } from './components/info-icon/info-icon.module';\nimport { InputNGModelModule } from './components/input-NgModel/input-ngmodel.module';\nimport { InputModule } from './components/input/input.module';\nimport { LabelModule } from './components/label/label.module';\nimport { LoaderModule } from './components/loader/loader.module';\nimport { ModalFormModule } from './components/modal-form/modal-form.module';\nimport { ModalHeaderModule } from './components/modal-header/modal-header.module';\nimport { ModalModule } from './components/modal/modal.module';\nimport { PageTemplateModule } from './components/page-template/page-template.module';\nimport { PageToComponentModule } from './components/page-to-component/page-to-component.module';\nimport { PhoneNumberModule } from './components/phone-number/phone-number.module';\nimport { RowActionsModule } from './components/row-actions/row-actions.module';\nimport { TableHttpsModule } from './components/table-https/table-https.module';\nimport { TablePlainModule } from './components/table-plain/table-plain.module';\nimport { TextCase1Module } from './components/text-case-1/text-case-1.module';\nimport { TextCase2Module } from './components/text-case-2/text-case-2.module';\nimport { ViewFormButtonsModule } from './components/view-form-buttons/view-form-buttons.module';\nimport { DirectivesModule } from './directives/index.directive';\nimport { UtilityPipesModule } from './pipes/utility.pipe';\n\n@NgModule({\n declarations: [],\n imports: [\n // BtnModule,\n CommonModule,\n ],\n exports: [\n AutocompleteModule,\n AutocompleteNgModelModule,\n BtnModule,\n CardModule,\n ComponentsModule,\n DetailsBtnModule,\n DirectivesModule,\n DocumentsNameDisplayModule,\n EditableTextCaseModule,\n ExportTableModule,\n FileUploadModule,\n FontAwesomeModule,\n FormGeneratorModule,\n FormLinkModule,\n FormTabHeadersModule,\n InfoIconModule,\n InputModule,\n InputNGModelModule,\n LabelModule,\n LoaderModule,\n MatDialogModule,\n MatTooltipModule,\n ModalFormModule,\n ModalHeaderModule,\n ModalModule,\n PageTemplateModule,\n PageToComponentModule,\n PhoneNumberModule,\n RouterModule,\n RowActionsModule,\n TableHttpsModule,\n TablePlainModule,\n TextCase1Module,\n TextCase2Module,\n UtilityPipesModule,\n ViewFormButtonsModule, \n ],\n providers: [DecimalPipe],\n})\nexport class ETSSharedModule {}\n","import { Component, OnInit } from '@angular/core'; \nimport { ETSUtilityService } from '../../../Services/utility.service';\nimport { Log } from './logger.interface';\nimport { LoggerService } from './logger.service';\n\n@Component({\n selector: 'app-logger',\n templateUrl: './logger.component.html',\n styleUrls: ['./logger.component.scss'],\n})\nexport class LoggerComponent implements OnInit {\n constructor(public lS: LoggerService, public uS: ETSUtilityService) {}\n\n ngOnInit(): void {\n if (!this.lS.isAuthed) {\n let pwd = prompt('Please enter the password');\n // debugger;\n if (pwd == this.lS.pwd) {\n this.lS.unlock();\n }\n }\n }\n trackByID(index: number, item: Log) {\n return item.id;\n }\n copy(i: number) {}\n download(i: number) {}\n lock() {\n this.lS.lock();\n }\n copied() {\n this.uS.notify('Copied to clipboard');\n }\n downloaded() {\n this.uS.notify('Downloaded');\n }\n makeTextFile = (log: Log) => {\n var data = new Blob([JSON.stringify(log)], { type: 'text/plain' });\n this.uS.downloader(data, `log_${log.time}.json`);\n };\n}\n"," <div class=\"container-fluid py-5\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <h3 class=\"text-center text-primary mb-4\">Logged Post Requests</h3>\n <div class=\"d-flex\">\n <app-btn help=\"Refresh\" [showHelpIcon]=\"false\" [iconBtn]=\"true\" icon=\"renew\" (mclick)=\"ngOnInit()\" ></app-btn>\n </div>\n </div>\n <ng-container *ngIf=\"this.lS.isAuthed; else elseTemplate\">\n <div class=\"\">\n <table class=\"table border table-bordered\">\n <thead>\n <th></th>\n <th width=\"30%\">Payload</th>\n <th>Page Route</th>\n <th>Endpoint</th>\n <th>Files</th>\n <th>Status</th>\n <th>Time</th>\n <th> </th>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of lS.logs;let i=index; trackBy:trackByID\"\n [ngClass]=\"{failure:!item?.isSuccess,success:item?.isSuccess}\">\n <!-- <td>{{item?.title}}</td> -->\n <td>{{i+1}}</td>\n <td><div class=\"payload\">{{item?.payload|json}}</div></td>\n <td><a routerLink=\"{{item.route}}\" target=\"_blank\">{{item?.route}}</a></td>\n <td>{{item?.endpoint}}</td>\n <td>\n <div class=\"\">\n <div class=\"\" *ngFor=\"let file of item?.files\">\n <div>Title: {{file.title}}</div>\n <div>Size: {{file.size}}</div>\n <div>Type: {{file.type}}</div>\n </div>\n </div>\n </td>\n <td>{{item?.isSuccess?'Success':'Failure'}}</td>\n <td>{{item?.time|date:'long'}}</td>\n <td>\n <div class=\" \">\n <app-btn icon=\"clone\" [cdkCopyToClipboard]=\"item?.payload|json\" (mclick)=\"copied()\" [iconBtn]=\"true\" type=\"outline\" help=\"Copy paylod to clipboard\" [showHelpIcon]=\"false\"></app-btn>\n <div class=\"my-1\"></div>\n <app-btn icon=\"download\" [iconBtn]=\"true\" type=\"outline\" help=\"Download payload\" (mclick)=\"makeTextFile(item)\" [showHelpIcon]=\"false\"></app-btn>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n <app-btn icon=\"lock\" type=\"secondary\" (click)=\"lock()\">Lock Logs</app-btn>\n </div>\n </ng-container>\n <ng-template #elseTemplate>\n <app-btn icon=\"unlock\" type=\"secondary\" (click)=\"ngOnInit()\">Unlock Logs</app-btn>\n </ng-template>\n\n\n </div>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { LoggerComponent } from './logger.component';\n\nconst routes: Routes = [{ path: '', component: LoggerComponent }];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class LoggerRoutingModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { LoggerRoutingModule } from './logger-routing.module';\nimport { LoggerComponent } from './logger.component';\nimport { ETSSharedModule } from '../../../Shared/shared.module';\nimport { ClipboardModule } from '@angular/cdk/clipboard';\n\n@NgModule({\n declarations: [LoggerComponent],\n imports: [CommonModule, LoggerRoutingModule, ETSSharedModule, ClipboardModule],\n})\nexport class ETSLoggerModule {}\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { ETSUtilityService } from '../../../Services/utility.service';\n\n@Component({\n selector: 'app-page-not-found',\n templateUrl: './page-not-found.component.html',\n styleUrls: ['./page-not-found.component.scss'],\n})\nexport class ETSPageNotFoundComponent implements OnInit {\n config: { status: string; message: string };\n\n constructor(public route: ActivatedRoute, public uS: ETSUtilityService) {}\n\n ngOnInit(): void {\n // this.chatS.hide()\n this.config = this.route.snapshot.data.config;\n }\n back() {\n this.uS.back();\n }\n}\n","<div class=\"d-flex justify-content-center align-items-center\" id=\"main\" style=\"height: 80vh\">\n <div class=\"text-center\">\n <div class=\"d-md-flex justify-content-center align-items-center\">\n <h1 class=\"m-3 p-3 align-top border-right inline-block align-content-center\" style=\"border-right: 1px solid gray\"\n *ngIf=\"!uS.isMobile\">\n {{(config?.status||'404')|appTranslate|async}}\n </h1>\n <h1 class=\"m-3 p-3 align-top border-right inline-block align-content-center\" *ngIf=\"uS.isMobile\">\n {{(config?.status||'404')|appTranslate|async}}\n </h1>\n <div class=\"inline-block align-middle\">\n <h2 class=\"font-weight-normal lead\" id=\"desc\">\n {{(config?.message||'The page you requested was not found.')|appTranslate|async}}</h2>\n </div>\n </div>\n <div class=\"d-flex mt-2 p-2 justify-content-center\">\n <app-btn text=\"Go Back\" (mclick)=\"back()\" type=\"dark-outline\" icon=\"previous\"></app-btn>\n <span class=\"mx-1\"></span>\n <app-btn text=\"Home\" routerLink=\"/\" type=\"dark\" icon=\"home\"></app-btn>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { ETSPageNotFoundComponent } from './page-not-found.component';\n\nconst routes: Routes = [{ path: '', component: ETSPageNotFoundComponent }];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class PageNotFoundRoutingModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PageNotFoundRoutingModule } from './page-not-found-routing.module';\nimport { ETSPageNotFoundComponent } from './page-not-found.component';\nimport { UtilityPipesModule } from '../../../Shared/pipes/utility.pipe';\nimport { ETSSharedModule } from '../../../Shared/shared.module';\n\n@NgModule({\n declarations: [ETSPageNotFoundComponent],\n imports: [\n CommonModule,\n PageNotFoundRoutingModule,\n UtilityPipesModule,\n ETSSharedModule,\n ],\n})\nexport class ETSPageNotFoundModule {}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-robot',\n templateUrl: './robot.component.html',\n styleUrls: ['./robot.component.scss']\n})\nexport class RobotComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<p>robot works!</p>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { RobotComponent } from './robot.component';\n\nconst routes: Routes = [{ path: '', component: RobotComponent }];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class RobotRoutingModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { RobotRoutingModule } from './robot-routing.module';\nimport { RobotComponent } from './robot.component';\n\n\n@NgModule({\n declarations: [\n RobotComponent\n ],\n imports: [\n CommonModule,\n RobotRoutingModule\n ]\n})\nexport class ETSRobotModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { ETSServiceWorkerService } from '../../../Services/service-worker/service-worker.service';\n\n@Component({\n selector: 'app-reset',\n templateUrl: './reset.component.html',\n styleUrls: ['./reset.component.scss'],\n})\nexport class ResetComponent implements OnInit {\n loading: boolean;\n constructor(private swService: ETSServiceWorkerService) {}\n\n ngOnInit(): void {\n // if(this.swService.puS.)\n this.getUpdates()\n }\n clearCache() {\n this.loading = true;\n if ('caches' in window) {\n caches.keys().then((names) => {\n names.forEach(async (name) => {\n await caches.delete(name);\n });\n });\n }\n location.href = '/';\n }\n getUpdates() {\n this.loading = true;\n this.swService.getUpdates(() => {\n this.loading = false;\n });\n }\n}\n","<loader [loading]=\"loading\" text=\"Resetting\">\n\n <div class=\"center vh-70\">\n <div class=\"gy-2 justify-content-center row row-cols-md-6 w-100\">\n <app-btn text=\"Get Updates\" customIcon=\"fas fa-download\" (mclick)=\"getUpdates()\"></app-btn>\n <!-- <app-btn text=\"Clear Cache\" customIcon=\"fas fa-refresh\" (mclick)=\"clearCache()\"></app-btn> -->\n </div>\n </div>\n</loader>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { ResetComponent } from './reset.component';\n\nconst routes: Routes = [{ path: '', component: ResetComponent }];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class ResetRoutingModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ResetRoutingModule } from './reset-routing.module';\nimport { ResetComponent } from './reset.component';\nimport { LoaderModule } from '../../../Shared/components/loader/loader.module';\nimport { BtnModule } from '../../../Shared/components/btn/btn.module';\nimport { MatMenuModule } from '@angular/material/menu';\n\n\n@NgModule({\n declarations: [\n ResetComponent\n ],\n imports: [\n CommonModule,\n ResetRoutingModule,LoaderModule,BtnModule,MatMenuModule\n ]\n})\nexport class ETSResetModule { }\n","import { Inject, Injectable } from '@angular/core';\nimport { ServiceFunction } from '../../../Shared/injection-tokens/index.injection-tokens';\nimport { IServiceFunction } from '../../../Shared/models/index.model';\n\nimport { StorageService } from '../../../Services/storage.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VersionService {\n readonly currentVersion = '0.2';\n private readonly storageKey = 'versionKey';\n constructor(\n public sS: StorageService,\n @Inject(ServiceFunction) public serviceFunctions: IVersionServiceFunction\n ) {\n this.checkCurrentVersion();\n }\n\n checkCurrentVersion() {\n const localVersion = this.getLocalVersion();\n if (localVersion && localVersion != this.currentVersion) {\n this.setLocalVersion();\n if (this.serviceFunctions.logout) this.serviceFunctions.logout();\n } else {\n this.setLocalVersion();\n }\n }\n getLocalVersion() {\n return this.sS.getItem<string>(this.storageKey);\n }\n setLocalVersion() {\n this.sS.saveItem(this.storageKey, this.currentVersion);\n }\n}\ninterface IVersionServiceFunction extends IServiceFunction {\n logout: () => any;\n}\n","import { Injectable } from '@angular/core';\nimport { ETSenvironment } from '../../../../../environments/environment';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ChatHelpDeskService {\n showOptions: boolean = true;\n isShown: boolean;\n helpLink = ETSenvironment.helpLink;\n constructor() {}\n\n reload() {\n this.closeOptions();\n this.show();\n }\n show() {\n this.isShown = true;\n }\n hide() {\n this.isShown = false;\n }\n hideOptions() {\n this.showOptions = false;\n }\n toggle() {\n this.isShown = !this.isShown;\n }\n\n closeOptions() {\n this.showOptions = false;\n }\n openOptions() {\n this.showOptions = true;\n }\n toggleOptions() {\n this.showOptions = !this.showOptions;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ETSenvironment } from '../../../../environments/environment';\nimport { VersionService } from './version.service';\nimport { ChatHelpDeskService } from '../../../Shared/components/page-icons/chat-help-desk/chat-help-desk.service';\nimport { ITextCase2 } from '../../../Shared/components/text-case-2/text-case-2.component';\n\n@Component({\n selector: 'version',\n templateUrl: './version.component.html',\n styleUrls: ['./version.component.scss'],\n})\nexport class VersionComponent implements OnInit {\n env = ETSenvironment;\n props: ITextCase2[] = [];\n constructor(public vS: VersionService, public chS: ChatHelpDeskService) {}\n\n ngOnInit(): void {\n this.chS.hideOptions();\n this.props.push(\n { label: 'App Name', value: this.env.appName },\n { label: 'Environment Name', value: this.env.name },\n { label: 'Current Version', value: this.vS.currentVersion }\n );\n }\n}\n","<div class=\"center vh-100\">\n <ng-container *ngFor=\"let item of props\">\n <text-case-2 [obj]=\"item\" ></text-case-2>\n </ng-container>\n \n</div>","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { VersionComponent } from './version.component';\n\nconst routes: Routes = [{ path: '', component: VersionComponent }];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class VersionRoutingModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { VersionRoutingModule } from './version-routing.module';\nimport { VersionComponent } from './version.component';\nimport { ETSSharedModule } from '../../../Shared/shared.module';\n\n\n@NgModule({\n declarations: [\n VersionComponent\n ],\n imports: [\n CommonModule,\n VersionRoutingModule,ETSSharedModule\n ]\n})\nexport class ETSVersionModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ApiService } from '../../../Services/api.service';\nimport { ETSUtilityService } from '../../../Services/utility.service';\nimport { ETSInfoDialogService } from '../../../Shared/components/info-dialog/info-dialog.service';\n\n@Component({\n selector: 'timeout-tester',\n templateUrl: './timeout-tester.component.html',\n styleUrls: ['./timeout-tester.component.scss'],\n})\nexport class TimeoutTesterComponent implements OnInit {\n startTime: number;\n endTime: number;\n form = new FormGroup({\n timeout: new FormControl<number>(1, Validators.required),\n });\n loading: boolean;\n constructor(public apiS: ApiService, public iS: ETSInfoDialogService) {}\n\n ngOnInit(): void {}\n get value() {\n return (Date.now() / this.expectedEndTime) * 100;\n }\n get expectedEndTime() {\n return this.form.value.timeout * 60 * 1000 + (this.startTime || 0);\n }\n get elapsedTime() {\n return Date.now() - (this.startTime || 0);\n }\n async submit() {\n this.loading = true;\n try {\n this.endTime = null;\n const val = this.form.value;\n this.startTime = Date.now();\n const res = await this.apiS\n .get('http://example.com:81')\n // .get('http://example.com:81' + +val.timeout * 60 * 1000)\n .toPromise();\n this.endTime = Date.now();\n console.log(res);\n } catch (error) {\n this.iS.info(error, 0);\n }\n this.loading = false;\n }\n}\n","<div class=\"center\">\n <div class=\"col-md-8\">\n <!-- <app-input-basic [form]=\"form\" name=\"timeout\" label=\"Timeout Test Period\" hint=\"min\"></app-input-basic> -->\n <app-btn [form]=\"form\" text=\"Test\" class=\"mt-3\" (mclick)=\"submit()\"></app-btn>\n <div class=\"row mt-3\">\n <div class=\"col-md\">\n <text-case-2 label=\"Start Time\" [value]=\"startTime|date:'long'\"></text-case-2>\n </div>\n <div class=\"col-md\" *ngIf=\"loading\">\n <text-case-2 label=\"Elapsed Time (Seconds)\" [value]=\"elapsedTime|date:'m:s'\" ></text-case-2>\n <text-case-2 label=\"Start Time\" [value]=\"elapsedTime\"></text-case-2>\n </div>\n <!-- <div class=\"col-md\">\n <text-case-2 label=\"Expected End Time\" [value]=\"expectedEndTime|date:'long'\"></text-case-2>\n </div>\n <div class=\"col-md\">\n <text-case-2 label=\"Actual End Time\" [value]=\"endTime|date:'long'\"></text-case-2>\n </div> -->\n </div>\n <!-- <ng-container *ngIf=\"loading\">\n <div class=\"mt-3\">{{value}}%</div>\n <mat-progress-bar [value]=\"value\"></mat-progress-bar>\n </ng-container> -->\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TimeoutTesterComponent } from './timeout-tester.component';\n\nconst routes: Routes = [{ path: '', component: TimeoutTesterComponent }];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class TimeoutTesterRoutingModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { TimeoutTesterRoutingModule } from './timeout-tester-routing.module';\nimport { TimeoutTesterComponent } from './timeout-tester.component';\nimport { ETSSharedModule } from '../../../Shared/shared.module';\nimport { MatProgressBarModule as MatProgressBarModule } from '@angular/material/progress-bar';\n\n@NgModule({\n declarations: [TimeoutTesterComponent],\n imports: [\n CommonModule,\n TimeoutTesterRoutingModule,\n ETSSharedModule,\n MatProgressBarModule,\n ],\n})\nexport class ETSTimeoutTesterModule {}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { ETSenvironment } from '../../../../environments/environment'; \nconst routes: Routes = [\n ...(ETSenvironment.debug\n ? [\n {\n path: 'logs',\n loadChildren: () =>\n import('../logger/logger.module').then(\n (m) => m.ETSLoggerModule\n ),\n data: { title: 'Logs' },\n },\n ]\n : []),\n {\n path: 'no-access',\n loadChildren: () =>\n import(\n '../page-not-found/page-not-found.module'\n ).then((m) => m.ETSPageNotFoundModule),\n data: {\n color: 'bg-primary',\n config: {\n status: '401',\n message: 'You do not have access to this page.',\n },\n },\n },\n {\n path: 'robot',\n loadChildren: () =>\n import('../robot/robot.module').then(\n (m) => m.ETSRobotModule\n ),\n },\n {\n path: 'reset',\n data: { title: 'Reset' },\n loadChildren: () =>\n import('../reset/reset.module').then(\n (m) => m.ETSResetModule\n ),\n },\n {\n path: 'version',\n loadChildren: () =>\n import('../version/version.module').then(\n (m) => m.ETSVersionModule\n ),\n },\n {\n path: 'timeout-tester', \n data: { title: 'Test Timeout Period' },\n loadChildren: () =>\n import('../timeout-tester/timeout-tester.module').then(\n (m) => m.ETSTimeoutTesterModule\n ),\n },\n {\n path: '**',\n loadChildren: () =>\n import(\n '../page-not-found/page-not-found.module'\n ).then((m) => m.ETSPageNotFoundModule),\n data: { color: 'bg-primary' },\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class ExtraPagesRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ExtraPagesRoutingModule } from './extra-pages-routing.module';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n ExtraPagesRoutingModule,\n ],\n})\nexport class ETSExtraPagesModule { }\n","import { NgModule } from '@angular/core';\nimport { EtsFeNgSdkComponent } from './ets-fe-ng-sdk.component';\n\n\n\n@NgModule({\n declarations: [\n // EtsFeNgSdkComponent\n ],\n imports: [\n ],\n exports: [\n // EtsFeNgSdkComponent\n ]\n})\nexport class EtsFeNgSdkModule { }\n","/*\n * Public API Surface of ets-fe-ng-sdk\n */\n\n//#region lib/Shared/models\nexport * from './lib/Shared/models/environment.model';\nexport * from './lib/Shared/models/form-schema.model';\nexport * from './lib/Shared/models/form.class';\nexport * from './lib/Shared/models/IMenuItem';\nexport * from './lib/Shared/models/index.model';\nexport * from './lib/Shared/models/RouteItem.class';\n//#endregion\n\n//#region lib/label-customization\nexport * from './lib/label-customization/label-customization.model';\nexport * from './lib/label-customization/label-customization.module';\nexport * from './lib/label-customization/label-customization.service';\n//#endregion\n\nexport * from './lib/configs/base-functions';\nexport * from './lib/configs/index.config';\nexport * from './lib/configs/validation-messages.config';\n\nexport * from './lib/Shared/classes/page-loader.class'\nexport * from './lib/Shared/classes/permission-manager.class'\n\nexport * from './lib/Shared/components/info-dialog/happy-icon.component';\nexport * from './lib/Shared/components/info-dialog/info-icon.component';\nexport * from './lib/Shared/components/info-dialog/sad-icon.component';\nexport * from './lib/Shared/components/autocomplete-ng-model/autocomplete-ng-model.component';\nexport * from './lib/Shared/components/autocomplete-ng-model/autocomplete-ng-model.module';\nexport * from './lib/Shared/components/autocomplete/autocomplete-td-rf/autocomplete-td-rf.component';\nexport * from './lib/Shared/components/autocomplete/autocomplete.component';\nexport * from './lib/Shared/components/autocomplete/autocomplete.module';\nexport * from './lib/Shared/components/btn/btn.component';\nexport * from './lib/Shared/components/btn/btn.module';\nexport * from './lib/Shared/components/btn/details-btn/details-btn.component';\nexport * from './lib/Shared/components/btn/details-btn/details-btn.module';\nexport * from './lib/Shared/components/card/card.component';\nexport * from './lib/Shared/components/card/card.module';\nexport * from './lib/Shared/components/confirm-dialog/confirm-dialog.component';\nexport * from './lib/Shared/components/confirm-dialog/confirm-dialog.module';\nexport * from './lib/Shared/components/confirm-dialog/confirm-dialog.service';\nexport * from './lib/Shared/components/core/button/button.component';\nexport * from './lib/Shared/components/core/button/components.module';\nexport * from './lib/Shared/components/documents-name-display/documents-name-display.component';\nexport * from './lib/Shared/components/documents-name-display/documents-name-display.module';\nexport * from './lib/Shared/components/editable-text-case/editable-text-case.component';\nexport * from './lib/Shared/components/editable-text-case/editable-text-case.module';\nexport * from './lib/Shared/components/export-table/export-table.component';\nexport * from './lib/Shared/components/export-table/export-table.module';\nexport * from './lib/Shared/components/file-upload/file-upload.component';\nexport * from './lib/Shared/components/file-upload/file-upload.module';\nexport * from './lib/Shared/components/form-generator/form-generator.component';\nexport * from './lib/Shared/components/form-generator/form-generator.module';\nexport * from './lib/Shared/components/form-link/form-link.component';\nexport * from './lib/Shared/components/form-link/form-link.module';\nexport * from './lib/Shared/components/form-tab-headers/form-tab-headers.component';\nexport * from './lib/Shared/components/form-tab-headers/form-tab-headers.module';\nexport * from './lib/Shared/components/info-dialog/info-dialog.component';\nexport * from './lib/Shared/components/info-dialog/info-dialog.module';\nexport * from './lib/Shared/components/info-dialog/info-dialog.service';\nexport * from './lib/Shared/components/info-icon/info-icon.component';\nexport * from './lib/Shared/components/info-icon/info-icon.module';\nexport * from './lib/Shared/components/input-NgModel/input-ngmodel.component';\nexport * from './lib/Shared/components/input-NgModel/input-ngmodel.module';\nexport * from './lib/Shared/components/input-NgModel/validation-message-ngmodel/validation-message-ngmodel.component';\nexport * from './lib/Shared/components/input/day-hour-min-input/day-hour-min-input.component';\nexport * from './lib/Shared/components/input/input-basic.component';\nexport * from './lib/Shared/components/input/input-control.component';\nexport * from './lib/Shared/components/input/input-label/input-label.component';\nexport * from './lib/Shared/components/input/input-td-rf.component';\nexport * from './lib/Shared/components/input/input.component';\nexport * from './lib/Shared/components/input/input.module';\nexport * from './lib/Shared/components/input/input.service';\nexport * from './lib/Shared/components/input/inputs-pipes.pipe';\nexport * from './lib/Shared/components/input/validation-message/validation-message.component';\nexport * from './lib/Shared/components/input/year-month-td-rf/year-month-td-rf.component';\nexport * from './lib/Shared/components/label/label.component';\nexport * from './lib/Shared/components/label/label.module';\nexport * from './lib/Shared/components/loader/loader.component';\nexport * from './lib/Shared/components/loader/loader.module';\nexport * from './lib/Shared/components/loader/spinner.component';\nexport * from './lib/Shared/components/modal-form/modal-form.component';\nexport * from './lib/Shared/components/modal-form/modal-form.module';\nexport * from './lib/Shared/components/modal-header/modal-header.component';\nexport * from './lib/Shared/components/modal-header/modal-header.module';\nexport * from './lib/Shared/components/modal/modal.component';\nexport * from './lib/Shared/components/modal/modal.module';\nexport * from './lib/Shared/components/page-template/page-template.component';\nexport * from './lib/Shared/components/page-template/page-template.module';\nexport * from './lib/Shared/components/page-to-component/page-to-component.component';\nexport * from './lib/Shared/components/page-to-component/page-to-component.directive';\nexport * from './lib/Shared/components/page-to-component/page-to-component.module';\nexport * from './lib/Shared/components/page-to-component/page-to-component.service';\nexport * from './lib/Shared/components/phone-number/phone-number.component';\nexport * from './lib/Shared/components/phone-number/phone-number.directive';\nexport * from './lib/Shared/components/phone-number/phone-number.module';\nexport * from './lib/Shared/components/phone-number/phone-number.service';\nexport * from './lib/Shared/components/row-actions/row-actions.component';\nexport * from './lib/Shared/components/row-actions/row-actions.module';\nexport * from './lib/Shared/components/table-https/table-https.component';\nexport * from './lib/Shared/components/table-https/table-https.module';\nexport * from './lib/Shared/components/table-plain/table-plain.component';\nexport * from './lib/Shared/components/table-plain/table-plain.module';\nexport * from './lib/Shared/components/text-case-1/text-case-1.component';\nexport * from './lib/Shared/components/text-case-1/text-case-1.module';\nexport * from './lib/Shared/components/text-case-2/text-case-2.component';\nexport * from './lib/Shared/components/text-case-2/text-case-2.module';\nexport * from './lib/Shared/components/view-form-buttons/view-form-buttons.component';\nexport * from './lib/Shared/components/view-form-buttons/view-form-buttons.module';\nexport * from './lib/Shared/directives/commafy-number.directive';\nexport * from './lib/Shared/directives/drag-drop-file-upload.directive';\nexport * from './lib/Shared/directives/index.directive';\nexport * from './lib/Shared/directives/InputFormat.directive';\nexport * from './lib/Shared/directives/integer-only.directive';\nexport * from './lib/Shared/directives/mHref.directive';\nexport * from './lib/Shared/directives/negative-number-only.directive';\nexport * from './lib/Shared/directives/permission-manager.directive';\nexport * from './lib/Shared/pipes/utility.pipe';\nexport * from './lib/Shared/components/btn/details-btn/details-btn.module';\nexport * from './lib/Shared/components/btn/details-btn/details-btn.component';\nexport * from './lib/Shared/components/btn/btn-lg/btn-lg.component';\nexport * from './lib/Shared/pipes/translate.pipe';\n\nexport * from './lib/Services/api.service';\nexport * from './lib/Services/app.service';\nexport * from './lib/Services/htmler.service';\nexport * from './lib/Services/input.service';\nexport * from './lib/Services/page-loader.service';\nexport * from './lib/Services/page.service';\nexport * from './lib/Services/route.service';\nexport * from './lib/Services/storage.service';\nexport * from './lib/Services/theme.service';\nexport * from './lib/Services/utility.service';\nexport * from './lib/Services/window-security.service';\nexport * from './lib/Services/translation.service';\n\nexport * from './lib/Services/service-worker/service-worker.service';\nexport * from './lib/Services/service-worker/prompt-update.service';\nexport * from './lib/Services/service-worker/log-update.service';\nexport * from './lib/Services/service-worker/handle-unrecoverable-state.service';\nexport * from './lib/Services/service-worker/check-for-update.service';\n\nexport * from './lib/Services/Interceptors/request-timeout.service';\nexport * from './lib/Services/Interceptors/request-loader-interceptor.service';\nexport * from './lib/Services/Interceptors/logger-interceptor.service';\nexport * from './lib/Services/Interceptors/global-error-handler.service';\nexport * from './lib/Services/Interceptors/authentication-interceptor.service';\n\nexport * from './lib/Services/cache/cache-updater.service';\nexport * from './lib/Services/cache/cache.service';\nexport * from './lib/Services/cache/local-cache.service';\nexport * from './lib/Services/cache/saver.service';\n\nexport * from './environments/environment';\n\nexport * from './lib/Shared/shared.module';\n\nexport * from './lib/Reusables/reusable-pages/logger/logger.service';\nexport * from './lib/Reusables/reusable-pages/logger/logger.module';\nexport * from './lib/Reusables/reusable-pages/page-not-found/page-not-found.module';\nexport * from './lib/Reusables/reusable-pages/robot/robot.module';\nexport * from './lib/Reusables/reusable-pages/reset/reset.module';\nexport * from './lib/Reusables/reusable-pages/version/version.module';\nexport * from './lib/Reusables/reusable-pages/timeout-tester/timeout-tester.module';\nexport * from './lib/Reusables/reusable-pages/extra-pages/extra-pages.module';\n\nexport * from './lib/ets-fe-ng-sdk.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.StorageService","config","i1","i3","i5","i6.ETSReactiveFormInputService","i7.InputService","i8.RouteService","i9.PageLoaderService","i10.LoggerService","i11.PageService","i1.ETSUtilityService","i2.ETSUtilityService","i2.CacheService","i3.LocalCacheService","i1.InputService","comps","modules","i1.PageLoaderService","i2.LabelCustomisationService","i2","i4","i5.InputClassPipe","i6.TranslatePipe","i2.TranslatePipe","i2.AutocompleteService","i6","i8.ValidationMessageNgmodelComponent","i9.InputClassPipe","i10.ToAnyPipe","i11.TranslatePipe","i1.ApiService","i2.StorageService","i2.TranslationService","i1.AppService","i2.BtnService","i7.TranslatePipe","i3.TranslatePipe","i2.BtnComponent","i4.InputFormatDirective","i7.InputLabelComponent","i8.ValidationMessageComponent","i4.BtnComponent","i5.TranslatePipe","i1.ETSInfoDialogService","i6.ToAnyPipe","i4.InputBasicComponent","i5.InputLabelComponent","i3.InputLabelComponent","i4.InputTD_RFComponent","i7.ValidationMessageComponent","i8","i9","i10.InputClassPipe","i11.ToAnyPipe","i1.BtnComponent","i4.TranslatePipe","i2.InputBasicComponent","i4.MrouterLinkirective","i5.FunctionCaller1","i5.ValueFormatterPipe","i1.UserActivityService","i3.BtnComponent","i4.ToAnyPipe","i2.PhoneNumberService","i6.ValidationMessageComponent","i7.PhoneNumberDirective","i8.InputClassPipe","i9.ToAnyPipe","i6.InputBasicComponent","i8.PhoneNumberComponent","i9.AutocompleteComponent","i10.LoaderComponent","i11.FunctionCaller2","i2.GetValueLabel","i1.BtnService","i2.ModalHeaderComponent","i4.LoaderComponent","i3.ModalHeaderComponent","i5.FormGeneratorComponent","i3.ETSInfoDialogService","i2.PageToComponentDirective","observableOf","i5.LoaderComponent","i7","i11.GetColFormattedPipe","i11.GetRawFieldsPipe","i11.TableToStringPipe","i12.FunctionCaller2","i12.ToAnyPipe","i13.TranslatePipe","i5.InputFormatDirective","i6.ExportTableComponent","i8.InputBasicComponent","i9.ValidationMessageComponent","i10.InputNGModelComponent","i11","i12","i13.AutocompleteComponent","i14","i15","i16","i17.InfoIconComponent","i18.GetColFormattedPipe","i18.GetRawFieldsPipe","i18.TableToStringPipe","i19.FunctionCaller2","i19.ToAnyPipe","i20.TranslatePipe","i2.MrouterLinkirective","i4.ValueFormatterPipe","i4.FunctionCaller1","i2.ETSConfirmDialogService","i3.ETSPromptUpdateService","i2.ETSPromptUpdateService","i1.ETSPromptUpdateService","i2.ETSLogUpdateService","i3.ETSHandleUnrecoverableStateService","i4.ETSCheckForUpdateService","i5.ETSInfoDialogService","i1.LoggerService","i5.BtnComponent","routes","i1.ETSServiceWorkerService","i2.LoaderComponent","i1.VersionService","i2.ChatHelpDeskService","i4.TextCase2Component","i2.ETSInfoDialogService","i5.TextCase2Component"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"ets-fe-ng-sdk.mjs","sources":["../../../projects/ets-fe-ng-sdk/src/lib/Shared/classes/page-loader.class.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/models/form.class.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/models/index.model.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/models/environment.model.ts","../../../projects/ets-fe-ng-sdk/src/environments/environment.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/models/IMenuItem.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/prototypes/prototypes.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/models/RouteItem.class.ts","../../../projects/ets-fe-ng-sdk/src/lib/configs/base-functions.ts","../../../projects/ets-fe-ng-sdk/src/lib/configs/index.config.ts","../../../projects/ets-fe-ng-sdk/src/lib/configs/validation-messages.config.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/classes/permission-manager.class.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/info-dialog/happy-icon.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/info-dialog/info-icon.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/info-dialog/sad-icon.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/input.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/inputs-pipes.pipe.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/page-loader.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/pipes/translate.pipe.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input-NgModel/input-ngmodel.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input-NgModel/input-ngmodel.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/autocomplete/autocomplete.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input-NgModel/validation-message-ngmodel/validation-message-ngmodel.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input-NgModel/validation-message-ngmodel/validation-message-ngmodel.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Services/input.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/route.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/logger/logger.interface.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/storage.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/logger/logger.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/page.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/utility.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/pipes/utility.pipe.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/autocomplete-ng-model/autocomplete-ng-model.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/autocomplete-ng-model/autocomplete-ng-model.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Services/cache/cache.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/cache/local-cache.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/api.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/translation.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/app.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/btn/btn.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/btn/btn.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/btn/btn.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/directives/InputFormat.directive.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/input-label/input-label.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/input-label/input-label.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/validation-message/validation-message.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/validation-message/validation-message.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/input.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/input.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/input-basic.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/directives/commafy-number.directive.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/directives/integer-only.directive.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/directives/negative-number-only.directive.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/directives/permission-manager.directive.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/info-dialog/info-dialog.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/info-dialog/info-dialog.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/info-dialog/info-dialog.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/directives/drag-drop-file-upload.directive.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/directives/index.directive.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/btn/btn-lg/btn-lg.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/btn/btn-lg/btn-lg.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/btn/btn.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/day-hour-min-input/day-hour-min-input.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/day-hour-min-input/day-hour-min-input.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/input-td-rf.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/input-control.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/year-month-td-rf/year-month-td-rf.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/year-month-td-rf/year-month-td-rf.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input/input.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/input-NgModel/input-ngmodel.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/autocomplete-ng-model/autocomplete-ng-model.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/autocomplete/autocomplete.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/autocomplete/autocomplete.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/autocomplete/autocomplete-td-rf/autocomplete-td-rf.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/autocomplete/autocomplete-td-rf/autocomplete-td-rf.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/autocomplete/autocomplete.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/btn/details-btn/details-btn.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/btn/details-btn/details-btn.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/btn/details-btn/details-btn.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/card/card.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/card/card.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/card/card.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/confirm-dialog/confirm-dialog.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/confirm-dialog/confirm-dialog.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/confirm-dialog/confirm-dialog.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/confirm-dialog/confirm-dialog.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/core/button/button.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/core/button/button.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/core/button/components.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/documents-name-display/documents-name-display.model.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/documents-name-display/documents-name-display.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/documents-name-display/documents-name-display.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/documents-name-display/documents-name-display.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/editable-text-case/editable-text-case.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/editable-text-case/editable-text-case.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/editable-text-case/editable-text-case.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/user-activity/ua-extras/user-activity.model.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/user-activity/ua-extras/user-activity.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/export-table/export-table.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/export-table/export-table.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/export-table/export-table.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/file-upload/file-upload.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/file-upload/file-upload.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/file-upload/file-upload.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/phone-number/phone-number.model.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/phone-number/phone-number.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/phone-number/phone-number.directive.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/phone-number/phone-number.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/phone-number/phone-number.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/loader/loader.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/loader/loader.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/form-generator/form-generator.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/form-generator/form-generator.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/phone-number/phone-number.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/loader/spinner.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/loader/loader.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/form-generator/form-generator.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/form-link/form-link.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/form-link/form-link.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/form-link/form-link.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/form-tab-headers/form-tab-headers.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/form-tab-headers/form-tab-headers.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/form-tab-headers/form-tab-headers.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/info-dialog/info-dialog.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/info-icon/info-icon.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/info-icon/info-icon.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/info-icon/info-icon.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/label/label.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/label/label.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/label/label.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/modal-header/modal-header.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/modal-header/modal-header.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/modal/modal.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/modal/modal.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/modal-form/modal-form.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/modal-form/modal-form.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/modal-header/modal-header.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/modal/modal.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/modal-form/modal-form.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/page-template/page-template.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/page-template/page-template.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/page-to-component/page-to-component.directive.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/page-to-component/page-to-component.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/page-to-component/page-to-component.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/page-to-component/page-to-component.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/page-to-component/page-to-component.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/row-actions/row-actions.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/row-actions/row-actions.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/row-actions/row-actions.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/table-plain/table.pipe.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/table-https/table-https.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/table-https/table-https.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/table-https/table-https.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/table-plain/table-plain.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/table-plain/table-plain.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/table-plain/table-plain.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/table-plain/table-plain.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/text-case-1/text-case-1.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/text-case-1/text-case-1.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/text-case-1/text-case-1.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/text-case-2/text-case-2.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/text-case-2/text-case-2.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/text-case-2/text-case-2.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/view-form-buttons/view-form-buttons.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/view-form-buttons/view-form-buttons.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/view-form-buttons/view-form-buttons.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/directives/mHref.directive.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/htmler.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/theme.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/window-security.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/service-worker/prompt-update.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/service-worker/log-update.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/service-worker/handle-unrecoverable-state.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/service-worker/check-for-update.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/service-worker/service-worker.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/Interceptors/request-timeout.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/Interceptors/request-loader-interceptor.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/Interceptors/logger-interceptor.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/Interceptors/global-error-handler.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/Interceptors/authentication-interceptor.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/cache/cache-updater.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Services/cache/saver.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/shared.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/logger/logger.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/logger/logger.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/logger/logger-routing.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/logger/logger.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/page-not-found/page-not-found.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/page-not-found/page-not-found.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/page-not-found/page-not-found-routing.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/page-not-found/page-not-found.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/robot/robot.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/robot/robot.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/robot/robot-routing.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/robot/robot.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/reset/reset.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/reset/reset.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/reset/reset-routing.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/reset/reset.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/injection-tokens/index.injection-tokens.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/version/version.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Shared/components/page-icons/chat-help-desk/chat-help-desk.service.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/version/version.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/version/version.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/version/version-routing.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/version/version.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/timeout-tester/timeout-tester.component.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/timeout-tester/timeout-tester.component.html","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/timeout-tester/timeout-tester-routing.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/timeout-tester/timeout-tester.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/extra-pages/extra-pages-routing.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/Reusables/reusable-pages/extra-pages/extra-pages.module.ts","../../../projects/ets-fe-ng-sdk/src/lib/ets-fe-ng-sdk.module.ts","../../../projects/ets-fe-ng-sdk/src/public-api.ts","../../../projects/ets-fe-ng-sdk/src/ets-fe-ng-sdk.ts"],"sourcesContent":["export class PageLoader {\n private _pageLoaders: 1[] = [];\n constructor() {}\n get isLoading() {\n return this._pageLoaders?.length > 0;\n }\n startPl = (value = 1) => {\n for (let index = 0; index < value; index++) {\n this._pageLoaders.push(1);\n }\n // console.log('length at start',this._pageLoaders.length)\n return this._pageLoaders?.length;\n };\n restartPl = () => {\n this._pageLoaders = [];\n this.startPl();\n };\n stopPl = (value = 1) => {\n for (let index = 0; index < value; index++) {\n this._pageLoaders.pop();\n }\n // console.log('length at end', this._pageLoaders.length)\n return this._pageLoaders?.length;\n };\n stopAllPls = () => {\n this._pageLoaders = [];\n };\n}\n","import {\n AbstractControlOptions,\n AsyncValidator,\n AsyncValidatorFn,\n FormControl,\n FormGroup,\n ValidatorFn,\n Validators,\n} from '@angular/forms';\n\nexport namespace ETSForms {\n export class ConfigForms {\n matches(\n formGroup: FormGroup,\n field1: string = 'password',\n field2: string = 'rpassword'\n ) {\n if (formGroup.get(field1).value !== formGroup.get(field2).value) {\n formGroup.get(field1).setErrors({ noMatch: true }, { emitEvent: true });\n formGroup.get(field2).setErrors({ noMatch: true }, { emitEvent: true });\n } else {\n formGroup.get(field1).setErrors(null, { emitEvent: true });\n formGroup.get(field2).setErrors(null, { emitEvent: true });\n }\n console.log(formGroup);\n }\n matches2(formGroup: any, field1: string, field2: string) {\n return formGroup.get(field1).value === formGroup.get(field2).value\n ? null\n : { noMatch: true };\n }\n email(required = true, value = '') {\n return new FormControl(\n value,\n Validators.compose([\n ...(required ? [Validators.required] : []),\n Validators.pattern(configPatterns.email),\n ])\n );\n }\n name(required = true, minLength = 2, value = '') {\n return new FormControl(\n value,\n Validators.compose([\n ...(required ? [Validators.required] : []),\n Validators.minLength(minLength),\n Validators.pattern(configPatterns.name),\n ])\n );\n }\n array(required = false, value = []) {\n return new FormControl(value, required ? [Validators.required] : []);\n }\n boolean(required = false, value = false) {\n return new FormControl(value, required ? [Validators.required] : []);\n }\n username(required = true, minLength = 3, maxLength = 10, value = '') {\n return new FormControl(value, [\n ...(required ? [Validators.required] : []),\n Validators.minLength(minLength),\n Validators.maxLength(maxLength),\n Validators.pattern(configPatterns.username),\n ]);\n }\n default<T=any>(\n value?,\n validatorOrOpts?: ValidatorFn | ValidatorFn[] | AbstractControlOptions,\n asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[]\n ) {\n return new FormControl<T>(value, validatorOrOpts, asyncValidator);\n }\n number(required = false, value = null, maxLength = 100000) {\n return new FormControl(value, [\n ...(required ? [Validators.required] : []),\n Validators.pattern(configPatterns.number),\n Validators.maxLength(maxLength),\n ]);\n }\n integer(required = true, value = null, maxLength = 100000) {\n return new FormControl(value, [\n ...(required ? [Validators.required] : []),\n Validators.pattern(configPatterns.integer),\n Validators.maxLength(maxLength),\n ]);\n }\n postalCode(required = true, value = null) {\n return new FormControl(value, [\n Validators.pattern(configPatterns.postal),\n ...(required ? [Validators.required] : []),\n ]);\n }\n phone(required = true, value = '') {\n return new FormControl(value, [\n ...(required ? [Validators.required] : []),\n Validators.minLength(11),\n Validators.pattern(configPatterns.phone),\n ]);\n }\n requiredMinLength(length: number, value = '') {\n return new FormControl(value, [\n Validators.required,\n Validators.minLength(length),\n ]);\n }\n requiredMinMaxLength(min: number, max: number) {\n return new FormControl('', [\n Validators.required,\n Validators.minLength(min),\n Validators.maxLength(max),\n ]);\n }\n required(value = null) {\n return new FormControl(value, Validators.required);\n }\n minLength(length = 3, value = '') {\n return new FormControl(value, [\n Validators.minLength(length),\n Validators.required,\n ]);\n }\n url(value = '', required = true) {\n return new FormControl(\n value,\n Validators.compose([\n ...(required ? [Validators.required] : []),\n Validators.pattern(configPatterns.url),\n ])\n );\n }\n pattern(pattern: RegExp, required = false, value?) {\n return new FormControl(\n value,\n Validators.compose([\n ...(required ? [Validators.required] : []),\n Validators.pattern(pattern),\n ])\n );\n }\n }\n}\nexport const configForms = new ETSForms.ConfigForms();\nexport const configPatterns = {\n date: /^(?:(?:31(\\/|-|\\.)(?:0?[13578]|1[02]))\\1|(?:(?:29|30)(\\/|-|\\.)(?:0?[13-9]|1[0-2])\\2))(?:(?:1[6-9]|[2-9]\\d)?\\d{2})$|^(?:29(\\/|-|\\.)0?2\\3(?:(?:(?:1[6-9]|[2-9]\\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\\d|2[0-8])(\\/|-|\\.)(?:(?:0?[1-9])|(?:1[0-2]))\\4(?:(?:1[6-9]|[2-9]\\d)?\\d{2})$/,\n email: /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$/,\n integer: /^[0-9]+$/,\n name: /^[a-zA-Z0-9- ]+$/,\n number: /^-?[0-9,\\.]+$/,\n phone: /^[+]*[0-9]+$/,\n postal: /^([0-9]{5})([\\-]{1}[0-9]{4})?$|^([0-9]{6})?$/,\n url: /((([A-Za-z]{3,9}:(?:\\/\\/)?)(?:[-;:&=\\+\\$,\\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\\+\\$,\\w]+@)[A-Za-z0-9.-]+)((?:\\/[\\+~%\\/.\\w-_]*)?\\??(?:[-\\+=&;%@.\\w_]*)#?(?:[\\w]*))?)/,\n username: /^[a-zA-Z0-9-]+$/,\n website:/((([A-Za-z]{3,9}:(?:\\/\\/)?)(?:[-;:&=\\+\\$,\\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\\+\\$,\\w]+@)[A-Za-z0-9.-]+)((?:\\/[\\+~%\\/.\\w-_]*)?\\??(?:[-\\+=&;%@.\\w_]*)#?(?:[\\w]*))?)/\n};\n","import { AbstractControl, FormGroup } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { configForms } from './form.class';\nimport { AppRouteBase } from './RouteItem.class';\n\n//#region inputs\ninterface IETSInputBase {\n name?: string;\n label: string;\n value?: any;\n placeholder?: string;\n cls?: string;\n required?: boolean;\n type?: ETSInputType;\n}\ninterface IETSFCInput extends IETSInputBase {\n name: string;\n prefix?: string;\n suffix?: string;\n formControl: AbstractControl;\n form: FormGroup;\n vms?: IValidationMessage[];\n}\n\nexport type ETSInputType =\n | 'autocomplete'\n | 'button'\n | 'checkbox'\n | 'checkedbox'\n | 'date'\n | 'datetime-local'\n | 'dhm'\n | 'email'\n | 'file'\n | 'fileButton'\n | 'number'\n | 'password'\n | 'progress'\n | 'percentage'\n | 'radio'\n | 'select'\n | 'tel'\n | 'text'\n | 'textarea'\n | 'time'\n | 'viewer';\nexport class FCInput implements IETSFCInput {\n name: string;\n label: string;\n placeholder?: string;\n cls?: string;\n prefix?: string;\n suffix?: string;\n required?: boolean;\n type?: ETSInputType;\n formControl: AbstractControl;\n vms?: IValidationMessage[];\n form: FormGroup;\n constructor(\n label: string,\n name?: string,\n formControl?: AbstractControl,\n type?: ETSInputType,\n required?: boolean,\n placeholder?: string,\n vms?: IValidationMessage[],\n prefix?: string,\n suffix?: string\n ) {\n this.name = name || 'fn' + Math.round(Math.random() * 100000);\n this.label = label;\n this.formControl = formControl || configForms.default();\n this.type = type || 'text';\n this.required = required || false;\n this.vms = vms || [];\n this.placeholder = placeholder;\n this.prefix = prefix;\n this.suffix = suffix;\n }\n}\nexport class CETSInput implements IETSInputBase {\n name: string;\n label: string;\n placeholder?: string;\n cls?: string;\n required?: boolean;\n type?: ETSInputType;\n value: string;\n hide: boolean;\n disabled: boolean;\n readonly: boolean;\n id: string;\n hasError: boolean;\n get isEmpty() {\n return this.value == null || this.value == undefined;\n }\n x: number;\n y: number;\n constructor(\n label: string,\n name?: string,\n value?: any,\n type?: ETSInputType,\n required?: boolean,\n placeholder?: string,\n vms?: IValidationMessage[],\n prefix?: string,\n suffix?: string\n ) {\n this.name = name;\n this.id = 'inputID' + Math.round(Math.random() * 10000000);\n this.label = label;\n this.value = value;\n this.type = type || 'text';\n this.required = required || false;\n this.placeholder = placeholder;\n }\n}\n//#endregion\n\n//#region key value pair\nexport interface IETSKVP {\n readonly key?: any;\n value?: string | boolean | number;\n cls?: string;\n}\nexport class ETSKVP implements IETSKVP {\n readonly key: string;\n value?: string | boolean | number;\n cls?: string;\n constructor(key: string, value?: string | boolean | number, cls?: string) {\n this.key = key;\n this.value = value;\n this.cls = cls;\n }\n}\nexport class ETSFKVP extends ETSKVP {\n label: string;\n editable?: boolean;\n editing?: boolean;\n route?: string;\n routeFunc?: (item) => Promise<string> | Observable<string>;\n hint?: string;\n action?: any;\n isPhone?: boolean;\n isEmail?: boolean;\n formatter?: (val: any) => string | Promise<string> | Observable<string>;\n constructor(\n key: string,\n label: string,\n editable?: boolean,\n value?: string | boolean | number,\n public inputType?: ETSInputType,\n hint?: string,\n action?: any,\n formatter?: (val: any) => string | Promise<string>,\n cls?: string,\n route?: string\n ) {\n super(key, value, cls);\n this.label = label;\n this.hint = hint;\n this.editable = editable;\n this.action = action;\n this.formatter = formatter;\n this.route = route;\n }\n}\n//#endregion\n\n//#region lbl\nexport interface ILbl extends IETSKVP {\n hint?: string;\n}\nexport class Lbl implements ILbl {\n readonly key: string;\n value: string | boolean | number;\n hint?: string;\n cls?: string;\n constructor(\n key: string,\n value?: string | boolean | number,\n hint?: string,\n cls?: string\n ) {\n this.key = key;\n this.value = value || '-';\n this.hint = hint;\n this.cls = cls;\n }\n}\n//#endregion\n//#region btn\nexport interface IBtn extends IETSKVP {\n action?: (arg?) => void;\n group?: ETSBtnGroup;\n help?: string;\n icon?: ETSIconType;\n iconBtn?: boolean;\n showHelpIcon?: boolean;\n label?: string;\n type?: ETSBtnType;\n extra?: any;\n}\nexport class Btn implements IBtn {\n cls?: string;\n group?: ETSBtnGroup;\n help?: string;\n icon?: ETSIconType;\n iconBtn?: boolean;\n readonly action?: (data?, ...args) => void;\n readonly key?: string;\n showHelpIcon?: boolean;\n label?: string;\n route?: string;\n type?: ETSBtnType;\n extra?: any;\n loading?: boolean;\n disabled?: boolean;\n\n constructor(\n key: string,\n action?: (data?, ...args) => any,\n type?: ETSBtnType,\n icon?: ETSIconType,\n cls?: string,\n help?: string,\n showHelpIcon?: boolean,\n loading?: boolean,\n disabled?: boolean\n ) {\n this.key = key;\n this.action = action;\n this.type = type;\n this.icon = icon;\n this.cls = cls;\n this.help = help;\n this.showHelpIcon = showHelpIcon;\n this.loading = loading;\n this.disabled = disabled;\n }\n}\nexport class BtnLg implements IBtn {\n readonly key: string;\n value: string | boolean | number;\n readonly action?: () => void;\n cls?: string;\n extra?: any;\n constructor(\n key: string,\n value?: string | boolean | number,\n action?: any,\n cls?: string,\n extra?\n ) {\n this.key = key;\n this.value = value || '-';\n this.action = action;\n this.cls = cls;\n this.extra = extra;\n }\n}\nexport type ETSBtnType =\n | 'clear'\n | 'close'\n | 'danger-outline'\n | 'danger'\n | 'dark-outline'\n | 'dark'\n | 'outline-nm'\n | 'outline'\n | 'primary'\n | 'secondary'\n | 'success';\nexport type ETSBtnGroup =\n | 'add'\n | 'clone'\n | 'close'\n | 'create'\n | 'delete'\n | 'download'\n | 'edit'\n | 'link'\n | 'search'\n | 'show'\n | 'submit'\n | 'upload';\nexport type ETSIconType =\n | 'access'\n | 'add'\n | 'adjust'\n | 'calendar'\n | 'cash'\n | 'checked'\n | 'checklist'\n | 'clone'\n | 'close'\n | 'cogs'\n | 'delete'\n | 'download'\n | 'edit'\n | 'export'\n | 'file'\n | 'filter'\n | 'generate'\n | 'guard'\n | 'history'\n | 'home'\n | 'import'\n | 'info'\n | 'link'\n | 'lock'\n | 'next'\n | 'pen'\n | 'post'\n | 'previous'\n | 'renew'\n | 'save'\n | 'search'\n | 'show'\n | 'snooze'\n | 'unlock'\n | 'upload'\n | 'view'\n | 'users'\n | 'recycle'\n | 'truck'\n | 'tag'\n | 'receipt'\n | 'bank'\n | 'arrowh';\n//#endregion\n\n//#region table columns\nexport interface IRowOption {\n t: string;\n action?: (row: any) => void;\n}\nexport type CellType = ETSInputType | 'table' | 'btns' | 'editable';\nexport interface ITableCol<T = any> {\n t: string;\n f: keyof T;\n disabled?: boolean;\n formatter?: (val: any) => string | Promise<string>;\n p?: string[];\n formatterP?: (...val: any) => string;\n routeFormatter?: FormatterFuncType<string, T>;\n mqueryParams?: FormatterFuncType<{}, T>;\n type?: CellType;\n}\nexport class ETSTableCol<T = any> implements ITableCol<T> {\n action?: (\n row: any,\n cellField: keyof T,\n setLoading?: (value: boolean) => void,\n index?:number\n ) => any;\n btn?: Btn;\n buttons?: Btn[];\n checked?: boolean;\n f: keyof T;\n formatter?: (val: any) => string | Promise<string>;\n formatterRow?: FormatterFuncType<string, T>;\n hint?: string;\n icon?: ETSIconType;\n mqueryParams?: FormatterFuncType<{}, T>;\n p?: string[];\n disabled?: boolean;\n routeFormatter?: FormatterFuncType<string, T>;\n subTable?: ETSTableCol[];\n t: string;\n type?: CellType;\n constructor(\n t: string,\n f?: keyof T,\n formatter?: (val: any) => string | Promise<string>,\n formatterRow?: FormatterFuncType,\n type?: CellType,\n checked?: boolean,\n routeFormatter?: FormatterFuncType<string, T>,\n mqueryParams?: FormatterFuncType<{}, T>,\n action?: (row: any, cellField: keyof T) => any\n ) {\n this.t = t;\n this.f = f || (('f' + Math.round(Math.random() * 1000000)) as any);\n this.formatter = formatter;\n this.formatterRow = formatterRow;\n this.type = type;\n this.checked = checked || false;\n this.routeFormatter = routeFormatter;\n this.mqueryParams = mqueryParams;\n this.action = action;\n }\n}\n\n//#endregion\n\ntype FormatterFuncType<R = string, T = any> = (row: T, cellField?: keyof T) => R;\nexport interface ICodeTitle<Code = string> {\n code: Code;\n title: string;\n}\n\nexport interface ICodeDescription {\n code: string;\n description: string;\n}\n\nexport interface IMktDescription {\n mktEventCode: string;\n description: string;\n}\n\nexport interface ICode {\n code: string;\n}\nexport enum EMenuLocation {\n viewPage1 = 'viewPage',\n}\nexport enum Day {\n sunday = 'Sunday',\n monday = 'Monday',\n tuesday = 'Tuesday',\n wednesday = 'Wednesday',\n thursday = 'Thursday',\n friday = 'Friday',\n saturday = 'Saturday',\n}\nexport enum EPageType {\n clonePage = 'clonePage',\n editPage = 'editPage',\n showPage = 'showPage',\n createPage = 'createPage',\n indexPage = 'indexPage',\n}\nexport interface IDocMetadata {\n boxNo?: string;\n branch?: string;\n category?: string;\n createdBy?: string;\n policyCode?: string;\n policyNo?: string;\n policyNoSuffix?: string;\n refCat?: RefCat;\n refNo?: string | number;\n sensitivity?: string;\n subCategory?: SubCategory;\n title: string;\n}\nexport type RefCat =\n | 'AGT'\n | 'APP'\n | 'ASS'\n | 'AUTH'\n | 'BAN'\n | 'BAT'\n | 'BRA'\n | 'CLA'\n | 'CLI'\n | 'COM'\n | 'COU'\n | 'COV'\n | 'DN'\n | 'DOC'\n | 'END'\n | 'ENR'\n | 'GRO'\n | 'NB'\n | 'PAY'\n | 'PNS'\n | 'PO'\n | 'POL'\n | 'PRO'\n | 'QUO'\n | 'RAT'\n | 'SN'\n | 'ST'\n | 'TAR'\n | 'TAS'\n | 'TRA'\n | 'TSC'\n | 'USR'\n | 'WF';\nexport type SubCategory =\n | 'PP'\n | 'SI'\n | 'ID'\n | 'AOC'\n | 'CN'\n | 'AP'\n | 'LI'\n | 'RIB'\n | 'LIC'\n | 'AGT';\nexport interface ISystem<SystemType = ESystem, TESystemBusLine = ESystemBusLine> {\n appRoute: AppRouteBase;\n name: SystemType;\n busline: TESystemBusLine;\n colourCode: string;\n rootPath: string;\n}\n\nexport enum ESystem { \n}\nexport enum ESubSystem { \n}\nexport enum ESystemBusLine { \n}\nexport enum ELanguage {\n EN = 'EN',\n FR = 'FR',\n}\n\nexport enum EValidationType {\n email = 'email',\n entityNumber = 'entityNumber',\n maxlength = 'maxlength',\n minlength = 'minlength',\n mobile = 'mobile',\n name = 'name',\n normal = 'normal',\n passwordNotMatch = 'passwordNotMatch',\n pattern = 'pattern',\n required = 'required',\n unique = 'unique',\n custom = 'custom',\n}\nexport interface IValidationMessage {\n type: EValidationType;\n message: string;\n}\nexport type SortType = 'asc' | 'desc';\n\ninterface Sort {\n sorted: boolean;\n unsorted: boolean;\n empty: boolean;\n}\n\ninterface IPage<T> {\n content: T[];\n number: number;\n size: number;\n totalElements: number;\n totalPages: number;\n last: boolean;\n first: boolean;\n sort: Sort;\n numberOfElements: number;\n empty: boolean;\n}\n\nexport interface ISearchResponse<T = any> {\n page: IPage<T>;\n listSize: number;\n pageNumber?: number;\n pageSize?: number;\n searchCriteria: any;\n}\n\nexport interface ISearchResponse<T = any> {\n page: IPage<T>;\n listSize: number;\n pageNumber?: number;\n pageSize?: number;\n searchCriteria: any;\n}\n\nexport interface ISearchResponse2<T = any> {\n content: T[];\n empty: boolean;\n first: boolean;\n last: boolean;\n number: number;\n numberOfElements: number;\n size: number;\n totalElements: number;\n totalPages: number;\n sort: {\n sorted: boolean;\n unsorted: boolean;\n empty: boolean;\n };\n}\n\nexport type ImageType = 'pp' | 'other';\nexport interface ITab {\n id?: string;\n target?: string;\n label: string;\n form?: string;\n postFunction?: (\n data: any,\n productCode?: string\n ) => Observable<{\n data: any;\n productCode: string;\n }>;\n putFunction?: (\n data: any,\n productCode: string\n ) => Observable<{\n data: any;\n productCode: string;\n }>;\n data?: any;\n}\nexport interface CustomValidationError {\n custom?: string;\n maxlength?: boolean;\n maxLength?: boolean;\n minlength?: boolean;\n minLength?: boolean;\n notFound?: boolean;\n notUnique?: boolean;\n pattern?: boolean;\n required?: boolean;\n used?: boolean;\n}\nexport enum EMenuType {\n horizontal = 'H',\n vertical = 'V',\n}\nexport interface IValueLabel<T> {\n value: T;\n label: string;\n}\n\nexport interface IConfigImages {\n favicon: string;\n watermark: string;\n logo: {\n dark: string;\n light: string;\n };\n pp: {\n src: string;\n min: string;\n };\n other: {\n src: string;\n min: string;\n };\n}\nexport class Constant {\n // constructor() {}\n}\n\nexport interface ITableName {\n schema: string;\n primaryTable: string;\n}\nexport interface ITypeDescription {\n description: string;\n type: string;\n}\nexport interface IServiceFunction {\n _base?: (...args) => any;\n search: (...args) => Observable<any>;\n create: (...args) => Observable<any>;\n} ","import { ActivatedRoute } from '@angular/router';\nimport { PageLoader } from '../classes/page-loader.class';\nimport { ETSMenuItem } from './IMenuItem';\nimport { AppRouteBase } from './RouteItem.class';\nimport { IConfigImages, ESystem, ELanguage, EMenuType } from './index.model';\n\nexport class ETSEnvironment<\n TMenuItem = ETSMenuItem,\n TAppRouteBase = AppRouteBase,\n TESystem = ESystem,\n TELanguage = ELanguage\n> {\n appRoutes: TAppRouteBase;\n bottomMenu: TMenuItem[];\n excludedMenus: Map<string, any> = new Map<string, any>([]);\n logReq: boolean;\n menus: TMenuItem[];\n noUserRoleCheck: boolean;\n /** Don't use the input formattter on this page */\n pageNoformat: boolean;\n pageTitle: string;\n name: string;\n images: IConfigImages;\n readonly targetLanguageKey = 'targetLanguage';\n readonly transGlossaryKey: string;\n readonly translateKey = 'translate';\n readonly userCompanyConfigKey = 'userCompanyConfig';\n readonly userMenuKey = 'userMenu';\n singleTabUsage: boolean;\n storageKey: 'localStorage' | 'sessionStorage' = 'localStorage';\n transGlossary: any;\n userCompanyConfig: any;\n /**\n * Specify whether to use container or container-fluid for the body of the view. It should be unset at the ngOnDestroy function\n */\n wideScreen: boolean;\n /**\n * Enter value in millisecond or Date object\n */\n requestTimeout: number | Date = new Date(86400000 * 365 + Date.now());\n alreadyOpened: boolean;\n useBusline: any;\n useUserMenu = true;\n /**\n * Specify additional class(es) to be added to the body of the view. It should be unset at the ngOnDestroy function\n */\n bodyClass: string;\n pageLoader = new PageLoader();\n requestCount = 0;\n usingActiveDirectory: boolean;\n activatedRoute: ActivatedRoute;\n readonly logsKey = 'logs';\n activeSystems?: TESystem[];\n apiBaseUrl?: string;\n appName: string = 'Evolutics';\n authenticate?: boolean;\n currentSystem?: TESystem;\n debug?: boolean;\n readonly helpLink = 'https://help.evoluticstech.com/';\n readonly userProfileKey = 'userProfile';\n readonly userStorageKey = 'user';\n readonly watermark?: string;\n sourceLanguage: TELanguage = ELanguage.EN as any;\n secretKey: string;\n get token() {\n return null;\n }\n set loading(v: boolean) {\n if (v) this.pageLoader.startPl();\n else this.pageLoader.stopPl();\n }\n constructor(public production: boolean, name: string) {\n if (!production) this.debug = true;\n this.name = name;\n }\n private _translate?: boolean;\n get translate(): boolean {\n return this._translate || false;\n }\n set translate(value: boolean) {\n this._translate = value;\n }\n private _targetLanguage?: TELanguage;\n get targetLanguage(): TELanguage {\n return this._targetLanguage;\n }\n set targetLanguage(value: TELanguage) {\n this._targetLanguage = value;\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nimport 'zone.js/plugins/zone-error'; // Included with Angular CLI.import { Config } from '../app/configs/index.config';\n \nimport { ETSEnvironment } from '../lib/Shared/models/environment.model';\n\nexport const ETSenvironment: ETSEnvironment = new ETSEnvironment(false, 'Development'); \n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n","import { KeyValue } from '@angular/common';\nimport { MenuPositionX } from '@angular/material/menu';\nimport { ETSenvironment } from '../../../environments/environment';\nimport {\n EMenuLocation,\n ESubSystem,\n ESystem,\n IBtn,\n ETSIconType,\n} from './index.model';\n\nexport interface IETSMenuItemBase<\n TESystemType = ESystem,\n TESubSystem = ESubSystem,\n TEMenuLocation = EMenuLocation\n> {\n breadcrumbs?: KeyValue<string, string>[];\n breadcrumbsStr?: string;\n hasSub?: boolean;\n icon?: string;\n id?: string;\n index?: number;\n isDivider?: boolean;\n isP?: boolean;\n label?: string;\n labelLowerCase?: string;\n link?: string;\n locations?: Map<TEMenuLocation, boolean>;\n parentID?: string;\n submenuPosition?: MenuPositionX;\n subSystem?: TESubSystem;\n system?: TESystemType;\n systemIcon?: string;\n systemLink?: string;\n}\nexport interface IETSMenuItemRawBase {\n [x: string]: IETSMenuItemRaw;\n}\nexport interface IETSMenuItemRaw extends IETSMenuItemBase {\n subs?: { [x: string]: IETSMenuItemRaw };\n buttons?: { [x: string]: IETSPageButtonRaw };\n}\nexport interface IETSMenuItem<\n TESystemType = ESystem,\n TESubSystem = ESubSystem,\n TIPageButton = IETSPageButton,\n TEMenuLocation = EMenuLocation\n> extends IETSMenuItemBase<TESystemType, TESubSystem, TEMenuLocation> {\n buttons?: TIPageButton[];\n subs?: IETSMenuItem<\n TESystemType,\n TESubSystem,\n TIPageButton,\n TEMenuLocation\n >[];\n}\nexport class ETSMenuItem<\n TESystemType = ESystem,\n TESubSystem = ESubSystem,\n TPageButton = ETSPageButton,\n TEMenuLocation = EMenuLocation\n> implements\n IETSMenuItem<TESystemType, TESubSystem, TPageButton, TEMenuLocation>\n{\n breadcrumbs?: KeyValue<string, string>[];\n breadcrumbsStr?: string;\n buttons?: TPageButton[];\n dbID: number;\n disabled: boolean;\n hasButtons: boolean;\n hasSub?: boolean;\n icon: string;\n id: string;\n index?: number;\n isDivider?: boolean;\n isP?: boolean;\n label: string;\n labelLowerCase?: string;\n level?: number;\n link: string;\n locations?: Map<TEMenuLocation, boolean>;\n parentID: string;\n submenuPosition?: MenuPositionX;\n subs: ETSMenuItem<TESystemType, TESubSystem, TPageButton, TEMenuLocation>[];\n subSystem: TESubSystem;\n system: TESystemType;\n systemIcon?: string;\n systemLink?: string;\n viewAccess: boolean;\n editAccess: boolean;\n public get _editAccess(): boolean {\n console.log(this.editAccess);\n return this.editAccess;\n }\n public set _editAccess(value: boolean) {\n this.editAccess = value;\n this.toggleEditAllSubMenus();\n }\n public get _viewAccess(): boolean {\n return this.viewAccess;\n }\n public set _viewAccess(value: boolean) {\n this.viewAccess = value;\n this.toggleViewAllSubMenus();\n }\n constructor(\n menuItem: IETSMenuItem<\n TESystemType,\n TESubSystem,\n TPageButton,\n TEMenuLocation\n >,\n parent?: IETSMenuItem<\n TESystemType,\n TESubSystem,\n TPageButton,\n TEMenuLocation\n >\n ) {\n Object.assign(this, menuItem);\n this.labelLowerCase = menuItem?.label?.toLowerCase();\n this.hasSub = !!menuItem?.subs?.length;\n this.hasButtons = !!menuItem?.buttons?.length;\n this.isP = true;\n this.parentID = parent?.id;\n // debugger\n this.system = this.system || parent?.system;\n this.subSystem = this.subSystem || parent?.subSystem;\n this.subs = menuItem?.subs\n ?.filter(\n (x) =>\n !ETSenvironment.excludedMenus ||\n !ETSenvironment.excludedMenus.has(x.id)\n )\n ?.map((m) => new ETSMenuItem(m, this));\n this.buttons = menuItem?.buttons\n ?.filter(\n (x: IETSPageButton) =>\n !ETSenvironment.excludedMenus ||\n !ETSenvironment.excludedMenus.has(x.id)\n )\n ?.map((m) => new ETSPageButton(m, this as any) as TPageButton);\n }\n toggle() {\n this.disabled = !this.disabled;\n }\n toggleView() {\n this.viewAccess = !this.viewAccess;\n if (this.editAccess) this.viewAccess = true;\n }\n toggleCreate() {\n this.editAccess = !this.editAccess;\n if (this.editAccess) this.viewAccess = true;\n }\n allowEditAllSubMenus() {\n this.subs?.forEach((x) => x?.allowEditAllSubMenus());\n this.buttons?.forEach((x: TPageButton) =>\n (<ETSPageButton>x)?.allowEditAllSubMenus()\n );\n //debugger;\n this.viewAccess = true;\n this.editAccess = true;\n }\n disableEditAllSubMenus() {\n this.subs?.forEach((x) => x?.disableEditAllSubMenus());\n this.buttons?.forEach((x: TPageButton) =>\n (<ETSPageButton>x)?.disableEditAllSubMenus()\n );\n this.editAccess = false;\n }\n allowViewAllSubMenus() {\n this.subs?.forEach((x) => x?.allowViewAllSubMenus());\n this.buttons?.forEach((x: TPageButton) =>\n (<ETSPageButton>x)?.allowViewAllSubMenus()\n );\n //debugger;\n this.viewAccess = true;\n this.editAccess = false;\n }\n disableViewAllSubMenus() {\n this.subs?.forEach((x) => x?.disableViewAllSubMenus());\n this.buttons?.forEach((x: TPageButton) =>\n (<ETSPageButton>x)?.disableViewAllSubMenus()\n );\n this.viewAccess = false;\n this.editAccess = false;\n }\n toggleEditAllSubMenus() {\n // if (this.editAccess == undefined) return;\n !this.editAccess\n ? this.allowEditAllSubMenus()\n : this.disableEditAllSubMenus();\n console.log(this.subs);\n }\n toggleViewAllSubMenus() {\n // if (this.viewAccess == undefined) return;\n // debugger\n !this.viewAccess\n ? this.allowViewAllSubMenus()\n : this.disableViewAllSubMenus();\n console.log(this.subs);\n }\n allowAuthorization() {\n this.viewAccess = true;\n this.editAccess = true;\n }\n disableAuthorization() {\n this.viewAccess = false;\n this.viewAccess = false;\n }\n toggleAuthorization() {\n this.viewAccess = !this.viewAccess;\n this.editAccess = !this.editAccess;\n }\n}\nexport interface IETSPageButtonRawBase {\n [x: string]: IETSPageButtonRaw;\n}\nexport interface IETSPageButtonRaw extends IETSMenuItemRaw, IBtn {\n icon?: ETSIconType;\n subs?: { [x: string]: IETSPageButtonRaw };\n}\nexport interface IETSPageButton extends IETSMenuItem, IBtn {\n icon?: ETSIconType;\n subs?: IETSPageButton[];\n}\nexport class ETSPageButton extends ETSMenuItem implements IETSPageButton {\n icon: ETSIconType;\n subs: ETSPageButton[];\n constructor(button: IETSPageButton, parent?: IETSPageButton) {\n super(button as any, parent as any);\n this.buttons = button?.buttons?.map((b) => new ETSPageButton(b, this));\n }\n}\nexport class ETSMenuItemDivider extends ETSMenuItem {\n constructor() {\n super(null);\n this.isDivider = true;\n }\n}\n\nexport enum EETSPageBtnID {\n agentCommissions = 'PAC8',\n agentCreditNotes = 'PACN10',\n agentDocuments = 'PAD2',\n agentEndorsements = 'PAE3',\n agentLoan = 'PAL1',\n agentNotes = 'PAN6',\n agentPendingQuotes = 'PAPQ11',\n agentPolicies = 'PAP7',\n agentProduction = 'PAP9',\n agentWebLogIn = 'PAWL4',\n agentWorkflows = 'PAW5',\n agentCalendar = 'PAC6',\n\n clientCalendar = 'PCC11',\n clientDocuments = 'PCD12',\n clientEndorsements = 'PCE13',\n clientNotes = 'PCN14',\n clientOtherBusiness = 'PCOB15',\n clientPendingPayments = 'PCPP16',\n clientPendingQuotes = 'PCPQ17',\n clientPolicies = 'PCP18',\n clientRelationships = 'PCR19',\n clientUnderwritingEvents = 'PCUE20',\n clientWebLogIn = 'PCWL21',\n clientWorkflows = 'PCW22',\n}\n","import { AbstractControl, FormArray } from '@angular/forms';\nimport { cloneDeep } from 'lodash-es';\nimport { Observable } from 'rxjs';\n\ndeclare global {\n interface String {\n stripChar(character?: string): string;\n lastStripChar(character?: string): string;\n unChar(character?: string, replacement?: string): string;\n /**\n * Converts Pascal case to Sentence case\n * @example 'smallBook'.toSentenceCase() = 'Small Book'\n */\n toSentenceCase(): string; \n /**\n * Replaces all occurrences of a substring\n * @returns The string after replacement\n */\n replaceAllSubStr(character?: string, replacement?: string): string;\n /**\n *\n * @param character Character to add before string\n * @param expectedLength Expected length of the string after addition of the character\n */\n addPrecedingChar(character: string, expectedLength: number): string;\n }\n\n interface Array<T> {\n merge(): T;\n /**\n * @param index The index to select from the end.\n * @defaultValue 0\n * @example ['a','b','c'].reverseIndex(1) returns 'b'\n * @example ['a','b','c','d','e'].reverseIndex(2) returns 'c'\n */\n reverseIndex(index?: number): T;\n lastItem(): T;\n\n /**\n *\n * @param field Field name to compare with\n * @param isString Is the data type of the field a string\n * @param reverse Should it be in a descending order\n */\n sort2(field: string, isString?: boolean, reverse?: boolean): T[];\n /**\n * Remove items from an array that don't have values in any of its fields\n * @param expectedFields Fields to check for emptiness, the function will remove the items that don't have any value in all the fields specified\n */\n removeEmptyItems(\n expectedFields?: (keyof T)[],\n config?: {\n /**\n * Specify whether to check the value in boolean fields.\n * @defaultValue `false`\n */\n ignoreBooleanFields?: boolean;\n /**\n * Specify whether to check for emptiness in the 'expectedFields' or check for emptiness in the other fields excluding the fields specified\n * @defaultValue `included`\n */\n fieldsType?: 'included' | 'excluded';\n }\n ): T[];\n }\n interface Function {\n clone: any;\n }\n}\ndeclare module '@angular/forms' {\n interface FormArray<TControl extends AbstractControl<any> = any>\n extends AbstractControl<\n ɵTypedOrUntyped<TControl, ɵFormArrayValue<TControl>, any>,\n ɵTypedOrUntyped<TControl, ɵFormArrayRawValue<TControl>, any>\n > {\n cFormStructure: TControl;\n cAddItem(index?: number, data?: TControl): FormArray<TControl>;\n /**\n * Handles the deletion of rows from a FormArray\n * @param index Index of the row to delete\n * @param fa The FormArray that holds the rows\n * @param deleteService The deletion service to be called (It should be an anonymous function)\n * @param addRowFunc The function (anonymous) that adds a new row to the FormArray\n * @param emitEvent Specify whether to emit an event when manipulating the FormArray\n * @returns\n */\n cRemoveItem(\n index: number,\n deleteService?: (...args) => Promise<any> | Observable<any>,\n addRowFunc?: (...args) => any,\n emitEvent?: boolean\n ): Promise<FormArray<TControl>>;\n }\n \n}\n// declare interface String {\n// stripSlash(): string;\n// lastStripSlash(): string;\n// unStrip(): string;\n// }\n//#region string */\nString.prototype.stripChar = function (this: string, character = '/') {\n return (this + '').replace(character, '');\n};\nString.prototype.lastStripChar = function (this: string, character = '/') {\n return this[this?.length - 1] == character\n ? this.slice(0, this.length - 1)\n : this;\n};\nString.prototype.unChar = function (\n this: string,\n character = '/',\n replacement = ''\n) {\n let te = '';\n for (let i = 0; i < this.length; i++) {\n const e = this[i];\n te += e != character ? e : '';\n }\n return te.split(character).join(replacement);\n};\nString.prototype.toSentenceCase = function (this: string) {\n return this.replace(/([A-Z])/g, ' $1');\n};\nString.prototype.replaceAllSubStr = function (\n this: string,\n character = '/',\n replacement = ''\n) {\n return this.split(character).join(replacement);\n};\nString.prototype.addPrecedingChar = function (\n this: string,\n character: string,\n expectedLength: number\n) {\n if (this.length >= expectedLength) return this;\n return character.repeat(expectedLength - this.length) + this;\n};\n//#endregion\n\n//#region array */\nArray.prototype.merge = function <T>(this: Array<T>) {\n let r = '';\n for (const i of this) {\n r += i;\n }\n return r;\n};\nArray.prototype.reverseIndex = function <T>(this: Array<T>, index = 0) {\n return this[this?.length - (1 + index)];\n};\nArray.prototype.lastItem = function <T>(this: Array<T>) {\n return this.reverseIndex();\n};\nArray.prototype.sort2 = function <T>(\n this: Array<T>,\n field: string,\n isString: boolean = false,\n reverse: boolean = false\n) {\n if (reverse) {\n return isString\n ? this.sort((b, a) => sortAlphaNum(a[field], b[field]))\n : this.sort((b, a) => (a[field] || 0) - (b[field] || 0));\n } else {\n return isString\n ? this.sort((a, b) => sortAlphaNum(a[field], b[field]))\n : this.sort((a, b) => (a[field] || 0) - (b[field] || 0));\n }\n};\nvar reA = /[^a-zA-Z]/g;\nvar reN = /[^0-9]/g;\n\nfunction sortAlphaNum(a, b) {\n var aA = a?.replace(reA, '');\n var bA = b?.replace(reA, '');\n if (aA === bA) {\n var aN = parseInt(a?.replace(reN, ''), 10);\n var bN = parseInt(b?.replace(reN, ''), 10);\n return aN === bN ? 0 : aN > bN ? 1 : -1;\n } else {\n return aA > bA ? 1 : -1;\n }\n}\n\nArray.prototype.removeEmptyItems = function <T>(\n this: Array<T>,\n expectedFields?: (keyof T)[],\n config?: {\n ignoreBooleanFields?: boolean;\n fieldsType?: 'included' | 'excluded';\n }\n) {\n // debugger;\n const ignoreBooleanFields = config?.ignoreBooleanFields == true;\n const fieldsType = config?.fieldsType || 'included';\n if (!this.length) return this;\n let fieldList: string[];\n if (fieldsType == 'included')\n fieldList = expectedFields?.length\n ? (expectedFields as string[])\n : Object.keys(this[0]);\n else if (fieldsType == 'excluded')\n fieldList = expectedFields?.length\n ? Object.keys(this[0]).filter((x) => !expectedFields.includes(x as any))\n : Object.keys(this[0]);\n const removedItems: T[] = [];\n if (fieldList) {\n for (let i = 0; i < this.length; i++) {\n if (ignoreBooleanFields && i == 0) {\n fieldList = fieldList.filter((f) => typeof this[0][f] != 'boolean');\n }\n const item = this[i];\n if (fieldList.some((f) => item[f] != null)) continue;\n removedItems.push(...this.splice(i, 1));\n i = i--;\n }\n }\n return removedItems;\n};\n\n//#endregion\n\n//#region Function\nFunction.prototype.clone = function () {\n var that = this;\n var temp = function temporary() {\n return that.apply(this, arguments);\n };\n for (var key in this) {\n if (this.hasOwnProperty(key)) {\n temp[key] = this[key];\n }\n }\n return temp;\n};\n//#endregion\n\n//#region FORMARRAY\nFormArray.prototype.cAddItem = function <\n TControl extends AbstractControl<any> = any\n>(\n this: FormArray<TControl>,\n index?: number,\n val?: typeof this.cFormStructure.value\n) {\n const form = cloneDeep(this.cFormStructure);\n if (val) {\n form.patchValue(val);\n }\n this.insert(index, form);\n return this;\n};\nFormArray.prototype.cRemoveItem = function <\n TControl extends AbstractControl<any> = any\n>(\n this: FormArray<TControl>,\n index: number,\n deleteService?: (...args) => Promise<any> | Observable<any>,\n addRowFunc?: (...args) => any,\n emitEvent = true\n) {\n return new Promise<FormArray<TControl>>((sub) => {\n const id = this.controls[index]?.value?.id;\n // debugger;\n if (id && deleteService) {\n const req = deleteService(id);\n let ps: Promise<any> = null;\n if (req['toPromise']) {\n ps = req['toPromise']();\n }\n ps?.then((r) => {\n sub(this);\n });\n }\n\n if (this.controls.length == 1 && id) {\n this.removeAt(index, { emitEvent });\n if (addRowFunc) addRowFunc();\n else this.cAddItem();\n } else if (this.controls.length > 1) this.removeAt(index, { emitEvent });\n else if (this.controls.length == 1) {\n this.controls[0].reset();\n }\n });\n};\n//#endregion\nexport {};\n","import '../prototypes/prototypes';\nexport class RouteItem {\n _: string;\n __: string;\n pub: string;\n constructor(base: string, parentPub: string = '', ...params: string[]) {\n // console.log(params);\n this._ = base + (params?.length ? '/:' + params.join('/:') : '');\n this.__ = base;\n this.pub = parentPub + '/' + base;\n }\n}\nexport class AppRouteBase extends RouteItem {\n constructor(base: string, parentPub: string = '', ...params: string[]) {\n super(base, parentPub, ...params);\n this.all = new RouteItem('all', this.pub);\n this.clone = new RouteItem('clone', this.pub, 'id');\n this.create = new CreateRoute('create', this.pub);\n this.edit = new RouteItem('edit', this.pub, 'id');\n this.find = new FindRoute('find', this.pub);\n this.index = new RouteItem('index', this.pub);\n this.overview = new RouteItem('overview', this.pub);\n this.show = new RouteItem('show', this.pub, 'id');\n this.start = new RouteItem('start', this.pub);\n }\n all: RouteItem;\n clone: RouteItem;\n create: CreateRoute;\n edit: RouteItem;\n find: FindRoute;\n index: RouteItem;\n overview: RouteItem;\n show: RouteItem;\n start: RouteItem;\n\n //#region funcs\n routeIdPipe(route: string, prtID: string): string {\n return route ? route + '/' + prtID : null;\n }\n routeIdTitlePipe(route: string, id: string, title?: string): string {\n return route + '/' + id + '/' + this.routeNamer(title);\n }\n routePIdIdTitlePipe(\n route: string,\n parentID: string,\n id: string,\n title?: string\n ): string {\n return route + '/' + parentID + '/' + id + '/' + this.routeNamer(title);\n }\n routePidSidIdTitlePipe(\n route: string,\n parentID: string,\n subID: string,\n id: string,\n title?: string\n ): string {\n return (\n route +\n '/' +\n parentID +\n '/' +\n subID +\n '/' +\n id +\n '/' +\n this.routeNamer(title)\n );\n }\n routeNamer(title?: string) {\n return title\n ? title\n .substr(0, 30)\n .unChar('/')\n .trim()\n .toLowerCase()\n .split(' ')\n .filter((x) => x)\n .join('-')\n : '';\n }\n //#endregion\n}\n\nclass CreateRoute extends RouteItem {\n corporate = new RouteItem('corporate', this.pub);\n group = new RouteItem('group', this.pub);\n individual = new RouteItem('individual', this.pub);\n provider = new CreateProviderRoute('provider', this.pub);\n}\nclass CreateProviderRoute extends RouteItem {\n index = new RouteItem('index', this.pub);\n}\nclass FindRoute extends RouteItem {\n searchList = new RouteItem('search-list', this.pub);\n}\n","import { Type } from '@angular/core';\nimport { LoadChildrenCallback, Route, Routes } from '@angular/router';\nimport { EPageType } from '../Shared/models/index.model';\nexport namespace EVFunctions {\n /**\n * \n * @param route \n * @param indexComponent \n * @param indexLazyModule \n * @example\n * ```ts\n * EVFunctions.extendRoute(\n * {\n * path: '',\n * data: { title: 'CRM / Setups / Segment' },\n * loadChildren: () => import('./create-segment/create-segment.module')\n * .then((m) => m.CreateSegmentModule),\n * },\n * null,\n * () => import('./segments-index/segments-index.module')\n * .then((m) => m.SegmentsIndexModule));\n * ```\n * @returns \n */\n export function extendRoute(\n route: Route,\n indexComponent?: Type<any>,\n indexLazyModule?: LoadChildrenCallback\n ) {\n const routes: Routes = [\n {\n path: '',\n data: {\n ...route.data,\n title: route.data?.title,\n type: EPageType.indexPage,\n },\n component: indexComponent,\n loadChildren: indexLazyModule,\n },\n {\n path: 'index',\n data: {\n ...route.data,\n title: route.data?.title,\n type: EPageType.indexPage,\n },\n component: indexComponent,\n loadChildren: indexLazyModule,\n },\n {\n path: 'clone',\n data: {\n ...route.data,\n title: pageTitler(route.data?.title, 'Clone'),\n type: EPageType.clonePage,\n },\n component: route.component,\n loadChildren: route.loadChildren,\n },\n {\n path: 'create',\n data: {\n ...route.data,\n title: pageTitler(route.data?.title, 'Create'),\n type: EPageType.createPage,\n },\n component: route.component,\n loadChildren: route.loadChildren,\n },\n {\n path: 'edit',\n data: {\n ...route.data,\n title: pageTitler(route.data?.title, 'Edit'),\n type: EPageType.editPage,\n },\n component: route.component,\n loadChildren: route.loadChildren,\n },\n {\n path: 'show',\n data: {\n ...route.data,\n title: pageTitler(route.data?.title, 'Show'),\n type: EPageType.showPage,\n },\n component: route.component,\n loadChildren: route.loadChildren,\n },\n ];\n if (!indexComponent && !indexLazyModule) {\n routes.splice(0, 2);\n }\n return routes;\n }\n export function labeller(field1: string, field2: string) {\n // debugger\n // console.log('field1',field1)\n field1 = field1?.toString()?.trim();\n field2 = field2?.toString()?.trim();\n if (field1 != null && field2 != null)\n return { value: field1, label: field1 + ' - ' + field2 };\n else return { value: field1, label: field1 || field2 };\n }\n function pageTitler(title: string, infix: string) {\n if (!title) return '';\n if (!infix) return title;\n const split = title.split('/'),\n lastSplit = split.pop(),\n prefix = split.join('/');\n return (prefix ? prefix + ' / ' : ' ') + infix + ' ' + lastSplit;\n }\n export function redirectRouteForUM(route: Route, prefix: string) {\n const oPath = route?.path + '',\n nPath = prefix + oPath;\n route.path = nPath;\n const routes: Routes = [\n {\n path: oPath,\n redirectTo: nPath,\n },\n route,\n ];\n return routes;\n }\n}\n","import { Day, ICodeTitle, IConfigImages } from '../Shared/models/index.model';\n\nexport class Config {\n static Images: IConfigImages;\n static Optioner: { num: number; letter: string }[] = [\n { num: 1, letter: 'a' },\n { num: 2, letter: 'b' },\n { num: 3, letter: 'c' },\n { num: 4, letter: 'd' },\n { num: 5, letter: 'e' },\n { num: 6, letter: 'f' },\n { num: 7, letter: 'g' },\n { num: 8, letter: 'h' },\n { num: 9, letter: 'i' },\n { num: 10, letter: 'j' },\n ];\n static Months: { id: number; short: string; long: string }[] = [\n { id: 0, short: 'Jan', long: 'January' },\n { id: 1, short: 'Feb', long: 'February' },\n { id: 2, short: 'Mar', long: 'March' },\n { id: 3, short: 'Apr', long: 'April' },\n { id: 4, short: 'May', long: 'May' },\n { id: 5, short: 'Jun', long: 'June' },\n { id: 6, short: 'Jul', long: 'July' },\n { id: 7, short: 'Aug', long: 'August' },\n { id: 8, short: 'Sep', long: 'September' },\n { id: 9, short: 'Oct', long: 'October' },\n { id: 10, short: 'Nov', long: 'November' },\n { id: 11, short: 'Dec', long: 'December' },\n ];\n static Days = [\n { index: 0, day: Day.sunday },\n { index: 1, day: Day.monday },\n { index: 2, day: Day.tuesday },\n { index: 3, day: Day.wednesday },\n { index: 4, day: Day.thursday },\n { index: 5, day: Day.friday },\n { index: 6, day: Day.saturday },\n ];\n\n static Numbers: { num: number; label: string }[] = [\n { num: 1, label: 'First' },\n { num: 2, label: 'Second' },\n { num: 3, label: 'Third' },\n { num: 4, label: 'Fourth' },\n { num: 5, label: 'Fifth' },\n { num: 6, label: 'Sixth' },\n { num: 7, label: 'Seventh' },\n { num: 8, label: 'Eighth' },\n { num: 9, label: 'Ninth' },\n { num: 10, label: 'Tenth' },\n ];\n\n static sexes = ['Female', 'Male'];\n\n static readonly boolList: ICodeTitle<boolean>[] = [\n { code: true, title: 'Yes' },\n { code: false, title: 'No' },\n ];\n\n static Currency = '₦';\n static TimeStampDay = 86400000;\n static TimeStampWeek = 604800000;\n static FormPresets = {\n addressPlaceholder: '1, Street Address.',\n };\n static unauthorizedMessage = `You are not authorized to access this resource.`;\n static adminSetupRoute = `backoffice`;\n static alreadyOpenedRoute = 'alreadyOpened';\n static secretKey: string =\n 'MIICXAIBAAfBgQDfmljld9rdhvakQApmLCDOgdwdwdwo2/iwdoiP0nNERInBheMh7J/r5aU8PUAssIpGXET/8';\n}\n","import { IValidationMessage } from '../Shared/models/index.model';\n\nexport const configValidationMessages = {\n normal: [ \n { type: 'required', message: ' is required.' },\n {\n type: 'maxLength',\n message: ' must be at most {{maxLength}} characters long.',\n },\n {\n type: 'maxlength',\n message: ' must be at most {{maxLength}} characters long.',\n },\n {\n type: 'minLength',\n message: ' must be at least {{minLength}} characters long.',\n },\n {\n type: 'minlength',\n message: ' must be at least {{minLength}} characters long.',\n },\n {\n type: 'notUnique',\n message: ' already exists.',\n },\n {\n type: 'date',\n message: 'Date should be in the dd/mm/yyyy format',\n },\n {\n type: 'used',\n message: ' has already been used.',\n },\n { type: 'pattern', message: ' is invalid.' },\n { type: 'notFound', message: \" doesn't exist\" },\n { type: 'custom' },\n ],\n address: [\n { type: 'required', message: 'Address is required.' },\n {\n type: 'minlength',\n message: 'Address must be at least 3 characters long.',\n },\n ],\n addressLGA: [\n {\n type: 'required',\n message: 'Local government of address is required.',\n },\n {\n type: 'minlength',\n message:\n 'Local government of address must be at least 2 characters long.',\n },\n ],\n className: [\n { type: 'required', message: 'Class name is required.' },\n {\n type: 'minlength',\n message: 'Class name must be at least 2 characters long.',\n },\n ],\n classSection: [\n { type: 'required', message: 'Class section is required.' },\n {\n type: 'minlength',\n message: 'Class section must be at least 1 character long.',\n },\n ],\n email: [\n { type: 'required', message: 'Email is required.' },\n {\n type: 'minlength',\n message: 'Email must be at least 5 characters long.',\n },\n { type: 'pattern', message: 'Email must be valid.' },\n { type: 'email', message: 'Email must be valid' },\n {\n type: 'notUnique',\n message: 'Email already exists.',\n },\n {\n type: 'equalToOther',\n message: \"Alternate email can't be the same as email\",\n },\n ],\n entityNumber: [\n { type: 'required', message: ' is required.' },\n {\n type: 'invalid',\n message: ' is invalid.',\n },\n { type: 'notFound', message: ' was not found.' },\n {\n type: 'notUnique',\n message: ' already exists.',\n },\n ],\n firstname: [\n { type: 'required', message: 'First Name is required.' },\n {\n type: 'minlength',\n message: 'Name must be at least 2 characters long.',\n },\n ],\n lastname: [\n { type: 'required', message: 'Last Name is required.' },\n {\n type: 'minlength',\n message: 'Name must be at least 2 characters long.',\n },\n ],\n lga: [\n {\n type: 'required',\n message: 'Local government of origin is required.',\n },\n {\n type: 'minlength',\n message: 'Local government of origin must be at least 2 characters long.',\n },\n ],\n maidenName: [\n { type: 'required', message: 'Maiden Name is required.' },\n {\n type: 'minlength',\n message: 'Maiden Name must be at least 2 characters long.',\n },\n ],\n\n mobile: [\n { type: 'required', message: 'Phone number is required.' },\n {\n type: 'minlength',\n message: 'Phone number must be at least 11 characters long.',\n },\n {\n type: 'notUnique',\n message: 'Phone number already exists.',\n },\n {\n type: 'equalToOther',\n message: \"Alternate phone number can't be the same as phone number\",\n },\n {\n type: 'invalid',\n message: 'Phone number is invalid',\n },\n {\n type: 'countryCode',\n message: 'Country code is invalid',\n },\n ],\n name: [\n { type: 'required', message: ' is required.' },\n {\n type: 'pattern',\n message: \" can only contain letters, numbers and '-'.\",\n },\n {\n type: 'minlength',\n message: ' must be at least 2 characters long.',\n },\n ],\n numbers: [\n {\n type: 'pattern',\n message: 'This field must be a number.',\n },\n { type: 'required', message: 'A value is required.' },\n ],\n\n occupation: [\n { type: 'required', message: 'Occupation is required.' },\n {\n type: 'minlength',\n message: 'Occupation must be at least 2 characters long.',\n },\n ],\n\n othername: [\n { type: 'required', message: 'Other Name is required.' },\n {\n type: 'minlength',\n message: 'Name must be at least 2 characters long.',\n },\n ],\n password: [\n { type: 'required', message: 'Password is required.' },\n {\n type: 'minlength',\n message: 'Password must be at least 6 characters long.',\n },\n {\n type: 'maxlength',\n message: 'Password must be at most 6 characters long.',\n },\n { type: 'passwordNotMatch', message: 'Passwords are not the same' },\n ],\n pattern: [\n { type: 'required', message: 'Field is required.' },\n\n { type: 'pattern', message: 'Field is invalid.' },\n ],\n required: [\n {\n type: 'required',\n message: ' is required.',\n },\n {\n type: 'minlength',\n message: ' must be at least 2 characters long.',\n },\n ],\n sex: [\n {\n type: 'required',\n message: 'Sex is required.',\n },\n ],\n subjectName: [\n { type: 'required', message: 'Subject name is required.' },\n {\n type: 'minlength',\n message: 'Subject name must be at least 2 characters long.',\n },\n ],\n unique: [\n {\n type: 'notUnique',\n message: ' already exists.',\n },\n ],\n username: [\n {\n type: 'required',\n message: 'is required.',\n },\n {\n type: 'pattern',\n message: \"Only letters,numbers and '_' are allowed.\",\n },\n ],\n url: [\n {\n type: 'required',\n message: 'URL is required.',\n },\n {\n type: 'pattern',\n message: 'It does not match a URL',\n },\n ],\n};\n","import { ETSMenuItem, ETSPageButton } from \"../models/IMenuItem\";\n\n\nexport class PermissionManager {\n static findClosetParentByURL(\n url: string,\n menuIndex: ETSMenuItem[],\n menu?: ETSMenuItem\n ): ETSMenuItem {\n const res = menuIndex\n ?.filter((x) => url.startsWith(x.link))\n .sort((a, b) => (b.link?.length || 0) - (a.link?.length || 0));\n const temp = res ? res[0] : null;\n if (!temp) return menu;\n return this.findClosetParentByURL(url, temp.buttons, temp);\n }\n static findByID(\n id: string,\n menu: ETSMenuItem | ETSPageButton\n ): ETSMenuItem | ETSPageButton {\n let resp: ETSMenuItem | ETSPageButton = null;\n const recurser = (menu: ETSMenuItem | ETSPageButton) => {\n if (!menu) return null;\n if (menu.id == id) {\n return menu;\n } else\n for (const item of menu.buttons||[]) {\n resp = recurser(item);\n if (resp) return resp;\n }\n };\n recurser(menu);\n return resp;\n }\n static pagePermission: ETSMenuItem;\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'happy-icon',\n template: `\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n xmlns:xodm=\"http://www.corel.com/coreldraw/odm/2003\"\n xml:space=\"preserve\"\n version=\"1.1\"\n style=\"shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd\"\n viewBox=\"0 0 260.59 250.44\"\n >\n <defs>\n <style type=\"text/css\">\n .fil2 {\n fill: #606062;\n }\n .fil0 {\n fill: #e3cfae;\n }\n .fil1 {\n fill: url(#id0);\n }\n </style>\n <radialGradient\n id=\"id0\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(0.999999 -0 -0 0.961039 0 5)\"\n cx=\"127.14\"\n cy=\"121.77\"\n r=\"342.43\"\n fx=\"127.14\"\n fy=\"121.77\"\n >\n <stop offset=\"0\" style=\"stop-opacity:1; stop-color:#FFD898\" />\n <stop offset=\"1\" style=\"stop-opacity:1;stop-color: yellow;\" />\n </radialGradient>\n </defs>\n <g id=\"Layer_x0020_1\">\n <metadata id=\"CorelCorpID_0Corel-Layer\" />\n <ellipse class=\"fil0\" cx=\"130.3\" cy=\"125.22\" rx=\"130.3\" ry=\"125.22\" />\n <ellipse class=\"fil1\" cx=\"127.14\" cy=\"121.77\" rx=\"122.78\" ry=\"117.99\" />\n <ellipse class=\"fil2\" cx=\"165.33\" cy=\"85.83\" rx=\"13.64\" ry=\"16.38\" />\n <ellipse class=\"fil2\" cx=\"89.28\" cy=\"85.77\" rx=\"13.64\" ry=\"16.38\" />\n <path\n class=\"fil2\"\n d=\"M126.87 172.85l0 -0.01c-45.27,0.38 -66.96,-56.68 -57.22,-50.29 0.37,2.55 7.41,11.89 9.07,13.87 12.97,15.49 30.14,25.92 48.3,26.04 18.15,-0.12 35.32,-10.55 48.29,-26.04 1.67,-1.98 8.71,-11.32 9.07,-13.87 9.74,-6.39 -11.94,50.67 -57.22,50.29l0 0.01 -0.14 -0.01 -0.15 0.01z\"\n />\n </g>\n </svg>\n `,\n styles: [],\n})\nexport class InfoDialogHappyIconComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'info-icon',\n template: `\n <div class=\"icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n xmlns:xodm=\"http://www.corel.com/coreldraw/odm/2003\"\n xml:space=\"preserve\"\n version=\"1.1\"\n style=\"shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd\"\n viewBox=\"0 0 54769.23 54769.23\"\n >\n <defs>\n <style type=\"text/css\">\n .fil2 {\n fill: #606062;\n }\n .fil0 {\n fill: #e3cfae;\n }\n .fil1 {\n fill: url(#id0);\n }\n </style>\n <radialGradient\n id=\"id0\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(0.999999 -0 -0 0.961039 0 1034)\"\n cx=\"26719.26\"\n cy=\"26549.92\"\n r=\"72212.84\"\n fx=\"26719.26\"\n fy=\"26549.92\"\n >\n <stop offset=\"0\" style=\"stop-opacity:1; stop-color:#FFD898\" />\n <stop offset=\"1\" style=\"stop-opacity:1; stop-color:#FAC269\" />\n </radialGradient>\n </defs>\n <g id=\"Layer_x0020_1\">\n <metadata id=\"CorelCorpID_0Corel-Layer\" />\n <circle class=\"fil0\" cx=\"27384.58\" cy=\"27384.62\" r=\"27384.61\" />\n <ellipse\n class=\"fil1\"\n cx=\"26719.24\"\n cy=\"26549.92\"\n rx=\"25891.59\"\n ry=\"25459.61\"\n />\n <ellipse\n class=\"fil2\"\n cx=\"26719.32\"\n cy=\"14646.6\"\n rx=\"3383.87\"\n ry=\"3383.88\"\n />\n <path\n class=\"fil2\"\n d=\"M23268.11 25667.86l0 12070.96c0,5464.37 6902.3,5464.37 6902.3,0l0 -12070.96c0,-5279.34 -6902.3,-5279.34 -6902.3,0z\"\n />\n </g>\n </svg>\n </div>\n `,\n styles: [\n `\n .icon svg {\n height: 100px;\n }\n `,\n ],\n})\nexport class InfoDialogInfoIconComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'sad-icon',\n template: `\n <div class=\"icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n xmlns:xodm=\"http://www.corel.com/coreldraw/odm/2003\"\n xml:space=\"preserve\"\n version=\"1.1\"\n style=\"shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd\"\n viewBox=\"0 0 921.42 885.52\"\n >\n <defs>\n <style type=\"text/css\">\n .fil2 {\n fill: #606062;\n }\n .fil0 {\n fill: #e3cfae;\n }\n .fil1 {\n fill: url(#id0);\n }\n </style>\n <radialGradient\n id=\"id0\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(0.999999 -0 -0 0.961039 0 17)\"\n cx=\"449.56\"\n cy=\"430.57\"\n r=\"1210.8\"\n fx=\"449.56\"\n fy=\"430.57\"\n >\n <stop offset=\"0\" style=\"stop-opacity:1; stop-color:#FFD898\" />\n <stop offset=\"1\" style=\"stop-opacity:1; stop-color:#FAC269\" />\n </radialGradient>\n </defs>\n <g id=\"Layer_x0020_1\">\n <metadata id=\"CorelCorpID_0Corel-Layer\" />\n <ellipse\n class=\"fil0\"\n cx=\"460.71\"\n cy=\"442.76\"\n rx=\"460.71\"\n ry=\"442.76\"\n />\n <ellipse\n class=\"fil1\"\n cx=\"449.55\"\n cy=\"430.57\"\n rx=\"434.13\"\n ry=\"417.21\"\n />\n <ellipse class=\"fil2\" cx=\"584.6\" cy=\"303.49\" rx=\"48.23\" ry=\"57.92\" />\n <ellipse class=\"fil2\" cx=\"315.7\" cy=\"303.27\" rx=\"48.23\" ry=\"57.92\" />\n <path\n class=\"fil2\"\n d=\"M448.6 431.54l0 0.01c-160.09,-1.33 -236.76,200.44 -202.33,177.84 1.3,-9.03 26.19,-42.05 32.07,-49.07 45.86,-54.74 106.59,-91.63 170.77,-92.07 64.19,0.44 124.91,37.33 170.78,92.07 5.88,7.02 30.77,40.04 32.06,49.07 34.44,22.6 -42.23,-179.17 -202.33,-177.84l0 -0.01 -0.51 0.01 -0.51 -0.01z\"\n />\n </g>\n </svg>\n </div>\n `,\n styles: [\n `\n .icon svg {\n height: 100px;\n }\n `,\n ],\n})\nexport class InfoDialogSadIconComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","import { Injectable } from '@angular/core';\nimport { IOption, OptionLabelType } from '../../models/form-schema.model';\n\nimport { ICodeTitle } from '../../models/index.model'; \n\n@Injectable({\n providedIn: 'root',\n})\nexport class InputService {\n readonly optionLabellerFunctions: {\n [x: string]: (option) => { label: string; value: string };\n };\n constructor() {\n const labeller = this.labeller;\n this.optionLabellerFunctions = {\n bnk: (option: any) =>\n labeller(\n option?.accountName +\n ' | ' +\n option?.accountNo +\n ' | ' +\n option?.bankName +\n ' | ' +\n option?.no,\n null\n ),\n ccd: (option: any) => labeller(option?.companyCode, option?.description),\n cd: (option: any) => labeller(option?.code, option?.description),\n cdt: (option: any) =>\n labeller(option?.code, option?.description || option?.title),\n cf: (option: any) => labeller(option?.code, option?.fullName),\n cmd: (option: any) => labeller(option?.company, option?.description),\n cn: (option: any) => labeller(option?.code, option?.name),\n ct: (option: ICodeTitle) => labeller(option?.code, option?.title),\n gd: (option: any) => labeller(option?.group, option?.description),\n ha: (option: any) => labeller(option?.hierAgentNo, option?.agentName),\n id: (option: any) => labeller(option?.id, option?.description),\n if: (option: any) => labeller(option?.id, option?.fullName),\n ifl: (option: any) =>\n labeller(option?.userId, `${option?.firstName} ${option?.lastName}`),\n it: (option: any) => labeller(option?.id, option?.title),\n md: (option: any) => labeller(option?.mktEventCode, option?.description),\n pd: (option: any) => labeller(option?.payoutMethod, option?.description),\n nf: (option: any) => labeller(option?.no, option?.fullName),\n td: (option: any) => labeller(option?.type, option?.description),\n ud: (option: any) => labeller(option?.userMenu, option?.description),\n uf: (option: any) => labeller(option?.userName, option?.fullName),\n vl: (option: any) => labeller(null, option?.label),\n vv: (option: any) => labeller(option?.versionNo, option?.versionDate),\n };\n }\n labeller = (field1: string, field2: string) => {\n\n // debugger;\n field1 = field1?.toString()?.trim();\n field2 = field2?.toString()?.trim();\n if (field1 != null && field2 != null)\n return { value: field1, label: field1 + ' - ' + field2 };\n else return { value: field1, label: field1 || field2 };\n };\n optionsFormatter = (\n options: any[],\n valueField?: string,\n formatter?,\n labelType?: OptionLabelType,\n labelField?: string,\n autoPickValueField?: boolean\n ) => {\n if (!options?.length) return [];\n if (formatter)\n return options.map((option) => ({\n value: valueField && option ? option[valueField] : option,\n label: formatter(option),\n }));\n if (labelType)\n return options.map((option) => {\n const formattedOption = this.optionLabellerFunctions[labelType](option);\n\n return {\n value: valueField\n ? option[valueField]\n : autoPickValueField\n ? formattedOption.value\n : option,\n label: formattedOption.label,\n };\n });\n if (labelField)\n return options.map((option) => ({\n value: valueField ? option[valueField] : option,\n label: option[labelField],\n }));\n return options.map((option) => ({ value: option, label: option }));\n };\n trackByValue(index, item: IOption) {\n return item.value;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { AbstractControl, FormsModule } from '@angular/forms'; \nimport { InputService } from './input.service';\nimport { ICodeTitle } from '../../models/index.model'; \nimport { IOption, OptionLabelType } from '../../models/form-schema.model';\n\n@Pipe({\n name: 'filterOptions',\n})\nexport class FilterOptions implements PipeTransform {\n transform(arr: any[] = [], query: string, field: string = 'label') {\n query = query?.toLowerCase()?.trim();\n arr = arr ? arr : [];\n return [\n ...arr.filter((x) => x[field].toLowerCase().startsWith(query)),\n ...(arr\n .filter((x) => !x[field].toLowerCase().startsWith(query))\n ?.filter((x) => x[field].toLowerCase().includes(query)) || []),\n ];\n }\n}\n\n@Pipe({ name: 'optioner' })\nexport class OptionerPipe implements PipeTransform {\n transform(\n options: any[],\n labelField,\n idField?,\n basic?: boolean\n ): { value: any; label: string }[] {\n if (options) {\n if (labelField && idField) {\n return basic\n ? options.map((x) => ({\n label: this.arrToStr(labelField, x),\n value: x[idField],\n }))\n : options.map((x) => ({\n label: this.arrToStr(labelField, x),\n value: x,\n }));\n } else {\n return options.map((x) => ({\n label: x,\n value: x,\n }));\n }\n } else {\n return [];\n }\n }\n arrToStr(labelField: string, x) {\n const fs = labelField.split('|');\n if (fs.length > 1) {\n let l = '';\n fs.forEach((field) => {\n l += x[field] + ' ';\n });\n return l;\n } else {\n return x[labelField];\n }\n }\n}\n\n@Pipe({\n name: 'validationMsg',\n})\nexport class ValidationMsg implements PipeTransform {\n transform(message: string, prefix?: string, suffix?: string): string {\n return (\n (prefix ? prefix + ' ' : '') + message + (suffix ? ' ' + suffix : '')\n );\n }\n}\n\n@Pipe({\n name: 'validator',\n})\nexport class Validator implements PipeTransform {\n transform(validation, control: AbstractControl, update?) {\n return (\n control &&\n control?.hasError(validation?.type) &&\n (control?.touched || control?.dirty)\n );\n }\n}\n@Pipe({\n name: 'optionLabeller',\n})\nexport class OptionLabeller implements PipeTransform {\n transform(\n option: any,\n formatter?,\n optionType?: OptionLabelType,\n labelField?: string\n ): string {\n if (formatter) return formatter(option);\n if (optionType) return this.iS.optionLabellerFunctions[optionType](option).label;\n if (labelField) return option[labelField];\n return option;\n }\n constructor(public iS: InputService) {}\n}\n@Pipe({\n name: 'optionsFormatter',\n})\nexport class OptionsFormatter implements PipeTransform {\n transform(\n options: any[],\n valueField?: string,\n formatter?,\n optionType?: OptionLabelType,\n labelField?: string\n ): IOption[] {\n return this.iS.optionsFormatter(\n options,\n valueField,\n formatter,\n optionType,\n labelField\n );\n }\n constructor(public iS: InputService) {}\n}\n\n@Pipe({ name: 'inputClass' })\nexport class InputClassPipe implements PipeTransform {\n transform(\n inpCl: string,\n valid?: boolean,\n invalid?: boolean,\n showValidation?: boolean\n ) {\n let cls = inpCl + ' form-control';\n if (showValidation) {\n cls += valid ? ' bordercheck' : invalid ? ' borderuncheck' : '';\n }\n return cls;\n }\n}\n\nconst comps = [\n FilterOptions,\n Validator,\n ValidationMsg,\n OptionerPipe,\n OptionLabeller,\n OptionsFormatter,\n InputClassPipe,\n];\nconst modules = [FormsModule];\n@NgModule({\n declarations: comps,\n imports: [CommonModule, ...modules],\n exports: [...comps, ...modules],\n})\nexport class InputPipesModule {}\n","import { Injectable } from '@angular/core';\nimport { PageLoader } from '../Shared/classes/page-loader.class';\n@Injectable({ providedIn: 'root' })\nexport class PageLoaderService extends PageLoader {\n constructor() {\n super();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ETSenvironment } from '../../../environments/environment';\nimport { PageLoaderService } from '../../Services/page-loader.service';\n\n@Pipe({ name: 'appTranslate' })\nexport class TranslatePipe implements PipeTransform {\n transform(text: string | number, translate = true) {\n return new Observable<string>((res) => {\n // res.next(text as any);\n const replacedText = this.labelReplacer\n ? this.labelReplacer(text?.toString())\n : null;\n if (replacedText) {\n text = replacedText;\n }\n if (\n !translate ||\n !(ETSenvironment.translate && ETSenvironment.targetLanguage)\n ) {\n res.next(replacedText || text?.toString());\n res.complete();\n res.unsubscribe();\n } else if (this.translationFunc) {\n this.pageLS.startPl();\n this.translationFunc(text as any).subscribe(\n (r) => {\n res.next(r);\n res.complete();\n res.unsubscribe();\n this.pageLS.stopPl();\n },\n (e) => {\n res.complete();\n res.unsubscribe();\n this.pageLS.stopPl();\n }\n );\n }\n });\n }\n\n translationFunc: (val) => Observable<string>;\n constructor(private pageLS: PageLoaderService) {}\n labelReplacer: (test: string) => string;\n}\n\nconst comps = [TranslatePipe];\nconst modules = [];\n@NgModule({\n declarations: comps,\n imports: [CommonModule, ...modules],\n exports: [...comps, ...modules],\n providers: [],\n})\nexport class TranslatePipeModule {}\n","import {\n Component,\n Input,\n OnInit,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n SimpleChanges,\n} from '@angular/core';\nimport { ETSenvironment } from '../../../../environments/environment'; \nimport { IOption, OptionLabelType } from '../../models/form-schema.model';\nimport { ETSInputType } from '../../models/index.model'; \nimport { InputService } from '../input/input.service';\n\n@Component({\n selector: 'app-input-ngmodel',\n templateUrl: './input-ngmodel.component.html',\n styleUrls: ['./input-ngmodel.component.scss'],\n})\nexport class InputNGModelComponent implements OnInit {\n __value: string | number;\n rawOptions: any[];\n type: string;\n @Input('mvalue') set _value(v: string | number) {\n this.__value = v;\n }\n @Input() cls?: string;\n @Input() colored: boolean = true;\n @Input() disabled: boolean;\n @Input() hide: boolean;\n @Input() hint: string;\n @Input() id: string = 'id' + Math.round(Math.random() * 10000);\n @Input() inpCl: string = 'control-bg-gray';\n @Input() label: string;\n @Input() lblCl: string = '2';\n @Input() lblPosition: 'left' | 'right';\n @Input() mini: boolean;\n @Input() light: boolean = true;\n @Input() name: string;\n @Input() model: any;\n\n @Output() modelChange = new EventEmitter();\n @Input() optionFormatter: (item: any) => string;\n options: IOption[];\n options$ = new EventEmitter<IOption[]>();\n @Input('options') set _options(v: any[]) {\n this.options = this.iS.optionsFormatter(\n v,\n this.valueField,\n this.optionFormatter,\n this.labelType,\n this.labelField\n );\n this.rawOptions = v;\n\n this.options$.emit(this.options);\n }\n @Input() checked?: boolean;\n @Input() contextData: any;\n @Input() decimalPoints: number;\n @Input() labelField: string;\n @Input() max: number;\n @Input() min: number;\n @Input() placeholder: string;\n @Input() prefix: string;\n @Input() readonly: boolean;\n @Input() required?: boolean;\n @Input() showEmptyOption?: boolean = true;\n @Input() showLabel: boolean = true;\n @Input() showValidation: boolean;\n @Input() showValidationIcon: boolean = true;\n @Input() small: boolean;\n @Input() stacked: boolean;\n @Input() suffix: string;\n @Input() theme: InputTheme = 1;\n @Input('type') set _type(v: ETSInputType) {\n this.type = v;\n if (this.type == 'checkbox' && this.model == null) this.model = false;\n }\n @Input() valueField: string; //use this to choose a field in the option for modeling\n @Input() labelType: OptionLabelType; //use this to pick a preset value label group for the options\n @Input() xsmall: boolean;\n showPassword: boolean;\n @Output() mchange = new EventEmitter();\n value: any;\n @ViewChild('labelEl') labelRef: ElementRef<HTMLLabelElement>;\n constructor(public iS: InputService) {}\n\n ngOnInit(): void {}\n ngOnChanges(changes: SimpleChanges): void {\n if (this.type == 'checkbox' && this.model == null) {\n // debugger;\n this.change({ target: { checked: false } });\n }\n }\n change(e) {\n let val = e;\n console.log('modelchange ', e, val);\n if (this.type == 'checkbox') {\n val = Object.prototype.hasOwnProperty.call(e, 'target')\n ? e.target.checked\n : e;\n } else {\n val = e.target.value;\n }\n if (this.type == 'number') {\n if (this.max && +val > this.max) {\n this.model = this.max;\n } else if (this.min != null && this.min != undefined && +val < this.min) {\n this.model = this.min;\n }\n if (this.decimalPoints != undefined && this.decimalPoints != null)\n this.model = (+val).toFixed(this.decimalPoints);\n }\n this.value = val;\n this.mchange.emit(val);\n console.log('modelchange ', e, val);\n this.modelChange.emit(val);\n if (!ETSenvironment.production) console.log(this.value);\n }\n upload(e) {\n this.mchange.emit(e);\n }\n log() {\n // if (!environment.production)\n console.log(this.value);\n }\n}\ntype InputTheme = 1 | 2;","<div class=\"row align-items-center\">\n <label #labelEl l class=\"col-md-{{stacked?'12 pb-0':mini?'auto':lblCl}} m-0 \" for=\"{{id}}\"\n [ngClass]=\"{'text-primary':colored,'py-2':theme==1,'form-label':theme==2,light:light,small,small1:xsmall,'order-1':lblPosition=='right'}\"\n *ngIf=\"showLabel\">\n {{label|appTranslate|async}}\n </label>\n <div class=\" position-relative\"\n [ngClass]=\"{'order-0':lblPosition=='right','col-12':stacked,'col-md':!stacked,'col-md-auto':lblPosition=='right'}\" [matTooltip]=\"hint\">\n <ng-container [ngSwitch]=\"type\">\n <!-- CHECKBOX -->\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <input type=\"checkbox\" id=\"{{id}}\" [name]=\"name\" [ngModel]=\"model\" [disabled]=\"disabled\" \n class=\"{{inpCl}} d-inline-block form-control width-unset\" placeholder=\"{{placeholder}}\" [required]=\"required\"\n (ngModelChange)=\"change($event)\" [checked]=\"checked\">\n </ng-container>\n <!-- FILE -->\n <ng-container *ngSwitchCase=\"'file'\">\n <input type=\"file\" id=\"{{ id }}\" [class]=\"inpCl|inputClass\" (change)=\"upload($event)\" (change)=\"change($event)\">\n </ng-container>\n <!-- SELECT -->\n <ng-container *ngSwitchCase=\"'select'\">\n <select [name]=\"name\" [(ngModel)]=\"model\" id=\"{{ id }}\" class=\" mr-2\" [class]=\"inpCl|inputClass\"\n [required]=\"required\" [disabled]=\"disabled\" (change)=\"change($event)\">\n <option *ngIf=\"showEmptyOption\"></option>\n <option *ngFor=\"let item of options; trackBy:iS.trackByValue\" [ngValue]=\"item.value\">\n <!-- {{item|optionLabeller:optionFormatter:labelType:labelField}} -->\n {{item.label}}\n </option>\n </select>\n </ng-container>\n <!-- TEXTAREA -->\n <ng-container *ngSwitchCase=\"'textarea'\">\n <textarea [name]=\"name\" [(ngModel)]=\"model\" id=\"{{ id }}\" [class]=\"inpCl|inputClass\" [required]=\"required\"\n [disabled]=\"disabled\" [readonly]=\"readonly\" (change)=\"change($event)\"></textarea>\n </ng-container>\n <!-- Radio -->\n <ng-container *ngSwitchCase=\"'radio'\">\n <input type=\"radio\" [(ngModel)]=\"model\" id=\"{{ id }}\" [readonly]=\"readonly\" (change)=\"change($event)\"\n [disabled]=\"disabled\" />\n </ng-container>\n <!-- Viewer -->\n <ng-container *ngSwitchCase=\"'viewer'\">\n <input type=\"text\" id=\"{{ id }}\" placeholder=\"{{ placeholder }}\" [readonly]=\"true\" [value]=\"model\"\n [disabled]=\"disabled\" />\n </ng-container>\n\n <!-- PASSWORD -->\n <ng-container *ngSwitchCase=\"'password'\">\n <input type=\"{{ showPassword?'text':'password' }}\" [(ngModel)]=\"model\" placeholder=\"{{ placeholder }}\"\n [class]=\"inpCl|inputClass\" id=\"{{ id }}\" [required]=\"required\" [readonly]=\"readonly\" [disabled]=\"disabled\" (change)=\"change($event)\"\n value=\"{{ __value }}\" />\n <div class=\"password-icons pointer\" (click)=\"showPassword=!showPassword\">\n <i class=\"fa fa-eye-slash\" *ngIf=\"showPassword\"></i>\n <i class=\"fa fa-eye\" *ngIf=\"!showPassword\"></i>\n </div>\n </ng-container>\n\n <!-- DEFAULT -->\n <ng-container *ngSwitchDefault>\n <input type=\"{{type}}\" id=\"{{ id }}\" [name]=\"name\" [(ngModel)]=\"model\" placeholder=\"{{placeholder}}\"\n [class]=\"inpCl|inputClass\" [required]=\"required\" [disabled]=\"disabled\" [max]=\"max\" [min]=\"min\"\n [readonly]=\"readonly\" (change)=\"change($event)\">\n </ng-container>\n </ng-container>\n </div>\n</div>\n","import { Injectable } from '@angular/core';\nimport { AbstractControl } from '@angular/forms'; \nimport { IOption } from '../../models/form-schema.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AutocompleteService {\n constructor() {}\n filterOptions(query: string, options: IOption[]): IOption[] {\n const filterValue = this.normalizeValue(query);\n return filterValue\n ? options?.filter((option) =>\n this.normalizeValue(option.label)?.includes(filterValue)\n )\n : options;\n }\n\n normalizeValue(value: string): string {\n return value?.toString()?.toLowerCase().replace(/\\s/g, '');\n }\n}\n","import { TitleCasePipe } from '@angular/common';\nimport { Component, Input, OnInit } from '@angular/core'; \nimport {\n EValidationType,\n IValidationMessage,\n} from '../../../../Shared/models/index.model';\n\n@Component({\n selector: 'app-validation-message-ngmodel',\n templateUrl: './validation-message-ngmodel.component.html',\n styleUrls: ['./validation-message-ngmodel.component.scss'],\n})\nexport class ValidationMessageNgmodelComponent implements OnInit {\n @Input() isError: boolean;\n @Input() validationKey: EValidationType;\n validation: { type: EValidationType; message: string };\n @Input() label: string;\n @Input() customMessage = 'Value is invalid';\n @Input() name;\n\n validations;\n constructor(\n private titleCasePipe: TitleCasePipe\n ) {}\n\n ngOnInit(): void {\n this.initializeValidationMessages()\n this.setValidation()\n }\n\n initializeValidationMessages(){\n this.validations = [\n {\n type: EValidationType.required,\n message: `${this.titleCasePipe.transform(this.name)} is required.`,\n },\n {\n type: EValidationType.minlength,\n message: `${this.titleCasePipe.transform(this.name)} must be at least 2 characters long.`,\n },\n {\n type: EValidationType.unique,\n message: `${this.titleCasePipe.transform(this.name)} already exists.`,\n },\n ]\n }\n\n setValidation(){\n this.validation = this.validations.find((x) => x.type == this.validationKey)\n }\n}\n","<div class=\"text-danger\">\n <span *ngIf=\"isError\">{{validation?.message|appTranslate|async}}</span>\n</div>\n","import { Injectable } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup } from '@angular/forms';\nimport { IETSFormSchema } from '../Shared/models/form-schema.model';\nimport { FCInput } from '../Shared/models/index.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ETSReactiveFormInputService<\n TIFormSchema = IETSFormSchema,\n TFCInput = FCInput\n> {\n constructor() {}\n formFieldsFromFCInputsArr<TFCInput>(inputs: TFCInput[]) {\n const controls: {\n [key: string]: AbstractControl;\n } = {};\n for (const inp of <FCInput[]>inputs) {\n controls[inp.name] = inp.formControl;\n }\n\n return controls;\n }\n formSchemaToFormControls<TIFormSchema>(formFields: TIFormSchema[]) {\n const controls: {\n [key: string]: AbstractControl;\n } = {};\n (<IETSFormSchema[]>formFields)?.forEach((inp) => {\n controls[inp.field?.toString()] = new FormControl(\n inp.value,\n inp.validators?.map((v) => v.bind(this)),\n inp.asyncValidators?.map((v) => v.bind(this))\n );\n });\n // controls['__rowID']=new FormControl('id'+Math.round(Math.random()*10000000))\n\n return controls;\n }\n \n formFieldsFromObj(obj: any) {\n const controls: {\n [key: string]: AbstractControl;\n } = {};\n for (const inp in obj) {\n controls[inp] = new FormControl(obj[inp]);\n }\n\n return controls;\n }\n\n bindFormControlToInputs = <TFCInput>(inputs: TFCInput[], form: FormGroup) => {\n (<FCInput[]>inputs).forEach((x) => {\n x.form = form;\n x.formControl = form.controls[x.name];\n });\n };\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRoute, NavigationExtras, Router } from '@angular/router';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RouteService {\n constructor(public router: Router) {}\n go = (value: string, extra?: NavigationExtras) => {\n this.router.navigate([value], extra);\n };\n routeParams1 = (route: string, param1: string, title?: string): string => {\n return route ? route + '/' + param1 + (this.routeNamer(title) || '') : null;\n };\n routeParams2 = (\n route: string,\n param1: string,\n param2: string,\n title?: string\n ): string => {\n return route + '/' + param1 + '/' + param2 + (this.routeNamer(title) || '');\n };\n routeParams3 = (\n route: string,\n param1: string,\n param2: string,\n param3: string,\n title?: string\n ): string => {\n return (\n route +\n '/' +\n param1 +\n '/' +\n param2 +\n '/' +\n param3 +\n (this.routeNamer(title) || '')\n );\n };\n private routeNamer = (title: string) => {\n return title\n ? '/' +\n title\n .substr(0, 30)\n .unChar('/')\n .trim()\n .toLowerCase()\n .split(' ')\n .filter((x) => x)\n .join('-')\n : '';\n };\n}\n"," \ntype Method = 'POST' | 'PUT';\nexport interface ILog<T> {\n payload: T;\n files?: File[];\n isSuccess?: boolean;\n route?: string;\n endpoint: string;\n method: Method;\n}\nexport class Log<T = any> {\n id: string;\n title: string;\n time: number;\n payload: T;\n isSuccess: boolean;\n route: string;\n endpoint: string;\n files: IFileData[];\n method: string;\n constructor(data: ILog<T>) {\n Object.assign(this, data); \n if (data.payload instanceof FormData) {\n this.payload = null;\n (data.payload as FormData).forEach((file) => {\n if (!(!file || file == undefined || file == null))\n if (file instanceof File) {\n this. files.push({size:file.size,title:file.name,type:file.type});\n } else {\n this.payload = { ...this.payload, ...JSON.parse(file) };\n }\n });\n } \n this.route =this.route|| location.pathname; \n this.time = Date.now();\n this.id = 'id' + Math.round(Math.random() * 1000000);\n }\n}\ninterface IFileData {\n title: string;\n size: number;\n type: string;\n}\n","import { Injectable } from '@angular/core';\nimport { AES, enc } from 'crypto-js';\nimport { ETSenvironment } from '../../environments/environment';\nimport { Config } from '../configs/index.config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StorageService {\n get secret() {\n return Config.secretKey;\n }\n private storageKey: 'localStorage' | 'sessionStorage';\n get isProduction() {\n return ETSenvironment.production;\n }\n\n constructor() {\n this.storageKey = ETSenvironment.storageKey;\n }\n useSession() {\n this.storageKey = 'sessionStorage';\n }\n useLocal() {\n this.storageKey = 'localStorage';\n }\n encrypt = (data, key = this.secret) => {\n return AES.encrypt(JSON.stringify(data), key).toString();\n };\n\n decrypt = (data, key = this.secret) => {\n return JSON.parse(AES.decrypt(data, key).toString(enc.Utf8));\n };\n\n saveItem = <T>(key: string, data: T) => {\n try {\n window[this.storageKey].setItem(\n key,\n !(data == null || data == undefined)\n ? this.isProduction\n ? this.encrypt(data)\n : JSON.stringify(data)\n : ''\n );\n return data;\n } catch (error) {\n if (error.name == 'QuotaExceededError') {\n this.clear();\n return this.saveItem(key, data);\n } else {\n return null;\n }\n }\n };\n\n saveItemA = <T>(key: string, data: T) =>\n new Promise<T>((resolve) => {\n resolve(this.saveItem(key, data));\n });\n\n getItem = <T = any>(key: string, _throw = false) => {\n if (!key) return null;\n const encryptedRes = window[this.storageKey].getItem(key);\n try {\n return this.isProduction\n ? encryptedRes\n ? <T>this.decrypt(encryptedRes)\n : null\n : <T>JSON.parse(encryptedRes);\n } catch (e) {\n console.error(e);\n this.saveItem('_temp' + key, encryptedRes);\n this.removeItem(key);\n if (_throw) {\n throw new Error('Item not found');\n } else {\n return null;\n }\n }\n };\n getItemA = <T = any>(key: string) => {\n return new Promise<T>((resolve, reject) => {\n try {\n resolve(this.getItem(key));\n } catch (error) {\n reject(error);\n }\n });\n };\n\n removeItem = (key: string) => {\n return window[this.storageKey].removeItem(key);\n };\n\n clear = () => {\n return window[this.storageKey].clear();\n };\n}\n","import { Injectable } from '@angular/core';\nimport { StorageService } from '../../../Services/storage.service';\nimport { ILog, Log } from './logger.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoggerService {\n readonly logAuthKey = 'logAuth';\n readonly logsKey = 'logs';\n private _logs: Log[] = [];\n private _isAuthed: boolean;\n readonly pwd = '1234';\n get logs() {\n return this._logs;\n }\n constructor(public sS: StorageService) {\n setInterval(() => {\n this.getLogs();\n }, 1000);\n this.checkAuth();\n }\n addLog<T>(log: ILog<T>) {\n this.pushLog(new Log(log));\n }\n pushLog(log: Log) {\n if (!Array.isArray(this._logs)) this._logs = [];\n this._logs?.sort2('time').reverse();\n if (this._logs.length >= 30) this._logs.pop();\n this._logs.unshift(log);\n this.saveToLocal();\n }\n saveToLocal() {\n this.sS.saveItem(this.logsKey, this._logs);\n }\n unlock() {\n this.sS.saveItem(this.logAuthKey, this.pwd);\n this.checkAuth();\n }\n lock() {\n this.sS.removeItem(this.logAuthKey);\n this.checkAuth();\n }\n getLogs() {\n this.sS\n .getItemA<Log[]>(this.logsKey)\n .then((r) => (this._logs = r?.sort2('time').reverse() || []));\n return this._logs;\n }\n checkAuth() {\n this._isAuthed = this.sS.getItem(this.logAuthKey) == this.pwd;\n }\n get isAuthed() {\n return this._isAuthed;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { EPageType } from '../Shared/models/index.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PageService {\n pageType: EPageType;\n constructor() {}\n\n isClone = (activatedRoute: ActivatedRoute, pageType?: EPageType) => {\n return (\n activatedRoute?.snapshot?.data?.type === EPageType.clonePage ||\n pageType === EPageType.clonePage\n );\n };\n isCreate = (activatedRoute: ActivatedRoute, pageType?: EPageType) => {\n return (\n activatedRoute?.snapshot?.data?.type === EPageType.createPage ||\n pageType === EPageType.createPage\n );\n };\n isEdit = (activatedRoute: ActivatedRoute, pageType?: EPageType) => {\n return (\n activatedRoute?.snapshot?.data?.type === EPageType.editPage ||\n pageType === EPageType.createPage\n );\n };\n isIndex = (activatedRoute: ActivatedRoute, pageType?: EPageType) => {\n return (\n activatedRoute?.snapshot?.data?.type === EPageType.indexPage ||\n pageType === EPageType.indexPage\n );\n };\n isShow = (activatedRoute: ActivatedRoute, pageType?: EPageType) => {\n return (\n activatedRoute?.snapshot?.data?.type === EPageType.showPage ||\n pageType === EPageType.showPage\n );\n };\n}\n","import { CurrencyPipe, Location, TitleCasePipe } from '@angular/common';\nimport { Injectable, Type } from '@angular/core';\nimport {\n MatDialog as MatDialog,\n MatDialogConfig as MatDialogConfig,\n} from '@angular/material/dialog';\nimport { MatSnackBar as MatSnackBar } from '@angular/material/snack-bar';\nimport { Title } from '@angular/platform-browser';\nimport { Router, NavigationExtras } from '@angular/router';\nimport { ETSReactiveFormInputService as IS1 } from './input.service';\nimport { RouteService } from './route.service';\nimport jfd from 'js-file-download';\nimport { PageLoaderService } from './page-loader.service';\nimport { Config, Config as config } from '../configs/index.config';\ndeclare const $: any;\nimport { AppRouteBase } from '../Shared/models/RouteItem.class';\nimport { saveAs } from 'file-saver';\nimport { EPageType, EValidationType, IBtn } from '../Shared/models/index.model';\nimport { ETSenvironment } from '../../environments/environment';\nimport { PageService } from './page.service';\nimport {\n AbstractControl,\n FormArray,\n FormControl,\n UntypedFormArray,\n} from '@angular/forms';\nimport { LoggerService } from '../Reusables/reusable-pages/logger/logger.service';\nimport { cloneDeep } from 'lodash-es';\nimport { isObservable, merge, Observable, of } from 'rxjs';\nimport { EETSPageBtnID } from '../Shared/models/IMenuItem';\nimport { InputService as IS2 } from '../Shared/components/input/input.service';\nimport { catchError, map, tap } from 'rxjs/operators';\nimport { ETSEnvironment } from '../Shared/models/environment.model';\n\n@Injectable({ providedIn: 'root' })\nexport class ETSUtilityService<TEnvironment = ETSEnvironment > {\n r: AppRouteBase;\n downloader = jfd;\n $ = $;\n eValidationType = EValidationType;\n config = Config;\n environment: TEnvironment = ETSenvironment as any;\n pbid = EETSPageBtnID;\n constructor(\n public dialog: MatDialog,\n public snackBar: MatSnackBar,\n public router: Router,\n public titleS: Title,\n public location: Location,\n public inputService: IS1,\n public inputService2: IS2,\n public routeService: RouteService,\n public pS: PageLoaderService,\n public currencyPipe: CurrencyPipe,\n public titleCasePipe: TitleCasePipe,\n public loggerService: LoggerService,\n public pageS: PageService\n ) {}\n\n back = () => this.location.back();\n\n onlyOneInput(inputs: FormControl[]) {\n const nInputs = inputs?.map((inp) => ({ id: this.genRandomID, inp })) || [];\n merge(\n ...nInputs.map((i) =>\n i.inp.valueChanges.pipe(map((val) => ({ id: i.id, val })))\n )\n ).subscribe((r) => {\n // debugger\n if (r.val)\n nInputs\n .filter((x) => x.id != r.id)\n .forEach((x) => x.inp.disable({ emitEvent: false }));\n else\n nInputs\n .filter((x) => x.id != r.id)\n .forEach((x) => x.inp.enable({ emitEvent: false }));\n });\n }\n\n async copyPayload(payload) {\n try {\n if (ETSenvironment.debug) {\n const elem = document.createElement('textarea');\n elem.value = JSON.stringify(payload);\n document.body.appendChild(elem);\n elem.select();\n document.execCommand('copy');\n document.body.removeChild(elem);\n }\n } catch (e) {\n console.error(e);\n }\n }\n xOrY = (x, y = '-') => `${x == null ? y : x}`;\n toTitleCase(text: string) {\n return this.titleCasePipe.transform(text);\n }\n /**\n * Convert Date string to Date Time string\n * @param dateStr Date string\n * @example '2022-01-25'\n * @param config Configuration for the conversion\n * @returns Returns a Date Time string\n * @example '2022-01-25T00:00:00Z' or '2022-01-25 00:00:00'\n */\n dateToDateTime = (\n dateStr: string,\n config?: {\n /**\n * Use the yyyy-mm-dd hh:mm:ss format\n */\n omitT?: boolean;\n }\n ) => {\n const omitT = !!config?.omitT;\n if (!dateStr) return null;\n if (dateStr.includes('T')) return dateStr;\n return dateStr + (omitT ? ' 00:00:00' : 'T00:00:00Z');\n };\n\n /**\n * Set an Object's field if the object exists or don't if the object doesn't\n * @param obj Object holding the field\n * @param fieldName Name of the field to set\n * @param val Value to set the field with\n * @returns Returns the object holding the data\n */\n setterWithNull<T>(obj: T, kvps: Partial<T>) {\n if (!obj) return null;\n for (const key in kvps) {\n obj[key] = kvps[key];\n }\n return obj;\n }\n\n /**\n * (Set an Object's field if the object exists or don't if the object doesn't) for multiple entries\n * @param items Array of objects and their modifications\n */\n setterWithNullArray<T>(items: { obj: T; kvps: Partial<T> }[]) {\n for (const item of items) {\n this.setterWithNull(item.obj, item.kvps);\n }\n }\n\n /**\n * Handles the deletion of rows from a FormArray\n * @param index Index of the row to delete\n * @param fa The FormArray that holds the rows\n * @param deleteService The deletion service to be called (It should be an anonymous function)\n * @param addRowFunc The function (anonymous) that adds a new row to the FormArray\n * @param emitEvent Specify whether to emit an event when manipulating the FormArray\n * @returns\n */\n handleFormRowDelete = (\n index: number,\n fa: UntypedFormArray,\n deleteService: (...args) => Promise<any> | Observable<any>,\n addRowFunc: (...args) => any,\n emitEvent = true\n ) => {\n return new Promise<any>((sub) => {\n const id = cloneDeep(fa.controls[index]?.value?.id);\n // debugger;\n if (fa.controls.length == 1 && id) {\n fa.removeAt(index, { emitEvent });\n addRowFunc();\n } else if (fa.controls.length > 1) fa.removeAt(index, { emitEvent });\n else if (fa.controls.length == 1) fa.controls[0].reset();\n\n if (id && deleteService) {\n const req = deleteService(id);\n if (req['toPromise']) {\n sub(req['toPromise']());\n } else {\n sub(req as any);\n }\n } else {\n sub(null);\n }\n });\n };\n\n /**\n * Handles the deletion of rows from an array\n * @param index Index of the row to delete\n * @param arr The array that holds the rows\n * @param deleteService The deletion service to be called (It should be an anonymous function)\n * @param addRowFunc The function (anonymous) that adds a new row to the array\n * @param cb The function to callback with the response of the deletion service as the input parameter\n */\n handleRowDelete = async <T>(\n index: number,\n arr: any[],\n deleteService: (...args) => Promise<T> | Observable<T>,\n addRowFunc: (...args) => any,\n cb?: (any) => any\n ) => {\n const id = arr[index]?.id;\n // debugger;\n\n if (id && deleteService) {\n const req = deleteService(id);\n if (typeof req['toPromise'] == 'function')\n cb ? cb(await req['toPromise']()) : req['toPromise']();\n else cb ? cb(await req) : null;\n }\n\n if (arr.length == 1) {\n arr.splice(index, 1);\n addRowFunc();\n } else if (arr.length > 1) arr.splice(index, 1);\n };\n /**\n * To handle the patching of a FormArray\n * @param arr The array that contains the data\n * @param addFunc The function that performs addition of single entries\n * @param formArr The FormArray that will hold the array's data\n */\n initPatchFormArray = (\n arr: any[],\n addFunc: (i: number, data?: any, formArr?: FormArray) => void,\n formArr: FormArray\n ) => {\n // debugger\n if (arr?.length) {\n if (formArr.length) formArr.clear();\n for (const item of arr) {\n addFunc(formArr.length, item, formArr);\n }\n } else {\n if (!formArr.length) addFunc(formArr.length, null, formArr);\n }\n };\n private isPromise = (func) => {\n return typeof func === 'object' && typeof func.then === 'function';\n };\n isAsync = (func) => {\n return (\n func.constructor.name === 'AsyncFunction' ||\n (typeof func === 'function' && this.isPromise(func()))\n );\n };\n\n isObservable = <T>(func) => {\n // return typeof func === 'object' && typeof func.subscribe === 'function';\n // return typeof func === 'object' && func instanceof Observable;\n // return typeof func === 'object' && func instanceof Observable<T>;\n return typeof func === 'object' && isObservable(func);\n return typeof func === 'object' && typeof func.toPromise === 'function';\n };\n promisifyVal = <T>(val: T | Promise<T> | Observable<T>) => {\n if (this.isAsync(val)) {\n return Promise.resolve(val as Promise<T>);\n } else if (this.isObservable(val)) {\n return Promise.resolve((val as Observable<T>).toPromise());\n } else {\n return Promise.resolve(val as T);\n }\n };\n\n /**\n * @param arr Array of observables to fetch\n * @returns An array of the responses merged together. It emits the merged responses as they are fetched and closes once alll the responses have been fetched\n */\n mergeArrObservables = <T>(arr: { $func: Observable<T[]> }[]) => {\n return new Observable<T[]>((sub) => {\n const ret: T[] = [];\n let responseCount = 0;\n merge(\n ...arr.map((x) =>\n x.$func?.pipe(\n catchError((e) => {\n console.error(e);\n return of([]);\n }),\n tap((r) => {\n responseCount++;\n })\n )\n )\n ).subscribe((r) => {\n ret.push(...r);\n sub.next(ret);\n if (responseCount == arr.filter((x) => x.$func).length) {\n // debugger\n sub.complete();\n }\n });\n });\n };\n removeDuplicate<T>(list: T[], keyField = 'code') {\n if (!list) return null;\n list = list.filter((x) => x);\n const ret: T[] = [],\n duplicateMap: { [x: string]: any } = {};\n for (const item of list) {\n if (duplicateMap[item[keyField]]) continue;\n ret.push(item);\n duplicateMap[item[keyField]] = item;\n }\n return ret;\n }\n get genRandomID() {\n return Math.round(Math.random() * 1000000000000000);\n }\n storePayload = this.loggerService.addLog;\n objIsEmpty = (obj, exclusionFields?: string[]) => {\n if (!obj) return true;\n for (const key in obj) {\n if (exclusionFields?.includes(key)) continue;\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n if (obj[key]) return false;\n }\n }\n return true;\n };\n dataGen = <T = any>(keys: string[], length = 10) => {\n const ret: any[] = [];\n for (let i = 0; i < length; i++) {\n let t: any = {};\n for (const key of keys) {\n t[key] = this.textGen();\n }\n ret.push(t);\n }\n return ret as T[];\n };\n textGen = () => 'random' + Math.round(Math.random() * 1000);\n trackByCode(index: number, item: any) {\n return item?.code;\n }\n trackByID(index: number, item: any) {\n return item?.id;\n }\n dialogOpener = (\n comp: any,\n config: MatDialogConfig,\n valueCB: (r) => any,\n noValueCB?: any\n ) =>\n this.dialogOpenerRef(comp, config)\n .afterClosed()\n .subscribe((r) => {\n if (r != null && r != undefined) {\n valueCB(r);\n } else if (noValueCB) {\n noValueCB();\n }\n });\n dialogOpenerRef = (comp: any, config: MatDialogConfig) =>\n this.dialog.open(comp, config);\n findLabelByItem = (\n item,\n arr: any[],\n labelField?: string,\n keyField: string = 'code'\n ) => {\n if (!item) return null;\n const obj = arr?.find((x) => x[keyField] == item);\n if (!obj) return item;\n else\n return `${item} - ${\n obj[labelField || 'title'] || obj[labelField || 'description']\n }`;\n };\n\n formFieldsFromArr = this.inputService.formFieldsFromFCInputsArr;\n objToFormControls = this.inputService.formFieldsFromObj;\n formSchemaToFormControls = this.inputService.formSchemaToFormControls;\n\n bindFormControlToInputs = this.inputService.bindFormControlToInputs;\n\n go = (value: string, extra?: NavigationExtras) => {\n this.router.navigate([value], extra);\n };\n /**\n * Route to component\n * @param route Route of path to component\n * @param extra\n */\n goR = (route: string, extra?: NavigationExtras) => {\n if (!ETSenvironment.activatedRoute) debugger;\n this.router.navigate([route], {\n relativeTo: ETSenvironment.activatedRoute,\n ...extra,\n });\n // debugger;\n };\n moneyParser = (amount: string | number, currency = ' ') => {\n return this.currencyPipe.transform(amount, currency || ' ');\n };\n extractUpload(event: any) {\n return (event.target.files as File[]) || [];\n }\n\n secondsToHourMinSec = (seconds: number) => {\n if (!seconds) return { secs: null, hours: null, mins: null };\n const hours = Math.floor(seconds / 3600) || 0,\n secondsExHours = seconds % 3600 || 0,\n mins = Math.floor(secondsExHours / 60) || 0,\n secs = secondsExHours % 60;\n return { hours, mins, secs };\n };\n minutesToDayHourMin = (minutes: number) => {\n if (!minutes) return { days: null, hours: null, mins: null };\n const days = Math.floor(minutes / 1440) || 0,\n miniutesExDays = minutes % 1440 || 0,\n hours = Math.floor(miniutesExDays / 60) || 0,\n mins = miniutesExDays % 60 || 0;\n return { days, hours, mins };\n };\n minutesToDayHourMinStr = (minutes: number) => {\n if (!minutes) return null;\n const ret = this.minutesToDayHourMin(minutes);\n return `${ret.days} ${ret.hours}:${ret.mins}`.trim();\n };\n minutesToDayHourMinStr2 = (minutes: number) => {\n if (!minutes) return null;\n const ret = this.minutesToDayHourMin(minutes);\n return `${ret.days}days ${ret.hours}hrs ${ret.mins}mins`.trim();\n };\n dayHourMinToHourMinutes = (dys: number, hrs: number, mins: number) => {\n if (!dys && !hrs && !mins) return '';\n const dysToHrs = (dys || 0) * 24;\n hrs = (+hrs || 0) + dysToHrs;\n return (hrs || '00') + ':' + (mins || '00');\n };\n disableOrEnableInputs = (controls: AbstractControl[], disable: boolean) => {\n if (disable) this.disableInputs(controls);\n else this.enableInputs(controls);\n };\n disableInputs = (controls: AbstractControl[]) => {\n for (const control of controls) {\n control?.disable({ emitEvent: false });\n }\n };\n enableInputs = (controls: AbstractControl[]) => {\n for (const control of controls) {\n control?.enable({ emitEvent: false });\n }\n };\n dayHourMinToMinutes = (dys: number, hrs: number, mins: number) => {\n if (!dys && !hrs && !mins) return 0;\n const dysToHrs = (dys || 0) * 24;\n hrs = (+hrs || 0) + dysToHrs;\n return (hrs || 0) * 60 + mins;\n };\n hourMinToMinutes = (hrs: number, mins: number) => {\n if (!hrs && !mins) return null;\n return (hrs || 0) * 60 + mins;\n };\n hourMinToMinutes2 = (hrsMins: string) => {\n const [hrs, mins] = hrsMins?.split(':') || [0, 0];\n return this.hourMinToMinutes(+hrs, +mins);\n };\n notify(message: string, cls: 0 | 1 | 2 | 3 = 1, duration = 5000, title = '') {\n message =\n typeof message == 'string'\n ? message\n : cls == 0\n ? 'An error occurred'\n : '';\n return this.snackBar.open(message, title, {\n duration,\n horizontalPosition: 'center',\n verticalPosition: 'bottom',\n panelClass:\n cls == 1\n ? 'bg-success'\n : cls == 2\n ? 'btn-info'\n : cls == 3\n ? 'btn-warning'\n : 'bg-danger',\n });\n }\n\n scrollToTop = () => window.scrollTo(0, 0);\n\n /**\n *\n * @returns The current date time local that can be used to set the datetime-local input\n */\n getLocalDateTimeNow = () => {\n const dt = new Date().toISOString().split('T');\n return dt[0] + 'T' + dt[1].split(':').slice(0, 2).join(':');\n };\n /** @returns The current date local that can be used to set the date input */\n localDateNow = () => {\n return new Date().toISOString().split('T')[0];\n };\n dateFormat = (date: any, format = 1) => {\n if (!date) return null;\n const d = new Date(date);\n if (format == 1) {\n return d.toDateString();\n } else if (format == 2) {\n return d.getDate() + ' ' + config.Months[d.getMonth()];\n } else if (format == 3) {\n return d.toDateString() + ', ' + this.timeFormat(d.toLocaleTimeString());\n } else if (format == 4) {\n return config.Months[d.getMonth()] + ' ' + d.getDate();\n } else {\n return '';\n }\n };\n toJavaDateString = (isoDateString: string = new Date().toISOString()) => {\n if (!isoDateString) return null;\n return `${isoDateString.slice(0, 19)}`;\n return `${isoDateString.slice(0, 10)} ${isoDateString.slice(11, 19)}`;\n };\n timeFormat = (time?: any) => {\n const timeArr: any[] = time.split(' ');\n timeArr[0] = timeArr[0].split(':').splice(0, 2).join(':');\n return timeArr.join(' ');\n };\n fullDateTime = (timestamp: string | number) => {\n // debugger\n return this.dateFormat(timestamp, 3);\n };\n daysFormatter = (days: number) => {\n if (!days) {\n return '-';\n }\n let yr: number,\n mt: number,\n dy: number,\n ret: string,\n _yr = 365,\n _mt = 30;\n if (days > _yr) {\n yr = Math.floor(days / _yr);\n }\n if (days > _mt) {\n mt = Math.floor((days % _yr) / _mt);\n }\n dy = (days % _yr) % _mt;\n ret = `${yr ? this.pluarlizer(yr, 'yr') : ''} ${\n mt ? this.pluarlizer(mt, 'mth') : ''\n } ${this.pluarlizer(dy, 'dy')}`;\n return ret;\n };\n monthsFormatter = (months: number) => {\n if (!months) {\n return '-';\n }\n let yr: number,\n mt: number,\n ret: string,\n _yr = 12;\n if (months > _yr) {\n yr = Math.floor(months / _yr);\n }\n mt = months % _yr;\n ret = `${yr ? this.pluarlizer(yr, 'yr') : ''} ${\n mt ? this.pluarlizer(mt, 'mth') : ''\n }`;\n return ret;\n };\n pluarlizer = (val: number, txt: string, plural?: string) => {\n plural = plural || txt + 's';\n return val + (val == 1 ? txt : plural);\n };\n decimalToPercentage = (dec: number) => {\n return dec * 100 + '%';\n };\n logForm = (form) => {\n console.log('FORM', form, 'VALUES', form.value as any);\n };\n\n toCSV(data: any[], headerNames: string[], filename: string) {\n const replacer = (key, value) => (value === null ? '' : value); // specify how you want to handle null values here\n\n let csv = data.map((row) =>\n headerNames\n .map((fieldName) => JSON.stringify(row[fieldName], replacer))\n .join(',')\n );\n csv.unshift(headerNames.join(','));\n let csvArray = csv.join('\\r\\n');\n\n var blob = new Blob([csvArray], { type: 'text/csv' });\n saveAs(blob, filename + '.csv');\n }\n\n isPictureFormat(fileName: string) {\n if (!fileName) return false;\n const PICTURE_FORMATS = ['.jpg', '.jpeg', '.png', '.gif'];\n return PICTURE_FORMATS.some((format) => fileName.endsWith(format));\n }\n objectToArray<T>(obj: any) {\n const ret = [];\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n ret.push(obj[key]);\n }\n }\n return ret as T[];\n }\n onlyUnique = <T>(value: T, index: number, self: T[]) => {\n return self.indexOf(value) === index;\n };\n get isMobile() {\n return window.innerWidth <= 600;\n }\n //#region route\n routeParams1 = this.routeService.routeParams1;\n routeParams2 = this.routeService.routeParams2;\n routeParams3 = this.routeService.routeParams3;\n //#endregion\n startPl = this.pS.startPl;\n stopPl = this.pS.stopPl;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { ETSUtilityService } from '../../Services/utility.service';\nimport { EPageType } from '../models/index.model'; \nimport { TranslatePipeModule } from './translate.pipe';\n\n@Pipe({\n name: 'arraySplitter',\n})\nexport class ArraySplitter implements PipeTransform {\n transform<T>(\n arr: T[],\n arrLength: number,\n startIndex: number,\n endIndex?: number\n ) {\n return arr\n ? arr.slice(startIndex, endIndex ? endIndex + 1 : undefined)\n : [];\n }\n}\n\n@Pipe({\n name: 'gender',\n})\nexport class GenderPipe implements PipeTransform {\n transform(value: string) {\n return value == 'M' ? 'Male' : value == 'F' ? 'Female' : value;\n }\n}\n@Pipe({\n name: 'round',\n})\nexport class RoundPipe implements PipeTransform {\n /**\n * Use the Math.round function\n */\n transform(value: number) {\n return Math.round(value);\n }\n}\n@Pipe({\n name: 'secondsToTime',\n})\nexport class SecondsToTimePipe implements PipeTransform {\n transform(value: number) {\n const timeLeft = this.uS.secondsToHourMinSec(value);\n return `${timeLeft.hours ? timeLeft.hours + 'hrs' : ''}\n ${timeLeft.mins ? timeLeft.mins + 'min' : ''} ${\n timeLeft.secs ? timeLeft.secs + 's' : ''\n }`;\n }\n constructor(public uS: ETSUtilityService) {}\n}\n\n@Pipe({\n name: 'getValueLabel',\n})\nexport class GetValueLabel implements PipeTransform {\n /**\n * Converts a string into a Select option\n * @param value The value to search for in the options list\n * @param options The list of items to search in\n * @param labelField The field that holds the description field\n * @param valueField The field that holds the value field\n * @returns A concatenation of the value and description (value - description)\n */\n transform(\n value: string,\n options: any[],\n labelField = 'description',\n valueField = 'code'\n ): string {\n if (!value) return '';\n if (!options) return value;\n const item = options.find((x) => x[valueField] == value);\n if (!item) return value;\n return value + ' - ' + item[labelField] || item['title'];\n }\n}\n\n@Pipe({\n name: 'valueFormatter',\n})\nexport class ValueFormatterPipe implements PipeTransform {\n async transform(val, formatter: any) {\n return formatter ? formatter(val) : val;\n }\n}\n@Pipe({\n name: 'functionCaller',\n})\nexport class FunctionCaller implements PipeTransform {\n /**\n * Calls a function in the template\n * @param func Function to be called\n * @param args\n * @returns\n */\n transform<T, P>(func: (...args: P[]) => T, ...args: P[]) {\n return func ? func(...args) : null;\n }\n}\n@Pipe({\n name: 'functionCaller1',\n})\nexport class FunctionCaller1 extends FunctionCaller {\n transform<T, P1>(func: (param: P1) => T, param: P1) {\n return super.transform(func, param);\n // return param ? func(param) : null;\n }\n}\n@Pipe({\n name: 'functionCaller2',\n})\nexport class FunctionCaller2 extends FunctionCaller {\n transform<T, P1, P2>(\n func: (param1: P1, param2: P2) => T,\n param1: P1,\n param2: P2\n ) {\n return super.transform(func, param1, param2);\n // console.log('using')\n // if(func) debugger\n return func ? func(param1, param2) : null;\n // return param1 ? (param2 ? func(param1, param2) : null) : null;\n }\n}\n@Pipe({\n name: 'functionCaller3',\n})\nexport class FunctionCaller3 implements PipeTransform {\n transform<T, P1, P2, P3>(\n func: (param1: P1, param2: P2, param3: P3) => T,\n param1: P1,\n param2: P2,\n param3: P3\n ) {\n return func(param1, param2, param3);\n // return param1 ? (param2 ? func(param1, param2) : null) : null;\n }\n}\n@Pipe({\n name: 'httpListCaller',\n})\nexport class HttpListCaller implements PipeTransform {\n // transform<T>(httpObservable: any) {\n transform<T>(httpObservable: () => Observable<T>) {\n // console.log('ran functionCaller', httpObservable);\n return httpObservable();\n }\n}\n\n@Pipe({\n name: 'httpListCaller1',\n})\nexport class HttpListCaller1 implements PipeTransform {\n transform<T>(httpObservable: (param: any) => Observable<T>, param: any) {\n // console.log('ran functionCaller1', httpObservable);\n return httpObservable(param);\n // return param ? httpObservable(param) : null;\n }\n}\n@Pipe({\n name: 'httpListCaller2',\n})\nexport class HttpListCaller2 implements PipeTransform {\n transform<T>(\n httpObservable: (param1: string, param2: string) => Observable<T>,\n param1: string,\n param2: string\n ) {\n // console.log('ran httpListCaller2', httpObservable);\n return httpObservable(param1, param2);\n // return param1 ? (param2 ? httpObservable(param1, param2) : null) : null;\n }\n}\n@Pipe({\n name: 'isShowPage',\n})\nexport class IsShowPage implements PipeTransform {\n transform(type: EPageType) {\n return type == EPageType.showPage ? true : false;\n }\n}\n@Pipe({\n name: 'isClonePage',\n})\nexport class IsClonePage implements PipeTransform {\n transform(type: EPageType) {\n return type == EPageType.clonePage ? true : null;\n }\n}\n\n@Pipe({\n name: 'filterArray',\n})\nexport class FilterArrayPipe implements PipeTransform {\n transform<T>(\n arr: T[],\n value: any,\n key = 'id',\n filterFunction?: (value: T, index?: number, array?: T[]) => boolean\n ) {\n if (!arr) {\n return [];\n }\n if (filterFunction) return arr.filter(filterFunction);\n else return arr.filter((x) => x[key] == value);\n }\n}\n\n@Pipe({\n name: 'filterFormArray',\n})\nexport class FilterFormArrayPipe implements PipeTransform {\n transform(arr: AbstractControl[], value: any, key = 'id') {\n if (!arr || !arr.length) return arr;\n debugger;\n return arr.filter((x) => x.value[key] == value);\n }\n}\n\n@Pipe({\n name: 'sort',\n})\nexport class SortPipe implements PipeTransform {\n transform<T>(arr: T[], direction: 0 | 1 = 0, sortField?: string) {\n // console.log('SORTTER', arr, direction, sortField);\n if (!arr) {\n return null;\n }\n if (direction > -1 && direction < 2) {\n return this.sort(arr, direction, sortField);\n } else {\n return arr;\n }\n }\n sort<T>(arr: T[], direction: 0 | 1, sortField?: string) {\n if (sortField) {\n return arr.sort((x: any, y: any) =>\n direction ? y[sortField] - x[sortField] : x[sortField] - y[sortField]\n );\n } else {\n return arr.sort((x: any, y: any) => (direction ? y - x : x - y));\n }\n }\n}\n@Pipe({\n name: 'toAny',\n})\nexport class ToAnyPipe implements PipeTransform {\n transform(value: any, isArray = false) {\n return isArray ? (value as any[]) : value;\n }\n}\n@Pipe({\n name: 'toAnyArray',\n})\nexport class ToAnyArrayPipe implements PipeTransform {\n transform(value: any) {\n return value as any[];\n }\n}\n\n@Pipe({ name: 'xOrY' })\nexport class XOrYPipe implements PipeTransform {\n transform(x: string, y = '-') {\n return this.uS.xOrY(x, y);\n }\n constructor(private uS: ETSUtilityService) {}\n}\n\n@Pipe({ name: 'replaceAll' })\nexport class ReplaceAllPipe implements PipeTransform {\n transform(text: string, search: string, replacement: string) {\n return text ? text.split(search).join(replacement) : text;\n }\n}\n\n@Pipe({ name: 'valueOrX' })\nexport class ValueOrXPipe implements PipeTransform {\n /**\n *\n * @param value Variable that holds the value to be checked for emptiness\n * @param replacement This is the value that will be set if the subject field is empty\n * @returns Return the value or the replacement value if value is empty\n */\n transform<T>(value: T, replacement: string = '-') {\n return value == null || value == undefined ? replacement : value;\n }\n}\n\nconst comps = [\n ArraySplitter,\n FilterArrayPipe,\n FilterFormArrayPipe,\n FunctionCaller,\n FunctionCaller1,\n FunctionCaller2,\n FunctionCaller3,\n GenderPipe,\n GetValueLabel,\n HttpListCaller,\n HttpListCaller1,\n HttpListCaller2,\n IsClonePage,\n IsShowPage,\n RoundPipe,\n SecondsToTimePipe,\n SortPipe,\n ToAnyArrayPipe,\n ToAnyPipe, \n ReplaceAllPipe,\n ValueFormatterPipe,\n ValueOrXPipe,\n XOrYPipe,\n];\nconst modules = [TranslatePipeModule];\n@NgModule({\n declarations: comps,\n imports: [CommonModule, ...modules],\n exports: [...comps, ...modules],\n providers: [],\n})\nexport class UtilityPipesModule {}\n","import { Component, OnInit, ChangeDetectionStrategy, Input } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { MatAutocompleteSelectedEvent as MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\n \nimport { merge } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\nimport { IOption } from '../../models/form-schema.model';\nimport { AutocompleteService } from '../autocomplete/autocomplete.service';\nimport { InputNGModelComponent } from '../input-NgModel/input-ngmodel.component'; \nimport { InputService } from '../input/input.service';\n\n@Component({\n selector: 'app-autocomplete-ng-model',\n templateUrl: './autocomplete-ng-model.component.html',\n styleUrls: ['./autocomplete-ng-model.component.scss']\n})\nexport class AutocompleteNgModelComponent extends InputNGModelComponent {\n filteredOptions: IOption[];\n @Input() validate = true;\n @Input() panelWidth;\n @Input() showValidationMessage = true\n constructor(public iS: InputService, public autoS: AutocompleteService) {\n super(iS);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n // this.control?.addValidators(this.includesOption.bind(this));\n // this.control?.valueChanges.subscribe((r) => { \n // // debugger\n // super.change({ target: { value: r } });\n // });\n // this.options$.subscribe((r) => {\n // this.control?.patchValue(this.control?.value);\n // // this.control?.updateValueAndValidity()\n // });\n // merge(\n // this.control.valueChanges.pipe(startWith('')),\n // this.options$\n // ).subscribe((r) => {\n // this.filteredOptions = this.autoS.filterOptions(\n // this.control.value,\n // this.options\n // );\n // });\n }\n\n change(e: MatAutocompleteSelectedEvent) {\n super.change({ target: { value: e.option.value } });\n }\n\n displayWith = (val: string) => {\n return this.options.find((x) => x.value == val)?.label;\n };\n\n includesOption = (control: AbstractControl) => {\n const val = control?.value;\n if (!val) return null; \n if (this.options.find((x) => x.value == val)) return null;\n else return { notFound: true };\n };\n\n filterOptions(event){\n const text = event.target?.value || ''\n this.filteredOptions = this.options.filter((item) => (\n item.label.toLowerCase().includes(text.toLowerCase())\n ))\n }\n}\n","<div class=\"row align-items-center\">\n <label class=\"col-md-{{stacked?'12 pb-0 hide-scroll-x':mini?'auto':lblCl}} m-0\" for=\"{{id}}\"\n [ngClass]=\"{'text-primary form-label':colored,'overflow-x-auto':stacked,'py-2':theme==1,'form-label':theme==2,light,small,small1:xsmall}\"\n *ngIf=\"showLabel\" [matTooltip]=\"hint\" (click)=\"log()\">\n {{label|appTranslate|async}}\n </label>\n <div class=\"{{stacked?'col-12':'col-md'}} position-relative\">\n <form >\n <input type=\"text\" [(ngModel)]=\"model\" placeholder=\"{{placeholder}}\" id=\"{{id}}\" [disabled]=\"disabled\"\n [required]=\"required\" [readonly]=\"readonly\" (keyup)=\"filterOptions($event)\" [name]=\"name\" #tag=\"ngModel\"\n value=\"{{__value}}\" [matAutocomplete]=\"auto\" [class]=\"inpCl|inputClass:tag.valid:tag.invalid:showValidation\" (focus)=\"filterOptions($event)\">\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayWith\" (optionSelected)=\"change($event)\" [panelWidth]=\"panelWidth\">\n <mat-option *ngFor=\"let item of filteredOptions ; trackBy:iS.trackByValue\" [value]=\"item.value\">\n {{item.label}} {{item.value}}\n </mat-option>\n </mat-autocomplete> \n <app-validation-message-ngmodel *ngIf=\"showValidationMessage\" [isError]=\"tag.invalid && tag.touched\" [validationKey]=\"'required' | toAny\" [name]=\"name\"></app-validation-message-ngmodel>\n </form>\n </div>\n </div>\n ","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ETSUtilityService } from '../utility.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CacheService {\n private _cache: { [x: string]: any } = {};\n\n constructor(public uS: ETSUtilityService) {}\n\n get cache() {\n return this._cache;\n }\n\n has = (key: string) => !!this._cache[key];\n\n getItem = <T>(key: string) => this._cache[key] as T;\n\n setItem<T>(key: string, data: T) {\n this._cache[key] = data;\n // return this._cache;\n }\n\n getAndSet<T>(key: string, newValue?: T | Promise<T> | Observable<T>) {\n return new Observable<T>((next) => {\n next.next(this.getItem(key));\n if (newValue) {\n this.uS.promisifyVal(newValue).then(async (res) => {\n this.setItem(key, res);\n next.next(res);\n next.complete();\n });\n } else next.complete();\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { debounceTime, tap } from 'rxjs/operators';\nimport { StorageService } from '../storage.service';\nimport { ETSUtilityService } from '../utility.service';\nimport { CacheService } from './cache.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LocalCacheService extends CacheService {\n private readonly cacheKey = 'cacheKey';\n private readonly cacheCreatedDateKey = 'cacheCreatedDateKey';\n private readonly validityDays = 7;\n private readonly oneDayTimestamp = 86400000;\n constructor(public sS: StorageService, public uS: ETSUtilityService) {\n super(uS);\n try {\n const createdDate: number = sS.getItem(this.cacheCreatedDateKey);\n if (!createdDate) this.sS.saveItem(this.cacheCreatedDateKey, Date.now());\n else if (\n createdDate + this.validityDays * this.oneDayTimestamp <=\n Date.now()\n ) {\n this.sS.saveItem(this.cacheCreatedDateKey, Date.now());\n this.sS.removeItem(this.cacheKey);\n }\n sS.getItemA(this.cacheKey).then((r) => {\n try {\n for (const key in r) {\n if (Object.prototype.hasOwnProperty.call(r, key)) {\n this.setItem(key, r[key]);\n }\n }\n } catch (error) {\n console.error(error);\n }\n });\n } catch (e) {\n console.error(e);\n this.sS.removeItem(this.cacheKey);\n }\n }\n saveToLocal() {\n // console.log('saving to cache', JSON.stringify(super.cache));\n this.sS.saveItemA(this.cacheKey, super.cache);\n }\n setItem<T>(key: string, data: T) {\n super.setItem(key, data);\n this.saveToLocal();\n }\n\n getAndSet<T>(key: string, addFunc?: T | Promise<T> | Observable<T>) {\n // debugger;\n return super\n .getAndSet<T>(key, addFunc)\n .pipe(tap((r) => this.saveToLocal()));\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpClient,\n HttpErrorResponse,\n HttpHeaders,\n HttpRequest,\n} from '@angular/common/http';\nimport { iif, Observable, throwError } from 'rxjs';\nimport { catchError, map, retry, tap } from 'rxjs/operators';\nimport { ICodeDescription, ICodeTitle } from '../Shared/models/index.model';\nimport { ETSenvironment } from '../../environments/environment';\nimport { CacheService } from './cache/cache.service';\nimport { LocalCacheService } from './cache/local-cache.service';\nexport interface IResponse {\n message: string;\n result: any;\n status: 'success' | 'error' | 'failure';\n statusCode: 'SM000' | 'SM001' | 'SM002' | 'SM003';\n}\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiService {\n private showRoutes = 0;\n private get headers() {\n return {\n 'Content-Type': 'application/json',\n };\n }\n private get fileHeaders() {\n return {\n enctype: 'multipart/form-data',\n };\n }\n private retryCount = 0;\n constructor(\n public http: HttpClient,\n public cacheS: CacheService,\n public lCacheS: LocalCacheService\n ) {}\n\n private logRoutes(\n method: 'get' | 'post' | 'put' | 'delete',\n route,\n ...extras\n ) {\n if (this.showRoutes) {\n console.log(method, route, ...extras);\n }\n }\n private handleRequestError = (err: HttpErrorResponse) => {\n let message;\n if (err?.error instanceof ArrayBuffer)\n message = String.fromCharCode.apply(null, new Uint8Array(err?.error));\n return throwError(message || err?.error?.message);\n };\n\n //#region PATCH\n patch<T = any>(route: string, body?, options?: any): Observable<T> {\n this.logRoutes('post', route, body);\n console.log(body);\n return this.http\n .patch(encodeURI(route), body, {\n headers: new HttpHeaders(this.headers),\n responseType: 'json',\n ...options,\n })\n .pipe(catchError(this.handleRequestError)) as Observable<any>;\n }\n //#endregion\n //#region POST\n post<T = any>(route: string, body?, extras?: IExtras): Observable<T> {\n this.logRoutes('post', route, body);\n console.log(body);\n return this.http\n .post(encodeURI(route), body, {\n headers: new HttpHeaders(this.headers),\n responseType: 'json',\n ...extras?.options,\n })\n .pipe(catchError(this.handleRequestError)) as Observable<any>;\n }\n postFile<T = any>(route: string, body: FormData) {\n return this.post<T>(route, body, {\n options: {\n headers: new HttpHeaders(this.fileHeaders),\n responseType: 'json',\n },\n });\n }\n postFileWithEndorsement<T = any>(route: string, body: FormData) {\n return this.post<T>(route, body, {\n options: {\n headers: new HttpHeaders(this.fileHeaders).set(\n 'useEndorsement',\n 'true'\n ),\n responseType: 'json',\n },\n });\n }\n postString(route: string, body?) {\n console.log('requestCount', ++ETSenvironment.requestCount);\n return this.post<string>(route, body, {\n options: {\n headers: new HttpHeaders({\n 'Content-Type': 'text/plain',\n }),\n responseType: 'text',\n },\n });\n }\n postStringWithLocalCache(route: string, body: string) {\n return new Observable<string>((res) => {\n const bdy = body?.trim();\n // debugger\n if (this.lCacheS.has(route + '_' + bdy)) {\n res.next(this.lCacheS.getItem<string>(route + '_' + bdy));\n }\n\n this.postString(route, bdy)\n .toPromise()\n .then((r) => {\n res.next(r);\n this.lCacheS.setItem(route + '_' + bdy, r);\n res.complete();\n })\n .catch((e) => {\n res.error(e);\n });\n });\n }\n //#endregion\n\n //#region GET\n get = <T = any>(\n route: string,\n parameters?: Object,\n extras?: IExtras\n ): Observable<T> => {\n this.logRoutes('get', route, parameters);\n return new Observable<T>((res) => {\n const query = route + this.getRequestParse(parameters);\n // if (this.cacheS.has(query)) {\n // res.next(this.cacheS.getItem<T>(route));\n // }\n this.http\n .get(query, {\n headers: new HttpHeaders(this.headers),\n responseType: 'json',\n ...extras?.options,\n })\n .pipe(\n retry(this.retryCount),\n tap((x) => (this.showRoutes ? console.log(x) : null)),\n map((res: any) => {\n if (Array.isArray(res))\n if (res[0]?.code) return res.sort().sort2('code', true);\n else if (res[0]?.columnName)\n return res.sort().sort2('columnName', true);\n else return res.sort();\n return res;\n }),\n catchError(this.handleRequestError)\n )\n .toPromise()\n .then((r) => {\n res.next(r);\n this.cacheS.setItem(query, r);\n res.complete();\n })\n .catch((err) => res.error(err));\n });\n };\n\n getCodes = <T = ICodeTitle & ICodeDescription>(route: string) =>\n this.get<T[]>(route).pipe(map((res) => this.sortCodes(res)));\n\n getText = <T = string>(route: string, parameters?: Object) =>\n this.get<T>(route, parameters, {\n options: {\n headers: new HttpHeaders(this.headers),\n responseType: 'text',\n },\n });\n getFile = <T = string>(route: string, parameters?: Object) =>\n this.get<T>(route, parameters, {\n options: {\n headers: new HttpHeaders(this.headers),\n responseType: 'arrayBuffer',\n },\n });\n getWithBody = <T = any>(route: string, body?: any, extras?: IExtras) => {\n this.logRoutes('get', route);\n // debugger\n const req = new HttpRequest(\n 'GET',\n route,\n body,\n extras?.options || {\n headers: new HttpHeaders(this.headers),\n responseType: 'json',\n }\n );\n return this.http\n .request<T>(req)\n .pipe(catchError(this.handleRequestError)) as Observable<T>;\n };\n\n getFromlocal = <T = any>(\n route: string,\n parameters?: Object,\n options?: any\n ) => {\n return new Observable<T>((res) => {\n const query = route + this.getRequestParse(parameters);\n if (this.lCacheS.has(query)) {\n res.next(this.lCacheS.getItem<T>(query));\n res.complete();\n } else\n this.get(query, null, options)\n .toPromise()\n .then((r) => {\n // if (!this.cS.has(route))\n res.next(r);\n this.lCacheS.setItem(query, r);\n res.complete();\n });\n });\n };\n getWithLocalCache = <T = any>(\n route: string,\n parameters?: Object,\n options?: any\n ) => {\n return new Observable<T>((res) => {\n const query = route + this.getRequestParse(parameters);\n if (this.lCacheS.has(query)) {\n res.next(this.lCacheS.getItem<T>(query));\n }\n this.get(query, null, options)\n .toPromise()\n .then((r) => {\n // if (!this.cS.has(route))\n res.next(r);\n this.lCacheS.setItem(query, r);\n res.complete();\n })\n .catch((e) => {\n res.error(e);\n res.complete();\n });\n });\n };\n getRequestParse(parameters?: Object) {\n // const nbody = new URLSearchParams();\n // for (const key in parameters) {\n // if (Object.prototype.hasOwnProperty.call(parameters, key)) {\n // const element = parameters[key];\n // if (element != null) nbody.set(key, element + '');\n // }\n // }\n // const str = nbody.toString();\n // if(parameters)\n // debugger;\n if (!parameters) return '';\n return (\n '?' +\n Object.keys(parameters)\n .filter((key) => parameters[key]?.toString()?.trim() != null)\n .map((key) => `${key}=${parameters[key]?.toString()?.trim()}`)\n .join('&')\n );\n }\n //#endregion\n\n //#region PUT\n put<T = any>(route: string, body?, extras?: IExtras): Observable<T> {\n this.logRoutes('put', route, body);\n let query = route + '',\n nbody = body;\n if (extras?.requestType == 'queryParams') {\n query += this.getRequestParse(body);\n nbody = null;\n }\n return this.http\n .put(query, nbody, {\n headers: new HttpHeaders(this.headers),\n responseType: 'json',\n ...extras?.options,\n })\n .pipe(catchError(this.handleRequestError)) as Observable<any>;\n }\n //#endregion\n\n //#region DELETE\n delete = <T = any>(route: string, options?) => {\n this.logRoutes('delete', route);\n return this.http\n .delete<T>(\n route,\n options || {\n headers: new HttpHeaders(this.headers),\n responseType: 'json',\n }\n )\n .pipe(catchError(this.handleRequestError)) as Observable<any>;\n };\n deleteWithBody = <T = any>(route: string, body?: any, options?) => {\n this.logRoutes('delete', route);\n const req = new HttpRequest(\n 'DELETE',\n route,\n body,\n options || {\n headers: new HttpHeaders(this.headers),\n responseType: 'json',\n }\n );\n return this.http\n .request<T>(req)\n .pipe(catchError(this.handleRequestError)) as Observable<any>;\n };\n deleteText = (route: string) =>\n this.delete<string>(route, {\n headers: new HttpHeaders(this.headers),\n responseType: 'text',\n });\n //#endregion\n\n sortCodes = <T>(data: T[]) => {\n return data?.sort2('code', true)?.sort2('code') as any as T[];\n };\n}\n\ninterface IExtras {\n noFormat?: boolean;\n options?: any;\n requestType?: 'queryParams';\n}\n","import { Injectable } from '@angular/core';\nimport { clone } from 'lodash-es';\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\nimport { ETSenvironment } from '../../environments/environment';\nimport { ELanguage } from '../Shared/models/index.model';\nimport { ApiService } from './api.service';\nimport { LocalCacheService } from './cache/local-cache.service';\nimport { StorageService } from './storage.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TranslationService<TranslationGlossaryResponse = any> {\n private baseURL = ETSenvironment.apiBaseUrl + '/rest/translation/';\n private translationRequestMatrix: { [x: number]: string } = {};\n private translationResponseMatrix: BehaviorSubject<{ [x: number]: string }> =\n new BehaviorSubject({});\n readonly seperator = '~~~';\n name = 'glossary';\n constructor(\n public apiService: ApiService,\n public storageS: StorageService,\n public lCacheS: LocalCacheService\n ) {\n setInterval(async () => {\n const body = clone(this.translationRequestMatrix);\n this.translationRequestMatrix = {};\n if (Object.keys(body)?.length) {\n // debugger;\n ETSenvironment.transGlossary =\n ETSenvironment.transGlossary || (await this.getGlossary().toPromise());\n this.apiService\n .postString(\n this.baseURL +\n (ETSenvironment.transGlossary?.code\n ? `language?glossaryCode=${ETSenvironment.transGlossary?.code}&sourceLang=${ETSenvironment.sourceLanguage}&targetLang=${ETSenvironment.targetLanguage}`\n : `language/${ETSenvironment.targetLanguage}`),\n Object.keys(body)\n .map((id) => this.tagger(+id, body[id]))\n .join(this.seperator)\n )\n .toPromise()\n .then((r) => {\n this.translationResponseMatrix.next(this.detagger(r));\n })\n .catch((e) => {\n console.error(e);\n });\n }\n }, 1000);\n }\n\n tagger(id: number, str: string) {\n return `<div id=\"${id}\">${str}</div>`;\n }\n getGlossary(\n sourceLanguage: ELanguage = ETSenvironment.sourceLanguage,\n targetLanguage: ELanguage = ETSenvironment.targetLanguage\n ) {\n return this.apiService\n\n .get<TranslationGlossaryResponse[]>(`${this.baseURL}glossary/`)\n .pipe(\n map((r: any[]) => {\n debugger;\n const glossary = r?.find(\n (x) =>\n x.sourceLang == sourceLanguage &&\n x.targetLang == targetLanguage &&\n x.name == this.name\n );\n return glossary ? glossary : null;\n }),\n map((glossary) => {\n if (!glossary) return null;\n ETSenvironment.transGlossary = glossary;\n this.storageS.saveItem(\n ETSenvironment.transGlossaryKey,\n ETSenvironment.transGlossary\n );\n return glossary;\n })\n );\n }\n detagger(str: string) {\n const items = str?.split(this.seperator);\n const resobj = {};\n for (const str of items) {\n resobj[str?.split('\"')[1]] = str?.split('>')[1]?.split('</div')[0];\n }\n return resobj;\n }\n\n trnaslateOld(text: string) {\n const id = 3232323;\n const body = { [id]: text };\n return this.apiService\n .postString(\n this.baseURL + `language/${ETSenvironment.targetLanguage}`,\n Object.keys(body)\n .map((id) => this.tagger(+id, body[id]))\n .join(this.seperator)\n )\n .pipe(\n map((r) => {\n return this.detagger(r)[id] as string;\n })\n );\n }\n translateHTML = (\n HTMLString: string,\n sourceLanguage = ETSenvironment.sourceLanguage,\n targetLanguage = ETSenvironment.targetLanguage,\n debug = false\n ) => {\n return new Observable<string>((res) => {\n if (debug) debugger;\n\n const text = HTMLString?.trim(),\n route = this.baseURL + `language`;\n\n if (!text) {\n res.next(HTMLString);\n res.complete();\n } else if (this.lCacheS.has(route + '_' + text)) {\n res.next(this.lCacheS.getItem<string>(route + '_' + text));\n res.complete();\n } else {\n const id = Math.round(Math.random() * 1000000000000000);\n this.translationRequestMatrix[id] = text;\n const sub: Subscription = this.translationResponseMatrix.subscribe(\n (r) => {\n if (debug) debugger;\n const transVal = r[id.toString()];\n if (transVal) {\n res.next(transVal);\n this.lCacheS.setItem(route + '_' + text, transVal);\n res.complete();\n sub.unsubscribe();\n }\n },\n (e) => {\n res.error(e);\n }\n );\n }\n });\n };\n plainTranslate = (\n text: string,\n sourceLanguage = ETSenvironment.sourceLanguage,\n targetLanguage = ETSenvironment.targetLanguage\n ) => {\n return new Promise<string>(async (resolve) => {\n text = text?.trim();\n const route = this.baseURL + `language`;\n\n if (!text) resolve(null);\n else if (this.lCacheS.has(route + '_' + text))\n resolve(this.lCacheS.getItem<string>(route + '_' + text));\n else\n resolve(\n await this.apiService\n .postString(route, text)\n .pipe(tap((r) => this.lCacheS.setItem(route + '_' + text, r)))\n .toPromise()\n );\n });\n };\n translateHTMLPromise = (\n text: string,\n sourceLanguage = ETSenvironment.sourceLanguage,\n targetLanguage = ETSenvironment.targetLanguage,\n debug = false\n ) =>\n this.translateHTML(\n text,\n sourceLanguage,\n targetLanguage,\n debug\n )?.toPromise();\n}\n","import { Injectable } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { ETSenvironment } from '../../environments/environment';\nimport {\n ESystem,\n ESystemBusLine,\n ISystem,\n IValueLabel,\n} from '../Shared/models/index.model';\nimport { ETSMenuItem } from '../Shared/models/IMenuItem';\nimport { TranslationService } from './translation.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AppService<\n TESystem = ESystem,\n TESystemBusLine = ESystemBusLine,\n TMenuItem = ETSMenuItem\n> {\n topMenu: TMenuItem[] = ETSenvironment.menus as any;\n bottomMenu: TMenuItem[] = [];\n private _currentTopMenu: TMenuItem;\n private _system: TESystem;\n private _pageName: string;\n public get system(): TESystem {\n return this._system;\n }\n public set system(value: TESystem) {\n this._system = value;\n ETSenvironment.currentSystem = value as any;\n document.getElementsByTagName('body')[0].className =\n value?.toString() || (value as any);\n this.bottomMenu = (<ETSMenuItem>(\n this.topMenu.find((x: any) => x.system == value)\n ))?.subs as any;\n // debugger\n document.documentElement.style.setProperty(\n '--primary',\n this.getCurrentSystemMetadata.colourCode\n );\n }\n public get currentTopMenu(): TMenuItem {\n return this._currentTopMenu;\n }\n public set currentTopMenu(value: TMenuItem) {\n this._currentTopMenu = value;\n this.bottomMenu = (<any>value)?.subs;\n // debugger\n }\n async setCurrentTopMenu(system: TESystem) {\n this.currentTopMenu = this.topMenu.find(\n (x: any) => x.system == system\n ) as any;\n }\n systemMetadataMap = new Map<TESystem, ISystem>([]);\n get getFirstAvailableSystem() {\n return this.systemMetadataMap.get(\n ETSenvironment.activeSystems?.length\n ? ETSenvironment.activeSystems[0]\n : this.systemMetadataMap.keys[0]\n );\n }\n get getCurrentSystemMetadata() {\n return this.systemMetadataMap.get(this.system);\n }\n\n constructor(public titleS: Title, public translator: TranslationService) {}\n\n setDefaultClass() {\n document.getElementsByTagName('body')[0].className =\n this.getFirstAvailableSystem.name?.toString();\n }\n get busLine() {\n return this.getCurrentSystemMetadata?.busline;\n }\n get activeSystems() {\n return ETSenvironment.activeSystems?.length\n ? this.topMenu.filter((x: any) =>\n ETSenvironment.activeSystems.includes(x.system)\n )\n : this.topMenu;\n }\n get hasBusLine() {\n return !!this.getCurrentSystemMetadata?.busline;\n }\n\n //#region pagename\n get pageName() {\n return this._pageName;\n }\n set pageName(value: string) {\n this._pageName = value;\n this.addTitle(this._pageName);\n }\n addTitle = (title, translate = ETSenvironment.translate) => {\n ETSenvironment.pageTitle = title;\n if (!translate)\n this.titleS.setTitle(\n (title ? title + ' | ' : '') +\n ETSenvironment.appName +\n ' | ' +\n ETSenvironment.name\n );\n else\n this.translator\n .translateHTML(\n (title ? title + ' | ' : '') +\n ETSenvironment.appName +\n ' | ' +\n ETSenvironment.name\n )\n .subscribe(\n (r) => {\n this.titleS.setTitle(r);\n },\n (e) => {\n this.addTitle(title, false);\n }\n );\n };\n //#endregion\n setMetaTheme() {\n const metaTag: HTMLMetaElement = document.getElementById(\n 'metaThemeColour'\n ) as any;\n metaTag.content = this.getCurrentSystemMetadata.colourCode;\n }\n filterNavMenuFunc = (value: TMenuItem) => !(<any>value).locations?.size;\n busLines: IValueLabel<TESystemBusLine>[] = [];\n}\n","import { Injectable } from '@angular/core';\nimport { faPaperPlane } from '@fortawesome/free-regular-svg-icons';\nimport {\n faArrowLeft,\n faArrowRight,\n faCheck,\n faClone,\n faCogs,\n faDownload,\n faEdit,\n faEye,\n faFile,\n faFileExport,\n faFileImport,\n faHistory,\n faListAlt,\n faLock,\n faMoneyCheck,\n faPen,\n faPenFancy,\n faPlus,\n faRecycle,\n faSave,\n faSearch,\n faSlidersH,\n faTrash,\n faUnlock,\n faFilter,\n faUpload,\n faUserShield,\n faHome,\n faUsers,\n faBellSlash,\n faInfoCircle,\n faTruck,\n faTag,\n faReceipt,\n faBank,\n faArrowsH\n} from '@fortawesome/free-solid-svg-icons';\nimport { ETSIconType } from '../../models/index.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BtnService {\n constructor() {}\n getIcon = (iconType: ETSIconType) => {\n let icon,\n iconString,\n iconPosition = 'left';\n switch (iconType) {\n case 'add':\n icon = faPlus;\n break;\n case 'adjust':\n icon = faSlidersH;\n break;\n case 'calendar':\n iconString = 'fas fa-calendar-alt';\n break;\n case 'cash':\n icon = faMoneyCheck;\n break;\n case 'checked':\n icon = faCheck;\n break;\n case 'checklist':\n icon = faListAlt;\n break;\n case 'clone':\n icon = faClone;\n break;\n case 'close':\n iconString = 'fa fa-close';\n break;\n case 'cogs':\n icon = faCogs;\n break;\n case 'delete':\n icon = faTrash;\n break;\n case 'download':\n icon = faDownload;\n break;\n case 'edit':\n icon = faEdit;\n break;\n case 'export':\n icon = faFileExport;\n break;\n case 'file':\n icon = faFile;\n break;\n case 'filter':\n icon = faFilter;\n break;\n case 'generate':\n icon = faPenFancy;\n break;\n case 'guard' || 'access':\n icon = faUserShield;\n break;\n case 'history':\n icon = faHistory;\n break;\n case 'home':\n icon = faHome;\n break;\n case 'import':\n icon = faFileImport;\n break;\n case 'info':\n icon = faInfoCircle;\n break;\n case 'link':\n iconString = 'fas fa-chain';\n break;\n case 'lock':\n icon = faLock;\n break;\n case 'next':\n icon = faArrowRight;\n iconPosition = 'right';\n break;\n case 'pen':\n icon = faPen;\n break;\n case 'post':\n icon = faPaperPlane;\n break;\n case 'previous':\n icon = faArrowLeft;\n break;\n case 'renew':\n icon = faRecycle;\n break;\n case 'save':\n icon = faSave;\n break;\n case 'search':\n icon = faSearch;\n break;\n case 'show' || 'view':\n icon = faEye;\n break;\n case 'snooze':\n icon = faBellSlash;\n break;\n case 'upload':\n icon = faUpload;\n break;\n case 'unlock':\n icon = faUnlock;\n break;\n case 'users':\n icon = faUsers;\n break;\n case 'recycle':\n icon = faRecycle;\n break;\n case 'truck':\n icon = faTruck;\n break; \n case 'tag':\n icon = faTag;\n break; \n case 'receipt':\n icon = faReceipt;\n break; \n case 'bank':\n icon = faBank;\n break;\n case 'arrowh':\n icon = faArrowsH;\n break; \n default:\n icon = null;\n break;\n }\n return { icon, iconPosition, iconString };\n };\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { UntypedFormArray, FormControl, FormGroup } from '@angular/forms';\nimport { faLock } from '@fortawesome/free-solid-svg-icons'; \nimport { AppService } from '../../../Services/app.service';\nimport { IETSFormSchema } from '../../models/form-schema.model';\nimport { ETSIconType, ETSBtnType, ETSBtnGroup } from '../../models/index.model';\nimport { BtnService } from './btn.service';\n\n@Component({\n selector: 'app-btn',\n templateUrl: './btn.component.html',\n styleUrls: ['./btn.component.scss'],\n // changeDetection: ChangeDetectionStrategy.OnPush,\n}) // Inherited\nexport class BtnComponent implements OnInit {\n /** To be passed when to check for specific invalid form fields */\n @Input() formSchema: IETSFormSchema[];\n formIsInvalid: boolean;\n @Input('icon') set _icon(v: ETSIconType) {\n const res = this.btnS.getIcon(v);\n this.iconPosition = res.iconPosition;\n this.icon = res.icon;\n this.customIcon = res.iconString;\n }\n @Input('type') set _type(v: ETSBtnType) {\n switch (v) {\n case 'primary':\n this._mclass = 'btn btn-primary btn-lg w-100';\n break;\n case 'secondary':\n this._mclass = 'btn btn-outline-primary btn-clone btn-lg w-100';\n break;\n case 'outline':\n this._mclass = 'btn btn-outline-primary btn-lg w-100';\n break;\n case 'clear':\n this._mclass = 'btn w-100';\n break;\n case 'dark-outline':\n this._mclass = 'btn btn-outline-dark btn-lg w-100';\n break;\n case 'outline-nm':\n this._mclass = 'btn btn-outline-primary w-100';\n break;\n case 'dark':\n this._mclass = 'btn btn-dark btn-lg w-100';\n break;\n case 'danger':\n this._mclass = 'btn btn-danger btn-lg w-100';\n break;\n case 'danger-outline':\n this._mclass = 'btn btn-outline-danger btn-lg w-100';\n break;\n case 'close':\n this._mclass = 'btn btn-lg text-danger';\n this._icon = 'close';\n break;\n case 'success':\n this._mclass = 'btn btn-lg btn-success w-100';\n break;\n default:\n this._type = 'primary';\n break;\n }\n }\n @Input('group') set _group(v: ETSBtnGroup) {\n switch (v) {\n case 'add':\n this._type = 'outline';\n this._icon = 'add';\n this.iconBtn = true;\n break;\n case 'clone':\n this._type = 'secondary';\n this._icon = 'clone';\n this.text = 'Clone';\n break;\n case 'create':\n this._type = 'outline';\n this._icon = 'add';\n this.text = 'Create';\n break;\n case 'close':\n this._type = 'danger-outline';\n this.customIcon = this.btnS.getIcon('close').iconString;\n this.iconBtn = true;\n break;\n case 'delete':\n this._type = 'danger-outline';\n this._icon = 'delete';\n this.iconBtn = true;\n break;\n case 'download':\n this._type = 'secondary';\n this._icon = 'download';\n this.iconBtn = true;\n break;\n case 'edit':\n this._type = 'secondary';\n this._icon = 'edit';\n this.iconBtn = true;\n break;\n case 'link':\n this._type = 'secondary';\n this.customIcon = 'fa fa-link';\n this.iconBtn = true;\n break;\n case 'search':\n this._type = 'secondary';\n this._icon = 'search';\n this.iconBtn = true;\n break;\n case 'show':\n this._type = 'secondary';\n this._icon = 'show';\n this.text = 'Show';\n break;\n case 'submit':\n this._type = 'secondary';\n this._icon = 'save';\n this.text = 'Submit';\n break;\n }\n }\n _mclass: string;\n @Input() actionType: 'submit' | 'button' | 'reset' = 'button';\n @Input() animate = false;\n @Input() badge: string | number;\n @Input() class: string;\n @Input() customIcon: string;\n @Input() disabled = false;\n @Input() form: FormGroup | FormControl | UntypedFormArray;\n @Input() help: string;\n @Input() iconBtn = false;\n @Input() lite: boolean;\n @Input() loading: boolean;\n @Input() mclass: string;\n @Input() showHelpIcon = true;\n @Input() text: string;\n @Input() valid = true;\n @Input() onFormInvalid:keyof typeof OnFormInvalid = OnFormInvalid.disable;\n @Output() mclick = new EventEmitter();\n icon: any;\n iconPosition: string = 'left';\n locked = faLock;\n constructor(\n public appS: AppService,\n public btnS: BtnService,\n public cdr: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {\n if (!this._mclass) this._type = 'secondary';\n if (this.form)\n this.form.statusChanges.subscribe((r) => {\n // this.cdr.detectChanges();\n if (this.formSchema && this.onFormInvalid==OnFormInvalid.warn) {\n // debugger;\n this.formIsInvalid = this.formSchema.some(\n (f) => (<FormGroup>this.form).controls[f.field?.toString()]?.invalid\n );\n }\n });\n }\n checkForm() {\n if (this.isDisabled && this.form) {\n this.form.markAllAsTouched();\n // this.cdr.detectChanges();\n console.log(this.form);\n }\n }\n click($event) {\n // debugger\n if (!this.isDisabled) this.mclick.emit($event);\n }\n get isDisabled() {\n return (\n this.disabled ||\n !this.valid ||\n (this.onFormInvalid==OnFormInvalid.disable && (this.form?.invalid || this.form?.pending))\n );\n }\n}\nenum OnFormInvalid {\n disable = 'disable',\n warn = 'warn',\n}\n","<span class=\"{{class}} d-flex align-items-center justify-content-center\" [ngClass]=\"{'disabled': isDisabled}\"\n (click)=\"checkForm()\">\n <i *ngIf=\"showHelpIcon && help\" class=\"fa fa-info-circle me-2 text-primary\"\n [matTooltip]=\"help|appTranslate|async\"></i>\n <button type=\"{{actionType}}\" class=\"{{mclass}} {{_mclass}} \" [matBadge]=\"badge\"\n [ngClass]=\"{'changecolor': valid,'btn-raised':animate, 'disabled': isDisabled, 'd-flex justify-content-center':\n !text,invalid:formIsInvalid}\"\n [disabled]=\"isDisabled\" (click)=\"click($event)\" [matTooltip]=\"showHelpIcon?null:(help|appTranslate|async)\">\n <span [ngClass]=\"{'pe-1 ms-1':!iconBtn}\" *ngIf=\"iconPosition=='left'\">\n <fa-icon *ngIf=\"icon\" [icon]=\"isDisabled?locked:icon\"></fa-icon>\n <i *ngIf=\"customIcon\" class=\"{{customIcon}}\"></i>\n </span>\n <ng-container *ngIf=\"text; else elseTemplate\">\n {{text|appTranslate|async}}\n </ng-container>\n <ng-template #elseTemplate>\n <span appTranslator>\n <ng-content></ng-content>\n </span>\n </ng-template>\n <span [ngClass]=\"{'ps-1':!iconBtn}\" *ngIf=\"iconPosition=='right'\">\n <fa-icon *ngIf=\"icon\" [icon]=\"isDisabled?locked:icon\"></fa-icon>\n </span>\n <span *ngIf=\"loading\" class=\"fa fa-spinner ms-2 fa-spin\">\n </span>\n </button>\n</span>\n","import {\n Directive,\n ElementRef,\n forwardRef,\n HostListener,\n Input,\n NgModule,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MAT_INPUT_VALUE_ACCESSOR as MAT_INPUT_VALUE_ACCESSOR } from '@angular/material/input';\nimport { Subscription } from 'rxjs';\nimport { CommonModule, DecimalPipe, formatNumber } from '@angular/common';\n\n@Directive({\n selector: 'input',\n providers: [\n {\n provide: MAT_INPUT_VALUE_ACCESSOR,\n useExisting: InputFormatDirective,\n },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputFormatDirective),\n multi: true,\n },\n ],\n})\nexport class InputFormatDirective implements ControlValueAccessor {\n private el: HTMLInputElement;\n oType: ETSInputType;\n get noFormatting() {\n return this.el?.dataset.noformat == 'true' || ETSenvironment.pageNoformat;\n }\n get isDebug() {\n return this.el?.dataset.debug == 'true' ;\n }\n get shouldFormat() {\n return this.acceptedType.includes(this.oType);\n }\n readonly acceptedType: ETSInputType[] = ['text', 'number'];\n\n constructor(\n private elementRef: ElementRef<HTMLInputElement>,\n private formatterService: InputFormattersPipe,\n private decimalPipe: DecimalPipe\n ) {}\n\n ngOnInit() {\n this.el = this.elementRef.nativeElement;\n if (!this.noFormatting) {\n this.oType = (this.el.type + '') as any;\n if (this.oType == 'number') {\n this.el.type = 'text';\n this.el.value = this.decimalPipe.transform(\n this.el.value.replace(/[^\\d.-]/g, ''),\n '1.0-9'\n );\n } else if (this.oType == 'checkbox') {\n this.value = (this.el.checked == true) as any;\n }\n }\n // debugger;\n if (this._value) this.value = this._value;\n }\n\n ngAfterViewInit(): void {\n if (\n this.el.dataset.otype == 'percentage' &&\n !this.noFormatting &&\n this.el.parentElement.classList.contains('position-relative')\n ) {\n // debugger\n const icon = document.createElement('i');\n icon.className = 'input-icon fa fa-percentage';\n this.el.parentNode.insertBefore(icon, this.el);\n } else if (\n this.oType == 'number' &&\n !this.noFormatting &&\n this.el.parentElement.classList.contains('position-relative')\n ) {\n const icon = document.createElement('i');\n icon.className = 'input-icon fa fa-hashtag';\n this.el.parentNode.insertBefore(icon, this.el);\n // this.el.parentElement.classList.add('position-relative');\n }\n }\n private _value: string | number | null;\n\n get value(): string | number | null {\n return this._value;\n }\n\n @Input('value')\n set value(value: string | number | null) {\n this._value = value;\n // debugger;\n if (this.isDebug) debugger;\n if (this.noFormatting) this.setInput(value);\n else if (this.oType == 'number') this.setNumberInput(value);\n else if (this.oType == 'text') {\n this._value = this.formatterService.toTitleCase(value);\n this.setTextInput(value);\n }\n }\n\n @HostListener('input', ['$event.target.value'])\n input(value) {\n // debugger\n if (this.isDebug) debugger;\n if (this.noFormatting) this._value = value;\n else if (this.oType == 'text')\n this._value = this.formatterService.toTitleCase(value);\n else if (this.oType == 'checkbox') this._value = this.el?.checked as any;\n else if (this.oType == 'number')\n if (this.isLastCharacterDecimalSeparator(value)) this._value = value;\n else this._value = this.formatterService.removeCommas(value);\n else this._value = value;\n\n // here to notify Angular Validators\n this._onChange(this._value);\n }\n\n @HostListener('blur')\n _onBlur() {\n if (this.noFormatting)\n this.elementRef.nativeElement.value = this._value || '' as any;\n else if (this.oType == 'number') {\n // debugger;\n this.setNumberInput(this._value);\n } else if (this.oType == 'text')\n this.el.value = this.formatterService.toTitleCase(this._value);\n }\n\n @HostListener('focus')\n onFocus() {\n if (this.noFormatting) return;\n if (this.oType == 'number') this.unFormatNumber();\n }\n\n _onChange(value: any): void {}\n\n /**\n * @param value\n * apply formatting on value assignment\n */\n writeValue(value: any) {\n // debugger\n if (this.isDebug) debugger;\n if (this.noFormatting) this.setInput(value);\n else if (this.oType == 'text') {\n if (this.el.disabled) this.setInput(value);\n else {\n this._value = this.formatterService.toTitleCase(value);\n this.setTextInput(value);\n }\n } else if (this.oType == 'number') {\n // debugger;\n this.setNumberInput(value);\n } else if (this.oType == 'checkbox') this.setCheckboxInput(value as any);\n else this.setInput(value);\n }\n\n registerOnChange(fn: (value: any) => void) {\n this._onChange = fn;\n }\n\n registerOnTouched() {}\n\n isLastCharacterDecimalSeparator(value: string | number) {\n return isNaN(+value?.toString()[value?.toString().length - 1]);\n }\n\n /**\n * Format nummber by adding commas\n * @param value\n * @returns\n */\n private setNumberInput(value: string | number | null) {\n const val = value?.toString().replace(/[^\\d.-]/g, '');\n if (val === null || val == undefined) {\n this.elementRef.nativeElement.value = '';\n return;\n }\n\n if (this.isLastCharacterDecimalSeparator(val)) {\n this.elementRef.nativeElement.value = val;\n return;\n }\n // debugger\n this.elementRef.nativeElement.value = this.decimalPipe.transform(\n val,\n `1.0-9`\n );\n }\n\n /**\n * Format text by making it in the title case\n * @param value\n * @returns\n */\n private setTextInput(value: string | number | null) {\n if (value === null) {\n this.elementRef.nativeElement.value = '';\n return;\n }\n\n this.elementRef.nativeElement.value =\n this.formatterService.toTitleCase(value);\n }\n\n /**\n * Set new value on the HTML Input for the UI update\n * @param value\n * @returns\n */\n private setInput(value: string | number | null) {\n this._value = value;\n if (value === null || value == undefined) {\n this.elementRef.nativeElement.value = '';\n return;\n }\n this.elementRef.nativeElement.value = value as any;\n }\n\n /**\n * Set new value on the HTML Input Checkbox for the UI update\n * @param value\n * @returns\n */\n private setCheckboxInput(value: boolean | null) {\n // debugger;\n this.elementRef.nativeElement.checked = value || false;\n }\n\n /**\n * Removes commas from the numbers\n * @returns\n */\n private unFormatNumber() {\n const value = this.elementRef.nativeElement.value;\n if (this.isLastCharacterDecimalSeparator(value)) {\n return;\n }\n\n this._value = this.formatterService.removeCommas(value);\n if (value) {\n this.elementRef.nativeElement.value = this._value as any;\n } else {\n this.elementRef.nativeElement.value = null;\n }\n }\n\n setDisabledState(val: boolean) {\n this.elementRef.nativeElement.disabled = !!val;\n // debugger\n // this._onBlur()\n }\n}\n\nimport { Pipe, PipeTransform } from '@angular/core'; \nimport { ETSInputType } from '../models/index.model';\nimport { ETSenvironment } from '../../../environments/environment';\n\nconst PADDING = '000000';\n\n@Pipe({ name: 'inputFormatters' })\nexport class InputFormattersPipe implements PipeTransform {\n private DECIMAL_SEPARATOR: string;\n private THOUSANDS_SEPARATOR: string;\n\n constructor() {\n // TODO comes from configuration settings\n this.DECIMAL_SEPARATOR = '.';\n this.THOUSANDS_SEPARATOR = ',';\n }\n\n transform(value: number | string, fractionSize: number = 2): string {\n let [integer, fraction = ''] = (value || '')\n .toString()\n .split(this.DECIMAL_SEPARATOR);\n\n fraction =\n fractionSize > 0\n ? this.DECIMAL_SEPARATOR +\n (fraction + PADDING).substring(0, fractionSize)\n : '';\n\n integer = integer.replace(\n /\\B(?=(\\d{3})+(?!\\d))/g,\n this.THOUSANDS_SEPARATOR\n );\n\n return integer + fraction;\n }\n\n /**\n * Convert input value to number\n * @param value Input value\n * @returns\n */\n removeCommas(value: string) {\n return +value.replace(/[^\\d.-]/g, '');\n }\n\n toTitleCase(str: string | number): string {\n return (\n str\n ?.toString()\n .replace(\n /\\w\\S*/g,\n (txt) => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase()\n ) || ''\n );\n }\n}\n\nconst comps = [InputFormatDirective];\n// const comps = [];\n@NgModule({\n declarations: comps,\n imports: [CommonModule],\n exports: [...comps],\n providers: [DecimalPipe, InputFormattersPipe],\n})\nexport class InputFormatDirectivesModule {}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms'; \n\n@Component({\n selector: 'app-input-label',\n templateUrl: './input-label.component.html',\n styleUrls: ['./input-label.component.scss'],\n})\nexport class InputLabelComponent implements OnInit {\n @Input() colored: boolean = true;\n @Input() form: any;\n @Input() hint: string;\n @Input() id: string = 'id' + Math.round(Math.random() * 10000);\n @Input() invalidCheckbox: boolean;\n @Input() isRequired: boolean;\n @Input() label: string;\n @Input() labelLink: string;\n @Input() lblCl: string = '2';\n @Input() light: boolean = true;\n @Input() mini: boolean;\n @Input() showLabel: boolean = true;\n @Input() small: boolean;\n @Input() stacked: boolean = true;\n @Input() theme = 1;\n @Input() xsmall: boolean;\n constructor() {}\n\n ngOnInit(): void {}\n log() {\n // if (!environment.production) \n console.log(this.form);\n }\n}\n"," <!-- {{showLabel}} -->\n <label class=\" {{ stacked ? '12 pb-0 hide-scroll-x' : mini ? 'auto' : lblCl}} m-0\" for=\"{{ id }}\"\n [ngClass]=\"{'text-primary form-label': colored,'overflow-x-auto': stacked,'form-label': theme == 2,light,small,small1: xsmall,'invalid-label': invalidCheckbox}\"\n *ngIf=\"showLabel\" (click)=\"log()\">\n {{ label |appTranslate|async}} {{isRequired?'*':''}} <span *ngIf=\"hint\" [matTooltip]=\"hint|appTranslate|async\"\n class=\"fa fa-info-circle\"></span>\n </label>\n","import { Component, Input, OnInit, Pipe, PipeTransform } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { configValidationMessages } from '../../../../configs/validation-messages.config';\nimport {\n EValidationType,\n IValidationMessage,\n} from '../../../../Shared/models/index.model';\n\n@Component({\n selector: 'app-validation-message',\n templateUrl: './validation-message.component.html',\n styleUrls: ['./validation-message.component.scss'],\n})\nexport class ValidationMessageComponent implements OnInit {\n validationType: EValidationType;\n @Input('validationKey') set _validationKey(v: EValidationType) {\n this.validationType = v;\n this.validations = configValidationMessages[this.validationType];\n }\n @Input('control') _control: AbstractControl;\n @Input() input: { label: string; control :AbstractControl};\n @Input('label') _label: string;\n @Input() minLength: number;\n @Input() maxLength: number;\n @Input() customMessage: 'Value is invalid';\n validations: IValidationMessage[];\n constructor() {}\n\n ngOnInit(): void {\n if (!this.validationType) this._validationKey = EValidationType.normal;\n }\n get label() {\n return this._label || this.input?.label;\n }\n get control() {\n return this._control || this.input?.control;\n }\n}\n\n@Pipe({ name: 'errorMessage' })\nexport class ErrorMessagePipe implements PipeTransform {\n transform(\n errObj: IValidationMessage,\n label?: string,\n maxLength?: number,\n minLength?: number,\n controlMessage?: any\n ): string {\n let msg =\n errObj.type == EValidationType.custom\n ? controlMessage\n : errObj.message\n ? errObj.message.startsWith(' ')\n ? (label || 'Field') + errObj.message\n : errObj.message\n : null;\n msg = msg?.replace('{{maxLength}}', maxLength?.toString());\n msg = msg?.replace('{{minLength}}', minLength?.toString());\n return msg;\n }\n}\n","<div class=\"text-danger\">\n <ng-container *ngIf=\"control?.errors && (control?.dirty || control?.touched)\">\n <ng-container *ngFor=\"let error of validations\">\n <span class=\"me-2\" *ngIf=\"control?.errors[error.type] as controlMessage\"> \n {{((error|errorMessage:label:maxLength:minLength:controlMessage)||customMessage)|appTranslate|async}}\n </span>\n </ng-container>\n </ng-container>\n</div>\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\nimport { Validators } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { ETSenvironment } from '../../../../environments/environment';\nimport { FCInput, ETSInputType } from '../../models/index.model'; \nimport { InputService } from './input.service'; \nimport { OptionLabelType } from '../../models/form-schema.model';\n\n@Component({\n selector: 'app-input',\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.scss'],\n})\nexport class InputComponent implements OnInit {\n @Input() translateOptions: boolean = false;\n @Input('input') inp: FCInput;\n @Input() accept: string;\n @Input() autocomplete: boolean = true;\n @Input() cls?: string;\n @Input() colored: boolean = true;\n @Input() checked: boolean = false;\n @Input() debug: boolean;\n @Input() disabled: boolean;\n @Input() endLabel: string;\n @Input() endLabelTooltip: string;\n @Input() files: File[];\n @Input() noFormat: boolean;\n @Input() hint: string;\n @Input() id: string = 'id' + Math.round(Math.random() * 10000);\n @Input() inpCl: string = 'control-bg-gray';\n @Input() labelField: string;\n @Input() labelLink: string;\n @Input() labelType: OptionLabelType;\n @Input() lblCl: string = '2';\n @Input() light: boolean = true;\n @Input() loading: boolean;\n @Input() max: number;\n @Input() min: number;\n @Input() mini: boolean;\n @Input() multiple: boolean;\n @Input() optionFormatter: (item: any) => string;\n @Input() options: any[];\n @Input() readonly: boolean;\n @Input() showEmptyOption?: boolean = true;\n @Input() showLabel: boolean = true;\n @Input() showValidation: boolean = false;\n @Input() showValidationMsg: boolean = false;\n @Input() showValidationIcon: boolean = true;\n @Input() small: boolean;\n @Input() stacked: boolean;\n @Input() theme: InputTheme = 1;\n @Input() valueField: string;\n @Input() xsmall: boolean;\n @Output() mchange = new EventEmitter();\n oType: ETSInputType;\n showPassword: boolean;\n __value: any;\n @Input('value') set _value(v: any) {\n this.__value = v;\n }\n constructor(public iS: InputService) {}\n\n ngOnInit(): void {}\n\n change(e) {\n console.log(e);\n this.mchange.emit(e);\n }\n get control() {\n return this.inp?.form?.controls[this.inp?.name];\n }\n get valid() {\n return this.control.valid && this.control.dirty;\n }\n get invalid() {\n return this.control.invalid && this.control.dirty;\n }\n get form() {\n return this.inp?.form;\n }\n get label() {\n return this.inp?.label;\n }\n get name() {\n return this.inp?.name;\n }\n get placeholder() {\n return this.inp?.placeholder;\n }\n get required() {\n return this.inp?.required;\n }\n get type() {\n return this.inp?.type;\n }\n get isRequired() {\n return this.required || this.control?.hasValidator(Validators.required);\n }\n upload(e) {\n this.files = e.target.files;\n this.mchange.emit(e);\n }\n get value() {\n return this.control?.value;\n }\n get invalidCheckbox() {\n return this.invalid && this.type == 'checkbox';\n }\n log() {\n if (ETSenvironment.production) console.log(this.form);\n }\n}\ntype InputTheme = 1 | 2;\n","<div class=\"row custom-input align-items-center {{type}} gx-1\" [formGroup]=\"form|toAny\">\n <app-input-label [colored]=\"colored\" [form]=\"form\" [hint]=\"hint\" [id]=\"id\" [invalidCheckbox]=\"invalidCheckbox\"\n *ngIf=\"showLabel\" [isRequired]=\"isRequired\" [label]=\"label\" [lblCl]=\"lblCl\" [light]=\"light\" [mini]=\"mini\"\n [showLabel]=\"showLabel\" [small]=\"small\" [stacked]=\"stacked\" [theme]=\"theme\" [xsmall]=\"xsmall\">\n </app-input-label>\n <div class=\"{{ stacked ? 'col-md' : 'col-md' }} position-relative d-flex input-content\"\n [ngClass]=\"{showValidationIcon:showValidation || showValidationIcon}\">\n <ng-container [ngSwitch]=\"type\">\n <!-- CHECKBOX -->\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <input type=\"checkbox\" id=\"{{ id }}\" [formControlName]=\"name|toAny\" [attr.data-noformat]=\"noFormat\"\n class=\"{{ inpCl }} d-inline-block form-control width-unset\" placeholder=\"{{ placeholder }}\"\n [required]=\"required\" [readonly]=\"readonly\" (change)=\"change($event)\" [checked]=\"checked\" />\n </ng-container>\n <ng-container *ngSwitchCase=\"'checkedbox'\">\n <input type=\"checkbox\" class=\"{{ inpCl }} d-inline-block form-control width-unset\" [checked]=\"checked\"\n [attr.data-noformat]=\"noFormat\" [required]=\"required\" [readonly]=\"readonly\" (change)=\"change($event)\" />\n </ng-container>\n <!-- FILE -->\n <ng-container *ngSwitchCase=\"'file'\">\n <input type=\"file\" id=\"{{ id }}\" [class]=\"inpCl | inputClass: valid:invalid:showValidation\"\n (change)=\"upload($event)\" [accept]=\"accept\" [attr.multiple]=\"multiple\" />\n </ng-container>\n <!-- FILE BUTTON-->\n <ng-container *ngSwitchCase=\"'fileButton'\">\n <input type=\"file\" id=\"{{ id }}\" [class]=\"inpCl | inputClass: valid:invalid:showValidation\"\n (change)=\"upload($event)\" [accept]=\"accept\" [attr.multiple]=\"multiple\" hidden #file />\n <app-btn (mclick)=\"file.click()\" icon=\"upload\" [type]=\"files ? 'primary' : 'secondary'\">{{ label || 'Upload' }}\n </app-btn>\n </ng-container>\n <!-- SELECT -->\n <ng-container *ngSwitchCase=\"'select'\">\n <!-- [attr.disabled]=\"disabled\" -->\n <select [formControlName]=\"name|toAny\" id=\"{{ id }}\" class=\"{{ cls }} {{\n inpCl | inputClass: valid:invalid:showValidation\n }}\" [required]=\"required\" (change)=\"change($event)\">\n <option *ngIf=\"showEmptyOption\" selected value=\"\">\n {{ placeholder }}\n </option>\n <option *ngFor=\"let item of options; trackBy: iS.trackByValue\" [value]=\"item.value\" #inp>\n <!-- {{item|optionLabeller:optionFormatter:labelType:labelField}} -->\n {{ item.label | appTranslate: translateOptions | async }} \n </option>\n </select>\n </ng-container>\n <!-- TEXTAREA -->\n <ng-container *ngSwitchCase=\"'textarea'\">\n <textarea [formControlName]=\"name|toAny\" id=\"{{ id }}\" [class]=\"inpCl | inputClass: valid:invalid:showValidation\"\n [attr.data-noformat]=\"noFormat\" [required]=\"required\" [readonly]=\"readonly\"\n (change)=\"change($event)\"></textarea>\n </ng-container>\n <!-- Radio -->\n <ng-container *ngSwitchCase=\"'radio'\">\n <input type=\"radio\" [formControlName]=\"name|toAny\" id=\"{{ id }}\" [readonly]=\"readonly\" (change)=\"change($event)\"\n [attr.data-noformat]=\"noFormat\" [value]=\"__value\" [disabled]=\"disabled\" />\n </ng-container>\n <!-- Viewer -->\n <ng-container *ngSwitchCase=\"'viewer'\">\n <input type=\"text\" id=\"{{ id }}\" placeholder=\"{{ placeholder }}\" [attr.data-noformat]=\"noFormat\"\n [class]=\"inpCl | inputClass: valid:invalid:showValidation\" [readonly]=\"true\" [value]=\"value\" />\n </ng-container>\n <!-- PASSWORD -->\n <ng-container *ngSwitchCase=\"'password'\">\n <input type=\"{{ showPassword ? 'text' : 'password' }}\" [formControlName]=\"name|toAny\" placeholder=\"{{ placeholder }}\"\n [attr.data-noformat]=\"noFormat\" id=\"{{ id }}\" [class]=\"inpCl | inputClass: valid:invalid:showValidation\"\n [required]=\"required\" [max]=\"max\" [min]=\"min\" [readonly]=\"readonly || disabled\" (change)=\"change($event)\"\n value=\"{{ __value }}\" />\n <div class=\"password-icons pointer\" (click)=\"showPassword = !showPassword\">\n <i class=\"fa fa-eye-slash\" *ngIf=\"showPassword\"></i>\n <i class=\"fa fa-eye\" *ngIf=\"!showPassword\"></i>\n </div>\n </ng-container>\n <!-- DEFAULT -->\n <ng-container *ngSwitchDefault>\n <input type=\"{{ type }}\" [formControlName]=\"name|toAny\" placeholder=\"{{ placeholder }}\" id=\"{{ id }}\"\n [attr.data-debug]=\"debug\" [attr.data-noformat]=\"noFormat\" [attr.data-otype]=\"oType\"\n [class]=\"inpCl | inputClass: valid:invalid:showValidation\" [required]=\"required\" [max]=\"max\" [min]=\"min\"\n [readonly]=\"readonly || disabled\" (change)=\"change($event)\" value=\"{{ __value }}\" />\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"control?.dirty && (showValidation || showValidationIcon)\">\n <div [ngClass]=\"{ valid: control?.valid }\" class=\"validity-icon\">\n <i class=\"fa fa-check\"></i>\n </div>\n <div [ngClass]=\"{ pending: control?.pending }\" class=\"validity-icon\">\n <i class=\"fa fa-spinner fa-spin\"></i>\n </div>\n <div [ngClass]=\"{ invalid: control?.invalid }\" class=\"validity-icon\">\n <i class=\"fa fa-times\"></i>\n </div>\n </ng-container>\n <!-- <mat-form-field class=\"input\" appearance=\"fill\">\n <input type=\"{{inp.type}}\" matInput [formControl]=\"inp.formControl\">\n <mat-error *ngFor=\"let validation of inp.vms\">\n <ng-container *ngIf=\"validation|validator:inp.formControl:inp.formControl?.value\">\n {{validation.message|validationMsg:inp.prefix:inp.suffix}}\n </ng-container>\n </mat-error>\n </mat-form-field> -->\n </div>\n <div class=\"col-auto text-primary\" *ngIf=\"endLabel\" [matTooltip]=\"endLabelTooltip|appTranslate|async\">\n {{endLabel|appTranslate|async}}\n </div>\n</div>\n<app-validation-message *ngIf=\"showValidationMsg\" [label]=\"label\" [control]=\"control\"></app-validation-message>\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractControl,\n FormControl,\n FormGroup,\n Validators,\n} from '@angular/forms';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { IOption, OptionLabelType } from '../../models/form-schema.model';\nimport { ETSInputType, IValidationMessage } from '../../models/index.model';\nimport { InputService } from './input.service';\n\n@Component({\n selector: 'app-input-basic',\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.scss'],\n})\nexport class InputBasicComponent<\n TFormGroup extends {\n [K in keyof TFormGroup]: AbstractControl<any, any>;\n } = any,\n TControl = any,\n TOption = any\n> implements OnInit\n{\n @Input() accept: string;\n @Input() autocomplete: boolean = true;\n @Input() autoPickValueField: boolean;\n @Input() clearOnDisable: boolean = true;\n @Input() cls: string;\n @Input() colored: boolean = true;\n @Input() checked: boolean = false; //optional checked option for checkboxes\n @Input() contextData: any;\n @Input() debug: boolean;\n @Input() decimalPoints: number;\n @Input() endLabel: string;\n @Input() endLabelTooltip: string;\n @Input() files: File[];\n /** FormGroup */\n @Input() form:\n | FormGroup<TFormGroup>\n | FormControl<TControl>\n | AbstractControl<TControl>;\n @Input() noFormat: boolean;\n @Input() hide: boolean;\n @Input() hint: string;\n @Input() id: string = 'id' + Math.round(Math.random() * 10000);\n @Input() inpCl: string = 'control-bg-gray';\n @Input() label: string;\n @Input() labelLink: string;\n @Input() labelField: keyof TOption;\n @Input() labelType: OptionLabelType; //use this to pick a preset value label group for the options\n @Input() lblCl: string = '2';\n @Input() light: boolean = true;\n @Input() loading: boolean;\n @Input() max: number | string;\n @Input() mformControl: AbstractControl;\n @Input() min: number | string;\n @Input() mini: boolean;\n @Input() multiple: boolean;\n /** FormControlName */\n @Input() name: keyof TFormGroup;\n @Input() optionFormatter: (item: TOption) => string;\n @Input() placeholder: string;\n @Input() prefix: string;\n @Input() readonly: boolean;\n @Input() required?: boolean;\n @Input() showEmptyOption?: boolean = true;\n @Input() showLabel: boolean;\n @Input() showValidation: boolean = false;\n @Input() showValidationMsg: boolean = false;\n @Input() showValidationIcon: boolean;\n @Input() small: boolean;\n @Input() stacked: boolean = true;\n @Input() suffix: string;\n @Input() theme: InputTheme = 1;\n @Input() translateOptions: boolean = false;\n @Input() valueField: keyof TOption; //use this to choose a field in the option for modeling\n @Input() vms: IValidationMessage[];\n @Input() xsmall: boolean;\n @Output() mchange = new EventEmitter();\n @Output() mSelectOptionChange = new EventEmitter();\n @Output() mContextChange = new EventEmitter();\n disabled: boolean;\n options: IOption[];\n options$ = new ReplaySubject<IOption[]>();\n rawOptions: any[];\n showPassword: boolean;\n type: ETSInputType;\n viewInited: boolean;\n forcePatched: boolean;\n selectionObject: TOption;\n oType: ETSInputType;\n @Input('setCurrentDate') set _setCurrentDate(v: boolean) {\n if (v) this.control.patchValue(new Date().toISOString().split('T')[0]);\n }\n @Input('disabled') set _disabled(v: boolean) {\n if (this.debug) debugger;\n this.disabled = v;\n if (this.control?.parent?.disabled) return;\n if (v) {\n if (this.clearOnDisable) this.control?.reset();\n this.control?.disable();\n } else if (this.control?.disabled) {\n this.control?.enable();\n }\n }\n @Input() customSelectChangeAction: (\n val: string | number,\n options: any[],\n rawOptions: any[]\n ) => any;\n @Input('options') set _options(v: TOption[]) {\n // debugger\n // console.log('options', v);\n this.rawOptions = v;\n this.options = this.iS.optionsFormatter(\n v,\n this.valueField as string,\n this.optionFormatter,\n this.labelType,\n this.labelField as string,\n this.autoPickValueField\n );\n // debugger\n this.options$.next(this.options);\n }\n @Input('type') set _type(v: ETSInputType) {\n this.oType = v;\n if (v == 'percentage') {\n this.type = 'number';\n this.max = 100;\n this.min = 0;\n } else this.type = v;\n // if (this.forcePatched) {\n // this.control.reset();\n // this.forcePatched = false;\n // }\n // if (v == 'checkbox' && (this.value == null || this.value == undefined)) {\n // this.control?.patchValue(false);\n // this.forcePatched = true;\n // }\n }\n __value: string | number;\n @Input('mvalue') set _value(v: string | number) {\n this.__value = v;\n }\n @ViewChild('inp') inpTag: ElementRef<HTMLInputElement>;\n constructor(public iS: InputService) {}\n\n ngOnInit(): void {\n if (this.showLabel == null) this.showLabel = !!this.label;\n if (this.autoPickValueField) {\n this.labelType = 'cdt';\n this.valueField = 'code' as any;\n }\n if (this.min == 0 && this.max == 100) this.oType = 'percentage';\n if (\n this.type == 'viewer' &&\n (this.noFormat == null || this.noFormat == undefined)\n )\n this.noFormat = true;\n // console.log(this.id)\n // if (this.disabled) this._disabled = this.disabled;\n }\n ngAfterViewInit(): void {\n // this.viewInited = true;\n }\n disableControl(control: AbstractControl = this.control) {\n if (!this.disabled) return;\n control?.disable({ emitEvent: false });\n }\n get isRequired() {\n return this.required || this.control?.hasValidator(Validators.required);\n }\n change(e) {\n // debugger;\n let val = e;\n if (this.type == 'checkbox') {\n val = e.target.checked;\n } else {\n val = e.target.value;\n }\n if (this.type == 'number') {\n if (this.max && +val > this.max) {\n this.control.setValue(this.max);\n } else if (this.min != null && this.min != undefined && +val < this.min) {\n this.control.setValue(this.min);\n }\n if (this.decimalPoints != undefined && this.decimalPoints != null)\n this.control.setValue(+(+val).toFixed(this.decimalPoints));\n }\n this.__value = this.control.value;\n this.mchange.emit(this.control.value);\n // debugger\n if (this.rawOptions) {\n this.selectionObject = this.rawOptions.find(\n (x) => x[this.valueField] == this.__value\n );\n this.mSelectOptionChange.emit(this.selectionObject);\n }\n if (this.customSelectChangeAction) {\n this.mContextChange.emit(\n this.customSelectChangeAction(\n this.control.value,\n this.options,\n this.rawOptions\n )\n );\n }\n }\n get control(): AbstractControl {\n return (\n this.mformControl ||\n (this.form as FormGroup<TFormGroup>)?.controls[this.name as string]\n );\n }\n get valid() {\n return this.control?.valid && this.control?.dirty;\n }\n get invalid() {\n return this.control?.invalid && this.control?.dirty;\n }\n get value() {\n return this.control?.value;\n }\n get hasValue() {\n return !!this.control?.value?.toString()?.trim();\n }\n get invalidCheckbox() {\n return this.invalid && this.type == 'checkbox';\n }\n upload(e) {\n this.files = e.target.files;\n this.mchange.emit(e);\n }\n}\ntype InputTheme = 1 | 2; ","import { Directive, ElementRef, HostBinding, HostListener, Input } from '@angular/core';\nimport { DecimalPipe } from '@angular/common'\nimport { ControlValueAccessor, NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Directive({\n selector: '[appCommafyNumber]',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: CommafyNumberDirective,\n multi: true,\n }]\n})\nexport class CommafyNumberDirective implements ControlValueAccessor{\n // tslint:disable-next-line:variable-name\n private _value: string | null;\n @Input('disabled') disableInput;\n\n constructor(\n private elementRef: ElementRef<HTMLInputElement>,\n private numberPipe: DecimalPipe,\n // private ngControl: NgControl,\n ) {\n this.elementRef.nativeElement.type = 'text'\n }\n\n ngOnChanges(){\n this.elementRef.nativeElement.disabled = this.disableInput;\n }\n\n // ngDoCheck(){\n // this.elementRef.nativeElement.disabled = this.disabled;\n // console.log(\"ngDoCheck this.disabled: \", this.disabled)\n // console.log(\"ngDoCheck ran in commafyNumberDirective and this.elementRef.nativeElement.disabled is: \", this.elementRef.nativeElement.disabled)\n // }\n // get value(): string | null {\n // return this._value;\n // }\n\n @Input('value')\n set value(value: number) {\n if (isNaN(value)) return;\n this.elementRef.nativeElement.value = this.formatValue(value.toString());\n }\n\n private formatValue(value: string | null = '') {\n return value == null ? '' : this.numberPipe.transform(value)\n }\n\n private unFormatValue(value: string = '') {\n return value == null ? '' : value.toString().replace(/[^\\d.-]/g, '');\n }\n\n @HostListener('input', ['$event.target.value'])\n onInput(value) {\n this._value = this.unFormatValue(value) // unformat to get real number\n this._onChange(this._value); // here to notify Angular Validators\n this.elementRef.nativeElement.value = this.formatValue(this._value) \n }\n\n @HostListener('focus')\n onFocus() {}\n\n writeValue(value: string): void {\n this._value = this.unFormatValue(value)\n this.elementRef.nativeElement.value = this.formatValue(this._value)\n }\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n \n }\n _onChange(value: any): void {}\n}\n","import { ListKeyManager } from '@angular/cdk/a11y';\nimport { Directive, ElementRef, HostListener, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Directive({\n selector: '[appIntegerOnly]',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: IntegerOnlyDirective,\n multi: true,\n }],\n})\nexport class IntegerOnlyDirective implements ControlValueAccessor{\n @Input() allowNegativeNumbers: boolean = false;\n\n constructor(\n private elemRef: ElementRef,\n ) { }\n\n @HostListener('focus') onFocus(){\n // if the content is just a zero (the usual default value from backend), clear it\n if (!Number(this.elemRef.nativeElement.value)) {\n this.writeValue('')\n this._onChange(this.elemRef.nativeElement.value) // notify angular validators\n }\n }\n\n @HostListener('input') onKeyUp(){\n // optionally allow for negative sign\n let pattern = this.allowNegativeNumbers ? /[^\\d-]/g : /[^\\d]/g;\n // remove everything except digits\n this.elemRef.nativeElement.value = this.elemRef.nativeElement.value.replace(pattern, '')\n // notify angular validators\n this._onChange(this.elemRef.nativeElement.value)\n }\n\n writeValue(value: string){\n this.elemRef.nativeElement.value = value;\n }\n\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n\n }\n\n _onChange(value: any):void {}\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[appNegativeNumberOnly]'\n})\nexport class NegativeNumberOnlyDirective {\n\n constructor(\n private el: ElementRef<HTMLInputElement>,\n ) { }\n\n @HostListener('input', ['$event.target.value'])\n onChange(value){\n if (!value.startsWith('-')){\n this.el.nativeElement.value = `-${value}`\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Directive, ElementRef, Input, NgModule } from '@angular/core'; \nimport { PermissionManager } from '../../../lib/Shared/classes/permission-manager.class';\nimport { EETSPageBtnID, ETSMenuItem, ETSPageButton } from '../models/IMenuItem';\n\n@Directive({\n selector: '[pmV]',\n})\nexport class PermissionManagerViewDirective {\n id: string;\n @Input('pmV') set pm(v: EETSPageBtnID | string) {\n this.id = v;\n if (!PermissionManager.pagePermission) return;\n const res = PermissionManager.findByID(v, PermissionManager.pagePermission);\n if (!res) return;\n if (!res.viewAccess) {\n this.ef.nativeElement.remove();\n return;\n }\n }\n constructor(public ef: ElementRef<HTMLElement>) {}\n ngOnInit(): void {\n if (this.id) return;\n if (!PermissionManager.pagePermission) return;\n if (!PermissionManager.pagePermission.viewAccess)\n this.ef.nativeElement.remove();\n }\n}\n@Directive({\n selector: '[pmE]',\n})\nexport class PermissionManagerEditDirective {\n id: string;\n @Input('pmE') set pm(v: EETSPageBtnID | string) {\n this.id = v;\n if (!PermissionManager.pagePermission) return;\n const res = PermissionManager.findByID(v, PermissionManager.pagePermission);\n if (!res) return;\n if (!res.editAccess) {\n this.ef.nativeElement.remove();\n return;\n }\n }\n constructor(public ef: ElementRef<HTMLElement>) {}\n ngOnInit(): void {\n if (this.id) return;\n if (!PermissionManager.pagePermission) return;\n if (!PermissionManager.pagePermission.editAccess)\n this.ef.nativeElement.remove();\n }\n}\n\nconst comps = [PermissionManagerViewDirective, PermissionManagerEditDirective];\n@NgModule({\n declarations: comps,\n imports: [CommonModule],\n exports: comps,\n})\nexport class PermissionManagerDirectivesModule {}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { IBtn } from '../../models/index.model';\n\n@Component({\n templateUrl: './info-dialog.component.html',\n styles: [\n `\n .bar {\n height: 5px;\n }\n .card-body {\n overflow-wrap: anywhere;\n white-space: pre-line;\n }\n `,\n ],\n})\nexport class InfoDialogComponent implements OnInit {\n constructor(\n @Inject(MAT_DIALOG_DATA)\n public data: {\n text: string;\n heading: string;\n status: number;\n btns: IBtn[];\n },\n public dialogRef: MatDialogRef<InfoDialogComponent>\n ) {}\n\n ngOnInit() {}\n yes() {\n this.dialogRef.close(true);\n }\n no() {\n this.dialogRef.close(false);\n }\n cls = (status: 0 | 1 | 2 = this.data.status as any) => {\n switch (status) {\n case 1:\n return 'success';\n case 2:\n return 'info';\n case 0:\n return 'danger';\n default:\n return '';\n }\n };\n}\n","<div class=\"text-center\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <div class=\"text-{{cls()}} ms-3 font-weight-bold text-uppercase\">\n <i class=\"fa fa-{{data?.status?'check-circle':'exclamation-circle'}}\"></i>\n {{(data?.heading||'Notice')|appTranslate|async}}\n </div>\n <button mat-icon-button (click)=\"yes()\" class=\"btn-outline-danger\"><i class=\"material-icons\">close</i></button>\n </div>\n\n <div class=\"card-body \" [innerHTML]=\"data?.text|appTranslate|async\">\n\n </div>\n\n <div class=\"row justify-content-center\">\n <div class=\"col-md-auto my-1\" *ngFor=\"let item of data?.btns\">\n <app-btn [type]=\"item.type||'secondary'\" [icon]=\"item.icon\" (mclick)=\"item.action($event);yes();\">\n {{item.value||item.label}}\n </app-btn>\n </div>\n </div>\n <div class=\"bg-{{data?.status?'success':'danger'}} mt-2 rounded bar\"></div>\n</div>\n","import { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog'; \nimport { IBtn } from '../../models/index.model';\nimport { InfoDialogComponent } from './info-dialog.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ETSInfoDialogService {\n constructor(public dialog: MatDialog) {}\n info = (\n text: string,\n status: 1 | 0 | 2 = 1,\n heading?: string,\n btns?: IBtn[],\n disableClose = false\n ) => {\n text =\n typeof text == 'string' ? text : status == 0 ? 'An error occurred' : '';\n return this.dialog\n .open(InfoDialogComponent, {\n data: {\n text,\n status: +status,\n heading: heading || (status ? 'Success!' : 'Oops!'),\n btns: btns?.filter((b) => b),\n },\n height: 'auto',\n minWidth: '450px',\n autoFocus: false,\n disableClose,\n })\n .afterClosed()\n .toPromise()\n .then((r) => {\n if (r) {\n return true;\n } else {\n return false;\n }\n });\n };\n}\n","import {\n Directive,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n} from '@angular/core'; \nimport { ETSInfoDialogService } from '../components/info-dialog/info-dialog.service';\n@Directive({\n selector: '[libDragDropFileUpload]',\n})\nexport class DragDropFileUploadDirective {\n @Input() multiple: boolean;\n @Output() fileDropped = new EventEmitter<File[]>();\n @HostBinding('style.background-color') private background = '#ffffff';\n // Dragover Event\n @HostListener('dragover', ['$event']) dragOver(event: any) {\n event.preventDefault();\n event.stopPropagation();\n this.background = '#e2eefd';\n }\n // Dragleave Event\n @HostListener('dragleave', ['$event']) public dragLeave(event: any) {\n event.preventDefault();\n event.stopPropagation();\n this.background = '#ffffff';\n }\n // Drop Event\n @HostListener('drop', ['$event']) public drop(event: any) {\n event.preventDefault();\n event.stopPropagation();\n this.background = '#ffffff';\n const files = event.dataTransfer.files;\n if (!files?.length) return;\n if (files?.length > 1 && !this.multiple) {\n this.iS.info(`Please drag and drop a single file`, 0);\n return;\n }\n this.fileDropped.emit(Array.from(files));\n }\n\n constructor(public iS: ETSInfoDialogService) {}\n}\n","import { CommonModule, DecimalPipe } from '@angular/common';\nimport {\n AfterViewInit,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n NgModule,\n OnChanges,\n Output,\n} from '@angular/core'; \nimport { ImageType } from '../models/index.model';\nimport { CommafyNumberDirective } from './commafy-number.directive';\nimport { IntegerOnlyDirective } from './integer-only.directive';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NegativeNumberOnlyDirective } from './negative-number-only.directive';\nimport PerfectScrollbar from 'perfect-scrollbar'; \nimport { PermissionManagerDirectivesModule } from './permission-manager.directive';\nimport {\n InputFormatDirective,\n InputFormatDirectivesModule,\n} from './InputFormat.directive'; \nimport { DragDropFileUploadDirective } from './drag-drop-file-upload.directive';\nimport { Config } from '../../configs/index.config';\nimport { ETSUtilityService } from '../../Services/utility.service';\n\n@Directive({\n selector: '[imageUpload]',\n})\nexport class ImageUpload {\n @Output() extractedImg = new EventEmitter<File>();\n @HostListener('click') onClick() {\n if (!this.disableUpload) this.openFile();\n }\n @Input() disableUpload: boolean;\n fileEl: HTMLInputElement;\n\n constructor(\n public el: ElementRef<HTMLImageElement>,\n public uS: ETSUtilityService\n ) {\n this.fileEl = document.createElement('input');\n this.fileEl.type = 'file';\n }\n ngAfterViewInit(): void {\n this.el.nativeElement.style.cursor = 'pointer';\n\n this.fileEl.onchange = () => {\n this.preview(this.fileEl.files);\n };\n }\n openFile() {\n this.fileEl.click();\n }\n\n preview(files: FileList) {\n if (files.length === 0) return;\n const f = files[0];\n const mimeType = f.type;\n if (files.length == 1 && f.size > 10000000) {\n this.uS.notify('Image has to be less then 10mb in size', 0);\n return;\n }\n if (mimeType.match(/image\\/*/) == null) {\n this.uS.notify('Only images are supported.', 0);\n return;\n }\n this.extractedImg.emit(f);\n }\n}\n@Directive({\n selector: '[imageLoader]',\n})\nexport class ImageLoaderDirective {\n src: string;\n @Input() set imageLoader(v: string) {\n this.src = v;\n this.loadImage(v);\n }\n @Input() imageType: ImageType;\n constructor(public el: ElementRef<HTMLImageElement>) {}\n loadImage(src: string = this.src, type: ImageType = this.imageType) {\n this.el.nativeElement.src = this.getImageByType(type)?.min;\n const imgEl = document.createElement('img');\n imgEl.src = src || this.getImageByType(type)?.src;\n imgEl.onload = (e) => {\n this.el.nativeElement.src = imgEl.src;\n };\n }\n getImageByType(type: ImageType) {\n return Config.Images[type] ? Config.Images[type] : Config.Images.other;\n }\n}\n\n@Directive({\n selector: 'button',\n})\nexport class OnClickDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n const location = $event.view.location;\n const pathName = decodeURI(location.pathname);\n const innterHtml: string = this.el.nativeElement.innerHTML;\n console.log(location, pathName);\n // send pathName and innterHtml to server.\n // :\n }\n\n constructor(private el: ElementRef) {}\n}\n@Directive({\n selector: '[mrouterLink]',\n})\nexport class MrouterLinkirective {\n mrouterLink: string;\n @Input('mrouterLink') set _mrouterLink(v: string) {\n this.mrouterLink = v;\n // if (v) debugger;\n this.setRouter();\n }\n @Input() mrouterLinkActivatedRoute: ActivatedRoute;\n @Input() mqueryParams: any;\n @Input() isPhone: boolean;\n @Input() isEmail: boolean;\n\n constructor(\n public el: ElementRef<HTMLAnchorElement>,\n public route: ActivatedRoute,\n public router: Router,\n public uS: ETSUtilityService\n ) {}\n ngAfterViewInit(): void {\n this.setRouter();\n }\n setRouter() {\n if (this.mrouterLink && this.el.nativeElement) {\n this.el.nativeElement.classList.remove('notLink');\n this.el.nativeElement.classList.add('link');\n // debugger;\n if (this.isEmail) {\n this.el.nativeElement.href = 'mailto:' + this.mrouterLink;\n } else if (this.isPhone) {\n this.el.nativeElement.href = 'tel:' + this.mrouterLink;\n } else {\n // debugger;\n const queryParams: { [x: string]: string } = this.mqueryParams || {},\n routeLevels = this.mrouterLink.split('../').length - 1,\n currentLocationParts = location.pathname.split('/');\n let route = '',\n urlParts = this.mrouterLink.split('?');\n\n route = urlParts[0];\n if (urlParts.length > 1) {\n const kvps = urlParts[1].split('&');\n for (const kvp of kvps) {\n const kvpSplit = kvp.split('=');\n queryParams[kvpSplit[0]] = kvpSplit[1];\n }\n }\n\n currentLocationParts.splice(routeLevels * -1);\n\n this.el.nativeElement.href =\n currentLocationParts.join('/') +\n '/' +\n route\n .split('../')\n .filter((x) => x)\n .join('/') +\n '?' +\n this.stringifyQueryParams(queryParams);\n this.el.nativeElement.onclick = (e: MouseEvent) => {\n e.preventDefault();\n // debugger;\n this.router.navigate([route], {\n relativeTo: this.uS.environment.activatedRoute || this.route,\n queryParams,\n });\n };\n }\n } else {\n this.el.nativeElement.classList.add('notLink');\n }\n }\n stringifyQueryParams(q: { [x: string]: string }): string {\n return Object.keys(q)\n .map((key) => `${key}=${q[key]}`)\n .join('&');\n }\n}\n\n@Directive({\n selector: '[PSBox]',\n})\nexport class PSDirective implements OnChanges, AfterViewInit {\n @Input('PSBox') selector: string;\n @Input('PSBoxNoHorizontal') noHorizontal: boolean;\n @Input('PSBoxNoVertical') noVertical: boolean;\n constructor(public el: ElementRef, public uS: ETSUtilityService) {}\n ngOnChanges(): void {}\n ngAfterViewInit() {\n this.init();\n }\n init() {\n if (!this.uS.isMobile) {\n setTimeout(() => {\n const psNotif = new PerfectScrollbar(\n this.selector || this.el.nativeElement,\n {\n wheelSpeed: 0.5,\n swipeEasing: false,\n suppressScrollX: this.noHorizontal || false,\n suppressScrollY: this.noVertical || false,\n wheelPropagation: true,\n minScrollbarLength: 40,\n }\n );\n psNotif.update();\n }, 0);\n }\n }\n}\n \n\nconst comps = [\n CommafyNumberDirective,\n ImageLoaderDirective,\n ImageUpload,\n IntegerOnlyDirective,\n // NoFormatDirective,\n MrouterLinkirective,\n NegativeNumberOnlyDirective,\n // OnClickDirective,\n // InputFormatDirective,\n PSDirective, \n DragDropFileUploadDirective,\n];\n@NgModule({\n declarations: comps,\n imports: [CommonModule, InputFormatDirectivesModule],\n exports: [\n ...comps,\n PermissionManagerDirectivesModule,\n InputFormatDirectivesModule, \n ],\n providers: [DecimalPipe],\n})\nexport class DirectivesModule {}\n","import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';\nimport { QueryParamsHandling } from '@angular/router';\nimport { AppService } from '../../../../Services/app.service';\nimport { BtnComponent } from '../btn.component';\nimport { BtnService } from '../btn.service';\n\n@Component({\n selector: 'app-btn-lg',\n templateUrl: './btn-lg.component.html',\n styleUrls: ['./btn-lg.component.scss'],\n})\nexport class BtnLgComponent extends BtnComponent {\n @Input() queryParamsHandling: QueryParamsHandling;\n @Input() route: string;\n @Input() value: string | number;\n @Input() subText: string;\n @Input() subValue: string | number;\n constructor(\n public appS: AppService,\n public btnS: BtnService,\n public cdr: ChangeDetectorRef\n ) {\n super(appS, btnS,cdr);\n }\n\n ngOnInit(): void {}\n}\n","<span class=\"section-cards\">\n <ng-container *ngIf=\"route; else elseTemplate\">\n <button matRipple class=\"btn-large\" routerLink=\"{{route}}\" [queryParamsHandling]='queryParamsHandling'>\n <ng-container *ngTemplateOutlet=\"btnContent\">\n </ng-container>\n </button>\n </ng-container>\n <ng-template #elseTemplate>\n <button matRipple class=\"btn-large\">\n <ng-container *ngTemplateOutlet=\"btnContent\">\n </ng-container>\n </button>\n </ng-template>\n\n\n</span>\n<ng-template #btnContent>\n <div>\n <div class=\"title\" [innerHTML]=\"text|appTranslate|async\"> </div>\n <div class=\"text\" [ngClass]=\"{detach:!!subText}\"[innerHTML]=\"value|toAny|appTranslate|async\"> </div>\n <div class=\"sub-title\" *ngIf=\"subText\" [innerHTML]=\"subText|appTranslate|async\"> </div>\n <div class=\"sub-text\" *ngIf=\"subValue\" [innerHTML]=\"subValue|toAny|appTranslate|async\"> </div>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { BtnComponent } from './btn.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { DirectivesModule } from '../../directives/index.directive';\nimport { BtnLgComponent } from './btn-lg/btn-lg.component';\nimport { MatRippleModule } from '@angular/material/core';\nimport { RouterModule } from '@angular/router';\nimport { MatBadgeModule } from '@angular/material/badge';\n\n@NgModule({\n declarations: [BtnComponent, BtnLgComponent],\n imports: [\n CommonModule,\n FontAwesomeModule,\n MatTooltipModule,\n UtilityPipesModule,\n DirectivesModule,\n MatRippleModule,\n RouterModule,\n MatBadgeModule,\n ],\n exports: [BtnComponent, BtnLgComponent, FontAwesomeModule],\n})\nexport class BtnModule {}\n","import { Component, Input } from '@angular/core';\nimport {\n FormGroup,\n FormControl,\n AbstractControl,\n} from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { ETSUtilityService } from '../../../../Services/utility.service';\nimport { InputBasicComponent } from '../input-basic.component';\nimport { InputService } from '../input.service';\n\n@Component({\n selector: 'app-day-hour-min-input',\n templateUrl: './day-hour-min-input.component.html',\n styleUrls: ['./day-hour-min-input.component.scss'],\n})\nexport class DayHourMinInputComponent extends InputBasicComponent {\n // @Input() format: 'hm' | 'm' | 'dhm' = 'hm';\n @Input() clearOnDisable = false;\n subForm = new FormGroup(\n {\n days: new FormControl(null),\n hours: new FormControl(null),\n mins: new FormControl(null),\n }\n // this.validateFromParent.bind(this)\n );\n sub1: Subscription;\n sub2: Subscription;\n sub3: Subscription;\n updateSubForm: boolean = true;\n\n @Input('disabled') set _disabled(v: boolean) {\n // if (this.debug) debugger;\n super._disabled = v;\n if (this.control?.parent?.disabled) return;\n if (v) {\n if (this.clearOnDisable) this.subForm?.reset();\n this.subForm?.disable();\n } else {\n this.subForm?.enable();\n }\n }\n\n constructor(public iS: InputService, public uS: ETSUtilityService) {\n super(iS);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.type = this.type || 'number';\n\n this.sub1 = this.control?.valueChanges.subscribe((r) => {\n // if (this.debug) debugger;\n if (this.updateSubForm) {\n if (r?.toString().indexOf(':') == '-1')\n this.subForm?.patchValue(this.uS.minutesToDayHourMin(+r));\n } else this.updateSubForm = true;\n if (this.control?.disabled && this.subForm?.enabled) {\n this.subForm?.disable();\n } else if (this.control?.enabled && this.subForm?.disabled) {\n this.subForm.enable();\n }\n });\n2\n this.sub2 = this.control?.statusChanges.subscribe((r) => {\n if (this.debug) debugger;\n if (this.control.errors && (this.control.dirty || this.control.touched)) {\n this.subForm?.get('days').markAsDirty();\n this.subForm?.get('hours').markAsDirty();\n this.subForm?.get('mins').markAsDirty();\n this.subForm?.markAllAsTouched();\n }\n this.subForm?.get('days').setErrors(this.control?.errors);\n this.subForm?.get('hours').setErrors(this.control?.errors);\n this.subForm?.get('mins').setErrors(this.control?.errors);\n });\n\n this.sub3 = this.subForm?.valueChanges.subscribe((r) => {\n if (this.debug) debugger;\n if (this.control?.pristine) this.control?.markAsDirty();\n if (!this.control?.disabled) {\n const time = this.uS.dayHourMinToHourMinutes(\n r?.days,\n r?.hours,\n r?.mins\n );\n\n this.updateSubForm = false;\n this.control?.patchValue(time == '00:00' ? null : time);\n }\n });\n }\n\n // async isParentValid() {\n // return new Promise((res) => {\n // if (this.subForm?.pristine) res(null);\n // else {\n // setTimeout(() => {\n // this.subForm?.get('days').setErrors(this.control?.errors);\n // this.subForm?.get('hours').setErrors(this.control?.errors);\n // this.subForm?.get('mins').setErrors(this.control?.errors);\n // const err = this.control?.errors;\n // res(err);\n // }, 100);\n // }\n // });\n // }\n validateFromParent(form: FormGroup) {\n // debugger\n const controls: { [x: string]: AbstractControl } = {\n days: form.get('days'),\n hours: form.get('hours'),\n mins: form.get('mins'),\n };\n if (controls.days.value || controls.hours.value || controls.mins.value) {\n controls.days.markAsDirty();\n controls.hours.markAsDirty();\n controls.mins.markAsDirty();\n }\n // form?.get('days').markAsDirty();\n form?.get('days').setErrors(this.control?.errors);\n // form?.get('hours').markAsDirty();\n form?.get('hours').setErrors(this.control?.errors);\n // form?.get('mins').markAsDirty();\n form?.get('mins').setErrors(this.control?.errors);\n // return this.control?.errors;\n }\n ngOnDestroy(): void {\n this.sub1.unsubscribe();\n this.sub2.unsubscribe();\n this.sub3.unsubscribe();\n }\n}\n","<div class=\"row\">\n <app-input-label [colored]=\"colored\" [form]=\"form\" [hint]=\"hint\" [id]=\"id\" [invalidCheckbox]=\"invalidCheckbox\"\n [isRequired]=\"isRequired\" [label]=\"label\" [lblCl]=\"lblCl\" [light]=\"light\" [mini]=\"mini\" [showLabel]=\"showLabel\" *ngIf=\"showLabel\"\n [small]=\"small\" [stacked]=\"stacked\" [theme]=\"theme\" [xsmall]=\"xsmall\">\n </app-input-label>\n <div class=\"{{ stacked ? 'col-12' : 'col-md' }} position-relative\">\n <div class=\"row\">\n <div class=\"col-4\">\n <app-input-basic [showLabel]=\"false\" [form]=\"subForm\" name=\"days\" [min]=\"0\" [type]=\"type\" [noFormat]=\"true\" [stacked]=\"true\"\n [clearOnDisable]=\"clearOnDisable\" placeholder=\"days\" [showValidation]=\"daysTag.invalid\" #daysTag>\n </app-input-basic>\n </div>\n <div class=\"col-4\">\n <app-input-basic [showLabel]=\"false\" [form]=\"subForm\" name=\"hours\" [min]=\"0\" [type]=\"type\" [noFormat]=\"true\" [stacked]=\"true\"\n [clearOnDisable]=\"clearOnDisable\" placeholder=\"hours\" [showValidation]=\"hoursTag.invalid\" #hoursTag>\n </app-input-basic>\n </div>\n <div class=\"col-4\">\n <app-input-basic [showLabel]=\"false\" [form]=\"subForm\" name=\"mins\" [min]=\"0\" [type]=\"type\" [noFormat]=\"true\" [stacked]=\"true\"\n [clearOnDisable]=\"clearOnDisable\" placeholder=\"minutes\" [showValidation]=\"minsTag.invalid\" #minsTag>\n </app-input-basic>\n </div>\n </div>\n </div>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport {\n AsyncValidatorFn,\n FormControl,\n FormGroup,\n ValidatorFn,\n} from '@angular/forms';\nimport { InputBasicComponent } from './input-basic.component';\nimport { InputService } from './input.service';\n\n@Component({\n selector: 'app-input-td-rf', //template driven to reactive form\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.scss'],\n})\nexport class InputTD_RFComponent extends InputBasicComponent {\n validators: ValidatorFn[];\n @Input('validators') set _validators(v: ValidatorFn[]) {\n this.control?.removeValidators(this.validators);\n this.validators = v;\n this.control?.setValidators(v);\n this.control?.updateValueAndValidity();\n }\n\n asyncValidators: AsyncValidatorFn[];\n @Input('asyncValidators') set _asyncValidators(v: AsyncValidatorFn[]) {\n this.control?.removeValidators(this.asyncValidators);\n this.asyncValidators = v;\n this.control?.setValidators(v);\n this.control?.updateValueAndValidity();\n }\n\n private model: any;\n @Input('model') set _model(v: any) {\n if (v == this.model) return;\n this.model = v;\n if (this.debug) debugger;\n this.control?.enable();\n this.control?.patchValue(v);\n if (this.disabled) this.control?.disable();\n }\n @Output() modelChange = new EventEmitter();\n\n @Input('disabled') set _disabled(v: boolean) {\n if (this.debug) debugger;\n this.disabled = v;\n if (v) {\n if (this.clearOnDisable) this.control?.reset();\n this.control?.disable();\n } else if (this.control?.disabled) {\n this.control?.enable();\n }\n }\n constructor(public iS: InputService) {\n super(iS);\n this.name = 'item';\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.form = new FormGroup({\n item: new FormControl(this.model, this.validators, this.asyncValidators),\n });\n this.disableControl();\n this.control?.valueChanges.subscribe((r) => {\n this.modelChange.emit(r);\n this.disableControl();\n });\n this.control?.statusChanges.subscribe((r) => {\n if (this.debug) debugger;\n });\n }\n ngAfterViewInit() {\n super.ngAfterViewInit();\n }\n get invalid() {\n return this.control?.invalid;\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup } from '@angular/forms';\nimport { InputBasicComponent } from './input-basic.component';\nimport { InputService } from './input.service';\n\n@Component({\n selector: 'input-control',\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.scss'],\n})\nexport class InputControlComponent extends InputBasicComponent {\n @Input() form = new FormGroup({});\n\n @Input() set control(value: FormControl) {\n this.form.setControl(this.name, value);\n }\n get control(): FormControl {\n return this.form?.controls[this.name];\n }\n readonly name = 'control';\n constructor(public iS: InputService) {\n super(iS);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { InputTD_RFComponent } from '../input-td-rf.component';\nimport { InputService } from '../input.service';\n\n@Component({\n selector: 'app-input-year-month-td-rf',\n templateUrl: './year-month-td-rf.component.html',\n styleUrls: ['./year-month-td-rf.component.scss'],\n})\nexport class YearMonthTdRfComponent extends InputTD_RFComponent {\n @Input() yrModel: any;\n @Output() yrModelChange = new EventEmitter();\n\n @Input() mthModel: any;\n @Output() mthModelChange = new EventEmitter();\n\n constructor(public iS: InputService) {\n super(iS);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this._model = '';\n this.control?.statusChanges.subscribe((r) => {\n if (r == 'DISABLED') this.disabled = true;\n });\n }\n}\n","<div class=\"row\">\n <app-input-label [colored]=\"colored\" [form]=\"form\" [hint]=\"hint\" [id]=\"id\" [invalidCheckbox]=\"invalidCheckbox\"\n [isRequired]=\"isRequired\" [label]=\"label\" [lblCl]=\"lblCl\" [light]=\"light\" [mini]=\"mini\" [showLabel]=\"showLabel\"\n *ngIf=\"showLabel\" [small]=\"small\" [stacked]=\"stacked\" [theme]=\"theme\" [xsmall]=\"xsmall\">\n </app-input-label>\n <div class=\"{{ stacked ? 'col-12' : 'col-md' }} position-relative\">\n <div class=\"row gx-2\">\n <div class=\"col-md-6\">\n <app-input-td-rf [model]=\"yrModel\" [endLabel]=\"(mini?'yrs':'Years')\" [endLabelTooltip]=\"mini?'Years':null\"\n (modelChange)=\"yrModelChange.emit($event)\"\n type=\"number\" [id]=\"id\" [disabled]=\"disabled\" [showLabel]=\"false\"\n [validators]=\"validators\">\n </app-input-td-rf>\n </div>\n <div class=\"col-md-6\">\n <app-input-td-rf [model]=\"mthModel\" [endLabel]=\"(mini?'mos':'Months')\" [endLabelTooltip]=\"mini?'Months':null\"\n (modelChange)=\"mthModelChange.emit($event)\" type=\"number\" [id]=\"id\" [disabled]=\"disabled\"\n [showLabel]=\"false\" [validators]=\"validators\">\n </app-input-td-rf>\n </div>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InputComponent } from './input.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { InputBasicComponent } from './input-basic.component';\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { BtnModule } from '../btn/btn.module';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport {\n ErrorMessagePipe,\n ValidationMessageComponent,\n} from './validation-message/validation-message.component';\nimport { DirectivesModule } from '../../directives/index.directive';\nimport { DayHourMinInputComponent } from './day-hour-min-input/day-hour-min-input.component';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { InputTD_RFComponent } from './input-td-rf.component';\nimport { InputLabelComponent } from './input-label/input-label.component';\nimport { InputControlComponent } from './input-control.component';\nimport { YearMonthTdRfComponent } from './year-month-td-rf/year-month-td-rf.component';\nimport { InputPipesModule } from './inputs-pipes.pipe';\n\n@NgModule({\n imports: [\n BtnModule,\n CommonModule,\n DirectivesModule,\n FormsModule,\n InputPipesModule,\n MatTooltipModule,\n ReactiveFormsModule,\n UtilityPipesModule,\n ],\n declarations: [\n DayHourMinInputComponent,\n ErrorMessagePipe,\n InputBasicComponent,\n InputComponent,\n InputControlComponent,\n InputLabelComponent,\n InputTD_RFComponent,\n ValidationMessageComponent,\n YearMonthTdRfComponent,\n ],\n exports: [\n BtnModule,\n DayHourMinInputComponent,\n ErrorMessagePipe,\n FormsModule,\n InputBasicComponent,\n InputComponent,\n InputControlComponent,\n InputLabelComponent,\n InputPipesModule,\n InputTD_RFComponent,\n MatTooltipModule,\n ReactiveFormsModule,\n ValidationMessageComponent,\n YearMonthTdRfComponent, \n ],\n})\nexport class InputModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule, TitleCasePipe } from '@angular/common';\nimport { InputNGModelComponent } from './input-ngmodel.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ValidationMessageNgmodelComponent } from './validation-message-ngmodel/validation-message-ngmodel.component';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { InputPipesModule } from '../input/inputs-pipes.pipe';\n\n@NgModule({\n declarations: [InputNGModelComponent, ValidationMessageNgmodelComponent],\n imports: [CommonModule, FormsModule, ReactiveFormsModule, InputPipesModule,UtilityPipesModule,MatTooltipModule],\n exports: [InputNGModelComponent, FormsModule, ReactiveFormsModule, ValidationMessageNgmodelComponent],\n providers: [TitleCasePipe]\n})\nexport class InputNGModelModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AutocompleteNgModelComponent } from './autocomplete-ng-model.component';\nimport { MatAutocompleteModule as MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { InputModule } from '../input/input.module';\nimport { InputNGModelModule } from '../input-NgModel/input-ngmodel.module';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\n\n\n\n@NgModule({\n declarations: [\n AutocompleteNgModelComponent\n ],\n imports: [\n CommonModule,InputModule,MatAutocompleteModule,InputNGModelModule,UtilityPipesModule\n ],\n exports: [\n AutocompleteNgModelComponent\n ]\n})\nexport class AutocompleteNgModelModule { }\n","import { Component, Input } from '@angular/core';\nimport { AbstractControl, FormControl } from '@angular/forms';\n \nimport { merge } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\nimport { IOption } from '../../models/form-schema.model';\nimport { InputBasicComponent } from '../input/input-basic.component';\nimport { InputService } from '../input/input.service';\nimport { AutocompleteService } from './autocomplete.service';\n\n@Component({\n selector: 'app-autocomplete',\n templateUrl: './autocomplete.component.html',\n styleUrls: ['../input/input.component.scss', './autocomplete.component.scss'],\n})\nexport class AutocompleteComponent<\n TFormGroup extends {\n [K in keyof TFormGroup]: AbstractControl<any, any>;\n } = any,\n TControl = any,\n TOption = any\n> extends InputBasicComponent<TFormGroup, TControl, TOption> {\n filteredOptions: IOption[];\n @Input() validate = true;\n constructor(public iS: InputService, public autoS: AutocompleteService) {\n super(iS);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.control?.addValidators(this.includesOption.bind(this));\n this.control?.valueChanges.subscribe((r) => {\n // debugger\n super.change({ target: { value: r } });\n });\n // this.options$.subscribe((r) => {\n // if (this.debug) debugger;\n // (this.control as FormControl)?.patchValue(this.control?.value,{emitEvent:false});\n // if (this.control.disabled) this.control.disable({ emitEvent: false });\n // });\n merge(\n this.control.valueChanges.pipe(startWith('')),\n this.options$\n ).subscribe((r) => {\n this.filteredOptions = this.autoS.filterOptions(\n this.control.value,\n this.options\n );\n });\n }\n\n displayWith = (val: string) => {\n return this.options.find((x) => x.value == val)?.label || val;\n };\n\n includesOption = (control: AbstractControl) => {\n const val = control?.value;\n if (!val) return null;\n if (!this.options || this.options.length === 0) return null;\n // debugger\n if (this.options.find((x) => x.value == val)) return null;\n else return { notFound: true };\n };\n}\n","<div class=\"row align-items-center\">\n <app-input-label [colored]=\"colored\" [form]=\"form\" [hint]=\"hint\" [id]=\"id\" [invalidCheckbox]=\"invalidCheckbox\"\n *ngIf=\"showLabel\" [isRequired]=\"isRequired\" [label]=\"label\" [lblCl]=\"lblCl\" [light]=\"light\" [mini]=\"mini\"\n [showLabel]=\"showLabel\" [small]=\"small\" [stacked]=\"stacked\" [theme]=\"theme\" [xsmall]=\"xsmall\">\n </app-input-label>\n <div class=\"{{stacked?'col-12':'col-md'}} position-relative\">\n <form [formGroup]=\"form|toAny\">\n <input type=\"text\" data-noformat=\"true\" [formControlName]=\"name|toAny \" placeholder=\"{{placeholder}}\" id=\"{{id}}\"\n [class]=\"inpCl|inputClass:valid:invalid:showValidation\" [required]=\"required\" [readonly]=\"readonly\"\n #trigger=\"matAutocompleteTrigger\" [matAutocomplete]=\"auto\" #inp>\n <i class=\"input-icon fa fa-search\"\n (click)=\"$event.stopPropagation(); trigger.openPanel()\"></i>\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayWith\">\n <mat-option *ngFor=\"let item of filteredOptions ; trackBy:iS.trackByValue\" [value]=\"item.value\">\n <div class=\"option\" [matTooltip]=\"item.label\" [matTooltipDisabled]=\"ele.scrollWidth<=ele.offsetWidth\" #ele>\n {{item.label}}</div>\n </mat-option>\n </mat-autocomplete>\n <ng-container *ngIf=\"control?.dirty && showValidation && showValidationIcon \">\n <div [ngClass]=\"{valid:control?.valid}\" class=\" validity-icon\"><i class=\"fa fa-check\"></i></div>\n <div [ngClass]=\"{pending:control?.pending}\" class=\" validity-icon\"><i class=\"fa fa-spinner fa-spin\"></i></div>\n <div [ngClass]=\"{invalid:control?.invalid}\" class=\" validity-icon\"><i class=\"fa fa-times\"></i></div>\n </ng-container>\n </form>\n </div>\n</div>\n<app-validation-message *ngIf=\"showValidationMsg\" [control]=\"control\" [label]=\"label\"></app-validation-message>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ValidatorFn, AsyncValidatorFn, FormGroup, FormControl } from '@angular/forms';\nimport { InputService } from '../../input/input.service';\nimport { AutocompleteComponent } from '../autocomplete.component';\nimport { AutocompleteService } from '../autocomplete.service';\n\n@Component({\n selector: 'autocomplete-td-rf',\n templateUrl: './autocomplete-td-rf.component.html',\n styleUrls: ['./autocomplete-td-rf.component.scss'],\n})\nexport class AutocompleteTdRfComponent extends AutocompleteComponent {\n validators: ValidatorFn[];\n @Input('validators') set _validators(v: ValidatorFn[]) {\n this.control?.removeValidators(this.validators);\n this.validators = v;\n this.control?.setValidators(v);\n this.control?.updateValueAndValidity();\n }\n\n asyncValidators: AsyncValidatorFn[];\n @Input('asyncValidators') set _asyncValidators(v: AsyncValidatorFn[]) {\n this.control?.removeValidators(this.asyncValidators);\n this.asyncValidators = v;\n this.control?.setValidators(v);\n this.control?.updateValueAndValidity();\n }\n\n private model: any;\n @Input('model') set _model(v: any) {\n if (v == this.model) return;\n this.model = v;\n if (this.debug) debugger;\n this.control?.enable();\n this.control?.patchValue(v);\n if (this.disabled) this.control?.disable();\n }\n @Output() modelChange = new EventEmitter();\n\n @Input('disabled') set _disabled(v: boolean) {\n if (this.debug) debugger;\n this.disabled = v;\n if (v) {\n if (this.clearOnDisable) this.control?.reset();\n this.control?.disable();\n } else if (this.control?.disabled) {\n this.control?.enable();\n }\n }\n \n constructor(public iS: InputService, public autoS: AutocompleteService) {\n super(iS, autoS);\n this.name = 'item';\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.form = new FormGroup({\n item: new FormControl(this.model, this.validators, this.asyncValidators),\n });\n this.disableControl();\n this.control?.valueChanges.subscribe((r) => {\n this.modelChange.emit(r);\n this.disableControl();\n });\n this.control?.statusChanges.subscribe((r) => {\n if (this.debug) debugger;\n });\n }\n ngAfterViewInit() {\n super.ngAfterViewInit();\n }\n get invalid() {\n return this.control?.invalid;\n }\n}\n","<p>autocomplete-td-rf works!</p>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AutocompleteComponent } from './autocomplete.component';\nimport { InputModule } from '../input/input.module';\nimport {MatAutocompleteModule as MatAutocompleteModule} from '@angular/material/autocomplete';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { AutocompleteTdRfComponent } from './autocomplete-td-rf/autocomplete-td-rf.component';\n\n\n@NgModule({\n declarations: [AutocompleteComponent, AutocompleteTdRfComponent],\n imports: [\n CommonModule,\n InputModule,\n MatAutocompleteModule,\n UtilityPipesModule,\n ],\n exports: [AutocompleteComponent, AutocompleteTdRfComponent],\n})\nexport class AutocompleteModule {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit,\n} from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup } from '@angular/forms';\nimport { ModalComponent } from '../../modal/modal.component'; ;\n\n@Component({\n selector: 'details-btn',\n templateUrl: './details-btn.component.html',\n styleUrls: ['./details-btn.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DetailsBtnComponent<FG> {\n @Input() form: FormGroup<{ [K in keyof FG]: FormControl<any> }>;\n @Input() fields: (keyof typeof this.form.controls)[];\n @Input() modal: ModalComponent;\n constructor(public cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.form?.valueChanges.subscribe(r=>{\n this.cdr.detectChanges()\n })\n }\n\n get hasDetails() {\n return this.fields?.some((f) => !!this.form.controls[f].value) || false;\n }\n\n get type() {\n return this.hasDetails ? 'primary' : 'secondary';\n }\n}\n","<app-btn icon=\"info\" text=\"Details\" [type]=\"type\" (mclick)=\"modal?.open()\"></app-btn>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DetailsBtnComponent } from './details-btn.component';\nimport { BtnModule } from '../btn.module';\n\n\n\n@NgModule({\n declarations: [DetailsBtnComponent],\n imports: [CommonModule, BtnModule],\n exports: [DetailsBtnComponent],\n})\nexport class DetailsBtnModule {}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n})\nexport class CardComponent implements OnInit {\n @Input() header:string\n constructor() {}\n\n ngOnInit(): void {}\n}\n"," <div class=\"card mt-3\">\n <h5 class=\"card-header bg-primary color-white\">\n {{ header | appTranslate | async }}\n </h5>\n <div class=\"card-body\">\n <ng-content></ng-content>\n </div>\n </div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CardComponent } from './card.component';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\n\n@NgModule({\n declarations: [CardComponent],\n imports: [CommonModule, UtilityPipesModule],\n exports: [CardComponent],\n})\nexport class CardModule {}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styles: [\n `\n .que {\n font-size: 100px;\n }\n `,\n ],\n})\nexport class ConfirmDialogComponent implements OnInit {\n constructor(\n @Inject(MAT_DIALOG_DATA) public text: string,\n public dialogRef: MatDialogRef<ConfirmDialogComponent>\n ) {}\n\n ngOnInit(): void {}\n yes() {\n this.dialogRef.close(true);\n }\n no() {\n this.dialogRef.close(false);\n }\n}\n","<div class=\"text-center\">\n <div class=\"font-weight-bold d-inline-block bg-peimary text-light mt-3 rounded ps-4 pe-4 pt-1 pb-1\">\n {{'CONFIRM'|appTranslate|async}}\n </div>\n <div class=\" \">\n <span class=\"fa fa-warning que text-peimary\">\n \n </span>\n </div>\n\n <div class=\"card-body overflow-auto pre-line\" [innerHTML]=\"text|appTranslate|async\">\n </div>\n\n <div class=\"p-1 p-md-4 \">\n <div class=\"justify-content-between d-flex align-items-center\">\n <div class=\"col-5 ps-0\">\n <button class=\"btn btn-outline-danger m-0 w-100\" (click)=\"no()\">{{'No'|appTranslate|async}}</button>\n </div>\n <div class=\"col-5 pe-0 text-right\">\n <button class=\"btn btn-outline-success m-0 w-100\" (click)=\"yes()\">{{'Yes'|appTranslate|async}}</button>\n </div>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ConfirmDialogComponent } from './confirm-dialog.component';\nimport { MatButtonModule as MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { DirectivesModule } from '../../directives/index.directive';\n\n@NgModule({\n declarations: [ConfirmDialogComponent],\n exports: [ConfirmDialogComponent],\n imports: [CommonModule, MatDialogModule, MatButtonModule,UtilityPipesModule,DirectivesModule],\n})\nexport class ConfirmDialogModule {}\n","import { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfirmDialogComponent } from './confirm-dialog.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ETSConfirmDialogService {\n constructor(public dialog: MatDialog) {}\n confirm(text: string) {\n return this.dialog\n .open(ConfirmDialogComponent, {\n data: text,\n height: 'auto',\n width: '450px',\n autoFocus: false,\n })\n .afterClosed()\n .toPromise()\n .then((r) => {\n if (r) {\n return true;\n } else {\n return false;\n }\n });\n }\n}\n","import {Component, HostListener, Input, OnInit} from '@angular/core';\nimport {\n faArrowLeft,\n faArrowRight,\n faCheck,\n faClone,\n faCogs,\n faEdit,\n faEye,\n faFile,\n faHistory,\n faPen,\n faPlay,\n faPlus,\n faSave,\n faSearch, faSlidersH,\n faTrash,\n faUpload\n} from '@fortawesome/free-solid-svg-icons';\n\n\n@Component({\n selector: 'app-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n})\nexport class ButtonComponent implements OnInit {\n faEye = faEye;\n faPlus = faPlus;\n faClone = faClone;\n faSearch = faSearch;\n faCheck = faCheck;\n faFile = faFile;\n faSave = faSave;\n faEdit = faEdit;\n faUpload = faUpload;\n faPlay = faPlay;\n faPen = faPen;\n faTrash = faTrash;\n faArrowRight = faArrowRight;\n faArrowLeft = faArrowLeft;\n @Input() buttonType: string = '';\n @Input() text: string = '';\n @Input() disabled:boolean;\n faHistory = faHistory;\n faSlidersH = faSlidersH;\n faCogs = faCogs;\n\n constructor() {}\n\n ngOnInit(): void {}}\n\n\n","<div *ngIf=\"buttonType === 'show'\">\n <div matRipple class=\"btn btn-dark btn-lg\">\n <fa-icon [icon]=\"faEye\"></fa-icon>\n {{'Show'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'showCustom'\">\n <div matRipple class=\"btn btn-dark btn-lg\">\n <fa-icon [icon]=\"faEye\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'showsmall'\">\n <div matRipple class=\"btn btn-dark btn-lg\">\n <span class=\"small1\">\n <fa-icon [icon]=\"faEye\"></fa-icon>\n {{'Show'|appTranslate|async}}\n </span>\n\n </div>\n</div>\n<div *ngIf=\"buttonType === 'create'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{'Create New'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'createGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{'Create New'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'createCustom'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'createCustomRed'\">\n <div matRipple class=\"btn btn-outline-danger btn-lg\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'createCustomGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'createCustom2'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n\n <span class=\"small1\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{text|appTranslate|async}}\n </span>\n </div>\n</div>\n<div *ngIf=\"buttonType === 'createCustom2GB'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n\n <span class=\"small1\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{text|appTranslate|async}}\n </span>\n </div>\n</div>\n<div *ngIf=\"buttonType === 'createCustom2small'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg \">\n\n <span class=\"small1\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{text|appTranslate|async}}\n </span>\n </div>\n</div>\n<div *ngIf=\"buttonType === 'createCustom2smallRed'\">\n <div matRipple class=\"btn btn-outline-danger btn-lg \">\n\n <span class=\"small1\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{text|appTranslate|async}}\n </span>\n </div>\n</div>\n<div *ngIf=\"buttonType === 'createCustom2smallGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg \">\n\n <span class=\"small1\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{text|appTranslate|async}}\n </span>\n </div>\n</div>\n<div *ngIf=\"buttonType === 'clone'\">\n <div matRipple class=\"btn btn btn-outline-primary btn-lg btn-clone\">\n <fa-icon [icon]=\"faClone\"></fa-icon>\n {{'Clone'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'clone-red'\">\n <div matRipple class=\"btn btn btn-outline-danger btn-lg btn-clone\">\n <fa-icon [icon]=\"faClone\"></fa-icon>\n {{'Clone'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'search'\">\n <div matRipple class=\"btn btn btn-outline-primary btn-lg btn-clone\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{'Search'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'searchRed'\">\n <div matRipple class=\"btn btn btn-outline-danger btn-lg btn-clone\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{'Search'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'searchGB'\">\n <div matRipple class=\"btn btn btn-outline-primary btn-lg btn-clone\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{'Search'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'searchCustom'\">\n <div matRipple class=\"btn btn btn-outline-primary btn-lg btn-clone\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'searchCustomGB'\">\n <div matRipple class=\"btn btn btn-outline-primary btn-lg btn-clone\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'searchGb'\">\n <div matRipple class=\"btn btn btn-outline-primary btn-lg btn-clone\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{'Search'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'default'\">\n <div matRipple class=\"btn btn btn-outline-primary btn-lg btn-clone\">\n <fa-icon></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'createclone'\">\n <div matRipple class=\"btn btn-outline-primary\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{'Create New'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'add'\">\n <div matRipple class=\"btn btn-outline-primary\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{'Add'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'addred'\">\n <div matRipple class=\"btn btn-outline-danger\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{'Add'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'addYellow'\">\n <div matRipple class=\"btn btn-outline-primary\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{'Add'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'add-red'\">\n <div matRipple class=\"btn btn-outline-secondry\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{'Add'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'edit'\">\n <div matRipple class=\"btn btn-outline-primary\">\n <fa-icon [icon]=\"faEdit\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'editGB'\">\n <div matRipple class=\"btn btn-outline-primary\">\n <fa-icon [icon]=\"faEdit\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'editRed'\">\n <div matRipple class=\"btn btn-outline-danger\">\n <fa-icon [icon]=\"faEdit\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'addCustom'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'addCustomGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n\n\n<div *ngIf=\"buttonType === 'addCustom-red'\">\n <div matRipple class=\"btn btn-outline-danger btn-lg\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'editCustom'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone p-0\">\n <fa-icon [icon]=\"faEdit\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'editCustomGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone p-0\">\n <fa-icon [icon]=\"faEdit\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'submit'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faCheck\"></fa-icon>\n {{'Submit'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'submitRed'\">\n <div matRipple class=\"btn btn-outline-danger btn-lg\">\n <fa-icon [icon]=\"faCheck\"></fa-icon>\n {{'Submit'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'update'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faCheck\"></fa-icon>\n {{'Update'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'history'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faHistory\"></fa-icon>\n {{'History'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'historyGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faHistory\"></fa-icon>\n {{'History'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'adjust'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faSlidersH\"></fa-icon>\n {{'Adjust'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'adjustGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faSlidersH\"></fa-icon>\n {{'Adjust'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'generate'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faCogs\"></fa-icon>\n {{'Generate'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'generateGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faCogs\"></fa-icon>\n {{'Generate'|appTranslate|async}}\n </div>\n</div>\n\n\n\n\n<div *ngIf=\"buttonType === 'document'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n <fa-icon [icon]=\"faFile\"></fa-icon>\n {{'Document'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'find'\" >\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{'Find'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'findRed'\">\n <div matRipple class=\"btn btn-outline-danger btn-clone btn-lg\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{'Find'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'Find Policy'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n\n {{'Find Policy'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'action'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n {{'Action'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'Authorise'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n {{'Authorise'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'Decline'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n {{'Decline'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'changestatus'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n {{'Status'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'generates'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n {{'Generate'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'adjusts'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n {{'Adjust'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'historys'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n {{'History'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'register'\">\n <div matRipple class=\"btn btn-primary\">\n {{'Register New Claim'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'submits'\">\n <div matRipple class=\"btn btn-primary\">\n {{'Submit'|appTranslate|async}}\n </div>\n</div>\n\n\n<div *ngIf=\"buttonType === 'findGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{'Find'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'find-red'\">\n <div matRipple class=\"btn btn-outline-danger btn-clone-red btn-lg\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{'Find'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'findsmall'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n <span class=\"small1\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{'Find'|appTranslate|async}}\n </span>\n\n </div>\n</div>\n<div *ngIf=\"buttonType === 'findsmallred'\">\n <div matRipple class=\"btn btn-outline-danger btn-clone btn-lg\">\n <span class=\"small1\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{'Find'|appTranslate|async}}\n </span>\n\n </div>\n</div>\n<div *ngIf=\"buttonType === 'findsmallGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n <span class=\"small1\">\n <fa-icon [icon]=\"faSearch\"></fa-icon>\n {{'Find'|appTranslate|async}}\n </span>\n\n </div>\n</div>\n<div *ngIf=\"buttonType === 'save'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faSave\"></fa-icon>\n {{'Save'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'saveGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faSave\"></fa-icon>\n {{'Save'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'save-red'\">\n <div matRipple class=\"btn btn-outline-danger btn-lg\">\n <fa-icon [icon]=\"faSave\"></fa-icon>\n {{'Save'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'saverun-red'\">\n <div matRipple class=\"btn btn-outline-danger btn-lg\">\n <fa-icon [icon]=\"faSave\"></fa-icon>\n {{'Save & Run'|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'custSave'\">\n <div matRipple class=\"btn btn-outline-primary btn-lg\">\n <fa-icon [icon]=\"faSave\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'upload'\">\n <div matRipple class=\"btn btn-primary btn-lg\">\n <fa-icon [icon]=\"faUpload\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'uploadRed'\">\n <div matRipple class=\"btn btn-danger btn-lg\">\n <fa-icon [icon]=\"faUpload\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'uploadGB'\">\n <div matRipple class=\"btn btn-primary btn-lg\">\n <fa-icon [icon]=\"faUpload\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'custSave2'\">\n <div matRipple class=\"btn btn-outline-primary \">\n <fa-icon [icon]=\"faSave\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'btnCustomClone'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone\">\n {{text|appTranslate|async}}</div>\n</div>\n<div *ngIf=\"buttonType === 'btnCustomCloneRed'\">\n <div matRipple class=\"btn btn-outline-danger btn-clone\">\n {{text|appTranslate|async}}</div>\n</div>\n\n<div *ngIf=\"buttonType === 'btnCustomCloneGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone\">\n {{text|appTranslate|async}}</div>\n</div>\n\n<div *ngIf=\"buttonType === 'create-red'\">\n <div matRipple class=\"btn btn-outline-danger btn-lg\">\n <fa-icon [icon]=\"faPlus\"></fa-icon>\n {{'Create New'|appTranslate|async}}\n </div>\n</div>\n\n\n<div *ngIf=\"buttonType === 'show-red'\">\n <div matRipple class=\"btn btn-secondry bg-dark color-white btn-lg\">\n <fa-icon [icon]=\"faEye\"></fa-icon>\n {{'Show'|appTranslate|async}}\n </div>\n</div>\n\n\n<div *ngIf=\"buttonType === 'custSave-red'\">\n <div matRipple class=\"btn btn-outline-secondry btn-lg\">\n <fa-icon [icon]=\"faSave\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'btnCustomNote'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone\">\n <fa-icon [icon]=\"faPen\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'btnCustomNoteRed'\">\n <div matRipple class=\"btn btn-outline-danger btn-clone\">\n <fa-icon [icon]=\"faPen\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'btnCustomNoteGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone\">\n <fa-icon [icon]=\"faPen\"></fa-icon>\n {{text|appTranslate|async}}\n </div>\n</div>\n<div *ngIf=\"buttonType === 'btnCustomCloneRaised'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-raised\">\n {{text|appTranslate|async}}</div>\n</div>\n<div *ngIf=\"buttonType === 'btnCustomCloneRaisedRed'\">\n <div matRipple class=\"btn btn-outline-danger btn-clone-red btn-raised\">\n {{text|appTranslate|async}}</div>\n</div>\n<div *ngIf=\"buttonType === 'btnCustomCloneRaisedYellow'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone-yellow btn-raised\">\n {{text|appTranslate|async}}</div>\n</div>\n<div *ngIf=\"buttonType === 'run'\">\n <div matRipple class=\"btn btn-primary btn-lg\">\n <fa-icon [icon]=\"faPlay\"></fa-icon>\n {{'Run'|appTranslate|async}}\n\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'insert'\">\n <div matRipple class=\"btn btn-outline-primary\">\n\n {{'Insert'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'delete'\">\n <div matRipple class=\"btn btn-outline-danger btn-lg\">\n\n <fa-icon [icon]=\"faTrash\"></fa-icon>\n\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'translate'\">\n <div matRipple class=\"btn btn-dark btn-lg\">\n {{'Translate'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'next'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n {{'Next'|appTranslate|async}}\n <fa-icon [icon]=\"faArrowRight\"></fa-icon>\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'nextRed'\">\n <div matRipple class=\"btn btn-outline-danger btn-clone btn-lg\">\n {{'Next'|appTranslate|async}}\n <fa-icon [icon]=\"faArrowRight\"></fa-icon>\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'nextGB'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n {{'Next'|appTranslate|async}}\n <fa-icon [icon]=\"faArrowRight\"></fa-icon>\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'next-red'\">\n <div matRipple class=\"btn btn-outline-danger btn-clone-red btn-lg\">\n {{'Next'|appTranslate|async}}\n <fa-icon [icon]=\"faArrowRight\"></fa-icon>\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'addFilter'\">\n <div matRipple class=\"btn btn-dark btn-lg\">\n\n {{'Add Filter'|appTranslate|async}}\n </div>\n</div>\n\n<div *ngIf=\"buttonType === 'prev'\">\n <div matRipple class=\"btn btn-outline-primary btn-clone btn-lg\">\n <fa-icon [icon]=\"faArrowLeft\"></fa-icon>\n {{'Prev'|appTranslate|async}}\n </div>\n</div>\n\n\n\n<div *ngIf=\"buttonType === 'uploadLg'\">\n <div matRipple class=\"btn btn-primary btn-lg\">\n <fa-icon [icon]=\"faUpload\"></fa-icon>\n {{'Upload'|appTranslate|async}}\n </div>\n</div>\n<!-- -->\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { ButtonComponent } from './button.component';\nimport { DirectivesModule } from '../../../directives/index.directive';\nimport { UtilityPipesModule } from '../../../pipes/utility.pipe';\nimport { MatRippleModule } from '@angular/material/core';\n\n@NgModule({\n declarations: [ButtonComponent],\n imports: [\n CommonModule,\n FontAwesomeModule,\n UtilityPipesModule,\n MatRippleModule,\n ],\n exports: [ButtonComponent],\n})\nexport class ComponentsModule {}\n","export type FileNameFormat =\n | 'NON_POLICY_DOCUMENT'\n | 'POLICY_DOCUMENT'\n | 'POLICY_DOCUMENT_WITH_SUFFIX';\n\n// export const formats = {\n// NON_POLICY_DOCUMENT: 'refCat_refNo_docSubCat_title.ext',\n// POLICY_DOCUMENT: 'refCat_policyNo-policyCode_docSubCat_title.ext',\n// POLICY_DOCUMENT_WITH_SUFFIX: 'refCat_policyNo-policyCode-policyNoSuffix_docSubCat_title.ext',\n// };\n\nexport const formats = {\n NON_POLICY_DOCUMENT: 'refCat_refNo_docSubCat_title',\n POLICY_DOCUMENT: 'refCat_policyNo-policyCode_docSubCat_title',\n POLICY_DOCUMENT_WITH_SUFFIX: 'refCat_policyNo-policyCode-policyNoSuffix_docSubCat_title',\n};\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { FileNameFormat, formats } from './documents-name-display.model';\n\n@Component({\n selector: 'app-documents-name-display',\n templateUrl: './documents-name-display.component.html',\n styleUrls: ['./documents-name-display.component.scss'],\n})\nexport class DocumentsNameDisplayComponent implements OnInit {\n @Input() files: File[];\n @Input() fileNameFormat: FileNameFormat;\n @Output() valid = new EventEmitter<boolean>();\n @Output() error = new EventEmitter<any>();\n fileFormats = formats;\n\n fileNames: any[];\n errors: string[];\n\n constructor() {}\n\n ngOnInit(): void {}\n\n ngOnChanges(changes: SimpleChanges) {\n // reset errors\n this.errors = [];\n\n if (changes.files.currentValue != changes.files.previousValue) {\n this.displayFileNames(changes.files.currentValue);\n }\n }\n\n displayFileNames(files) {\n this.fileNames = files\n ?.map((file) => this.parseFileName(file.name))\n // filter out files that weren't rightly named\n .filter((item) => !(item === null));\n }\n\n parseFileName(name) {\n let params;\n // returns an object representing different parts of the name or null if the name doesn't match\n switch (this.fileNameFormat) {\n case 'POLICY_DOCUMENT':\n params = this.getPolicyDocumentParams(name);\n break;\n case 'POLICY_DOCUMENT_WITH_SUFFIX':\n params = this.getPolicyDocumentWithSuffixParams(name);\n break;\n case 'NON_POLICY_DOCUMENT':\n params = this.getNonPolicyDocumentParams(name);\n break;\n default:\n params = {};\n }\n\n if (this.errors.length) {\n this.valid.emit(false);\n this.error.emit(this.errors);\n } else {\n this.valid.emit(true);\n }\n\n return params;\n }\n\n getPolicyDocumentParams(name) {\n const params = name.split(/[_\\-\\.]/i);\n\n const [refCat, policyNo, policyCode, docSubCat, title, ext] = params;\n\n const valid =\n refCat &&\n policyNo &&\n policyCode &&\n docSubCat &&\n title &&\n ext &&\n params.length === 6;\n if (!valid) this.errors.push(name);\n\n return valid ? { refCat, policyNo, policyCode, docSubCat, title } : null;\n }\n\n getPolicyDocumentWithSuffixParams(name) {\n const params = name.split(/[_\\-\\.]/i);\n\n const [\n refCat,\n policyNo,\n policyCode,\n policyNoSuffix,\n docSubCat,\n title,\n ext,\n ] = params;\n\n const valid =\n refCat &&\n policyNo &&\n policyCode &&\n policyNoSuffix &&\n docSubCat &&\n title &&\n ext &&\n params.length === 7;\n if (!valid) this.errors.push(name);\n\n return valid\n ? {\n refCat,\n policyNo,\n policyCode,\n policyNoSuffix,\n docSubCat,\n title,\n }\n : null;\n }\n\n getNonPolicyDocumentParams(name) {\n const params = name.split(/[_\\.]/i);\n\n const [refCat, refNo, docSubCat, title, ext] = params;\n const valid =\n refCat && refNo && docSubCat && title && ext && params.length === 5;\n if (!valid) this.errors.push(name);\n\n return valid ? { refCat, refNo, docSubCat, title } : null;\n }\n}\n","<div>\n <div class=\"row justify-content-center\">\n <div class=\"col-md-auto p-3 mt-4 text-center\">\n <span class=\"text-muted\">{{'Upload files named in this format: '|appTranslate|async}}</span>\n <span>{{fileFormats[fileNameFormat]}}</span>\n </div>\n </div>\n <div class=\"row justify-content-center\">\n <div *ngIf=\"errors?.length\" class=\"col-md-auto text-danger border border-danger light-red-bg rounded text-center mt-2 mb-4\">\n <p>{{'The following files are not in the right format: '}}</p>\n <span *ngFor=\"let error of errors\" class=\"me-5\">{{error}}</span>\n </div>\n </div>\n <div class=\"table-responsive\" *ngIf=\"files?.length\">\n <table class=\"table table-striped col-md-auto\" [ngSwitch]=\"fileNameFormat\">\n <ng-container *ngSwitchCase=\"'NON_POLICY_DOCUMENT'\">\n <thead>\n <th>{{'Ref Cat'|appTranslate|async}}</th>\n <th>{{'Ref No'|appTranslate|async}}</th>\n <th>{{'Doc SubCat'|appTranslate|async}}</th>\n <th>{{'Title'|appTranslate|async}}</th>\n </thead>\n <tbody>\n <tr *ngFor=\"let file of fileNames\">\n <td>{{file.refCat}}</td>\n <td>{{file.refNo}}</td>\n <td>{{file.docSubCat}}</td>\n <td>{{file.title}}</td>\n </tr>\n </tbody>\n </ng-container>\n <ng-container *ngSwitchCase=\"'POLICY_DOCUMENT'\">\n <thead>\n <th>{{'Ref Cat'|appTranslate|async}}</th>\n <th>{{'Policy No'|appTranslate|async}}</th>\n <th>{{'Policy Code'|appTranslate|async}}</th>\n <th>{{'Doc SubCat'|appTranslate|async}}</th>\n <th>{{'Title'|appTranslate|async}}</th>\n </thead>\n <tbody>\n <tr *ngFor=\"let file of fileNames\">\n <td>{{file.refCat}}</td>\n <td>{{file.policyNo}}</td>\n <td>{{file.policyCode}}</td>\n <td>{{file.docSubCat}}</td>\n <td>{{file.title}}</td>\n </tr>\n </tbody>\n </ng-container>\n <ng-container *ngSwitchCase=\"'POLICY_DOCUMENT_SUFFIX'\">\n <thead>\n <th>{{'Ref Cat'|appTranslate|async}}</th>\n <th>{{'Policy No'|appTranslate|async}}</th>\n <th>{{'Policy Code'|appTranslate|async}}</th>\n <th>{{'Policy No Suffix'|appTranslate|async}}</th>\n <th>{{'Doc SubCat'|appTranslate|async}}</th>\n <th>{{'Title'|appTranslate|async}}</th>\n </thead>\n <tbody>\n <tr *ngFor=\"let file of fileNames\">\n <td>{{file.refCat}}</td>\n <td>{{file.policyNo}}</td>\n <td>{{file.policyCode}}</td>\n <td>{{file.policyNoSuffix}}</td>\n <td>{{file.docSubCat}}</td>\n <td>{{file.title}}</td>\n </tr>\n </tbody>\n </ng-container>\n </table>\n\n </div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InputModule } from '../input/input.module';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { RouterModule } from '@angular/router';\nimport { DirectivesModule } from '../../directives/index.directive';\nimport { DocumentsNameDisplayComponent } from './documents-name-display.component';\n\n@NgModule({\n declarations: [DocumentsNameDisplayComponent],\n imports: [\n CommonModule,\n InputModule,\n UtilityPipesModule,\n MatTooltipModule,\n RouterModule,\n DirectivesModule,\n ],\n exports: [DocumentsNameDisplayComponent],\n})\nexport class DocumentsNameDisplayModule {}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ETSInputType } from '../../models/index.model';\n\n@Component({\n selector: 'app-editable-text-case',\n templateUrl: './editable-text-case.component.html',\n styleUrls: ['./editable-text-case.component.scss'],\n})\nexport class EditableTextCaseComponent implements OnInit {\n @Input() action: any;\n @Input() coloredLbl: boolean;\n @Input() coloredVal: boolean;\n @Input() form: any;\n @Input() formatter: (item) => string | Promise<string> | Observable<string>;\n @Input() hint: string;\n @Input() label: string;\n @Input() light: boolean;\n @Input() mini: boolean;\n @Input() name: string;\n @Input() route: string;\n @Input() routeFunc: (item) => Promise<string> | Observable<string>;\n @Input() showEditing: boolean;\n @Input() stacked: boolean;\n @Input() type: ETSInputType;\n @Input() value: any;\n @Input() wrapLabel: boolean = true;\n editing: boolean;\n constructor( ) {}\n\n ngOnInit(): void {}\n reset() {\n this.editing = false;\n }\n unreset() {\n if (this.action) {\n this.action();\n } else {\n this.editing = true;\n }\n } \n}\n","<div class=\"row align-items-center\">\n <label [matTooltip]=\"hint\" class=\"col-md-{{stacked?'12 pb-0':mini?'auto':''}} m-0 hide-scroll-x\"\n [ngClass]=\"{'text-primary':coloredLbl,light,'overflow-x-auto':wrapLabel}\">\n {{label|appTranslate|async}}\n </label>\n <div class=\"{{stacked?'col-12':'col-md'}} position-relative\">\n <div class=\"row align-items-center\">\n <ng-container *ngIf=\"editing; else elseTemplate\">\n <div class=\"col-9 pe-0\">\n <app-input-basic [form]=\"form\" [stacked]=\"true\" [showLabel]=\"false\" [name]=\"name\" [type]=\"type\">\n </app-input-basic>\n </div>\n <div class=\"col-auto \">\n <i (click)=\"reset()\" class=\"ps-1 pointer fas fa-undo-alt text-danger\"></i>\n </div>\n </ng-container>\n <ng-template #elseTemplate> \n <a [mrouterLink]=\"route||(routeFunc|functionCaller1:value|async)\"\n class=\"{{!coloredVal?'':'text-primary'}} col-{{!stacked?'auto':showEditing?'9':'12'}} lbl\" >\n <div class=\"hide-scroll-x overflow-x-auto\">{{((value|valueFormatter:formatter)|async)||'-'}}</div>\n </a>\n <div class=\"col-auto \" *ngIf=\"showEditing\">\n <i (click)=\"unreset()\" class=\"ps-1 pointer fas fa-pencil-alt {{!coloredVal?'':'text-primary'}}\"></i>\n </div>\n </ng-template>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EditableTextCaseComponent } from './editable-text-case.component';\nimport { InputModule } from '../input/input.module';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { RouterModule } from '@angular/router';\nimport { DirectivesModule } from '../../directives/index.directive';\n\n@NgModule({\n declarations: [EditableTextCaseComponent],\n imports: [\n CommonModule,\n InputModule,\n UtilityPipesModule,\n MatTooltipModule,\n RouterModule,\n DirectivesModule,\n ],\n exports: [EditableTextCaseComponent],\n})\nexport class EditableTextCaseModule {}\n","import { ETSenvironment } from \"../../../../../environments/environment\";\n\n \nexport interface IUADeletionPayload {\n id: number;\n selected: boolean;\n}\nexport interface IUASearchObj {\n loggedTimeFrom: string;\n loggedTimeTo: string;\n pageNumber: number;\n pageSize: number;\n pageTitle: string;\n screen: string;\n sortBy: string;\n userAgent: string;\n userName: string;\n}\nexport interface IUASearchResponse {\n id: number;\n userName?: string;\n loggedIn: boolean;\n ipAddress: string;\n loggedTime: string;\n userAgent: string;\n pageUrl?: string;\n screen?: string;\n pageTitle: string;\n activityDescription?: string;\n requestUrl?: string;\n requestMethod?: string;\n companyCode?: string;\n}\nexport interface IUserActivity {\n id?: number;\n activityDescription?: string;\n pageTitle?: string;\n pageUrl?: string;\n requestMethod?: string;\n requestUrl?: string;\n code: EUA;\n}\nexport class UserActivity implements IUserActivity {\n id: number;\n activityDescription: string;\n pageTitle: string;\n pageUrl: string;\n requestMethod: string;\n requestUrl: string;\n code: EUA;\n constructor(data:IUserActivity) {\n Object.assign(this, data);\n this.activityDescription = (\n codeToDescriptionMap.find((x) => x.key == this.code)?.value +\n ' ' +\n (this.activityDescription ? `{${this.activityDescription}}` : '')\n )?.trim();\n this.pageUrl =this.pageUrl || location.href;\n this.pageTitle =this.pageTitle|| ETSenvironment.pageTitle;\n }\n}\nexport enum EUA {\n exported = 'export',\n visited = 'visited',\n searched = 'searched',\n downloaded = \"downloaded\"\n}\nconst codeToDescriptionMap = [\n { key: EUA.exported, value: 'Exported data' },\n { key: EUA.visited, value: 'User visited new page' },\n { key: EUA.searched, value: 'User performed a search' },\n { key: EUA.downloaded, value: 'User downloaded an item' },\n];\n","import { Injectable } from '@angular/core';\nimport { clone } from 'lodash-es';\nimport { ETSenvironment } from '../../../../../environments/environment';\nimport { Observable } from 'rxjs';\nimport { IUserActivity, UserActivity } from './user-activity.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserActivityService {\n private activities: IUserActivity[] = [];\n submissionFunc: (activities: UserActivity[]) => Observable<any>;\n constructor() {\n setInterval(() => {\n if (!this.activities?.length) return;\n const activities = clone(this.activities);\n this.activities = [];\n this.submissionFunc(activities).toPromise();\n }, 1000);\n }\n\n add = (data: IUserActivity) => {\n if (ETSenvironment.production) this.activities.push(new UserActivity(data));\n };\n}\n","import { Component, Input, OnInit } from '@angular/core'; \nimport { EUA } from '../../../Reusables/reusable-pages/user-activity/ua-extras/user-activity.model';\nimport { UserActivityService } from '../../../Reusables/reusable-pages/user-activity/ua-extras/user-activity.service';\nimport { ETSTableCol } from '../../models/index.model';\n\n@Component({\n selector: 'app-export-table',\n templateUrl: './export-table.component.html',\n styleUrls: ['./export-table.component.scss'],\n})\nexport class ExportTableComponent implements OnInit {\n @Input() data: any[];\n @Input() displayedColumns: ETSTableCol[];\n @Input() label: string;\n @Input() disabled: boolean;\n constructor(public uaS: UserActivityService) {}\n\n ngOnInit(): void {}\n downloadCSV(data: any[] = this.data, label = this.label) {\n const csvArray =\n `${this.displayedColumns.map((x) => x.t).join(',')}\\r\\n` +\n data\n .map((x) => this.displayedColumns.map((y) => x[y.f]).join(','))\n .join('\\r\\n');\n // console.log(csvArray);\n // debugger\n\n const a = document.createElement('a');\n const blob = new Blob([csvArray], { type: 'text/csv' });\n const url = window.URL.createObjectURL(blob);\n const docTitle = `${this.label} ${new Date().toISOString()} ${\n this.displayedColumns?.length\n }x${data?.length}.csv`;\n a.href = url;\n a.download = docTitle;\n a.click();\n window.URL.revokeObjectURL(url);\n a.remove();\n this.uaS.add({ code: EUA.downloaded, activityDescription: docTitle });\n }\n}\n","<app-btn group=\"download\" [disabled]=\"disabled||!data?.length||!displayedColumns?.length\" (mclick)=\"downloadCSV()\"\n ></app-btn> ","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ExportTableComponent } from './export-table.component';\nimport { BtnModule } from '../btn/btn.module';\n\n\n\n@NgModule({\n declarations: [\n ExportTableComponent\n ],\n imports: [\n CommonModule,BtnModule\n ],\n exports: [\n ExportTableComponent\n ]\n})\nexport class ExportTableModule { }\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core'; \nimport { ETSUtilityService } from '../../../Services/utility.service';\n\n@Component({\n selector: 'app-file-upload',\n templateUrl: './file-upload.component.html',\n styleUrls: ['./file-upload.component.scss'],\n})\nexport class FileUploadComponent<IFile_Metadata = any> implements OnInit {\n @Input() help: string;\n @Input() label: string;\n @Input() class: string;\n @Input() disabled: boolean;\n @Input() multiple: boolean;\n @Input() mini = true;\n @Input() useDocumentModal: boolean;\n @Input() listFiles: boolean = true;\n accept: string;\n @Input('accept') set _accept(v: string) {\n switch (v) {\n case 'image':\n this.accept = '.png,.jpg,.docx,.pdf';\n break;\n\n default:\n this.accept = v;\n break;\n }\n }\n // @ViewChild('uploadInput') uploadInputRef: ElementRef<HTMLInputElement>;\n @Input() file: File;\n @Output() fileChange = new EventEmitter<File>();\n @Input() files: File[];\n @Output() filesChange = new EventEmitter<File[]>();\n @Input() fileMetadata: IFile_Metadata;\n @Output() fileMetadataChange = new EventEmitter<IFile_Metadata>();\n @Input() fileMetadatas: IFile_Metadata[] = [];\n @Output() fileMetadatasChange = new EventEmitter<IFile_Metadata[]>();\n @Input('fileMetadatas') set _fileMetadatas(v: IFile_Metadata) {\n this.fileMetadatas.push();\n }\n\n constructor(public uS: ETSUtilityService) {}\n\n ngOnInit(): void {}\n get isSingle() {\n return !this.multiple;\n }\n private acceptFiles(...files: File[]) {\n this.files = files;\n this.file = files ? files[0] : null;\n }\n private acceptFileMetadata(fm: IFile_Metadata) {\n this.fileMetadatas = this.fileMetadatas || [];\n this.fileMetadata = fm;\n if (this.multiple) this.fileMetadatas.push(fm);\n else this.fileMetadatas = [fm];\n }\n private emitFiles() {\n if (this.multiple) this.filesChange.emit(this.files);\n else this.fileChange.emit(this.file);\n }\n\n onUpload(event: any) {\n const files = Array.from<File>(event.target.files);\n this.acceptFiles(...files);\n this.emitFiles();\n }\n\n removeFile(index: number) {\n this.files.splice(index, 1);\n this.file = this.files ? this.files[0] : null;\n\n this.fileChange.emit(this.file);\n this.filesChange.emit(this.files);\n }\n removeFileMetadata(index: number) {\n this.fileMetadatas.splice(index, 1);\n this.fileMetadata = null;\n this.fileMetadataChange.emit(this.fileMetadata);\n this.fileMetadatasChange.emit(this.fileMetadatas);\n }\n openDialog() {\n const inp = document.createElement('input');\n inp.type = 'file';\n inp.accept = this.accept;\n inp.multiple = this.multiple;\n inp.onchange = (e) => {\n this.onUpload(e);\n inp.remove();\n };\n // document.body.appendChild(inp);\n inp.click();\n }\n}\n","<div *ngIf=\"listFiles\" [ngClass]=\"{meta:mini}\" class=\"{{class}} form-label mb-2 hide-scroll\">\n <div class=\"row align-items-start mb-1\" *ngFor=\"let item of files;let i = index\">\n <div class=\"col\">\n <div class=\"hide-scroll file-name\">\n {{item?.name}}\n </div>\n </div>\n <div class=\"col-auto text-end\">\n <span class=\"text-danger pointer p-1 fa fa-close\" (click)=\"removeFile(i);\"></span>\n </div>\n </div>\n <div class=\"row align-items-start mb-1\" *ngFor=\"let item of fileMetadatas;let i = index\">\n <div class=\"col\">\n <div class=\"hide-scroll file-name\">\n {{(item|toAny)?.metadata?.title}}\n </div>\n </div>\n <div class=\"col-auto text-end\">\n <span class=\"text-danger pointer p-1 fa fa-close\" (click)=\"removeFileMetadata(i)\"></span>\n </div>\n </div>\n</div>\n<!-- <input type=\"file\" style=\"display: none;\" accept=\"{{accept}}\" (change)=\"onUpload($event)\" #uploadInput [multiple]=\"multiple\"> -->\n<app-btn icon=\"upload\" (mclick)=\"openDialog()\" [type]=\"file||(fileMetadata|toAny)?.file?'primary':'secondary'\"\n [disabled]=\"disabled\" [help]=\"help\" [text]=\"label\">\n\n</app-btn>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FileUploadComponent } from './file-upload.component';\nimport { BtnModule } from '../btn/btn.module';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\n\n@NgModule({\n declarations: [FileUploadComponent],\n imports: [CommonModule, BtnModule,UtilityPipesModule],\n exports: [FileUploadComponent],\n})\nexport class FileUploadModule {}\n","export namespace IntlTelInput {\n export interface IIntlTelInput {\n id: number;\n a;\n b?: any;\n c?: any;\n d: D;\n e: boolean;\n g: boolean;\n s: ISelectedCountry;\n p: P[];\n countryCodeMaxLen: number;\n dialCodes: DialCodes;\n q: Q;\n preferredCountries: PreferredCountry[];\n k;\n selectedFlag;\n l;\n j: string;\n isValidNumber(): boolean;\n getSelectedCountryData: () => {\n name: string;\n iso2: string;\n dialCode: string;\n };\n getNumberType(): ENumberType;\n getNumber(): string;\n destroy();\n setCountry(alpha2: string);\n setNumber(phoneNumber: string);\n }\n\nenum ENumberType {\n 'FIXED_LINE' = 0,\n 'MOBILE' = 1,\n 'FIXED_LINE_OR_MOBILE' = 2,\n 'TOLL_FREE' = 3,\n 'PREMIUM_RATE' = 4,\n 'SHARED_COST' = 5,\n 'VOIP' = 6,\n 'PERSONAL_NUMBER' = 7,\n 'PAGER' = 8,\n 'UAN' = 9,\n 'VOICEMAIL' = 10,\n 'UNKNOWN' = -1,\n}\nexport class IntlTelInputOptions implements IIntlTelInputOptions {\n allowDropdown?: boolean = true;\n autoHideDialCode?: boolean = true;\n autoPlaceholder?: 'aggressive' | 'polite';\n customContainer?: string;\n customPlaceholder?(): string;\n dropdownContainer?: any;\n excludeCountries?: string[];\n formatOnDisplay?: boolean = true;\n geoIpLookup?(): string;\n hiddenInput?: string;\n initialCountry?: string;\n localizedCountries?: { [x: string]: string };\n nationalMode?: boolean = true;\n onlyCountries?: string[];\n placeholderNumberType?: 'MOBILE';\n preferredCountries?: string[];\n separateDialCode?: boolean;\n utilsScript?: string;\n constructor(data?: IIntlTelInputOptions) {\n if (data)\n for (const key in data) {\n if (\n Object.prototype.hasOwnProperty.call(data, key) &&\n typeof data[key] != undefined\n ) {\n this[key] = data[key];\n }\n }\n this.autoPlaceholder = this.autoPlaceholder || 'polite';\n this.customContainer = this.customContainer || '';\n this.excludeCountries = this.excludeCountries || [];\n this.hiddenInput = this.hiddenInput || '';\n this.initialCountry = this.initialCountry || '';\n this.onlyCountries = this.onlyCountries || [];\n this.placeholderNumberType = this.placeholderNumberType || 'MOBILE';\n this.utilsScript = this.utilsScript || '';\n }\n}\nexport interface IIntlTelInputOptions {\n allowDropdown?: boolean;\n autoHideDialCode?: boolean;\n autoPlaceholder?: 'aggressive' | 'polite';\n customContainer?: string;\n customPlaceholder?(): string;\n dropdownContainer?: any;\n excludeCountries?: string[];\n formatOnDisplay?: boolean;\n geoIpLookup?(): string;\n hiddenInput?: string;\n initialCountry?: string;\n localizedCountries?: { [x: string]: string };\n nationalMode?: boolean;\n onlyCountries?: string[];\n placeholderNumberType?: 'MOBILE';\n preferredCountries?: string[];\n separateDialCode?: boolean;\n utilsScript?: string;\n}\n\n export interface D {\n allowDropdown: boolean;\n autoHideDialCode: boolean;\n autoPlaceholder: string;\n customContainer: string;\n customPlaceholder?: any;\n dropdownContainer?: any;\n excludeCountries: any[];\n formatOnDisplay: boolean;\n geoIpLookup?: any;\n hiddenInput: string;\n initialCountry: string;\n localizedCountries?: any;\n nationalMode: boolean;\n onlyCountries: any[];\n placeholderNumberType: string;\n preferredCountries: string[];\n separateDialCode: boolean;\n utilsScript: string;\n }\n\n export interface ISelectedCountry {\n name: string;\n iso2: string;\n dialCode: string;\n priority: number;\n areaCodes?: any;\n }\n\n export interface P {\n name: string;\n iso2: string;\n dialCode: string;\n priority: number;\n areaCodes: string[];\n }\n\n export interface DialCodes {\n [x: number]: boolean;\n }\n\n export interface Q {\n [x: number]: string[];\n }\n\n export interface PreferredCountry {\n name: string;\n iso2: string;\n dialCode: string;\n priority: number;\n areaCodes?: any;\n }\n}\n","import { Injectable } from '@angular/core';\nimport isoCountries from './iso-3166.json';\nimport { IntlTelInput } from './phone-number.model';\nexport interface ICountry {\n name: string;\n alpha2: string;\n alpha3: string;\n countryCode: string;\n 'iso_3166-2': string;\n region: string;\n subRegion: string;\n intermediateRegion: string;\n regionCode: string;\n subRegionCode: string;\n intermediateRegionCode: string;\n}\n@Injectable({\n providedIn: 'root',\n})\nexport class PhoneNumberService {\n isoCountries: ICountry[] = isoCountries;\n\n map: Map<string, IntlTelInput.ISelectedCountry> = new Map();\n constructor() {}\n\n getByCode3(code: string) {\n return isoCountries.find((x) => x.alpha3 == code);\n }\n\n clearMap() {\n this.map.clear();\n }\n\n setInMap(key: string, country: IntlTelInput.ISelectedCountry) {\n this.map.set(key, country);\n }\n}\n","import { Directive, ElementRef } from '@angular/core';\nimport { Ng2TelInput } from 'ng2-tel-input';\n\n@Directive({\n selector: '[phoneNumber]',\n})\nexport class PhoneNumberDirective extends Ng2TelInput {\n constructor(private ell: ElementRef<HTMLInputElement>) {\n super(ell, 'browser'); \n }\n\n ngOnInit() {\n super.ngOnInit(); \n } \n getUtilsScript(options: any) {\n return `https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.14/js/utils.js`;\n return super.getUtilsScript(options);\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { Ng2TelInput } from 'ng2-tel-input';\nimport { InputBasicComponent } from '../input/input-basic.component';\nimport { InputService } from '../input/input.service';\nimport { IntlTelInput } from './phone-number.model';\nimport { ICountry, PhoneNumberService } from './phone-number.service';\n\n@Component({\n selector: 'app-phone-number',\n templateUrl: './phone-number.component.html',\n styleUrls: ['./phone-number.component.scss', '../input/input.component.scss'],\n})\nexport class PhoneNumberComponent extends InputBasicComponent {\n @Input() showLabel: boolean = true;\n country: ICountry;\n private countryAlpha2: string;\n iti: IntlTelInput.IIntlTelInput;\n @Input('countryCode3') set _countryCode3(v: string) {\n if (v) {\n this.country = this.pnS.getByCode3(v);\n this.countryAlpha2 = this.country?.alpha2?.toString()?.toLowerCase();\n }\n if (this.country?.alpha2 && this.iti) {\n this.iti.setCountry(this.country.alpha2);\n this.config.onlyCountries = [this.country.alpha2];\n (this.iti as any).onlyCountries = [this.country.alpha2];\n }\n this.control?.updateValueAndValidity();\n }\n @Input() config = new IntlTelInput.IntlTelInputOptions({\n // separateDialCode: true,\n allowDropdown: false,\n initialCountry: 'ng',\n });\n @Output() onCountrySelect = new EventEmitter<IntlTelInput.ISelectedCountry>();\n @ViewChild('pn') pnRef: ElementRef<HTMLInputElement>;\n constructor(public iS: InputService, public pnS: PhoneNumberService) {\n super(iS);\n }\n\n ngOnInit(): void {\n this.control?.addValidators(this.validate.bind(this));\n }\n ngAfterViewInit(): void {\n // this.pnRef.nativeElement.addEventListener('countrychange', () => {\n // const selectedCountry = this.iti.getSelectedCountryData();\n // if (this.country.alpha2 != selectedCountry.iso2) selectedCountry.iso2;\n // });\n if (this.country) {\n this.iti?.setCountry(this.country.alpha2);\n this.config.onlyCountries = [this.country.alpha2];\n }\n }\n\n onCountryChange(e) {\n console.log('onCountryChange', e);\n }\n telInputObject(e: IntlTelInput.IIntlTelInput) {\n // console.log(1, e, e.s);\n this.iti = e;\n this.pnS.setInMap(this.name?.toString(), this.selectedCountry);\n this.onCountrySelect.emit(this.selectedCountry);\n }\n get selectedCountry() {\n return this.iti.s;\n }\n getNumber(e) {\n this.control.patchValue(e);\n }\n validate(control: AbstractControl) {\n // debugger;\n if (!this.iti?.getNumber() || this.iti?.isValidNumber()) {\n return null;\n } else if (this.countryAlpha2 != this.iti?.getSelectedCountryData()?.iso2) {\n return {\n custom:\n `Phone number's country (${\n this.iti?.getSelectedCountryData()?.iso2\n }) does not match selected country ` + (this.countryAlpha2 || ''),\n };\n } else {\n return { custom: 'Phone number is invalid' };\n }\n }\n isValid(e) {}\n}\n","<div [formGroup]=\"form|toAny\" class=\"row\">\n <app-input-label [colored]=\"colored\" [form]=\"form\" [hint]=\"hint\" [id]=\"id\" *ngIf=\"showLabel\"\n [invalidCheckbox]=\"invalidCheckbox\" [isRequired]=\"isRequired\" [label]=\"label\" [lblCl]=\"lblCl\" [light]=\"light\"\n [mini]=\"mini\" [showLabel]=\"showLabel\" [small]=\"small\" [stacked]=\"stacked\" [theme]=\"theme\" [xsmall]=\"xsmall\">\n </app-input-label>\n <input type=\"text\" phoneNumber [formControlName]=\"name|toAny\" [class]=\"inpCl|inputClass:valid:invalid:showValidation\"\n [ng2TelInputOptions]=\"config\" (hasError)=\"isValid($event)\" #pn (ng2TelOutput)=\"getNumber($event)\"\n (intlTelInputObject)=\"telInputObject($event)\" (countryChange)=\"onCountryChange($event)\" />\n <app-validation-message *ngIf=\"showValidationMsg\" [label]=\"label\" [control]=\"control\"></app-validation-message>\n <!-- <input type=\"text\" [formControlName]=\"name|toAny\" [class]=\"inpCl|inputClass:valid:invalid:showValidation\" ng2TelInput\n [ng2TelInputOptions]=\"config\" (hasError)=\"isValid($event)\" #pn (ng2TelOutput)=\"getNumber($event)\"\n (intlTelInputObject)=\"telInputObject($event)\" (countryChange)=\"onCountryChange($event)\" /> -->\n</div>\n","import {\n Component,\n OnInit,\n Input,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n} from '@angular/core'; \nimport { PageLoader } from '../../classes/page-loader.class';\n\n@Component({\n selector: 'loader',\n templateUrl: './loader.component.html',\n styleUrls: ['./loader.component.scss'],\n\n // changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LoaderComponent {\n loader = new PageLoader();\n @Input() class: classes = 'vh-80';\n @Input() text = 'Loading...';\n @Input('loading') set _loading(v: boolean) {\n this.loading = v;\n }\n loading: boolean;\n height: string;\n @Input('height') set _height(v: number) {\n this.height = v ? (v < 80 ? 80 : v) + 'px' : this.height;\n // console.log('height', v, this.height);\n }\n constructor(public cdr: ChangeDetectorRef) {}\n ngOnInit() {}\n startLoader() {\n this.loader.startPl();\n this.loading = this.loader.isLoading;\n }\n stopLoader() {\n this.loader.stopPl();\n this.loading = this.loader.isLoading;\n }\n}\n\ntype classes =\n | 'vh-10'\n | 'vh-20'\n | 'vh-30'\n | 'vh-40'\n | 'vh-50'\n | 'vh-60'\n | 'vh-70'\n | 'vh-80'\n | 'vh-90'\n | 'vh-95'\n | 'vh-100';\n","<div class=\"h-100\">\n <div *ngIf=\"loading\" class=\" {{height?'':class}} center \" id=\"loader\" [ngStyle]=\"{height }\" >\n <div class=\" text-center\">\n <div>\n <div class=\"lds-grid\">\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n </div>\n </div>\n <h5 class=\"mt-2 noselect\" *ngIf=\"text\">{{text|appTranslate|async}}</h5>\n </div>\n </div>\n\n <div [hidden]=\"loading\">\n <!-- <div > -->\n <ng-content></ng-content>\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormGroup } from '@angular/forms'; \nimport { ETSUtilityService } from '../../../Services/utility.service';\nimport { IFormOptions, IETSFormSchema } from '../../models/form-schema.model';\nimport { ETSInfoDialogService } from '../info-dialog/info-dialog.service';\n\n@Component({\n selector: 'form-generator',\n templateUrl: './form-generator.component.html',\n styleUrls: ['./form-generator.component.scss'],\n})\nexport class FormGeneratorComponent implements OnInit {\n @Input() keyField: 'field' | 'label' = 'field';\n\n @Output() onSubmit = new EventEmitter<any>();\n @Output('submissionResponse') _submissionResponse = new EventEmitter<any>();\n @Input() submitFunc: (value: any) => Promise<any>;\n @Input() submitBtnText: string = 'Submit';\n @Input() submitSuccessText: string = 'Save';\n @Input() showSubmitBtn: boolean = true;\n\n @Input() gridStyle: number;\n @Input() gridMDStyle: number;\n @Input() gridXXLStyle: number;\n\n @Input() useLoader: boolean;\n @Input() loading: boolean;\n\n @Input() form: FormGroup;\n formSchema: IETSFormSchema[];\n submissionResponse: any;\n @Input('formSchema') set _formSchema(v: IETSFormSchema[]) {\n this.init(v);\n }\n optionsMap: IFormOptions = {};\n cellCountryCode3s: IFormOptions = {};\n\n constructor(public iS: ETSInfoDialogService,public uS: ETSUtilityService,) {}\n\n ngOnInit(): void {}\n\n init(schema: IETSFormSchema[]) {\n for (const scheme of schema) {\n // scheme.form = this.form || scheme.form;\n scheme.id = 'id' + this.uS.genRandomID;\n if (\n scheme.autoPickValueField == null &&\n (!scheme.valueField || !scheme.labelField)\n )\n scheme.autoPickValueField = true;\n\n if (scheme.optionsInitFunc) {\n scheme.optionsInitFunc.subscribe((r) => {\n scheme.options = r;\n // this.optionsMap[scheme.field] = r;\n });\n }\n }\n this.formSchema = schema;\n }\n\n async submit() {\n if (this.submitFunc) {\n this.loading = true;\n this.onSubmit.emit(this.form.value);\n try {\n this.submissionResponse = await this.submitFunc(this.form.value);\n this.iS.info(this.submitSuccessText, 1);\n this._submissionResponse.emit(this.submissionResponse);\n } catch (error) {\n this.iS.info(error, 0);\n }\n this.loading = false;\n } else this.onSubmit.emit(this.form.value);\n }\n}\n"," <loader [loading]=\"useLoader && loading\">\n <form>\n <div\n class=\"row row-cols-{{gridStyle}} row-cols-md-{{gridMDStyle}} row-cols-xxl-{{gridXXLStyle}} align-items-center\">\n <ng-container *ngFor=\"let scheme of formSchema;trackBy:uS.trackByID\">\n <div class=\"col {{scheme.cls}} \" *ngIf=\"!scheme.hideIfFunc || !scheme.hideIfFunc(form.value)\">\n <ng-container [ngSwitch]=\"true\">\n <ng-container *ngSwitchCase=\"scheme.type == 'tel'\">\n <app-phone-number [form]=\"form\" [label]=\"scheme.label\" [clearOnDisable]=\"scheme.clearOnDisable\"\n [name]=\"scheme.field\" [showLabel]=\"false\" [noFormat]=\"scheme.noFormat\"\n [showValidation]=\"scheme.showValidation\" [autoPickValueField]=\"scheme.autoPickValueField\"\n [showValidationIcon]=\"scheme.showValidationIcon\" [countryCode3]=\"\n cellCountryCode3s[scheme.getCountryCode3Key] || scheme.countryCode3\n \" [disabled]=\"scheme.disabled||\n (scheme.disabledIf\n | functionCaller2: form.value:scheme.field)\n \" #inputTag>\n </app-phone-number>\n <app-validation-message [input]=\"inputTag\"></app-validation-message>\n </ng-container>\n <ng-container *ngSwitchCase=\"scheme.type == 'autocomplete'\">\n <app-autocomplete [form]=\"form\" [label]=\"scheme.label\" [clearOnDisable]=\"scheme.clearOnDisable\"\n [labelField]=\"scheme.labelField\" [noFormat]=\"scheme.noFormat\" [labelType]=\"scheme.labelType\"\n [name]=\"scheme.field\" [optionFormatter]=\"scheme.optionFormatter\" [valueField]=\"scheme.valueField\"\n [autoPickValueField]=\"scheme.autoPickValueField\" [options]=\"\n (scheme.optionsFunc\n | functionCaller2: form.value:scheme.field\n | async) || scheme.options||optionsMap[scheme.field|toAny]\n \" [hint]=\"scheme.hint\" [disabled]=\"scheme.disabled||\n ( scheme.disabledIf\n | functionCaller2: form.value:scheme.field)\n \" #inputTag></app-autocomplete>\n <app-validation-message [input]=\"inputTag\"></app-validation-message>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <app-input-basic #formField [name]=\"scheme.field\" [form]=\"form\" [clearOnDisable]=\"scheme.clearOnDisable\"\n [type]=\"scheme.type\" [valueField]=\"scheme.valueField\" [autoPickValueField]=\"scheme.autoPickValueField\"\n [labelType]=\"scheme.labelType\" [checked]=\"scheme.checked\" [showValidation]=\"!!scheme.asyncValidators\"\n [noFormat]=\"scheme.noFormat\" [showValidationIcon]=\"!!scheme.asyncValidators\"\n [labelField]=\"scheme.labelField\" [optionFormatter]=\"scheme.optionFormatter\"\n [options]=\"(scheme.optionsFunc|functionCaller2:form.value:scheme.field|async)||scheme.options||optionsMap[scheme.field|toAny]\"\n [decimalPoints]=\"scheme.decimalPoints\" [hint]=\"scheme.hint\" [max]=\"scheme.max\" [min]=\"scheme.min\"\n [placeholder]=\"scheme.placeholder\" [label]=\"scheme.label\"\n [disabled]=\"scheme.disabled||(scheme.disabledIf|functionCaller2:form.value:scheme.field)\">\n </app-input-basic>\n <app-validation-message [input]=\"formField\"></app-validation-message>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </div>\n <div class=\"row row-cols-auto justify-content-end\" *ngIf=\"showSubmitBtn\">\n <app-btn [text]=\"submitBtnText\" group=\"submit\" [form]=\"form\" (mclick)=\"submit()\">\n </app-btn>\n </div>\n </form>\n </loader>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { BtnModule } from '../btn/btn.module';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { PhoneNumberComponent } from './phone-number.component';\nimport { InputModule } from '../input/input.module';\nimport { Ng2TelInputModule } from 'ng2-tel-input';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { PhoneNumberDirective } from './phone-number.directive';\nimport { InputPipesModule } from '../input/inputs-pipes.pipe';\n\n@NgModule({\n declarations: [PhoneNumberComponent, PhoneNumberDirective],\n imports: [\n CommonModule,\n InputPipesModule,\n BtnModule,\n MatTooltipModule,\n InputModule,\n Ng2TelInputModule,\n UtilityPipesModule,\n ],\n exports: [PhoneNumberComponent, PhoneNumberDirective],\n})\nexport class PhoneNumberModule {}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'spinner',\n template: `\n <mat-spinner *ngIf=\"loading\" [diameter]=\"diameter\">{{ text }} </mat-spinner>\n `,\n styles: [\n `\n .mat-progress-spinner {\n display: inline-block;\n margin: 5px;\n vertical-align: bottom;\n }\n `,\n ],\n})\nexport class SpinnerComponent {\n @Input() text: string;\n @Input() diameter = 20;\n @Input() loading: boolean;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LoaderComponent } from './loader.component';\nimport { SpinnerComponent } from './spinner.component';\nimport { MatProgressSpinnerModule as MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nconst exports = [LoaderComponent, SpinnerComponent];\n@NgModule({\n declarations: exports,\n exports,\n imports: [CommonModule, MatProgressSpinnerModule,UtilityPipesModule],\n})\nexport class LoaderModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormGeneratorComponent } from './form-generator.component';\nimport { InputModule } from '../input/input.module';\nimport { BtnModule } from '../btn/btn.module';\nimport { PhoneNumberModule } from '../phone-number/phone-number.module';\nimport { AutocompleteModule } from '../autocomplete/autocomplete.module';\nimport { LoaderModule } from '../loader/loader.module';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\n\n\n\n@NgModule({\n declarations: [FormGeneratorComponent],\n imports: [\n CommonModule,\n InputModule,\n BtnModule, \n PhoneNumberModule,\n AutocompleteModule,\n LoaderModule,\n UtilityPipesModule,\n ],\n exports: [FormGeneratorComponent],\n})\nexport class FormGeneratorModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\n@Component({\n selector: 'form-link',\n templateUrl: './form-link.component.html',\n styleUrls: ['./form-link.component.scss'],\n})\nexport class FormLinkComponent implements OnInit {\n @Input() cqueryParams: { [x: string]: string };\n @Input() crouterLink: string;\n @Input() value: string;\n @Input() options: any[];\n @Input() labelField: string;\n @Input() valueField: string;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<a class=\"form-link link form-control control-bg-gray\" readonly routerLink=\"{{crouterLink}}\"\n [queryParams]=\"cqueryParams\">\n {{value|getValueLabel:options:labelField:valueField}}\n</a>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormLinkComponent } from './form-link.component';\nimport { RouterModule } from '@angular/router';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\n\n@NgModule({\n declarations: [FormLinkComponent],\n imports: [CommonModule, RouterModule,UtilityPipesModule],\n exports: [FormLinkComponent],\n})\nexport class FormLinkModule {}\n","import {\n Component,\n OnInit,\n ChangeDetectionStrategy,\n Input,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { ITab } from '../../models/index.model';\n\n@Component({\n selector: 'app-form-tabs-header',\n templateUrl: './form-tab-headers.component.html',\n styleUrls: ['./form-tab-headers.component.scss'],\n})\nexport class FormTabHeadersComponent implements OnInit {\n @Input() selectedIndex:number\n @Input() tabs: ITab[];\n @Output() selectedIndexChange = new EventEmitter<number>();\n constructor() {}\n\n ngOnInit(): void {\n this.selectedIndex=0\n }\n changeTab(index: number) {\n this.selectedIndex = index;\n this.selectedIndexChange.emit(index);\n }\n}\n","<nav class=\"\">\n <div class=\"nav nav-pills nav-justified mt-5 d-flex justify-content-center border-0\" id=\"nav-tab\" role=\"tablist\">\n <button class=\"nav-link border-0\" *ngFor=\"let tab of tabs;let index=index\"\n [ngClass]=\"selectedIndex == index? 'active' : ''\" (click)=\"changeTab(index)\" type=\"button\" role=\"tab\"\n aria-controls=\"nav-home\">{{tab.label|appTranslate|async}}\n </button>\n </div>\n</nav>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormTabHeadersComponent } from './form-tab-headers.component';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\n\n@NgModule({\n declarations: [FormTabHeadersComponent],\n imports: [CommonModule, UtilityPipesModule],\n exports: [FormTabHeadersComponent],\n})\nexport class FormTabHeadersModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InfoDialogComponent } from './info-dialog.component';\nimport { MatButtonModule as MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { InfoDialogSadIconComponent } from './sad-icon.component';\nimport { InfoDialogHappyIconComponent } from './happy-icon.component';\nimport { InfoDialogInfoIconComponent } from './info-icon.component';\nimport { BtnModule } from '../btn/btn.module';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { DirectivesModule } from '../../directives/index.directive';\nimport { BrowserModule } from '@angular/platform-browser';\n\n@NgModule({\n declarations: [\n InfoDialogComponent,\n InfoDialogSadIconComponent,\n InfoDialogHappyIconComponent,\n InfoDialogInfoIconComponent,\n ],\n imports: [\n BrowserModule,\n CommonModule,\n MatDialogModule,\n MatButtonModule,\n BtnModule,\n UtilityPipesModule,\n DirectivesModule,\n ],\n exports: [\n InfoDialogComponent,\n InfoDialogSadIconComponent,\n InfoDialogHappyIconComponent,\n InfoDialogInfoIconComponent,\n ],\n})\nexport class InfoDialogModule {}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-info-icon',\n templateUrl: './info-icon.component.html',\n styleUrls: ['./info-icon.component.scss'],\n})\nexport class InfoIconComponent implements OnInit {\n @Input() text: string;\n @Input() coloured = true;\n @Input() left =false;\n @Input() right = true;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<span class=\"d-flex align-items-center\">\n <i *ngIf=\"left && text\" class=\"fa fa-info-circle me-2\" [ngClass]=\"{'text-primary':coloured}\"\n [matTooltip]=\"text|appTranslate|async\" matTooltipClass=\"matToolTip-block glass\"></i>\n <span>\n <ng-content></ng-content>\n </span>\n <i *ngIf=\"right && text\" class=\"fa fa-info-circle ms-2\" [ngClass]=\"{'text-primary':coloured}\"\n [matTooltip]=\"text|appTranslate|async\" matTooltipClass=\"matToolTip-block glass\"></i>\n</span>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InfoIconComponent } from './info-icon.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { DirectivesModule } from '../../directives/index.directive';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\n\n\n\n@NgModule({\n declarations: [\n InfoIconComponent\n ],\n imports: [\n CommonModule,MatTooltipModule,DirectivesModule,UtilityPipesModule\n ],\n exports: [\n InfoIconComponent\n ]\n})\nexport class InfoIconModule { }\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { ETSIconType } from '../../models/index.model';\nimport { BtnService } from '../btn/btn.service';\n\n@Component({\n selector: 'app-label',\n templateUrl: './label.component.html',\n styleUrls: ['./label.component.scss'],\n})\nexport class LabelComponent implements OnInit {\n @Input() animate = false; \n @Input() coloured: boolean;\n @Input() hint: string;\n @Input() light: boolean = true;\n @Input() mclass = 'text-primary';\n @Input() showHelpIcon = true;\n @Input() small: boolean;\n @Input() stacked: boolean = true;\n @Input() text: string;\n @Input() xsmall: boolean;\n customIcon: string;\n icon: any;\n iconPosition: string = 'left';\n @Input('icon') set _icon(v: ETSIconType) {\n const res = this.btnS.getIcon(v);\n this.iconPosition = res.iconPosition;\n this.icon = res.icon;\n this.customIcon = res.iconString;\n }\n constructor(public btnS: BtnService) {}\n\n ngOnInit(): void {}\n}\n","<div class=\"d-flex align-items-center \">\n <i *ngIf=\"showHelpIcon && hint\" class=\"fa fa-info-circle me-2 text-primary\"\n [matTooltip]=\"hint|appTranslate|async\"></i>\n <span *ngIf=\"iconPosition=='left'\">\n <fa-icon *ngIf=\"icon\" [icon]=\"icon\"></fa-icon>\n <i *ngIf=\"customIcon\" class=\"pe-1\"></i>\n </span>\n <div class=\"{{mclass}} lbl\" [ngClass]=\"{'fw-bold':!light,small,small1:xsmall,'text-primary':coloured}\"\n [matTooltip]=\"hint|appTranslate|async\" [matTooltipDisabled]=\"!hint||showHelpIcon\">\n {{text|appTranslate|async}}\n </div>\n <span class=\"ps-1\" *ngIf=\"iconPosition=='right'\">\n <fa-icon *ngIf=\"icon\" [icon]=\"icon\"></fa-icon>\n </span>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LabelComponent } from './label.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\n\n\n@NgModule({\n declarations: [LabelComponent],\n imports: [\n CommonModule,\n MatTooltipModule,\n UtilityPipesModule,\n FontAwesomeModule,\n ],\n exports: [LabelComponent],\n})\nexport class LabelModule {}\n","import { Component, OnInit, ChangeDetectionStrategy, Input } from '@angular/core';\nimport { MatDialogRef as MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'modal-header',\n templateUrl: './modal-header.component.html',\n styleUrls: ['./modal-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModalHeaderComponent implements OnInit {\n @Input() dialogRef: MatDialogRef<any>;\n @Input() header:string;\n /**\n * Value to pass into the close function of the modal\n */\n @Input() onCloseValue:any;\n constructor() {}\n\n ngOnInit(): void {}\n close() {\n this.dialogRef.close(this.onCloseValue);\n }\n}\n","<div class=\"d-flex justify-content-between align-items-center\">\n <h6 class=\"m-0\" mat-dialog-title>{{header|appTranslate|async}}</h6>\n <!-- <app-btn group=\"close\" (mclick)=\"close()\"></app-btn> -->\n <button mat-icon-button (click)=\"close()\" class=\"btn-outline-danger\"><i class=\"material-icons\">close</i></button>\n</div>\n<ng-content></ng-content>","import {\n Component,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { MatDialogRef as MatDialogRef } from '@angular/material/dialog'; \nimport { ETSUtilityService } from '../../../Services/utility.service';\nimport { ETSIconType } from '../../models/index.model';\n \nimport { LoaderComponent } from '../loader/loader.component';\n\n@Component({\n selector: 'modal-comp',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n})\nexport class ModalComponent implements OnInit {\n @ViewChild('temp') tempRef: TemplateRef<any>;\n @ViewChild('loader') loaderRef: LoaderComponent;\n @Input() header: string;\n @Input() loading: boolean;\n @Input() width: string = 'auto';\n @Input() height: string = 'auto';\n @Input() icon: ETSIconType;\n @Input() data: { [x: string]: any } = {};\n public dialogRef: MatDialogRef<any>;\n // public dialogRef: MatDialogRef<typeof this.tempRef>;\n // public dialogRef: MatDialogRef<ModalComponent>;\n constructor(public uS: ETSUtilityService) {}\n\n ngOnInit(): void {}\n open(...args) {\n this.dialogRef = this.uS.dialogOpenerRef(this.tempRef, {\n width: this.width,\n height: this.height,\n maxHeight: '100vh',\n maxWidth: '100vw',\n });\n }\n close() {\n this.dialogRef.close();\n }\n}\n","<ng-template #temp>\n <loader [loading]=\"loading\" [height]=\"cont.offsetHeight\" #loader>\n <div #cont>\n <modal-header [header]=\"header\" [dialogRef]=\"dialogRef\"></modal-header>\n <div mat-dialog-content class=\"mt-2 pb-2\">\n <ng-content select=\"[body]\"></ng-content>\n </div>\n <div mat-dialog-actions class=\" \">\n <ng-content select=\"[actionPanel]\"></ng-content>\n </div>\n </div>\n </loader>\n <!-- wdwwd -->\n</ng-template>\n","import { ModalComponent } from '../modal/modal.component';\nimport {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport {\n FormGroup,\n} from '@angular/forms'; \nimport { IFormOptions, IETSFormSchema } from '../../models/form-schema.model';\nimport { ETSUtilityService } from '../../../Services/utility.service';\n\n@Component({\n selector: 'modal-form',\n templateUrl: './modal-form.component.html',\n styleUrls: ['./modal-form.component.scss'],\n})\nexport class ModalFormComponent extends ModalComponent {\n @Input() keyField: 'field' | 'label' = 'field';\n @Output() submitted = new EventEmitter<any>();\n @Input() submitFunc: (value: any) => Promise<any>;\n\n @Input() text: string = 'Save';\n @Input() contextData: any;\n @Input() gridStyle: number;\n @Input() gridMDStyle: number;\n @Input() gridXXLStyle: number;\n @Input() form: FormGroup;\n standaloneForm: any;\n @Input() formSchema: IETSFormSchema[]; \n optionsMap: IFormOptions = {};\n cellCountryCode3s: IFormOptions = {};\n loading: boolean;\n\n constructor(public uS: ETSUtilityService) {\n super(uS);\n }\n\n ngOnInit(): void {}\n \n open(contextData) {\n if (contextData != null) this.contextData = contextData;\n super.open();\n }\n}\n","<ng-template #temp>\n <modal-header [header]=\"header\" [dialogRef]=\"dialogRef\"></modal-header>\n <loader [loading]=\"loading\">\n <div mat-dialog-content>\n <form-generator [form]=\"form\" [formSchema]=\"formSchema\" \n [gridStyle]=\"gridStyle\"\n [gridMDStyle]=\"gridMDStyle\"\n [gridXXLStyle]=\"gridXXLStyle\"\n [submitFunc]=\"submitFunc\"\n [submitBtnText]=\"text\"\n [showSubmitBtn]=\"false\"></form-generator>\n </div>\n <div mat-dialog-actions>\n <div class=\"row row-cols-auto justify-content-end\">\n <app-btn [text]=\"text\" group=\"submit\" [form]=\"form\" (mclick)=\"submitted.emit(this.form.value);dialogRef.close()\"></app-btn>\n </div>\n </div>\n </loader>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ModalHeaderComponent } from './modal-header.component';\nimport { BtnModule } from '../btn/btn.module';\nimport { UtilityPipesModule } from '../../../Shared/pipes/utility.pipe';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\n@NgModule({\n declarations: [ModalHeaderComponent],\n imports: [\n CommonModule,\n BtnModule,\n UtilityPipesModule,\n MatDialogModule,\n MatButtonModule,MatIconModule\n ],\n exports: [ModalHeaderComponent],\n})\nexport class ModalHeaderModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ModalComponent } from './modal.component';\nimport { ModalHeaderModule } from '../modal-header/modal-header.module';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { BtnModule } from '../btn/btn.module';\nimport { LoaderModule } from '../loader/loader.module';\n\n@NgModule({\n declarations: [ModalComponent],\n exports: [ModalComponent],\n imports: [CommonModule, ModalHeaderModule, MatDialogModule, BtnModule,LoaderModule],\n})\nexport class ModalModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ModalFormComponent } from './modal-form.component';\nimport { BtnModule } from '../btn/btn.module';\nimport { ModalHeaderModule } from '../modal-header/modal-header.module';\nimport { ModalModule } from '../modal/modal.module';\nimport { LoaderModule } from '../loader/loader.module';\nimport { FormGeneratorModule } from '../form-generator/form-generator.module';\n\n@NgModule({\n declarations: [ModalFormComponent],\n imports: [\n CommonModule,\n BtnModule,\n ModalHeaderModule,\n ModalModule,\n LoaderModule,\n FormGeneratorModule,\n ],\n exports: [ModalFormComponent],\n})\nexport class ModalFormModule {}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { ETSUtilityService } from '../../../../lib/Services/utility.service';\nimport { EPageType } from '../../models/index.model';\nimport { ETSInfoDialogService } from '../info-dialog/info-dialog.service';\n\n@Component({\n template: ``,\n})\nexport class PageTemplateComponent<ModelData = any> {\n loading: boolean;\n @Input() isModal: boolean;\n @Input() modelData: ModelData;\n modalOnComplete: (...args) => any;\n @Output() modalSubmitted = new EventEmitter();\n code: string;\n pageType: EPageType;\n idField = 'code';\n isCreate: boolean;\n isIndex: boolean;\n isClone: boolean;\n isEdit: boolean;\n isShow: boolean;\n constructor(\n public route: ActivatedRoute,\n public uS: ETSUtilityService,\n public iS: ETSInfoDialogService\n ) {\n this.update();\n }\n\n async init(func?: () => Promise<any>, err?: () => any) {\n this.loading = true;\n try {\n const code =\n this.route.snapshot.queryParamMap.get(this.idField) ||\n this.route.snapshot.paramMap.get(this.idField);\n this.pageType = this.route.snapshot.data.type;\n this[this.idField] = code;\n if (this.isCreate && code) throw 'Page is impure';\n if (code && func) await func();\n } catch (error) {\n console.error(error);\n if (err) err();\n else {\n await this.iS.info(error, 0);\n this.uS.back();\n }\n }\n this.loading = false;\n }\n\n setAsIndex() {\n this.pageType = EPageType.indexPage;\n this.update();\n }\n setAsClone() {\n this.pageType = EPageType.clonePage;\n this.update();\n }\n setAsCreate() {\n this.pageType = EPageType.createPage;\n this.update();\n }\n setAsEdit() {\n this.pageType = EPageType.editPage;\n this.update();\n }\n setAsShow() {\n this.pageType = EPageType.showPage;\n this.update();\n }\n update() {\n // debugger\n this.isIndex = this.uS.pageS.isIndex(this.route, this.pageType);\n this.isClone = this.uS.pageS.isClone(this.route, this.pageType);\n this.isCreate = this.uS.pageS.isCreate(this.route, this.pageType);\n this.isEdit = this.uS.pageS.isEdit(this.route, this.pageType);\n this.isShow = this.uS.pageS.isShow(this.route, this.pageType);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PageTemplateComponent } from './page-template.component';\n\n\n\n@NgModule({\n declarations: [\n PageTemplateComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class PageTemplateModule { }\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[appPageToComponent]'\n})\nexport class PageToComponentDirective {\n\n constructor(public viewContainerRef: ViewContainerRef) { }\n\n}\n","import { Component, Inject, Input, OnInit, Type, ViewChild } from '@angular/core';\nimport { MAT_DIALOG_DATA as MAT_DIALOG_DATA, MatDialogRef as MatDialogRef } from '@angular/material/dialog';\nimport { EPageType } from '../../models/index.model';\nimport { PageToComponentDirective } from './page-to-component.directive';\n\n@Component({\n templateUrl: './page-to-component.component.html',\n styleUrls: ['./page-to-component.component.scss'],\n})\nexport class PageToComponentComponent implements OnInit {\n @ViewChild(PageToComponentDirective, { static: true })\n compHost!: PageToComponentDirective;\n constructor(\n @Inject(MAT_DIALOG_DATA)\n public data: {\n component: Type<any>;\n modelData: any;\n title: string;\n pageType:EPageType\n },\n public dialogRef: MatDialogRef<PageToComponentComponent>\n ) {}\n\n ngOnInit(): void {\n this.loadComponent();\n }\n\n loadComponent() {\n const viewContainerRef = this.compHost.viewContainerRef;\n viewContainerRef.clear();\n const componentRef = viewContainerRef.createComponent(this.data.component);\n componentRef.instance.modelData = this.data.modelData;\n componentRef.instance.isModal = true;\n componentRef.instance.pageType = this.data.pageType;\n componentRef.instance.modalOnComplete = (data?: any) => {\n this.onComplete(data);\n };\n }\n\n onComplete(data) {\n this.dialogRef.close(data);\n }\n\n close() {\n this.dialogRef.close();\n }\n}\n\n@Component({ template: `` })\nexport class PageModal<ModelData = any,CompletionFunc=any> {\n @Input() isModal: boolean;\n @Input() modelData: ModelData;\n @Input() modalOnComplete:CompletionFunc;\n}","<div class=\"d-flex justify-content-between align-items-center\">\n <h6 class=\"m-0\" mat-dialog-title>{{data.title|appTranslate|async}}</h6>\n <!-- <app-btn group=\"close\" (mclick)=\"close()\"></app-btn> -->\n <button mat-icon-button (click)=\"close()\" class=\"btn-outline-danger\"><i class=\"material-icons\">close</i></button>\n</div>\n<ng-content></ng-content>\n<div class=\"\" mat-dialog-content>\n <ng-template appPageToComponent></ng-template>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PageToComponentComponent } from './page-to-component.component'; \nimport { PageToComponentDirective } from './page-to-component.directive'; \nimport { MatDialogModule } from '@angular/material/dialog'; \nimport { TranslatePipeModule } from '../../pipes/translate.pipe';\n\n@NgModule({\n declarations: [PageToComponentComponent, PageToComponentDirective],\n exports: [PageToComponentComponent, PageToComponentDirective],\n imports: [CommonModule, MatDialogModule, TranslatePipeModule],\n})\nexport class PageToComponentModule {}\n","import { Injectable, Type } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog'; \nimport { EPageType } from '../../models/index.model';\nimport { PageToComponentComponent } from './page-to-component.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PageToComponentService {\n constructor(public dialog: MatDialog) {}\n\n pageToModalOpener = (\n component: Type<any>,\n title: string,\n modelData?: any,\n pageType: EPageType = EPageType.createPage\n ) =>\n this.dialog\n .open(PageToComponentComponent, {\n data: { component, modelData, title, pageType },\n height: '100vh',\n maxHeight: '100vh',\n width: '100%',\n maxWidth: '100%',\n disableClose: true,\n closeOnNavigation: true,\n panelClass: 'fullscreen-modal',\n autoFocus: false,\n })\n .afterClosed();\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { IBtn } from '../../models/index.model';\n\n@Component({\n selector: 'row-actions',\n templateUrl: './row-actions.component.html',\n styleUrls: ['./row-actions.component.scss'],\n})\nexport class RowActionsComponent implements OnInit {\n @Output() clickedAdd = new EventEmitter();\n @Output() clickedDelete = new EventEmitter();\n @Input() isShow: boolean;\n @Input() btns: IBtn[] = [\n { group: 'delete', action: () => this.clickedDelete.emit() },\n { group: 'add', action: () => this.clickedAdd.emit() },\n ];\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"d-flex\" *ngIf=\"!isShow\">\n <div class=\"mx-1\" *ngFor=\"let btn of btns\">\n <app-btn [iconBtn]=\"true\" [group]=\"btn.group\" (mclick)=\"btn.action()\"></app-btn>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RowActionsComponent } from './row-actions.component';\nimport { BtnModule } from '../btn/btn.module';\n\n\n\n@NgModule({\n declarations: [\n RowActionsComponent\n ],\n imports: [\n CommonModule,BtnModule\n ],\n exports: [\n RowActionsComponent\n ]\n})\nexport class RowActionsModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { ETSTableCol } from '../../models/index.model';\n\n@Pipe({\n name: 'getColFormatted',\n})\nexport class GetColFormattedPipe implements PipeTransform {\n transform(row: any, col: ETSTableCol) {\n return Promise.resolve(\n (col.formatterRow\n ? col.formatterRow(row)\n : col.formatter\n ? col.formatter(row[col.f])\n : row[col.f]) || '-'\n );\n }\n}\n\n@Pipe({\n name: 'getRawFields',\n})\nexport class GetRawFieldsPipe implements PipeTransform {\n transform(\n arr: ETSTableCol[],\n optionsLen: number = 0,\n useSelection = false,\n placeSelectionAtRight = false, // the parameter is to support setting the selection checkboxes as the last item instead of the first\n ): string[] {\n const fields = arr.map((r) => r.f .toString());\n optionsLen ? fields.push('option') : null;\n const fieldsWithSelect = placeSelectionAtRight\n ? [...fields, useSelection ? 'mselect' : null]\n : [useSelection ? 'mselect' : null, ...fields];\n return fieldsWithSelect.filter((x) => x);\n }\n}\n\n@Pipe({\n name: 'getHeaders',\n})\nexport class GetHeadersPipe implements PipeTransform {\n transform(arr: ETSTableCol[]): string[] {\n return arr.map((r) => r.t);\n }\n}\n\n@Pipe({\n name: 'tableToString',\n})\nexport class TableToStringPipe implements PipeTransform {\n async transform(arr: ETSTableCol[], obj: any): Promise<string> {\n let str = '';\n for (const col of arr) {\n let transText = await this.cfS.transform(obj,col)\n str += `${col.t}: ${transText}\\n`;\n }\n return str;\n }\n constructor(public cfS: GetColFormattedPipe) {}\n}\n\nconst pipes = [\n GetColFormattedPipe,\n GetHeadersPipe,\n GetRawFieldsPipe,\n TableToStringPipe,\n];\n@NgModule({\n declarations: pipes,\n exports: pipes,\n imports: [CommonModule],\n providers: [GetColFormattedPipe],\n})\nexport class TablePipesModule {}\n","import { SelectionChange, SelectionModel } from '@angular/cdk/collections';\nimport {\n Component,\n OnInit,\n Input,\n ViewChild,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatPaginator as MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTable as MatTable } from '@angular/material/table';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { merge, Observable, of as observableOf, of } from 'rxjs';\nimport { catchError, map, startWith, switchMap, tap } from 'rxjs/operators';\nimport {\n IRowOption,\n ISearchResponse,\n SortType,\n ETSTableCol,\n} from '../../models/index.model';\n\n@Component({\n selector: 'table-https',\n templateUrl: './table-https.component.html',\n styleUrls: ['../table-plain/table-plain.component.scss'],\n})\nexport class TableHttpsComponent implements OnInit {\n @Input() orderField: string;\n @Input() orderDirection: SortType = 'asc';\n @Input() text: string;\n @Input() centerCells: boolean;\n @Input() smallerFonts = false;\n @Input() showRowPointer = true;\n @Input() nowrap = false;\n @Input() curvy = false;\n @Input() noItemTxt: string;\n @Input() queryData: any;\n @Input() displayedColumns: ETSTableCol[];\n @Input() observableFunc: (data: any) => Observable<ITableSearchFunc<any>>;\n @Input() pageSize = 10;\n @Input() showExport = false;\n @Input() useSelection = false;\n @Input() pageNumber = 0;\n @Input('rowOptions') options: IRowOption[];\n @Output('rowClick') _rowClick = new EventEmitter();\n @Output() selectionChanged = new EventEmitter<SelectionChange<any>>();\n form: FormGroup;\n filteredAndPagedResults: Observable<any[]>;\n\n resultsLength = 0;\n isLoadingResults = true;\n isRateLimitReached = false;\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatSort) sort: MatSort;\n @ViewChild('table') table: MatTable<any>;\n selection = new SelectionModel<any>(true, []);\n data: any[];\n\n constructor(public route: ActivatedRoute) {}\n ngOnInit() {\n this.form = new FormGroup({\n pageNumber: new FormControl(this.pageNumber || 0),\n sortBy: new FormControl(this.orderField),\n sortDirection: new FormControl(\n this.orderDirection == 'asc'\n ? 'ASC'\n : this.orderDirection == 'desc'\n ? 'DESC'\n : ''\n ),\n pageSize: new FormControl(this.pageSize),\n });\n this.selection.changed.subscribe((r) => {\n this.selectionChanged.emit(r);\n });\n }\n ngAfterViewInit() {\n this.queryData = this.queryData || this.route.snapshot.queryParams;\n this.paginator.page.subscribe((r) => {\n // debugger;\n this.form.patchValue({ pageNumber: r.pageIndex, pageSize: r.pageSize });\n });\n this.sort.sortChange.subscribe((r) => {\n this.form.patchValue({\n sortDirection:\n r.direction == 'asc' ? 'ASC' : r.direction == 'desc' ? 'DESC' : '',\n sortBy: r.active,\n });\n });\n this.filteredAndPagedResults = merge(this.form.valueChanges).pipe(\n startWith({}),\n switchMap(() => {\n // debugger\n this.isLoadingResults = true;\n const queryData = this.queryData;\n return this.observableFunc({\n ...queryData,\n ...this.form.value,\n }).pipe(\n catchError((e) => of(<ITableSearchFunc>{ content: [], total: 0 }))\n );\n }),\n tap((r) => this.selection.clear()),\n map((data) => {\n // Flip flag to show that loading has finished.\n console.log(data);\n this.isLoadingResults = false;\n this.isRateLimitReached = false;\n this.resultsLength = data?.total;\n this.data = data.content;\n return data?.content;\n }),\n catchError((e) => {\n console.log(e);\n this.isLoadingResults = false;\n\n this.isRateLimitReached = true;\n return observableOf([]);\n })\n );\n }\n search(query: any) {\n this.queryData = query;\n // this.form.controls.pageNumber.patchValue(0);\n this.resetPaging();\n this.form.updateValueAndValidity();\n }\n\n /** Whether the number of selected elements matches the total number of rows. */\n isAllSelected() {\n const numSelected = this.selection?.selected?.length;\n const numRows = this.data?.length;\n return numSelected === numRows;\n }\n\n /** Selects all rows if they are not all selected; otherwise clear selection. */\n masterToggle() {\n if (this.isAllSelected()) {\n this.selection.clear();\n return;\n }\n this.selection.select(...this.data);\n }\n get selectedItems() {\n return this.selection.selected;\n }\n\n /** The label for the checkbox on the passed row */\n checkboxLabel(row?: any): string {\n if (!row) {\n return `${this.isAllSelected() ? 'deselect' : 'select'} all`;\n }\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row `;\n }\n resetPaging(): void {\n this.paginator.pageIndex = 0;\n }\n rowClick(e) {\n this._rowClick.emit(e);\n }\n}\n\nexport interface ITableSearchFunc<T = any> {\n content: T[];\n total: number;\n}\n","<div class=\" \">\n <div class=\"mt-4 text-center\" *ngIf=\"text\">\n <h3>{{text|appTranslate|async}} </h3>\n </div>\n <loader [loading]=\"isLoadingResults\" [height]=\"container?.offsetHeight+100\">\n <div class=\"\" #container>\n <div class=\"overflow-auto border\">\n <table mat-table [dataSource]=\"filteredAndPagedResults\" class=\"w-100 d-table\"\n [ngClass]=\"{smallerFonts,nowrap,centerCells,curvy}\" matSort matSortActive=\"{{orderField}}\" matSortDisableClear\n [matSortDirection]=\"orderDirection\" #table (matSortChange)=\"resetPaging()\">\n <!-- Checkbox Column -->\n <ng-container matColumnDef=\"mselect\" sticky>\n <th mat-header-cell *matHeaderCellDef>\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\" [aria-label]=\"checkboxLabel()\">\n </mat-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\" [aria-label]=\"checkboxLabel(row)\">\n </mat-checkbox>\n </td>\n </ng-container>\n\n <!-- COLUMNS -->\n <ng-container *ngFor=\"let col of displayedColumns; let i = index\">\n <ng-container [ngSwitch]=\"col.type\">\n <!-- Sub Table -->\n <ng-container *ngSwitchCase=\"'table'\" matColumnDef=\"{{ col.f |toAny}}\">\n <th mat-header-cell class=\"text-center\" *matHeaderCellDef>\n {{ col.t | appTranslate | async }}\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <app-btn [icon]=\"col.icon\" type=\"dark\" (mclick)=\"col.action ? col.action(row, col.f) : null\"\n [help]=\"col.subTable|tableToString:row| async\" [showHelpIcon]=\"false\" [iconBtn]=\"true\" mclass=\"w-auto\">\n </app-btn>\n </td>\n </ng-container>\n <!--// -->\n\n <!-- EDITABLE -->\n <ng-container matColumnDef=\"{{ col.f|toAny }}\" *ngSwitchCase=\"'editable'\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n {{ col.t | appTranslate | async }}\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <a class=\"cell\" [mqueryParams]=\"col.mqueryParams | functionCaller2: row:col.f\" [mrouterLink]=\"\n col.routeFormatter | functionCaller2: row:col.f\n \" [innerHTML]=\"((row | getColFormatted: col)|async) || '-'\">\n\n </a><i (click)=\"col.action ? col.action(row, col.f):null\"\n class=\"ps-1 pointer fas fa-pencil-alt \"></i>\n </td>\n </ng-container>\n <!-- DEFAULT -->\n <ng-container matColumnDef=\"{{ col.f |toAny}}\" *ngSwitchDefault>\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear>{{col.t|appTranslate|async}}</th>\n <td mat-cell *matCellDef=\"let row\">\n <a class=\"cell\" [ngClass]=\"{pointer:col.action,link:col.action}\"\n (click)=\"col.action?col.action(row,col.f):null\"\n [mqueryParams]=\"col.mqueryParams|functionCaller2:row:col.f\"\n [mrouterLink]=\"(col.routeFormatter|functionCaller2:row:col.f)\"\n [innerHTML]=\"((row|getColFormatted:col)|async)||'-'\">\n </a>\n </td>\n </ng-container>\n <!--// -->\n </ng-container>\n </ng-container>\n <!--// -->\n <!-- OPTIONS COLUMN -->\n <ng-container matColumnDef=\"option\" *ngIf=\"options?.length>0\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear></th>\n <td mat-cell *matCellDef=\"let row\">\n <button type=\"button\" [matMenuTriggerFor]=\"menu\" class=\"btn ms-2\"><i class=\"bx bx-menu me-0\"></i>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let option of options\" (click)=\"option.action(row)\">\n {{option.t|appTranslate|async}}\n </button>\n </mat-menu>\n </td>\n </ng-container>\n <!--// -->\n\n\n\n <ng-container *ngIf=\"displayedColumns|getRawFields:options?.length:useSelection as dcols\">\n <tr mat-header-row *matHeaderRowDef=\"dcols\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: dcols\" [ngClass]=\"{pointer:showRowPointer}\"\n (click)=\"rowClick(row)\"></tr>\n <tr class=\"mat-row\" *matNoDataRow>\n <td class=\"mat-cell\" [attr.colspan]=\"dcols?.length||1\">{{noItemTxt|appTranslate|async}}</td>\n </tr>\n </ng-container>\n </table>\n </div>\n\n <mat-paginator [length]=\"resultsLength\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"[5,10,20,50,100,500,10000]\"\n showFirstLastButtons></mat-paginator>\n </div>\n </loader>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TableHttpsComponent } from './table-https.component';\nimport { MatPaginatorModule as MatPaginatorModule } from '@angular/material/paginator';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTableModule as MatTableModule } from '@angular/material/table';\nimport { LoaderModule } from '../loader/loader.module';\nimport { MatFormFieldModule as MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule as MatInputModule } from '@angular/material/input';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatCheckboxModule as MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatButtonModule as MatButtonModule } from '@angular/material/button';\nimport { TablePipesModule } from '../table-plain/table.pipe';\nimport { RouterModule } from '@angular/router';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { DirectivesModule } from '../../directives/index.directive';\nimport { BtnModule } from '../btn/btn.module';\n@NgModule({\n declarations: [TableHttpsComponent],\n imports: [\n BtnModule,\n CommonModule,\n DirectivesModule,\n FormsModule,\n LoaderModule,\n MatButtonModule,\n MatCheckboxModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatMenuModule,\n MatPaginatorModule,\n MatSortModule,\n MatTableModule,\n ReactiveFormsModule,\n RouterModule,\n TablePipesModule,\n UtilityPipesModule,\n ],\n exports: [TableHttpsComponent],\n})\nexport class TableHttpsModule {}\n","import { SelectionChange, SelectionModel } from '@angular/cdk/collections';\nimport {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { MatPaginator as MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTable as MatTable, MatTableDataSource as MatTableDataSource } from '@angular/material/table';\nimport { ETSUtilityService } from '../../../../lib/Services/utility.service';\nimport { IFormOptions, IETSFormSchema } from '../../models/form-schema.model';\nimport {\n ICodeDescription,\n IRowOption,\n SortType,\n ETSTableCol,\n} from '../../models/index.model';\n\n@Component({\n selector: 'table-plain',\n templateUrl: './table-plain.component.html',\n styleUrls: ['./table-plain.component.scss'],\n})\nexport class TablePlainComponent<T = any> implements OnInit {\n @Input('rowOptions') options: IRowOption[];\n @Input() centerCells: boolean;\n displayedColumns: ETSTableCol<T>[];\n filterOptions: ICodeDescription[];\n @Input('displayedColumns') set _displayedColumns(v: ETSTableCol<T>[]) {\n this.displayedColumns = v;\n this.filterOptions = this.displayedColumns.map((x) => ({\n code: x.f as string,\n description: x.t,\n }));\n }\n @Input() distinct = true;\n @Input() showRowPointer = true;\n @Input() idField: string = 'id';\n @Input() header: string;\n @Input() noItemTxt: string = 'There are no items';\n @Input() nowrap = true;\n @Input() curvy = false;\n @Input() orderDirection: SortType = 'desc';\n @Input() orderField: string;\n @Input() pageSize = 5;\n @Input() pageSizeOptions = [5, 10, 15, 20, 50, 100, 200];\n @Input() resultsLength = 5;\n @Input() showExport = false;\n @Input() useSelection = false;\n @Input() placeSelectionAtRight = false; // support customizing the position of the select checkboxes.\n @Input() customSelectClass; // custom class for row selection checkboxes\n @Input() showFilter = false;\n @Input() showPager = false;\n @Input() smallerFonts = false;\n @Input('label') text: string;\n @Output('rowClick') _rowClick = new EventEmitter<any>();\n @Output('view') _view = new EventEmitter<any>();\n @Output() selectionChanged = new EventEmitter<SelectionChange<any>>();\n selection = new SelectionModel<T>(true, []);\n\n form = new FormGroup({ field: new FormControl(), value: new FormControl() });\n dataSource: MatTableDataSource<any>;\n mutableList: any[];\n defaultFilterPredicate: any;\n filterFields: IETSFormSchema[];\n @ViewChild('table') table: MatTable<any>;\n @Input() set data(v: T[]) {\n console.log(v);\n this.dataSource = new MatTableDataSource(v);\n this.dataChanged.emit(v);\n this.dataSource.sort = this.sort;\n this.selection?.clear();\n if (this.orderField && this.orderDirection && this.dataSource.sort) {\n // debugger\n this.dataSource.sort.active = this.orderField;\n this.dataSource.sort.direction = this.orderDirection;\n this.dataSource.sort.sortChange.emit({\n active: this.orderField,\n direction: this.orderDirection,\n });\n }\n if (this.showPager) {\n this.dataSource.paginator = this.paginator;\n }\n if (this.showFilter) {\n this.defaultFilterPredicate =\n this.defaultFilterPredicate || this.dataSource.filterPredicate.clone();\n this.dataSource.filterPredicate = (row: any, filter: any) => {\n if (filter.field) {\n return (row[filter.field]?.toLowerCase()?.trim() || '')?.includes(\n filter.value\n );\n } else {\n return this.defaultFilterPredicate(row, filter.value);\n }\n };\n } else if (this.filterFields) {\n this.defaultFilterPredicate =\n this.defaultFilterPredicate || this.dataSource.filterPredicate.clone();\n this.dataSource.filterPredicate = (row: any, filter: any) => {\n // debugger;\n if (!Object.keys(filter).some((key) => filter[key])) return true;\n for (const key in filter) {\n // const it1 = filter[key]?.toLowerCase(); ;\n // const it2 = row[key]?.toString()?.toLowerCase();\n // const it3 = row[key]?.toString()?.toLowerCase() || '';\n // const it4 = (row[key]?.toString()?.toLowerCase() || '')?.includes(\n // filter[key]?.toLowerCase()\n // );\n if (\n filter[key]?.toLowerCase() &&\n (row[key]?.toString()?.toLowerCase() || '')?.includes(\n filter[key]?.toLowerCase()\n )\n ) {\n // debugger;\n return true;\n }\n }\n return false;\n };\n }\n this.mutableList = v;\n }\n\n @Input('filterFields') set _filterFields(v: IETSFormSchema[]) {\n this.form = new FormGroup<any>(this.uS.formSchemaToFormControls(v));\n this.filterFields = v;\n for (const scheme of v) {\n if (scheme.optionsInitFunc) {\n scheme.optionsInitFunc.subscribe(\n (r) => (this.cellOptions[scheme.field?.toString()] = r)\n );\n }\n }\n }\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatSort) sort: MatSort;\n\n @Output() emitCheckbox = new EventEmitter<{\n field: keyof T;\n item: T;\n value: boolean;\n }>();\n\n @Output() listMutated = new EventEmitter<T[]>();\n\n /** Selects all rows in the current page of the table if true */\n @Input() selectionPerPage: boolean = true;\n\n @Output() dataChanged = new EventEmitter();\n\n cellOptions: IFormOptions = {};\n constructor(public uS: ETSUtilityService) {}\n ngOnInit() {\n this.form.valueChanges.subscribe((r: { field: string; value: string }) => {\n // debugger\n if (!this.filterFields) r.value = r.value?.toLowerCase()?.trim() || '';\n\n this.dataSource.filter = r as any;\n });\n this.selection.changed.subscribe((r) => {\n this.selectionChanged.emit(r);\n });\n }\n ngAfterViewInit(): void {\n if (this.showPager && this.dataSource) {\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n }\n }\n\n clearFilter() {\n this.form.reset();\n }\n outputCheckbox(field: keyof T, item: T, value: any) {\n console.log(field, item, value, this.mutableList);\n const find = this.mutableList?.find(\n (x) => x[this.idField] == item[this.idField]\n );\n if (find) find[field] = value;\n this.emitCheckbox.emit({ field, item, value });\n this.listMutated.emit(this.mutableList);\n }\n /** Whether the number of selected elements matches the total number of rows. */\n isAllSelected() {\n const numSelected = this.selection?.selected?.length;\n const numRows = this.dataSource?.data?.length;\n return numSelected === numRows;\n }\n\n /** Selects all rows if they are not all selected; otherwise clear selection. */\n masterToggle() {\n if (this.isAllSelected()) {\n this.selection.clear();\n return;\n }\n let lastSelection = this.selectedItems.length ? this.selectedItems[this.selectedItems.length - 1]: null\n let selectedIndex = lastSelection ? this.dataSource.data.findIndex((r)=>r == lastSelection) : -1\n let end = this.paginator.hasNextPage()\n ? (this.dataSource.paginator.pageIndex + 1) *\n this.dataSource.paginator.pageSize\n : this.dataSource.data.length;\n if(this.selectedItems.length && selectedIndex != -1 && (selectedIndex+1 == end) ){\n let start =\n this.dataSource.paginator.pageIndex < 1\n ? 0\n : this.dataSource.paginator.pageIndex *\n this.dataSource.paginator.pageSize;\n let end = this.paginator.hasNextPage()\n ? (this.dataSource.paginator.pageIndex + 1) *\n this.dataSource.paginator.pageSize\n : this.dataSource.data.length + 1;\n let pageData = this.dataSource.data.slice(start, end);\n this.selection.deselect(...pageData);\n return\n }\n \n if (this.selectionPerPage) {\n let start =\n this.dataSource.paginator.pageIndex < 1\n ? 0\n : this.dataSource.paginator.pageIndex *\n this.dataSource.paginator.pageSize;\n let end = this.paginator.hasNextPage()\n ? (this.dataSource.paginator.pageIndex + 1) *\n this.dataSource.paginator.pageSize\n : this.dataSource.data.length + 1;\n let pageData = this.dataSource.data.slice(start, end);\n this.selection.select(...pageData);\n } else {\n this.selection.select(...this.dataSource.data);\n }\n }\n\n get selectedItems() {\n return this.selection.selected;\n }\n\n /** The label for the checkbox on the passed row */\n checkboxLabel(row?: any): string {\n if (!row) {\n return `${this.isAllSelected() ? 'deselect' : 'select'} all`;\n }\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row ${\n row.position + 1\n }`;\n }\n\n rowClick(e) {\n this._rowClick.emit(e);\n }\n\n getActionStatusCallback(col) {\n return (state: boolean) => (col.btn.loading = state);\n }\n}\n","<div class=\" \">\n <h5 class=\"text-primary\" *ngIf=\"header\">\n {{header}}\n </h5>\n <div class=\"row align-items-center\" *ngIf=\"filterFields\">\n <ng-container *ngFor=\"let scheme of filterFields\">\n <div class=\"col-md-4 col-xxl-3\">\n <ng-container [ngSwitch]=\"true\">\n <ng-container *ngSwitchCase=\"scheme.type == 'autocomplete'\">\n <div class=\"col\">\n <app-autocomplete [form]=\"form\" [label]=\"scheme.label\" [labelField]=\"scheme.labelField\"\n [labelType]=\"scheme.labelType\" [name]=\"scheme.field|toAny\" [optionFormatter]=\"scheme.optionFormatter\"\n [valueField]=\"scheme.valueField\" [hint]=\"scheme.hint\"\n [disabled]=\"scheme.disabledIf|functionCaller2:form.value:scheme.field\" #inputTag [options]=\"(scheme.optionsFunc| functionCaller2: form.value:scheme.field\n | async) || scheme.options ||cellOptions[scheme.field|toAny]\">\n </app-autocomplete>\n <app-validation-message [input]=\"inputTag\"></app-validation-message>\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <app-input-basic #formField [name]=\"scheme.field|toAny\" [form]=\"form\" [stacked]=\"true\" [type]=\"scheme.type\"\n [valueField]=\"scheme.valueField\" [labelType]=\"scheme.labelType\" [labelField]=\"scheme.labelField\"\n [optionFormatter]=\"scheme.optionFormatter\" [decimalPoints]=\"scheme.decimalPoints\" [hint]=\"scheme.hint\"\n [max]=\"scheme.max\" [min]=\"scheme.min\" [placeholder]=\"scheme.placeholder\" [label]=\"scheme.label\"\n [disabled]=\"scheme.disabledIf|functionCaller2:form.value:scheme.field\" [options]=\"(scheme.optionsFunc| functionCaller2: form.value:scheme.field\n | async) || scheme.options ||cellOptions[scheme.field|toAny]\"></app-input-basic>\n <app-validation-message [input]=\"formField\"></app-validation-message>\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n <div class=\"col-md justify-content-end d-flex \">\n <app-btn type=\"danger-outline\" text=\"Clear\" icon=\"delete\" (mclick)=\"clearFilter()\">\n </app-btn>\n </div>\n </div>\n <div class=\"row justify-content-between align-items-end\">\n <div class=\"col-md mb-3\">\n <form [formGroup]=\"form\" *ngIf=\"showFilter\">\n <div class=\"row justify-content-center align-items-end\">\n <div class=\"col-md-auto\">\n <app-input-basic label=\"Filter\" type=\"select\" [form]=\"form\" name=\"field\" [stacked]=\"false\"\n [options]=\"filterOptions\" valueField=\"code\" labelField=\"description\">\n </app-input-basic>\n </div>\n <div class=\"col-md-auto\">\n <app-input-basic label=\"Value\" type=\"text\" [form]=\"form\" name=\"value\" [stacked]=\"false\">\n </app-input-basic>\n </div>\n <div class=\"col-md-auto\">\n <app-btn text=\"Clear\" type=\"secondary\" (mclick)=\"clearFilter()\">\n </app-btn>\n </div>\n </div>\n </form>\n </div>\n <div class=\"col-md-auto my-3\">\n <app-export-table *ngIf=\"showExport\" [disabled]=\"!dataSource.data?.length\" [label]=\"text\"\n [displayedColumns]=\"displayedColumns\" [data]=\"mutableList\">\n </app-export-table>\n </div>\n </div>\n <div [ngClass]=\"{ border: distinct }\">\n <div class=\"overflow-auto\">\n <table mat-table [dataSource]=\"dataSource\" matSort class=\"w-100 d-table table table-striped mb-0\" #table\n [ngClass]=\"{smallerFonts,nowrap,centerCells,curvy}\">\n <!-- Checkbox Column -->\n <ng-container matColumnDef=\"mselect\" [sticky]=\"!placeSelectionAtRight\" [stickyEnd]=\"placeSelectionAtRight\">\n <th mat-header-cell *matHeaderCellDef>\n <ng-container *ngIf=\"customSelectClass\">\n <input type=\"checkbox\" [class]=\"customSelectClass\" (change)=\"$event ? masterToggle() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\" [attr.aria-label]=\"checkboxLabel()\" />\n </ng-container>\n <ng-container *ngIf=\"!customSelectClass\">\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\" [aria-label]=\"checkboxLabel()\">\n </mat-checkbox>\n </ng-container>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"customSelectClass\">\n <input type=\"checkbox\" class=\"form-control control-bg-gray\" (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection.toggle(row) : null\" [checked]=\"selection.isSelected(row)\"\n [attr.aria-label]=\"checkboxLabel(row)\" />\n </ng-container>\n <ng-container *ngIf=\"!customSelectClass\">\n <mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\" [aria-label]=\"checkboxLabel(row)\">\n </mat-checkbox>\n </ng-container>\n </td>\n </ng-container>\n <!-- Columns -->\n <ng-container *ngFor=\"let col of displayedColumns; let i = index\">\n <ng-container [ngSwitch]=\"col.type\">\n <!-- CHECKBOX -->\n <ng-container *ngSwitchCase=\"'checkbox'\" matColumnDef=\"{{ col.f|toAny }}\">\n <th mat-header-cell *matHeaderCellDef>\n <app-info-icon [text]=\"col.hint\">\n {{ col.t | appTranslate | async }}\n </app-info-icon>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <!-- Removing the empty space above checkboxes -->\n <app-input-ngmodel [showLabel]=\"false\" [stacked]=\"true\" type=\"checkbox\" [disabled]=\"col.disabled\"\n [checked]=\"col.checked\" [(model)]=\"row[col.f]\" (mchange)=\"outputCheckbox(col.f, row, $event)\">\n </app-input-ngmodel>\n </td>\n </ng-container>\n <!--// -->\n\n <!-- PROGRESS BAR -->\n <ng-container *ngSwitchCase=\"'progress'\" matColumnDef=\"{{ col.f|toAny }}\">\n <th mat-header-cell *matHeaderCellDef>\n <app-info-icon [text]=\"col.hint\">\n {{ col.t | appTranslate | async }}\n </app-info-icon>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <div class=\"progress\">\n <div class=\"progress-bar progress-bar-striped bg-success\" role=\"progressbar\"\n [ngStyle]=\"{ width: row[col.f] }\">\n {{ row[col.f] }}\n </div>\n </div>\n </td>\n </ng-container>\n <!--// -->\n\n <!-- Button -->\n <ng-container *ngSwitchCase=\"'button'\" matColumnDef=\"{{ col.f|toAny }}\">\n <th mat-header-cell *matHeaderCellDef>\n <app-info-icon [text]=\"col.hint\">\n {{ col.t | appTranslate | async }}\n </app-info-icon>\n </th>\n <td mat-cell *matCellDef=\"let row;let index =index \" class=\"btn-cell\">\n <app-btn [icon]=\"col.icon\" [type]=\"col.btn?.type\"\n (mclick)=\"col.action ? col.action(row, col.f, getActionStatusCallback(col),index) : null\"\n [help]=\"col.btn?.help\" [showHelpIcon]=\"col.btn?.showHelpIcon\" [text]=\"col.btn?.label\"\n [loading]=\"col.btn?.loading\" [iconBtn]=\"col.btn?.iconBtn\" mclass=\"w-auto\"\n [disabled]=\"col.btn?.disabled || col.btn?.loading\"></app-btn>\n </td>\n </ng-container>\n <!--// -->\n\n <!-- Sub Table -->\n <ng-container *ngSwitchCase=\"'table'\" matColumnDef=\"{{ col.f|toAny }}\">\n <th mat-header-cell class=\"text-center\" *matHeaderCellDef>\n <app-info-icon [text]=\"col.hint\">\n {{ col.t | appTranslate | async }}\n </app-info-icon>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <app-btn [icon]=\"col.icon\" [type]=\"col.btn?.type||'dark'\"\n (mclick)=\"col.action ? col.action(row, col.f) : null\" [group]=\"col.btn?.group\"\n [help]=\"col.subTable|tableToString:row | async \" [showHelpIcon]=\"false\" [text]=\"col.btn?.label\"\n [iconBtn]=\"true\" mclass=\"w-auto\"></app-btn>\n </td>\n </ng-container>\n <!--// -->\n\n <!-- ACTION COLUMNS -->\n <ng-container matColumnDef=\"{{ col.f|toAny }}\" *ngSwitchCase=\"'btns'\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header class=\"btn-cell\">\n <app-info-icon [text]=\"col.hint\">\n {{ col.t | appTranslate | async }}\n </app-info-icon>\n </th>\n <td mat-cell *matCellDef=\"let row;let i=index\" class=\"btn-cell\">\n <div class=\"d-flex col-md-auto col-sm-auto \">\n\n <div class=\"mx-2\" *ngFor=\"let button of col.buttons\">\n <app-btn [icon]=\"button.icon\" [help]=\"button.help\" [showHelpIcon]=\"button.showHelpIcon\"\n [type]=\"button.type\" [group]=\"button.group\" [iconBtn]=\"true\" mclass=\"w-auto\"\n (mclick)=\"button.action(row,i)\"></app-btn>\n </div>\n\n\n\n </div>\n </td>\n </ng-container>\n\n <!-- EDITABLE -->\n <ng-container matColumnDef=\"{{ col.f |toAny}}\" *ngSwitchCase=\"'editable'\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <app-info-icon [text]=\"col.hint\">\n {{ col.t | appTranslate | async }}\n </app-info-icon>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <a class=\"cell\" [mqueryParams]=\"col.mqueryParams | functionCaller2: row:col.f\" [mrouterLink]=\"\n col.routeFormatter | functionCaller2: row:col.f\n \" [innerHTML]=\"((row | getColFormatted: col)|async) || '-'\">\n\n </a><i (click)=\"col.action ? col.action(row, col.f):null\" class=\"ps-1 pointer fas fa-pencil-alt \"></i>\n </td>\n </ng-container>\n\n <!-- DEFAULT -->\n <ng-container matColumnDef=\"{{ col.f|toAny }}\" *ngSwitchDefault>\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <app-info-icon [text]=\"col.hint\">\n {{ col.t | appTranslate | async }}\n </app-info-icon>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <a class=\"cell\" [ngClass]=\"{ pointer: col.action ,link:col.action}\"\n (click)=\"col.action ? col.action(row, col.f) : null\"\n [mqueryParams]=\"col.mqueryParams | functionCaller2: row:col.f\" [mrouterLink]=\"\n col.routeFormatter | functionCaller2: row:col.f\n \" [innerHTML]=\"((row | getColFormatted: col)|async) || '-'\">\n </a>\n </td>\n </ng-container>\n\n <!--// -->\n </ng-container>\n </ng-container>\n <!-- Options Column -->\n <ng-container matColumnDef=\"option\" *ngIf=\"options?.length > 0\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef=\"let row\">\n <button type=\"button\" [matMenuTriggerFor]=\"menu\" class=\"btn ms-2\">\n <i class=\"bx bx-menu me-0\"></i>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let option of options\" (click)=\"option.action(row)\">\n {{ option.t | appTranslate | async }}\n </button>\n </mat-menu>\n </td>\n </ng-container>\n\n\n\n <ng-container\n *ngIf=\"displayedColumns | getRawFields: options?.length:useSelection:placeSelectionAtRight as dcols\">\n <tr mat-header-row *matHeaderRowDef=\"dcols\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: dcols\" [ngClass]=\"{pointer:showRowPointer}\" (click)=\"rowClick(row)\">\n </tr>\n <tr class=\"mat-row\" *matNoDataRow>\n <td class=\"mat-cell\" [attr.colspan]=\"dcols?.length || 1\">\n {{ noItemTxt | appTranslate | async }}\n </td>\n </tr>\n </ng-container>\n </table>\n </div>\n <mat-paginator *ngIf=\"showPager\" [length]=\"resultsLength\" [pageSizeOptions]=\"pageSizeOptions\" [pageSize]=\"pageSize\"\n showFirstLastButtons>\n </mat-paginator>\n </div>\n</div>\n","import { Injectable } from '@angular/core';\nimport { IETSKVP } from '../../models/index.model';\n\n@Injectable()\nexport class TablePlainService {\n constructor() {}\n formatToColours = (\n key: any,\n codes: IETSKVP[] = [\n { key: 1, value: 'green' },\n { key: 0, value: 'red' },\n { key: 2, value: 'yellow' },\n ]\n ) => {\n return `<span class=\"${\n codes.find((x) => x.key == key)?.value || 'default'\n } colour ${key}\" ></span>`;\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TablePlainComponent } from './table-plain.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule as MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule as MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule as MatInputModule } from '@angular/material/input';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule as MatPaginatorModule } from '@angular/material/paginator';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTableModule as MatTableModule } from '@angular/material/table';\nimport { TablePipesModule } from './table.pipe';\nimport { TablePlainService } from './table-plain.service';\nimport { InputNGModelModule } from '../input-NgModel/input-ngmodel.module';\nimport { LoaderModule } from '../loader/loader.module';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { InputModule } from '../input/input.module';\nimport { BtnModule } from '../btn/btn.module';\nimport { DirectivesModule } from '../../directives/index.directive';\nimport { ExportTableModule } from '../export-table/export-table.module';\nimport { MatCheckboxModule as MatCheckboxModule } from '@angular/material/checkbox';\nimport { AutocompleteModule } from '../autocomplete/autocomplete.module';\nimport { InfoIconModule } from '../info-icon/info-icon.module';\n\n@NgModule({\n declarations: [TablePlainComponent],\n imports: [\n BtnModule,\n CommonModule,\n DirectivesModule,\n ExportTableModule,\n FormsModule,\n InputModule,\n InputNGModelModule,\n LoaderModule,\n MatButtonModule,\n MatCheckboxModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatMenuModule,\n AutocompleteModule,\n MatPaginatorModule,\n MatSortModule,\n MatTableModule,\n ReactiveFormsModule,\n TablePipesModule,\n UtilityPipesModule,\n InfoIconModule\n ],\n exports: [TablePlainComponent],\n providers: [TablePlainService],\n})\nexport class TablePlainModule {}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'text-case-1',\n templateUrl: './text-case-1.component.html',\n styles: [\n `\n i {\n /* font-weight: 500; */\n font-size: small;\n }\n .lbl {\n font-weight: 500;\n }\n `,\n ],\n})\nexport class TextCase1Component implements OnInit {\n @Input() action: any;\n @Input() formatter: (item) => string | Promise<string> | Observable<string>;\n @Input() hint: string;\n @Input() icon: string;\n @Input() set editable(v: boolean) {\n if (v) {\n this.icon = ' pointer fas fa-pencil-alt';\n }\n }\n @Input() inverted: boolean;\n @Input() lbl: string;\n @Input() lblClass = 'text-primary';\n @Input() light: boolean = true;\n @Input() mclass: string;\n @Input() valueNGStyle: { [x: string]: any };\n @Input() route: string;\n @Input() small: boolean;\n @Input() stacked: boolean = true;\n @Input() val: any;\n @Input() xsmall: boolean;\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"{{stacked?'':'d-flex align-items-center'}} tc1 {{mclass}} \">\n <div class=\"{{inverted?'val':lblClass}} lbl\" [ngClass]=\"{'fw-bold':!light,small,small1:xsmall}\"\n [matTooltip]=\"hint|appTranslate|async\">\n {{lbl|appTranslate|async}}\n </div>\n <div class=\"{{!inverted?'val':lblClass}} align-items-center d-flex justify-content-between\"\n [ngClass]=\"{'px-1':!stacked}\">\n <a [mrouterLink]=\"route\" [ngStyle]=\"valueNGStyle\">{{((val|valueFormatter:formatter)|async)||'-'}} <i *ngIf=\"icon\"\n class=\"{{icon}} {{!inverted?'val':lblClass}} ml-2\" (click)=\"action?action():null\"></i></a>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TextCase1Component } from './text-case-1.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { RouterModule } from '@angular/router';\nimport { DirectivesModule } from '../../directives/index.directive';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [TextCase1Component],\n imports: [\n CommonModule,\n MatIconModule,\n UtilityPipesModule,\n RouterModule,\n DirectivesModule,MatTooltipModule\n ],\n exports: [TextCase1Component],\n})\nexport class TextCase1Module {}\n","import {\n Component,\n OnInit,\n Input,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ETSFKVP, ETSInputType } from '../../models/index.model';\n\n@Component({\n selector: 'text-case-2',\n templateUrl: './text-case-2.component.html',\n styleUrls: ['./text-case-2.component.scss'],\n // changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TextCase2Component implements OnInit, ITextCase2 {\n @Input() set obj(v: ITextCase2) {\n Object.assign(this, v);\n }\n @Input() action: any;\n name: string;\n @Input() coloredLbl: boolean=true;\n @Input() coloredVal: boolean;\n @Input() form: any;\n @Input() formatter: (item) => string | Promise<string> | Observable<string>;\n @Input() hint: string;\n @Input() label: string;\n @Input() light: boolean;\n @Input() mini: boolean;\n @Input() route: string;\n @Input() routeFunc: (item) => Promise<string> | Observable<string>;\n @Input() editable: boolean;\n @Input() stacked: boolean = true;\n @Input() type: ETSInputType;\n @Input() value: any;\n @Input() wrapLabel: boolean = true;\n @Input() isEmail: boolean;\n @Input() isPhone: boolean;\n constructor() {}\n\n ngOnInit(): void {}\n}\nexport class TextCase2ForObject implements ITextCase2 {\n name: string;\n action: any;\n coloredLbl: boolean;\n coloredVal: boolean;\n form: any;\n formatter: (item) => string | Promise<string> | Observable<string>;\n hint: string;\n label: string;\n light: boolean;\n mini: boolean;\n route: string;\n routeFunc: (item) => Promise<string> | Observable<string>;\n editable: boolean;\n stacked: boolean = true;\n type: ETSInputType;\n value: any;\n wrapLabel: boolean = true;\n isEmail: boolean;\n isPhone: boolean;\n constructor(name: string, label: string) {\n this.name = name;\n this.label = label;\n }\n \n}\n\nexport interface ITextCase2 {\n action?: any;\n coloredLbl?: boolean;\n coloredVal?: boolean;\n formatter?: (item) => string | Promise<string> | Observable<string>;\n hint?: string;\n label?: string;\n name?: string;\n light?: boolean;\n mini?: boolean;\n route?: string;\n routeFunc?: (item) => Promise<string> | Observable<string>;\n editable?: boolean;\n stacked?: boolean;\n type?: ETSInputType;\n value?: any;\n wrapLabel?: boolean;\n isEmail?: boolean;\n isPhone?: boolean;\n}\n","<div class=\"row align-items-center\">\n <label [matTooltip]=\"hint\" class=\"col-md-{{stacked?'12 pb-0':'auto pe-0'}} m-0 hide-scroll-x\"\n [ngClass]=\"{'text-primary':coloredLbl,light,'overflow-x-auto':wrapLabel}\">\n {{label|appTranslate|async}}\n </label>\n <div class=\"{{stacked?'col-12':'col-md'}} position-relative\">\n <div class=\"row align-items-center\">\n <a [isEmail]=\"isEmail\" [isPhone]=\"isPhone\" [mrouterLink]=\"route||(routeFunc|functionCaller1:value|async)\"\n class=\"{{!coloredVal?'':'text-primary'}} col-{{!stacked?'auto':editable?'9':'12'}} lbl\">\n <div class=\"hide-scroll-x overflow-x-auto\">{{((value|valueFormatter:formatter)|async)||'-'}}</div>\n </a>\n <div class=\"col-auto \" *ngIf=\"editable\">\n <i (click)=\"action?action():null\" class=\"ps-1 pointer fas fa-pencil-alt {{!coloredVal?'':'text-primary'}}\"></i>\n </div>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TextCase2Component } from './text-case-2.component'; \nimport { MatIconModule } from '@angular/material/icon';\nimport { UtilityPipesModule } from '../../pipes/utility.pipe';\nimport { RouterModule } from '@angular/router';\nimport { DirectivesModule } from '../../directives/index.directive';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [TextCase2Component],\n imports: [\n CommonModule,\n MatIconModule,\n UtilityPipesModule,\n RouterModule,\n DirectivesModule,\n MatTooltipModule,\n ],\n exports: [TextCase2Component],\n})\nexport class TextCase2Module {}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'view-form-buttons',\n templateUrl: './view-form-buttons.component.html',\n styleUrls: ['./view-form-buttons.component.scss'],\n})\nexport class ViewFormButtonsComponent implements OnInit {\n @Input() isShow:boolean\n @Input() class:string\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"d-lg-flex mt-4 {{class}}\" *ngIf=\"isShow\">\n <app-btn text=\"Edit\" routerLink=\"../edit\" icon=\"edit\" [queryParamsHandling]=\"'merge'\" type=\"secondary\"></app-btn>\n <span class=\"mx-1\"></span>\n <app-btn text=\"Clone\" routerLink=\"../clone\" icon=\"clone\" [queryParamsHandling]=\"'merge'\" type=\"secondary\">\n </app-btn>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ViewFormButtonsComponent } from './view-form-buttons.component';\nimport { BtnModule } from '../btn/btn.module';\nimport { RouterModule } from '@angular/router';\n\n@NgModule({\n declarations: [ViewFormButtonsComponent],\n imports: [CommonModule, BtnModule, RouterModule],\n exports: [ViewFormButtonsComponent],\n})\nexport class ViewFormButtonsModule {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[mHref]'\n})\nexport class MHrefDirective {\n\n constructor() { }\n\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HtmlerService {\n constructor() {}\n\n span = (label: string|number, cls?: string) => {\n return `<span class=\"${cls || ''}\">${label}</span>`;\n };\n //#\n}\n","import { Injectable } from '@angular/core';\nimport { ETSenvironment } from '../../environments/environment';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ThemeService {\n constructor() {}\n\n setup() {\n this.setFavicon();\n this.setTitle();\n this.setMeta();\n }\n setMeta() {\n document.getElementsByTagName('html')[0];\n }\n setFavicon() {\n (\n document\n .getElementsByTagName('head')[0]\n .querySelector('#favicon') as HTMLLinkElement\n ).href = ETSenvironment?.images?.favicon;\n }\n setTitle() {\n document.getElementsByTagName('title')[0].innerHTML = ETSenvironment.appName;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ETSenvironment } from '../../environments/environment';\nimport { ETSUtilityService } from './utility.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WindowSecurityService {\n constructor(public uS: ETSUtilityService) {}\n startTabCheck(singleTabUsage: boolean) {\n if (!singleTabUsage) return;\n try {\n const channel = new BroadcastChannel('tab');\n\n channel.postMessage('another-tab');\n // note that listener is added after posting the message\n\n channel.addEventListener('message', (msg) => {\n if (msg.data === 'another-tab') {\n debugger;\n // message received from 2nd tab\n channel.postMessage(`No you're not.`);\n }\n if (msg.data === `No you're not.`) {\n debugger;\n ETSenvironment.alreadyOpened = true;\n // this.uS.go(Config.alreadyOpenedRoute);\n // setTimeout(() => {\n\n // this.uS.info(`An instance has already been opened and it will be closed`,0,null,null,true);\n // }, 2000);\n // alert(`An instance of this site is already running`);\n }\n });\n } catch (error) {\n console.error(error);\n this.useOtherSingleTabCheck();\n }\n }\n useOtherSingleTabCheck() {}\n}\n","import { Injectable } from '@angular/core';\nimport { SwUpdate, VersionReadyEvent } from '@angular/service-worker';\nimport { ETSConfirmDialogService } from '../../Shared/components/confirm-dialog/confirm-dialog.service';\nimport { filter } from 'rxjs/operators';\nimport { ETSUtilityService } from '../utility.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ETSPromptUpdateService {\n constructor(swUpdate: SwUpdate, public cS: ETSConfirmDialogService) {\n swUpdate.versionUpdates\n .pipe(\n filter((evt): evt is VersionReadyEvent => evt.type === 'VERSION_READY')\n )\n .subscribe((evt) => {\n this.prompter();\n });\n }\n prompter(reason?: string) {\n this.cS\n .confirm(\n (reason\n ? reason\n : `We need to reload the application to receive new updates.`) +\n `\\n Please confirm if we should refresh.`\n )\n .then((r) => {\n if (r)\n // Reload the page to update to the latest version.\n document.location.reload();\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { SwUpdate } from '@angular/service-worker';\nimport { ETSUtilityService } from '../utility.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ETSLogUpdateService {\n constructor(updates: SwUpdate, public uS: ETSUtilityService) {\n // console.log('logging');\n\n updates.versionUpdates.subscribe((evt) => {\n let message: string;\n switch (evt.type) {\n case 'VERSION_DETECTED':\n message = `Downloading new app version`;\n console.log(`${message}: ${evt.version.hash}`);\n this.uS.notify(message, 2);\n break;\n case 'VERSION_READY':\n message = `New app version ready for use`;\n console.log(`Current app version: ${evt.currentVersion.hash}`);\n console.log(`${message}: ${evt.latestVersion.hash}`);\n // this.uS.notify(message, 1);\n break;\n case 'VERSION_INSTALLATION_FAILED':\n message = `Failed to install app version`;\n console.log(`${message} '${evt.version.hash}': ${evt.error}`);\n this.uS.notify(message, 0);\n break;\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { SwUpdate } from '@angular/service-worker';\nimport { ETSUtilityService } from '../utility.service';\nimport { ETSPromptUpdateService } from './prompt-update.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ETSHandleUnrecoverableStateService {\n constructor(\n updates: SwUpdate,\n public uS: ETSUtilityService,\n public puS: ETSPromptUpdateService\n ) {\n updates.unrecoverable.subscribe((event) => {\n console.log(event.reason);\n alert(event.reason);\n this.puS.prompter(\n 'An error occurred that we cannot recover from:\\n' + event.reason\n );\n \n });\n }\n}\n","import { ApplicationRef, Injectable } from '@angular/core';\nimport { SwUpdate } from '@angular/service-worker';\nimport { concat, interval } from 'rxjs';\nimport { first } from 'rxjs/operators';\nimport { ETSPromptUpdateService } from './prompt-update.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ETSCheckForUpdateService {\n constructor(\n public appRef: ApplicationRef,\n public updates: SwUpdate,\n public puS: ETSPromptUpdateService\n ) {\n this.init();\n }\n\n init(itvl?: number, cb?: any) {\n // Allow the app to stabilize first, before starting\n // polling for updates with `interval()`.\n const appIsStable$ = this.appRef.isStable.pipe(\n first((isStable) => {\n console.log('checking for stability ', isStable);\n return isStable === true;\n })\n );\n // const everySixHours$ = interval(itvl || 1000);\n const everySixHours$ = interval(itvl || 60 * 60 * 60 * 1000);\n const everySixHoursOnceAppIsStable$ = concat(appIsStable$, everySixHours$);\n\n everySixHours$.subscribe(async () => {\n try {\n console.log('checking update');\n // alert('checking update');\n const updateFound = await this.updates.checkForUpdate();\n if (updateFound) cb ? cb() : this.puS.prompter();\n else console.log('found no update');\n } catch (err) {\n if (this.updates.isEnabled)\n console.error('Failed to check for updates:', err);\n else console.log('found no update');\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ETSInfoDialogService } from '../../../lib/Shared/components/info-dialog/info-dialog.service';\nimport { first } from 'rxjs/operators';\nimport { ETSUtilityService } from '../utility.service';\nimport { ETSCheckForUpdateService } from './check-for-update.service';\nimport { ETSHandleUnrecoverableStateService } from './handle-unrecoverable-state.service';\nimport { ETSLogUpdateService } from './log-update.service';\nimport { ETSPromptUpdateService } from './prompt-update.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ETSServiceWorkerService {\n constructor(\n public puS: ETSPromptUpdateService,\n public luS: ETSLogUpdateService,\n public huS: ETSHandleUnrecoverableStateService,\n public cfuS: ETSCheckForUpdateService,\n public iS: ETSInfoDialogService\n ) {}\n\n async getUpdates(cb?) {\n console.log('checking update 1');\n const appIsStable$ = this.cfuS.appRef.isStable.pipe(\n first((isStable) => {\n console.log('checking for stability ', isStable);\n return isStable === true;\n })\n );\n console.log('checking update 2');\n\n // appIsStable$.subscribe(async () => {\n try {\n console.log('checking update 3');\n const updateFound = await this.cfuS.updates.checkForUpdate();\n if (updateFound) this.puS.prompter();\n else this.iS.info(`No new versions were found`, 1);\n if (cb) cb();\n } catch (err) {\n this.iS.info(`Failed to check for updates`, 0);\n console.error('Failed to check for updates:', err);\n if (cb) cb();\n }\n // });\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport {\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { timeout } from 'rxjs/operators';\nimport { ETSenvironment } from '../../../environments/environment';\n\nexport const DEFAULT_TIMEOUT = new InjectionToken<number>('defaultTimeout');\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RequestTimeoutInterceptorService {\n constructor(@Inject(DEFAULT_TIMEOUT) protected defaultTimeout: number) {}\n\n intercept(\n req: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n // if (+req.headers.get('timeout') || environment.requestTimeout)\n // console.log(\n // 'timeout',\n // +req.headers.get('timeout') ,\n // environment.requestTimeout ,\n // this.defaultTimeout\n // );\n // console.log(\n // +req.headers.get('timeout') ,\n // environment.requestTimeout ,\n // this.defaultTimeout\n // );\n const tout =\n +req.headers.get('timeout') ||\n ETSenvironment.requestTimeout ||\n this.defaultTimeout;\n // console.log('timeout period',tout);\n return next.handle(req).pipe(timeout(tout));\n }\n}\n","import {\n HttpInterceptor,\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpResponse,\n HttpErrorResponse,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { ETSenvironment } from '../../../environments/environment';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RequestLoggerInterceptorService implements HttpInterceptor {\n constructor() { }\n intercept(\n req: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n ETSenvironment.pageLoader.startPl();\n return next.handle(req).pipe(\n tap((event: HttpEvent<any>) => {\n if (\n event instanceof HttpResponse ||\n event instanceof HttpErrorResponse\n ) {\n ETSenvironment.pageLoader.stopPl();\n }\n }, err => {\n ETSenvironment.pageLoader.stopPl();\n })\n );\n }\n}\n","import {\n HttpInterceptor,\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpResponse,\n HttpErrorResponse,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\nimport { ETSenvironment } from '../../../environments/environment';\nimport { LoggerService } from '../../Reusables/reusable-pages/logger/logger.service';\nimport { Log } from '../../Reusables/reusable-pages/logger/logger.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoggerInterceptorService implements HttpInterceptor {\n constructor(public loggerS: LoggerService) {\n this.exemptList.forEach((x) => (x = x.toLowerCase()));\n }\n readonly exemptList = [\n ETSenvironment.apiBaseUrl + '/rest/translation',\n ETSenvironment.apiBaseUrl + '/rest/authentication',\n ETSenvironment.apiBaseUrl + '/rest/users/activity/log',\n ];\n intercept(\n req: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n if (\n !ETSenvironment.debug ||\n this.exemptList.find((x) => req.url.startsWith(x) || !ETSenvironment.logReq)\n )\n return next.handle(req);\n try {\n let log: Log;\n if (req.method == 'POST' || req.method == 'PUT' ) {\n log = new Log({payload:req.body,endpoint: req.url,method: req.method});\n }\n return next.handle(req).pipe(\n tap(\n (event: HttpEvent<any>) => {\n if (event instanceof HttpResponse && log ) {\n log.isSuccess = true;\n this.loggerS.pushLog(log);\n }\n },\n (e: HttpEvent<any>) => {\n // debugger;\n if (e instanceof HttpErrorResponse && log) {\n log.isSuccess = false;\n this.loggerS.pushLog(log);\n }\n }\n )\n );\n } catch (error) {\n return next.handle(req);\n }\n }\n}\n","import { ErrorHandler, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GlobalErrorHandlerService extends ErrorHandler {\n constructor() {\n super();\n }\n\n handleError(error: any) {\n // debugger\n if (/Loading chunk [\\d]+ failed/.test(error?.message))\n window.location.reload();\n if (/NG0100: ExpressionChangedAfterItHasBeenCheckedError/.test(error?.message))\n return;\n else super.handleError(error);\n }\n}\n","import {\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n HttpResponse,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { ETSenvironment } from '../../../environments/environment';\nimport { ApiService } from '../api.service';\n\n@Injectable()\nexport class AuthenticationInterceptorService implements HttpInterceptor {\n constructor(public router: Router) {}\n intercept(\n req: HttpRequest<any>,\n next: HttpHandler\n ): Observable<HttpEvent<any>> {\n if (\n ETSenvironment.authenticate &&\n req.url.startsWith(ETSenvironment.apiBaseUrl)\n ) {\n const reqAuth = req.clone({\n url: req.url,\n headers: req.headers\n .set('Authorization', `${ETSenvironment.token}`) \n });\n return next.handle(reqAuth).pipe(\n tap(\n (event: HttpEvent<any>) => {},\n (e: HttpEvent<any>) => {\n if (e instanceof HttpResponse && e.status == 401) {\n console.error(`About to be loggeed out due to 401 `, e, req);\n this.router.navigateByUrl('/auth/login');\n }\n }\n )\n );\n } else return next.handle(req);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { merge } from 'rxjs';\nimport { ApiService } from '../api.service';\nimport { CacheService } from './cache.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CacheUpdaterService {\n constructor(public apiService: ApiService) {}\n update = (cacheS: CacheService) => {\n return merge(\n Object.keys(cacheS.cache).map((key) =>\n this.apiService.get(key).subscribe((r) => {\n cacheS.setItem(key, r);\n })\n )\n );\n };\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { StorageService } from '../storage.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SaverService {\n private readonly storageKey;\n\n constructor(\n public sS: StorageService,\n @Inject(String) public itemName: string,\n @Inject(String) storageKey: string\n ) {\n this.storageKey = storageKey;\n this.getFromLocal();\n }\n saveToLocal() {\n this.sS.saveItem(this.storageKey, this[this.itemName]);\n }\n getFromLocal() {\n // debugger\n this[this.itemName] = this.sS.getItem(this.storageKey);\n }\n}\n","import { CommonModule, DecimalPipe } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { RouterModule } from '@angular/router';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { AutocompleteNgModelModule } from './components/autocomplete-ng-model/autocomplete-ng-model.module';\nimport { AutocompleteModule } from './components/autocomplete/autocomplete.module';\nimport { BtnModule } from './components/btn/btn.module';\nimport { DetailsBtnModule } from './components/btn/details-btn/details-btn.module';\nimport { CardModule } from './components/card/card.module';\nimport { ComponentsModule } from './components/core/button/components.module';\nimport { DocumentsNameDisplayModule } from './components/documents-name-display/documents-name-display.module';\nimport { EditableTextCaseModule } from './components/editable-text-case/editable-text-case.module';\nimport { ExportTableModule } from './components/export-table/export-table.module';\nimport { FileUploadModule } from './components/file-upload/file-upload.module';\nimport { FormGeneratorModule } from './components/form-generator/form-generator.module';\nimport { FormLinkModule } from './components/form-link/form-link.module';\nimport { FormTabHeadersModule } from './components/form-tab-headers/form-tab-headers.module';\nimport { InfoIconModule } from './components/info-icon/info-icon.module';\nimport { InputNGModelModule } from './components/input-NgModel/input-ngmodel.module';\nimport { InputModule } from './components/input/input.module';\nimport { LabelModule } from './components/label/label.module';\nimport { LoaderModule } from './components/loader/loader.module';\nimport { ModalFormModule } from './components/modal-form/modal-form.module';\nimport { ModalHeaderModule } from './components/modal-header/modal-header.module';\nimport { ModalModule } from './components/modal/modal.module';\nimport { PageTemplateModule } from './components/page-template/page-template.module';\nimport { PageToComponentModule } from './components/page-to-component/page-to-component.module';\nimport { PhoneNumberModule } from './components/phone-number/phone-number.module';\nimport { RowActionsModule } from './components/row-actions/row-actions.module';\nimport { TableHttpsModule } from './components/table-https/table-https.module';\nimport { TablePlainModule } from './components/table-plain/table-plain.module';\nimport { TextCase1Module } from './components/text-case-1/text-case-1.module';\nimport { TextCase2Module } from './components/text-case-2/text-case-2.module';\nimport { ViewFormButtonsModule } from './components/view-form-buttons/view-form-buttons.module';\nimport { DirectivesModule } from './directives/index.directive';\nimport { UtilityPipesModule } from './pipes/utility.pipe';\n\n@NgModule({\n declarations: [],\n imports: [\n // BtnModule,\n CommonModule,\n ],\n exports: [\n AutocompleteModule,\n AutocompleteNgModelModule,\n BtnModule,\n CardModule,\n ComponentsModule,\n DetailsBtnModule,\n DirectivesModule,\n DocumentsNameDisplayModule,\n EditableTextCaseModule,\n ExportTableModule,\n FileUploadModule,\n FontAwesomeModule,\n FormGeneratorModule,\n FormLinkModule,\n FormTabHeadersModule,\n InfoIconModule,\n InputModule,\n InputNGModelModule,\n LabelModule,\n LoaderModule,\n MatDialogModule,\n MatTooltipModule,\n ModalFormModule,\n ModalHeaderModule,\n ModalModule,\n PageTemplateModule,\n PageToComponentModule,\n PhoneNumberModule,\n RouterModule,\n RowActionsModule,\n TableHttpsModule,\n TablePlainModule,\n TextCase1Module,\n TextCase2Module,\n UtilityPipesModule,\n ViewFormButtonsModule, \n ],\n providers: [DecimalPipe],\n})\nexport class ETSSharedModule {}\n","import { Component, OnInit } from '@angular/core'; \nimport { ETSUtilityService } from '../../../Services/utility.service';\nimport { Log } from './logger.interface';\nimport { LoggerService } from './logger.service';\n\n@Component({\n selector: 'app-logger',\n templateUrl: './logger.component.html',\n styleUrls: ['./logger.component.scss'],\n})\nexport class LoggerComponent implements OnInit {\n constructor(public lS: LoggerService, public uS: ETSUtilityService) {}\n\n ngOnInit(): void {\n if (!this.lS.isAuthed) {\n let pwd = prompt('Please enter the password');\n // debugger;\n if (pwd == this.lS.pwd) {\n this.lS.unlock();\n }\n }\n }\n trackByID(index: number, item: Log) {\n return item.id;\n }\n copy(i: number) {}\n download(i: number) {}\n lock() {\n this.lS.lock();\n }\n copied() {\n this.uS.notify('Copied to clipboard');\n }\n downloaded() {\n this.uS.notify('Downloaded');\n }\n makeTextFile = (log: Log) => {\n var data = new Blob([JSON.stringify(log)], { type: 'text/plain' });\n this.uS.downloader(data, `log_${log.time}.json`);\n };\n}\n"," <div class=\"container-fluid py-5\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <h3 class=\"text-center text-primary mb-4\">Logged Post Requests</h3>\n <div class=\"d-flex\">\n <app-btn help=\"Refresh\" [showHelpIcon]=\"false\" [iconBtn]=\"true\" icon=\"renew\" (mclick)=\"ngOnInit()\" ></app-btn>\n </div>\n </div>\n <ng-container *ngIf=\"this.lS.isAuthed; else elseTemplate\">\n <div class=\"\">\n <table class=\"table border table-bordered\">\n <thead>\n <th></th>\n <th width=\"30%\">Payload</th>\n <th>Page Route</th>\n <th>Endpoint</th>\n <th>Files</th>\n <th>Status</th>\n <th>Time</th>\n <th> </th>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of lS.logs;let i=index; trackBy:trackByID\"\n [ngClass]=\"{failure:!item?.isSuccess,success:item?.isSuccess}\">\n <!-- <td>{{item?.title}}</td> -->\n <td>{{i+1}}</td>\n <td><div class=\"payload\">{{item?.payload|json}}</div></td>\n <td><a routerLink=\"{{item.route}}\" target=\"_blank\">{{item?.route}}</a></td>\n <td>{{item?.endpoint}}</td>\n <td>\n <div class=\"\">\n <div class=\"\" *ngFor=\"let file of item?.files\">\n <div>Title: {{file.title}}</div>\n <div>Size: {{file.size}}</div>\n <div>Type: {{file.type}}</div>\n </div>\n </div>\n </td>\n <td>{{item?.isSuccess?'Success':'Failure'}}</td>\n <td>{{item?.time|date:'long'}}</td>\n <td>\n <div class=\" \">\n <app-btn icon=\"clone\" [cdkCopyToClipboard]=\"item?.payload|json\" (mclick)=\"copied()\" [iconBtn]=\"true\" type=\"outline\" help=\"Copy paylod to clipboard\" [showHelpIcon]=\"false\"></app-btn>\n <div class=\"my-1\"></div>\n <app-btn icon=\"download\" [iconBtn]=\"true\" type=\"outline\" help=\"Download payload\" (mclick)=\"makeTextFile(item)\" [showHelpIcon]=\"false\"></app-btn>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n <app-btn icon=\"lock\" type=\"secondary\" (click)=\"lock()\">Lock Logs</app-btn>\n </div>\n </ng-container>\n <ng-template #elseTemplate>\n <app-btn icon=\"unlock\" type=\"secondary\" (click)=\"ngOnInit()\">Unlock Logs</app-btn>\n </ng-template>\n\n\n </div>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { LoggerComponent } from './logger.component';\n\nconst routes: Routes = [{ path: '', component: LoggerComponent }];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class LoggerRoutingModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { LoggerRoutingModule } from './logger-routing.module';\nimport { LoggerComponent } from './logger.component';\nimport { ETSSharedModule } from '../../../Shared/shared.module';\nimport { ClipboardModule } from '@angular/cdk/clipboard';\n\n@NgModule({\n declarations: [LoggerComponent],\n imports: [CommonModule, LoggerRoutingModule, ETSSharedModule, ClipboardModule],\n})\nexport class ETSLoggerModule {}\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { ETSUtilityService } from '../../../Services/utility.service';\n\n@Component({\n selector: 'app-page-not-found',\n templateUrl: './page-not-found.component.html',\n styleUrls: ['./page-not-found.component.scss'],\n})\nexport class ETSPageNotFoundComponent implements OnInit {\n config: { status: string; message: string };\n\n constructor(public route: ActivatedRoute, public uS: ETSUtilityService) {}\n\n ngOnInit(): void {\n // this.chatS.hide()\n this.config = this.route.snapshot.data.config;\n }\n back() {\n this.uS.back();\n }\n}\n","<div class=\"d-flex justify-content-center align-items-center\" id=\"main\" style=\"height: 80vh\">\n <div class=\"text-center\">\n <div class=\"d-md-flex justify-content-center align-items-center\">\n <h1 class=\"m-3 p-3 align-top border-right inline-block align-content-center\" style=\"border-right: 1px solid gray\"\n *ngIf=\"!uS.isMobile\">\n {{(config?.status||'404')|appTranslate|async}}\n </h1>\n <h1 class=\"m-3 p-3 align-top border-right inline-block align-content-center\" *ngIf=\"uS.isMobile\">\n {{(config?.status||'404')|appTranslate|async}}\n </h1>\n <div class=\"inline-block align-middle\">\n <h2 class=\"font-weight-normal lead\" id=\"desc\">\n {{(config?.message||'The page you requested was not found.')|appTranslate|async}}</h2>\n </div>\n </div>\n <div class=\"d-flex mt-2 p-2 justify-content-center\">\n <app-btn text=\"Go Back\" (mclick)=\"back()\" type=\"dark-outline\" icon=\"previous\"></app-btn>\n <span class=\"mx-1\"></span>\n <app-btn text=\"Home\" routerLink=\"/\" type=\"dark\" icon=\"home\"></app-btn>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { ETSPageNotFoundComponent } from './page-not-found.component';\n\nconst routes: Routes = [{ path: '', component: ETSPageNotFoundComponent }];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class PageNotFoundRoutingModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PageNotFoundRoutingModule } from './page-not-found-routing.module';\nimport { ETSPageNotFoundComponent } from './page-not-found.component';\nimport { UtilityPipesModule } from '../../../Shared/pipes/utility.pipe';\nimport { ETSSharedModule } from '../../../Shared/shared.module';\n\n@NgModule({\n declarations: [ETSPageNotFoundComponent],\n imports: [\n CommonModule,\n PageNotFoundRoutingModule,\n UtilityPipesModule,\n ETSSharedModule,\n ],\n})\nexport class ETSPageNotFoundModule {}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-robot',\n templateUrl: './robot.component.html',\n styleUrls: ['./robot.component.scss']\n})\nexport class RobotComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<p>robot works!</p>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { RobotComponent } from './robot.component';\n\nconst routes: Routes = [{ path: '', component: RobotComponent }];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class RobotRoutingModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { RobotRoutingModule } from './robot-routing.module';\nimport { RobotComponent } from './robot.component';\n\n\n@NgModule({\n declarations: [\n RobotComponent\n ],\n imports: [\n CommonModule,\n RobotRoutingModule\n ]\n})\nexport class ETSRobotModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { ETSServiceWorkerService } from '../../../Services/service-worker/service-worker.service';\n\n@Component({\n selector: 'app-reset',\n templateUrl: './reset.component.html',\n styleUrls: ['./reset.component.scss'],\n})\nexport class ResetComponent implements OnInit {\n loading: boolean;\n constructor(private swService: ETSServiceWorkerService) {}\n\n ngOnInit(): void {\n // if(this.swService.puS.)\n this.getUpdates()\n }\n clearCache() {\n this.loading = true;\n if ('caches' in window) {\n caches.keys().then((names) => {\n names.forEach(async (name) => {\n await caches.delete(name);\n });\n });\n }\n location.href = '/';\n }\n getUpdates() {\n this.loading = true;\n this.swService.getUpdates(() => {\n this.loading = false;\n });\n }\n}\n","<loader [loading]=\"loading\" text=\"Resetting\">\n\n <div class=\"center vh-70\">\n <div class=\"gy-2 justify-content-center row row-cols-md-6 w-100\">\n <app-btn text=\"Get Updates\" customIcon=\"fas fa-download\" (mclick)=\"getUpdates()\"></app-btn>\n <!-- <app-btn text=\"Clear Cache\" customIcon=\"fas fa-refresh\" (mclick)=\"clearCache()\"></app-btn> -->\n </div>\n </div>\n</loader>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { ResetComponent } from './reset.component';\n\nconst routes: Routes = [{ path: '', component: ResetComponent }];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class ResetRoutingModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ResetRoutingModule } from './reset-routing.module';\nimport { ResetComponent } from './reset.component';\nimport { LoaderModule } from '../../../Shared/components/loader/loader.module';\nimport { BtnModule } from '../../../Shared/components/btn/btn.module';\nimport { MatMenuModule } from '@angular/material/menu';\n\n\n@NgModule({\n declarations: [\n ResetComponent\n ],\n imports: [\n CommonModule,\n ResetRoutingModule,LoaderModule,BtnModule,MatMenuModule\n ]\n})\nexport class ETSResetModule { }\n","import { InjectionToken } from '@angular/core';\nimport { IServiceFunction } from '../../../lib/Shared/models/index.model';\n\nexport const ServiceFunction = new InjectionToken<IServiceFunction>(\n 'Used to inject functions into a service'\n);\n","import { Inject, Injectable } from '@angular/core';\nimport { ServiceFunction } from '../../../Shared/injection-tokens/index.injection-tokens';\nimport { IServiceFunction } from '../../../Shared/models/index.model';\n\nimport { StorageService } from '../../../Services/storage.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VersionService {\n readonly currentVersion = '0.2';\n private readonly storageKey = 'versionKey';\n constructor(\n public sS: StorageService,\n @Inject(ServiceFunction) public serviceFunctions: IVersionServiceFunction\n ) {\n this.checkCurrentVersion();\n }\n\n checkCurrentVersion() {\n const localVersion = this.getLocalVersion();\n if (localVersion && localVersion != this.currentVersion) {\n this.setLocalVersion();\n if (this.serviceFunctions.logout) this.serviceFunctions.logout();\n } else {\n this.setLocalVersion();\n }\n }\n getLocalVersion() {\n return this.sS.getItem<string>(this.storageKey);\n }\n setLocalVersion() {\n this.sS.saveItem(this.storageKey, this.currentVersion);\n }\n}\ninterface IVersionServiceFunction extends IServiceFunction {\n logout: () => any;\n}\n","import { Injectable } from '@angular/core';\nimport { ETSenvironment } from '../../../../../environments/environment';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ChatHelpDeskService {\n showOptions: boolean = true;\n isShown: boolean;\n helpLink = ETSenvironment.helpLink;\n constructor() {}\n\n reload() {\n this.closeOptions();\n this.show();\n }\n show() {\n this.isShown = true;\n }\n hide() {\n this.isShown = false;\n }\n hideOptions() {\n this.showOptions = false;\n }\n toggle() {\n this.isShown = !this.isShown;\n }\n\n closeOptions() {\n this.showOptions = false;\n }\n openOptions() {\n this.showOptions = true;\n }\n toggleOptions() {\n this.showOptions = !this.showOptions;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ETSenvironment } from '../../../../environments/environment';\nimport { VersionService } from './version.service';\nimport { ChatHelpDeskService } from '../../../Shared/components/page-icons/chat-help-desk/chat-help-desk.service';\nimport { ITextCase2 } from '../../../Shared/components/text-case-2/text-case-2.component';\n\n@Component({\n selector: 'version',\n templateUrl: './version.component.html',\n styleUrls: ['./version.component.scss'],\n})\nexport class VersionComponent implements OnInit {\n env = ETSenvironment;\n props: ITextCase2[] = [];\n constructor(public vS: VersionService, public chS: ChatHelpDeskService) {}\n\n ngOnInit(): void {\n this.chS.hideOptions();\n this.props.push(\n { label: 'App Name', value: this.env.appName },\n { label: 'Environment Name', value: this.env.name },\n { label: 'Current Version', value: this.vS.currentVersion }\n );\n }\n}\n","<div class=\"center vh-100\">\n <ng-container *ngFor=\"let item of props\">\n <text-case-2 [obj]=\"item\" ></text-case-2>\n </ng-container>\n \n</div>","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { VersionComponent } from './version.component';\n\nconst routes: Routes = [{ path: '', component: VersionComponent }];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class VersionRoutingModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { VersionRoutingModule } from './version-routing.module';\nimport { VersionComponent } from './version.component';\nimport { ETSSharedModule } from '../../../Shared/shared.module';\n\n\n@NgModule({\n declarations: [\n VersionComponent\n ],\n imports: [\n CommonModule,\n VersionRoutingModule,ETSSharedModule\n ]\n})\nexport class ETSVersionModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ApiService } from '../../../Services/api.service';\nimport { ETSUtilityService } from '../../../Services/utility.service';\nimport { ETSInfoDialogService } from '../../../Shared/components/info-dialog/info-dialog.service';\n\n@Component({\n selector: 'timeout-tester',\n templateUrl: './timeout-tester.component.html',\n styleUrls: ['./timeout-tester.component.scss'],\n})\nexport class TimeoutTesterComponent implements OnInit {\n startTime: number;\n endTime: number;\n form = new FormGroup({\n timeout: new FormControl<number>(1, Validators.required),\n });\n loading: boolean;\n constructor(public apiS: ApiService, public iS: ETSInfoDialogService) {}\n\n ngOnInit(): void {}\n get value() {\n return (Date.now() / this.expectedEndTime) * 100;\n }\n get expectedEndTime() {\n return this.form.value.timeout * 60 * 1000 + (this.startTime || 0);\n }\n get elapsedTime() {\n return Date.now() - (this.startTime || 0);\n }\n async submit() {\n this.loading = true;\n try {\n this.endTime = null;\n const val = this.form.value;\n this.startTime = Date.now();\n const res = await this.apiS\n .get('http://example.com:81')\n // .get('http://example.com:81' + +val.timeout * 60 * 1000)\n .toPromise();\n this.endTime = Date.now();\n console.log(res);\n } catch (error) {\n this.iS.info(error, 0);\n }\n this.loading = false;\n }\n}\n","<div class=\"center\">\n <div class=\"col-md-8\">\n <!-- <app-input-basic [form]=\"form\" name=\"timeout\" label=\"Timeout Test Period\" hint=\"min\"></app-input-basic> -->\n <app-btn [form]=\"form\" text=\"Test\" class=\"mt-3\" (mclick)=\"submit()\"></app-btn>\n <div class=\"row mt-3\">\n <div class=\"col-md\">\n <text-case-2 label=\"Start Time\" [value]=\"startTime|date:'long'\"></text-case-2>\n </div>\n <div class=\"col-md\" *ngIf=\"loading\">\n <text-case-2 label=\"Elapsed Time (Seconds)\" [value]=\"elapsedTime|date:'m:s'\" ></text-case-2>\n <text-case-2 label=\"Start Time\" [value]=\"elapsedTime\"></text-case-2>\n </div>\n <!-- <div class=\"col-md\">\n <text-case-2 label=\"Expected End Time\" [value]=\"expectedEndTime|date:'long'\"></text-case-2>\n </div>\n <div class=\"col-md\">\n <text-case-2 label=\"Actual End Time\" [value]=\"endTime|date:'long'\"></text-case-2>\n </div> -->\n </div>\n <!-- <ng-container *ngIf=\"loading\">\n <div class=\"mt-3\">{{value}}%</div>\n <mat-progress-bar [value]=\"value\"></mat-progress-bar>\n </ng-container> -->\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TimeoutTesterComponent } from './timeout-tester.component';\n\nconst routes: Routes = [{ path: '', component: TimeoutTesterComponent }];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class TimeoutTesterRoutingModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { TimeoutTesterRoutingModule } from './timeout-tester-routing.module';\nimport { TimeoutTesterComponent } from './timeout-tester.component';\nimport { ETSSharedModule } from '../../../Shared/shared.module';\nimport { MatProgressBarModule as MatProgressBarModule } from '@angular/material/progress-bar';\n\n@NgModule({\n declarations: [TimeoutTesterComponent],\n imports: [\n CommonModule,\n TimeoutTesterRoutingModule,\n ETSSharedModule,\n MatProgressBarModule,\n ],\n})\nexport class ETSTimeoutTesterModule {}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { ETSenvironment } from '../../../../environments/environment'; \nconst routes: Routes = [\n ...(ETSenvironment.debug\n ? [\n {\n path: 'logs',\n loadChildren: () =>\n import('../logger/logger.module').then(\n (m) => m.ETSLoggerModule\n ),\n data: { title: 'Logs' },\n },\n ]\n : []),\n {\n path: 'no-access',\n loadChildren: () =>\n import(\n '../page-not-found/page-not-found.module'\n ).then((m) => m.ETSPageNotFoundModule),\n data: {\n color: 'bg-primary',\n config: {\n status: '401',\n message: 'You do not have access to this page.',\n },\n },\n },\n {\n path: 'robot',\n loadChildren: () =>\n import('../robot/robot.module').then(\n (m) => m.ETSRobotModule\n ),\n },\n {\n path: 'reset',\n data: { title: 'Reset' },\n loadChildren: () =>\n import('../reset/reset.module').then(\n (m) => m.ETSResetModule\n ),\n },\n {\n path: 'version',\n loadChildren: () =>\n import('../version/version.module').then(\n (m) => m.ETSVersionModule\n ),\n },\n {\n path: 'timeout-tester', \n data: { title: 'Test Timeout Period' },\n loadChildren: () =>\n import('../timeout-tester/timeout-tester.module').then(\n (m) => m.ETSTimeoutTesterModule\n ),\n },\n {\n path: '**',\n loadChildren: () =>\n import(\n '../page-not-found/page-not-found.module'\n ).then((m) => m.ETSPageNotFoundModule),\n data: { color: 'bg-primary' },\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class ExtraPagesRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ExtraPagesRoutingModule } from './extra-pages-routing.module';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n ExtraPagesRoutingModule,\n ],\n})\nexport class ETSExtraPagesModule { }\n","import { NgModule } from '@angular/core';\nimport { EtsFeNgSdkComponent } from './ets-fe-ng-sdk.component';\n\n\n\n@NgModule({\n declarations: [\n // EtsFeNgSdkComponent\n ],\n imports: [\n ],\n exports: [\n // EtsFeNgSdkComponent\n ]\n})\nexport class EtsFeNgSdkModule { }\n","/*\n * Public API Surface of ets-fe-ng-sdk\n */\n\n//#region lib/Shared/models\nexport * from './lib/Shared/models/environment.model';\nexport * from './lib/Shared/models/form-schema.model';\nexport * from './lib/Shared/models/form.class';\nexport * from './lib/Shared/models/IMenuItem';\nexport * from './lib/Shared/models/index.model';\nexport * from './lib/Shared/models/RouteItem.class';\n//#endregion\n\n// //#region lib/label-customization\n// export * from './lib/label-customization/label-customization.model';\n// export * from './lib/label-customization/label-customization.module';\n// export * from './lib/label-customization/label-customization.service';\n// //#endregion\n\nexport * from './lib/configs/base-functions';\nexport * from './lib/configs/index.config';\nexport * from './lib/configs/validation-messages.config';\n\nexport * from './lib/Shared/classes/page-loader.class'\nexport * from './lib/Shared/classes/permission-manager.class'\n\nexport * from './lib/Shared/components/info-dialog/happy-icon.component';\nexport * from './lib/Shared/components/info-dialog/info-icon.component';\nexport * from './lib/Shared/components/info-dialog/sad-icon.component';\nexport * from './lib/Shared/components/autocomplete-ng-model/autocomplete-ng-model.component';\nexport * from './lib/Shared/components/autocomplete-ng-model/autocomplete-ng-model.module';\nexport * from './lib/Shared/components/autocomplete/autocomplete-td-rf/autocomplete-td-rf.component';\nexport * from './lib/Shared/components/autocomplete/autocomplete.component';\nexport * from './lib/Shared/components/autocomplete/autocomplete.module';\nexport * from './lib/Shared/components/btn/btn.component';\nexport * from './lib/Shared/components/btn/btn.module';\nexport * from './lib/Shared/components/btn/details-btn/details-btn.component';\nexport * from './lib/Shared/components/btn/details-btn/details-btn.module';\nexport * from './lib/Shared/components/card/card.component';\nexport * from './lib/Shared/components/card/card.module';\nexport * from './lib/Shared/components/confirm-dialog/confirm-dialog.component';\nexport * from './lib/Shared/components/confirm-dialog/confirm-dialog.module';\nexport * from './lib/Shared/components/confirm-dialog/confirm-dialog.service';\nexport * from './lib/Shared/components/core/button/button.component';\nexport * from './lib/Shared/components/core/button/components.module';\nexport * from './lib/Shared/components/documents-name-display/documents-name-display.component';\nexport * from './lib/Shared/components/documents-name-display/documents-name-display.module';\nexport * from './lib/Shared/components/editable-text-case/editable-text-case.component';\nexport * from './lib/Shared/components/editable-text-case/editable-text-case.module';\nexport * from './lib/Shared/components/export-table/export-table.component';\nexport * from './lib/Shared/components/export-table/export-table.module';\nexport * from './lib/Shared/components/file-upload/file-upload.component';\nexport * from './lib/Shared/components/file-upload/file-upload.module';\nexport * from './lib/Shared/components/form-generator/form-generator.component';\nexport * from './lib/Shared/components/form-generator/form-generator.module';\nexport * from './lib/Shared/components/form-link/form-link.component';\nexport * from './lib/Shared/components/form-link/form-link.module';\nexport * from './lib/Shared/components/form-tab-headers/form-tab-headers.component';\nexport * from './lib/Shared/components/form-tab-headers/form-tab-headers.module';\nexport * from './lib/Shared/components/info-dialog/info-dialog.component';\nexport * from './lib/Shared/components/info-dialog/info-dialog.module';\nexport * from './lib/Shared/components/info-dialog/info-dialog.service';\nexport * from './lib/Shared/components/info-icon/info-icon.component';\nexport * from './lib/Shared/components/info-icon/info-icon.module';\nexport * from './lib/Shared/components/input-NgModel/input-ngmodel.component';\nexport * from './lib/Shared/components/input-NgModel/input-ngmodel.module';\nexport * from './lib/Shared/components/input-NgModel/validation-message-ngmodel/validation-message-ngmodel.component';\nexport * from './lib/Shared/components/input/day-hour-min-input/day-hour-min-input.component';\nexport * from './lib/Shared/components/input/input-basic.component';\nexport * from './lib/Shared/components/input/input-control.component';\nexport * from './lib/Shared/components/input/input-label/input-label.component';\nexport * from './lib/Shared/components/input/input-td-rf.component';\nexport * from './lib/Shared/components/input/input.component';\nexport * from './lib/Shared/components/input/input.module';\nexport * from './lib/Shared/components/input/input.service';\nexport * from './lib/Shared/components/input/inputs-pipes.pipe';\nexport * from './lib/Shared/components/input/validation-message/validation-message.component';\nexport * from './lib/Shared/components/input/year-month-td-rf/year-month-td-rf.component';\nexport * from './lib/Shared/components/label/label.component';\nexport * from './lib/Shared/components/label/label.module';\nexport * from './lib/Shared/components/loader/loader.component';\nexport * from './lib/Shared/components/loader/loader.module';\nexport * from './lib/Shared/components/loader/spinner.component';\nexport * from './lib/Shared/components/modal-form/modal-form.component';\nexport * from './lib/Shared/components/modal-form/modal-form.module';\nexport * from './lib/Shared/components/modal-header/modal-header.component';\nexport * from './lib/Shared/components/modal-header/modal-header.module';\nexport * from './lib/Shared/components/modal/modal.component';\nexport * from './lib/Shared/components/modal/modal.module';\nexport * from './lib/Shared/components/page-template/page-template.component';\nexport * from './lib/Shared/components/page-template/page-template.module';\nexport * from './lib/Shared/components/page-to-component/page-to-component.component';\nexport * from './lib/Shared/components/page-to-component/page-to-component.directive';\nexport * from './lib/Shared/components/page-to-component/page-to-component.module';\nexport * from './lib/Shared/components/page-to-component/page-to-component.service';\nexport * from './lib/Shared/components/phone-number/phone-number.component';\nexport * from './lib/Shared/components/phone-number/phone-number.directive';\nexport * from './lib/Shared/components/phone-number/phone-number.module';\nexport * from './lib/Shared/components/phone-number/phone-number.service';\nexport * from './lib/Shared/components/row-actions/row-actions.component';\nexport * from './lib/Shared/components/row-actions/row-actions.module';\nexport * from './lib/Shared/components/table-https/table-https.component';\nexport * from './lib/Shared/components/table-https/table-https.module';\nexport * from './lib/Shared/components/table-plain/table-plain.component';\nexport * from './lib/Shared/components/table-plain/table-plain.module';\nexport * from './lib/Shared/components/text-case-1/text-case-1.component';\nexport * from './lib/Shared/components/text-case-1/text-case-1.module';\nexport * from './lib/Shared/components/text-case-2/text-case-2.component';\nexport * from './lib/Shared/components/text-case-2/text-case-2.module';\nexport * from './lib/Shared/components/view-form-buttons/view-form-buttons.component';\nexport * from './lib/Shared/components/view-form-buttons/view-form-buttons.module';\nexport * from './lib/Shared/directives/commafy-number.directive';\nexport * from './lib/Shared/directives/drag-drop-file-upload.directive';\nexport * from './lib/Shared/directives/index.directive';\nexport * from './lib/Shared/directives/InputFormat.directive';\nexport * from './lib/Shared/directives/integer-only.directive';\nexport * from './lib/Shared/directives/mHref.directive';\nexport * from './lib/Shared/directives/negative-number-only.directive';\nexport * from './lib/Shared/directives/permission-manager.directive';\nexport * from './lib/Shared/pipes/utility.pipe';\nexport * from './lib/Shared/components/btn/details-btn/details-btn.module';\nexport * from './lib/Shared/components/btn/details-btn/details-btn.component';\nexport * from './lib/Shared/components/btn/btn-lg/btn-lg.component';\nexport * from './lib/Shared/pipes/translate.pipe';\n\nexport * from './lib/Services/api.service';\nexport * from './lib/Services/app.service';\nexport * from './lib/Services/htmler.service';\nexport * from './lib/Services/input.service';\nexport * from './lib/Services/page-loader.service';\nexport * from './lib/Services/page.service';\nexport * from './lib/Services/route.service';\nexport * from './lib/Services/storage.service';\nexport * from './lib/Services/theme.service';\nexport * from './lib/Services/utility.service';\nexport * from './lib/Services/window-security.service';\nexport * from './lib/Services/translation.service';\n\nexport * from './lib/Services/service-worker/service-worker.service';\nexport * from './lib/Services/service-worker/prompt-update.service';\nexport * from './lib/Services/service-worker/log-update.service';\nexport * from './lib/Services/service-worker/handle-unrecoverable-state.service';\nexport * from './lib/Services/service-worker/check-for-update.service';\n\nexport * from './lib/Services/Interceptors/request-timeout.service';\nexport * from './lib/Services/Interceptors/request-loader-interceptor.service';\nexport * from './lib/Services/Interceptors/logger-interceptor.service';\nexport * from './lib/Services/Interceptors/global-error-handler.service';\nexport * from './lib/Services/Interceptors/authentication-interceptor.service';\n\nexport * from './lib/Services/cache/cache-updater.service';\nexport * from './lib/Services/cache/cache.service';\nexport * from './lib/Services/cache/local-cache.service';\nexport * from './lib/Services/cache/saver.service';\n\nexport * from './environments/environment';\n\nexport * from './lib/Shared/shared.module';\n\nexport * from './lib/Reusables/reusable-pages/logger/logger.service';\nexport * from './lib/Reusables/reusable-pages/logger/logger.module';\nexport * from './lib/Reusables/reusable-pages/page-not-found/page-not-found.module';\nexport * from './lib/Reusables/reusable-pages/robot/robot.module';\nexport * from './lib/Reusables/reusable-pages/reset/reset.module';\nexport * from './lib/Reusables/reusable-pages/version/version.module';\nexport * from './lib/Reusables/reusable-pages/timeout-tester/timeout-tester.module';\nexport * from './lib/Reusables/reusable-pages/extra-pages/extra-pages.module';\n\nexport * from './lib/ets-fe-ng-sdk.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.InputService","comps","modules","i1.PageLoaderService","i2","i3","i4","i5.InputClassPipe","i6.TranslatePipe","i1","i2.TranslatePipe","i1.StorageService","config","i5","i6.ETSReactiveFormInputService","i7.InputService","i8.RouteService","i9.PageLoaderService","i10.LoggerService","i11.PageService","i1.ETSUtilityService","i2.AutocompleteService","i6","i8.ValidationMessageNgmodelComponent","i9.InputClassPipe","i10.ToAnyPipe","i11.TranslatePipe","i2.ETSUtilityService","i2.CacheService","i3.LocalCacheService","i1.ApiService","i2.StorageService","i2.TranslationService","i1.AppService","i2.BtnService","i7.TranslatePipe","i3.TranslatePipe","i2.BtnComponent","i4.InputFormatDirective","i7.InputLabelComponent","i8.ValidationMessageComponent","i4.BtnComponent","i5.TranslatePipe","i1.ETSInfoDialogService","i6.ToAnyPipe","i4.InputBasicComponent","i5.InputLabelComponent","i3.InputLabelComponent","i4.InputTD_RFComponent","i7.ValidationMessageComponent","i8","i9","i10.InputClassPipe","i11.ToAnyPipe","i1.BtnComponent","i4.TranslatePipe","i2.InputBasicComponent","i4.MrouterLinkirective","i5.FunctionCaller1","i5.ValueFormatterPipe","i1.UserActivityService","i3.BtnComponent","i4.ToAnyPipe","i2.PhoneNumberService","i6.ValidationMessageComponent","i7.PhoneNumberDirective","i8.InputClassPipe","i9.ToAnyPipe","i6.InputBasicComponent","i8.PhoneNumberComponent","i9.AutocompleteComponent","i10.LoaderComponent","i11.FunctionCaller2","i2.GetValueLabel","i1.BtnService","i2.ModalHeaderComponent","i4.LoaderComponent","i3.ModalHeaderComponent","i5.FormGeneratorComponent","i3.ETSInfoDialogService","i2.PageToComponentDirective","observableOf","i5.LoaderComponent","i7","i11.GetColFormattedPipe","i11.GetRawFieldsPipe","i11.TableToStringPipe","i12.FunctionCaller2","i12.ToAnyPipe","i13.TranslatePipe","i5.InputFormatDirective","i6.ExportTableComponent","i8.InputBasicComponent","i9.ValidationMessageComponent","i10.InputNGModelComponent","i11","i12","i13.AutocompleteComponent","i14","i15","i16","i17.InfoIconComponent","i18.GetColFormattedPipe","i18.GetRawFieldsPipe","i18.TableToStringPipe","i19.FunctionCaller2","i19.ToAnyPipe","i20.TranslatePipe","i2.MrouterLinkirective","i4.ValueFormatterPipe","i4.FunctionCaller1","i2.ETSConfirmDialogService","i3.ETSPromptUpdateService","i2.ETSPromptUpdateService","i1.ETSPromptUpdateService","i2.ETSLogUpdateService","i3.ETSHandleUnrecoverableStateService","i4.ETSCheckForUpdateService","i5.ETSInfoDialogService","i1.LoggerService","i5.BtnComponent","routes","i1.ETSServiceWorkerService","i2.LoaderComponent","i1.VersionService","i2.ChatHelpDeskService","i4.TextCase2Component","i2.ETSInfoDialogService","i5.TextCase2Component"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}