{"version":3,"sources":["./$_lazy_route_resources|lazy|groupOptions: {}|namespace object","./src/app/Nweebaa-Update/confirmation-dialog/confirmation-dialog.component.ts","./src/app/Nweebaa-Update/image-dialog/image-dialog.component.ts","./src/app/Nweebaa-Update/table.service.ts","./src/app/Nweebaa-Update/table/table.component.ts","./src/app/Nweebaa-Update/upload-dialog/upload-dialog.component.ts","./src/app/Nweebaa-Update/upload.service.ts","./src/app/Nweebaa-Update/view-files-dialog/view-files-dialog.component.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/core/api-handler.ts","./src/app/core/auth/auth-guard.service.ts","./src/app/core/auth/auth-interceptor.ts","./src/app/core/auth/auth.service.ts","./src/app/core/components/footer/footer.component.ts","./src/app/core/components/header/header.component.ts","./src/app/core/components/login/login.component.ts","./src/app/core/components/main/main.component.ts","./src/app/core/components/recover-password/recover-password.component.ts","./src/app/core/components/sidenav/sidenav.component.ts","./src/app/core/models/enums/account-type.ts","./src/app/core/models/enums/blood-group.ts","./src/app/core/models/enums/config-object.ts","./src/app/core/models/enums/document-type.ts","./src/app/core/models/enums/end-point.ts","./src/app/core/models/enums/gender.ts","./src/app/core/models/enums/language.ts","./src/app/core/models/enums/license-permit-class.ts","./src/app/core/models/enums/print-object.ts","./src/app/core/models/enums/role.ts","./src/app/core/models/enums/system-object.ts","./src/app/core/models/enums/transaction-type.ts","./src/app/core/models/enums/triptik-claim-status.ts","./src/app/core/models/validation.ts","./src/app/core/services/sidenav.service.ts","./src/app/core/url-serializer.service.ts","./src/app/features/accounts/containers/accounts/accounts.component.ts","./src/app/features/accounts/containers/manage-account/manage-account.component.ts","./src/app/features/accounts/containers/user-profile/user-profile.component.ts","./src/app/features/accounts/containers/view-account/view-account.component.ts","./src/app/features/accounts/services/accounts.service.ts","./src/app/features/issuing/_shared/containers/documents-revoke-requests/documents-revoke-requests.component.ts","./src/app/features/issuing/_shared/containers/expired-documents-query/expired-documents-query.component.ts","./src/app/features/issuing/_shared/containers/issued-documents-query/issued-documents-query.component.ts","./src/app/features/issuing/_shared/containers/verification/verification.component.ts","./src/app/features/issuing/_shared/services/documents-revoke-requests.datasource.ts","./src/app/features/issuing/_shared/services/issuing.service.ts","./src/app/features/issuing/int-licenses/components/commitment-print/commitment-print.component.ts","./src/app/features/issuing/int-licenses/components/int-license-print/int-license-print.component.ts","./src/app/features/issuing/int-licenses/containers/int-licenses/int-licenses.component.ts","./src/app/features/issuing/int-licenses/containers/manage-int-license/manage-int-license.component.ts","./src/app/features/issuing/int-licenses/containers/view-int-license/view-int-license.component.ts","./src/app/features/issuing/int-licenses/models/int-license.ts","./src/app/features/issuing/int-licenses/services/int-licenses.datasource.ts","./src/app/features/issuing/int-licenses/services/int-licenses.service.ts","./src/app/features/issuing/trip-tik/components/receipt-print/receipt-print.component.ts","./src/app/features/issuing/trip-tik/components/trip-tik-print/trip-tik-print.component.ts","./src/app/features/issuing/trip-tik/containers/manage-trip-tik/manage-trip-tik.component.ts","./src/app/features/issuing/trip-tik/containers/trip-tiks/trip-tiks.component.ts","./src/app/features/issuing/trip-tik/containers/view-trip-tik/view-trip-tik.component.ts","./src/app/features/issuing/trip-tik/models/create.cmd.ts","./src/app/features/issuing/trip-tik/models/trip-tik.ts","./src/app/features/issuing/trip-tik/services/trip-tiks.datasource.ts","./src/app/features/issuing/trip-tik/services/trip-tiks.service.ts","./src/app/features/lookups/containers/account-statuses/account-statuses.component.ts","./src/app/features/lookups/containers/account-types/account-types.component.ts","./src/app/features/lookups/containers/cities/cities.component.ts","./src/app/features/lookups/containers/countries/countries.component.ts","./src/app/features/lookups/containers/currencies/currencies.component.ts","./src/app/features/lookups/containers/customs-ports/customs-ports.component.ts","./src/app/features/lookups/containers/pursuing-zones/pursuing-zones.component.ts","./src/app/features/lookups/containers/stock-types/stock-types.component.ts","./src/app/features/lookups/containers/vehicle-colors/vehicle-colors.component.ts","./src/app/features/lookups/containers/vehicle-makes/vehicle-makes.component.ts","./src/app/features/lookups/containers/vehicle-models/vehicle-models.component.ts","./src/app/features/lookups/containers/vehicle-types/vehicle-types.component.ts","./src/app/features/lookups/services/account-statuses.ts","./src/app/features/lookups/services/account-types.ts","./src/app/features/lookups/services/cities.ts","./src/app/features/lookups/services/config.ts","./src/app/features/lookups/services/countries.ts","./src/app/features/lookups/services/currencies.ts","./src/app/features/lookups/services/customs-ports.service.ts","./src/app/features/lookups/services/pursuing-zones.ts","./src/app/features/lookups/services/stock-types.ts","./src/app/features/lookups/services/trip-tik-claims-statuses.service.ts","./src/app/features/lookups/services/vehicle-colors.ts","./src/app/features/lookups/services/vehicle-makes.ts","./src/app/features/lookups/services/vehicle-models.ts","./src/app/features/lookups/services/vehicle-types.ts","./src/app/features/security/containers/account-users/account-users.component.ts","./src/app/features/security/containers/manage-user/manage-user.component.ts","./src/app/features/security/containers/security-groups/security-groups.component.ts","./src/app/features/security/containers/users-groups/users-groups.component.ts","./src/app/features/security/models/security-groups.model.ts","./src/app/features/security/services/security.service.ts","./src/app/features/security/services/users-datasource.ts","./src/app/features/security/services/users.service.ts","./src/app/features/statistics/containers/dashboard/dashboard.component.ts","./src/app/features/statistics/services/statistics.service.ts","./src/app/features/stock/components/lic-transactions-print/lic-transactions-print.component.ts","./src/app/features/stock/components/stock-slider/stock-slider.component.ts","./src/app/features/stock/components/transaction-details-label/transaction-details-label.component.ts","./src/app/features/stock/components/trp-transactions-print/trp-transactions-print.component.ts","./src/app/features/stock/containers/populate/populate.component.ts","./src/app/features/stock/containers/stocks-available/stocks-available.component.ts","./src/app/features/stock/containers/stocks-totals/stocks-totals.component.ts","./src/app/features/stock/containers/transact/transact.component.ts","./src/app/features/stock/containers/transactions/transactions.component.ts","./src/app/features/stock/containers/undo-requests/undo-requests.component.ts","./src/app/features/stock/containers/undo-try/undo-try.component.ts","./src/app/features/stock/helpers/stocks-totals-datasource.ts","./src/app/features/stock/helpers/transactions-datasource.ts","./src/app/features/stock/helpers/undo-requests-datasource.ts","./src/app/features/stock/models/available-stocks.ts","./src/app/features/stock/models/transaction-type.enum.ts","./src/app/features/stock/models/undo-requests.ts","./src/app/features/stock/services/stocks.service.ts","./src/app/features/trip-tiks-claims/containers/manage-trip-tik-claim/manage-trip-tik-claim.component.ts","./src/app/features/trip-tiks-claims/containers/trip-tik-claim-attachments/trip-tik-claim-attachments.component.ts","./src/app/features/trip-tiks-claims/containers/trip-tiks-claims-logs/trip-tiks-claims-logs.component.ts","./src/app/features/trip-tiks-claims/containers/trip-tiks-claims/trip-tiks-claims.component.ts","./src/app/features/trip-tiks-claims/containers/update-status-trip-tik-claim/update-status-trip-tik-claim.component.ts","./src/app/features/trip-tiks-claims/containers/view-trip-tik-claim/view-trip-tik-claim.component.ts","./src/app/features/trip-tiks-claims/models/trip-tik-claim.model.ts","./src/app/features/trip-tiks-claims/services/trip-tiks-claims-logs.datasource.ts","./src/app/features/trip-tiks-claims/services/trip-tiks-claims.datasource.ts","./src/app/features/trip-tiks-claims/services/trip-tiks-claims.service.ts","./src/app/shared/components/alert/alert.component.ts","./src/app/shared/components/body-loader/body-loader.component.ts","./src/app/shared/components/breadcrumb/breadcrumb.component.ts","./src/app/shared/components/dialog/dialog.component.ts","./src/app/shared/components/modal/modal.component.ts","./src/app/shared/components/not-found/not-found.component.ts","./src/app/shared/components/under-construction/under-construction.component.ts","./src/app/shared/components/validation-error/validation-error.component.ts","./src/app/shared/directives/drag.directive.ts","./src/app/shared/directives/modal.directive.ts","./src/app/shared/helpers/config.resolver.ts","./src/app/shared/helpers/custom-date-adapter.ts","./src/app/shared/helpers/export-to-excel.ts","./src/app/shared/helpers/lang-paginator-intl.ts","./src/app/shared/helpers/populate-accounts-select.ts","./src/app/shared/helpers/translation.resolver.ts","./src/app/shared/models/default-alert-action.ts","./src/app/shared/models/modal.ts","./src/app/shared/pipes/array-map.pipe.ts","./src/app/shared/pipes/params-translate.pipe.ts","./src/app/shared/pipes/string-join.pipe.ts","./src/app/shared/services/alert.service.ts","./src/app/shared/services/breadcrumb.service.ts","./src/app/shared/services/custom-validators.ts","./src/app/shared/services/file-loader.service.ts","./src/app/shared/services/loading.ts","./src/app/shared/services/modal.service.ts","./src/app/shared/services/utils.ts","./src/app/shared/services/validation.service.ts","./src/environments/environment.ts","./src/main.ts","./node_modules/moment/locale|sync|/^/.*$","webpack:///./src/app/Nweebaa-Update/image-dialog/image-dialog.component.ts?96bd","./src/app/Nweebaa-Update/table/table.component.scss","./src/app/Nweebaa-Update/upload-dialog/upload-dialog.component.scss","./src/app/Nweebaa-Update/view-files-dialog/view-files-dialog.component.scss","./src/app/app.component.scss","./src/app/core/components/footer/footer.component.scss","./src/app/core/components/header/header.component.scss","./src/app/core/components/login/login.component.scss","./src/app/core/components/main/main.component.scss","./src/app/core/components/recover-password/recover-password.component.scss","./src/app/core/components/sidenav/sidenav.component.scss","./src/app/features/accounts/containers/accounts/accounts.component.scss","./src/app/features/accounts/containers/manage-account/manage-account.component.scss","./src/app/features/accounts/containers/user-profile/user-profile.component.scss","./src/app/features/accounts/containers/view-account/view-account.component.scss","./src/app/features/issuing/_shared/containers/documents-revoke-requests/documents-revoke-requests.component.scss","./src/app/features/issuing/_shared/containers/expired-documents-query/expired-documents-query.component.scss","./src/app/features/issuing/_shared/containers/issued-documents-query/issued-documents-query.component.scss","./src/app/features/issuing/_shared/containers/verification/verification.component.scss","./src/app/features/issuing/int-licenses/components/commitment-print/commitment-print.component.scss","./src/app/features/issuing/int-licenses/components/int-license-print/int-license-print.component.scss","./src/app/features/issuing/int-licenses/containers/int-licenses/int-licenses.component.scss","./src/app/features/issuing/int-licenses/containers/manage-int-license/manage-int-license.component.scss","./src/app/features/issuing/int-licenses/containers/view-int-license/view-int-license.component.scss","./src/app/features/issuing/trip-tik/components/receipt-print/receipt-print.component.scss","./src/app/features/issuing/trip-tik/components/trip-tik-print/trip-tik-print.component.scss","./src/app/features/issuing/trip-tik/containers/manage-trip-tik/manage-trip-tik.component.scss","./src/app/features/issuing/trip-tik/containers/trip-tiks/trip-tiks.component.scss","./src/app/features/issuing/trip-tik/containers/view-trip-tik/view-trip-tik.component.scss","./src/app/features/lookups/containers/account-statuses/account-statuses.component.scss","./src/app/features/lookups/containers/account-types/account-types.component.scss","./src/app/features/lookups/containers/cities/cities.component.scss","./src/app/features/lookups/containers/countries/countries.component.scss","./src/app/features/lookups/containers/currencies/currencies.component.scss","./src/app/features/lookups/containers/customs-ports/customs-ports.component.scss","./src/app/features/lookups/containers/pursuing-zones/pursuing-zones.component.scss","./src/app/features/lookups/containers/stock-types/stock-types.component.scss","./src/app/features/lookups/containers/vehicle-colors/vehicle-colors.component.scss","./src/app/features/lookups/containers/vehicle-makes/vehicle-makes.component.scss","./src/app/features/lookups/containers/vehicle-models/vehicle-models.component.scss","./src/app/features/lookups/containers/vehicle-types/vehicle-types.component.scss","./src/app/features/security/containers/account-users/account-users.component.scss","./src/app/features/security/containers/manage-user/manage-user.component.scss","./src/app/features/security/containers/security-groups/security-groups.component.scss","./src/app/features/security/containers/users-groups/users-groups.component.scss","./src/app/features/statistics/containers/dashboard/dashboard.component.scss","./src/app/features/stock/components/lic-transactions-print/lic-transactions-print.component.scss","./src/app/features/stock/components/stock-slider/stock-slider.component.scss","./src/app/features/stock/components/transaction-details-label/transaction-details-label.component.scss","./src/app/features/stock/components/trp-transactions-print/trp-transactions-print.component.scss","./src/app/features/stock/containers/populate/populate.component.scss","./src/app/features/stock/containers/stocks-available/stocks-available.component.scss","./src/app/features/stock/containers/stocks-totals/stocks-totals.component.scss","./src/app/features/stock/containers/transact/transact.component.scss","./src/app/features/stock/containers/transactions/transactions.component.scss","./src/app/features/stock/containers/undo-requests/undo-requests.component.scss","./src/app/features/stock/containers/undo-try/undo-try.component.scss","./src/app/features/trip-tiks-claims/containers/manage-trip-tik-claim/manage-trip-tik-claim.component.scss","./src/app/features/trip-tiks-claims/containers/trip-tik-claim-attachments/trip-tik-claim-attachments.component.scss","./src/app/features/trip-tiks-claims/containers/trip-tiks-claims-logs/trip-tiks-claims-logs.component.scss","./src/app/features/trip-tiks-claims/containers/trip-tiks-claims/trip-tiks-claims.component.scss","./src/app/features/trip-tiks-claims/containers/update-status-trip-tik-claim/update-status-trip-tik-claim.component.scss","./src/app/features/trip-tiks-claims/containers/view-trip-tik-claim/view-trip-tik-claim.component.scss","./src/app/shared/components/alert/alert.component.scss","./src/app/shared/components/body-loader/body-loader.component.scss","./src/app/shared/components/breadcrumb/breadcrumb.component.scss","./src/app/shared/components/dialog/dialog.component.scss","./src/app/shared/components/not-found/not-found.component.scss","./src/app/shared/components/under-construction/under-construction.component.scss","./src/app/shared/components/validation-error/validation-error.component.scss","./src/app/Nweebaa-Update/table/table.component.html","./src/app/Nweebaa-Update/upload-dialog/upload-dialog.component.html","./src/app/Nweebaa-Update/view-files-dialog/view-files-dialog.component.html","./src/app/app.component.html","./src/app/core/components/footer/footer.component.html","./src/app/core/components/header/header.component.html","./src/app/core/components/login/login.component.html","./src/app/core/components/main/main.component.html","./src/app/core/components/recover-password/recover-password.component.html","./src/app/core/components/sidenav/sidenav.component.html","./src/app/features/accounts/containers/accounts/accounts.component.html","./src/app/features/accounts/containers/manage-account/manage-account.component.html","./src/app/features/accounts/containers/user-profile/user-profile.component.html","./src/app/features/accounts/containers/view-account/view-account.component.html","./src/app/features/issuing/_shared/containers/documents-revoke-requests/documents-revoke-requests.component.html","./src/app/features/issuing/_shared/containers/expired-documents-query/expired-documents-query.component.html","./src/app/features/issuing/_shared/containers/issued-documents-query/issued-documents-query.component.html","./src/app/features/issuing/_shared/containers/verification/verification.component.html","./src/app/features/issuing/int-licenses/components/commitment-print/commitment-print.component.html","./src/app/features/issuing/int-licenses/components/int-license-print/int-license-print.component.html","./src/app/features/issuing/int-licenses/containers/int-licenses/int-licenses.component.html","./src/app/features/issuing/int-licenses/containers/manage-int-license/manage-int-license.component.html","./src/app/features/issuing/int-licenses/containers/view-int-license/view-int-license.component.html","./src/app/features/issuing/trip-tik/components/receipt-print/receipt-print.component.html","./src/app/features/issuing/trip-tik/components/trip-tik-print/trip-tik-print.component.html","./src/app/features/issuing/trip-tik/containers/manage-trip-tik/manage-trip-tik.component.html","./src/app/features/issuing/trip-tik/containers/trip-tiks/trip-tiks.component.html","./src/app/features/issuing/trip-tik/containers/view-trip-tik/view-trip-tik.component.html","./src/app/features/lookups/containers/account-statuses/account-statuses.component.html","./src/app/features/lookups/containers/account-types/account-types.component.html","./src/app/features/lookups/containers/cities/cities.component.html","./src/app/features/lookups/containers/countries/countries.component.html","./src/app/features/lookups/containers/currencies/currencies.component.html","./src/app/features/lookups/containers/customs-ports/customs-ports.component.html","./src/app/features/lookups/containers/pursuing-zones/pursuing-zones.component.html","./src/app/features/lookups/containers/stock-types/stock-types.component.html","./src/app/features/lookups/containers/vehicle-colors/vehicle-colors.component.html","./src/app/features/lookups/containers/vehicle-makes/vehicle-makes.component.html","./src/app/features/lookups/containers/vehicle-models/vehicle-models.component.html","./src/app/features/lookups/containers/vehicle-types/vehicle-types.component.html","./src/app/features/security/containers/account-users/account-users.component.html","./src/app/features/security/containers/manage-user/manage-user.component.html","./src/app/features/security/containers/security-groups/security-groups.component.html","./src/app/features/security/containers/users-groups/users-groups.component.html","./src/app/features/statistics/containers/dashboard/dashboard.component.html","./src/app/features/stock/components/lic-transactions-print/lic-transactions-print.component.html","./src/app/features/stock/components/stock-slider/stock-slider.component.html","./src/app/features/stock/components/transaction-details-label/transaction-details-label.component.html","./src/app/features/stock/components/trp-transactions-print/trp-transactions-print.component.html","./src/app/features/stock/containers/populate/populate.component.html","./src/app/features/stock/containers/stocks-available/stocks-available.component.html","./src/app/features/stock/containers/stocks-totals/stocks-totals.component.html","./src/app/features/stock/containers/transact/transact.component.html","./src/app/features/stock/containers/transactions/transactions.component.html","./src/app/features/stock/containers/undo-requests/undo-requests.component.html","./src/app/features/stock/containers/undo-try/undo-try.component.html","./src/app/features/trip-tiks-claims/containers/manage-trip-tik-claim/manage-trip-tik-claim.component.html","./src/app/features/trip-tiks-claims/containers/trip-tik-claim-attachments/trip-tik-claim-attachments.component.html","./src/app/features/trip-tiks-claims/containers/trip-tiks-claims-logs/trip-tiks-claims-logs.component.html","./src/app/features/trip-tiks-claims/containers/trip-tiks-claims/trip-tiks-claims.component.html","./src/app/features/trip-tiks-claims/containers/update-status-trip-tik-claim/update-status-trip-tik-claim.component.html","./src/app/features/trip-tiks-claims/containers/view-trip-tik-claim/view-trip-tik-claim.component.html","./src/app/shared/components/alert/alert.component.html","./src/app/shared/components/body-loader/body-loader.component.html","./src/app/shared/components/breadcrumb/breadcrumb.component.html","./src/app/shared/components/dialog/dialog.component.html","./src/app/shared/components/modal/modal.component.html","./src/app/shared/components/not-found/not-found.component.html","./src/app/shared/components/under-construction/under-construction.component.html","./src/app/shared/components/validation-error/validation-error.component.html","ignored|F:\\Mac Source Codes\\Offline System FULL\\Offline Frontend License\\mac-sys-wfe\\node_modules\\xlsx|crypto","ignored|F:\\Mac Source Codes\\Offline System FULL\\Offline Frontend License\\mac-sys-wfe\\node_modules\\xlsx|fs","ignored|F:\\Mac Source Codes\\Offline System FULL\\Offline Frontend License\\mac-sys-wfe\\node_modules\\xlsx|stream"],"names":["ManageAccountComponent","constructor","fb","countriesService","citiesService","stockTypesService","accountTypeService","service","loader","alert","router","route","usersService","translate","auth","fileLoader","_stockTypes","uroStockTypes","_parentAccounts","users","badgeClasses","AccountType","accountType","accountForm","get","titles","country","city","stockTypes","email","phoneNumber","username","password","passwordConfirm","attachments","ngOnInit","_this","_asyncToGenerator","document","querySelector","classList","remove","lang","currentLang","Language","onLangChange","subscribe","t","formInit","disable","load","LoaderType","accountId","Number","snapshot","paramMap","getURO","list","getAccountUsers","countries","accountTypes","currentUser","isSystemAccount","map","at","getAllowed","result","getAccount","dto","account","documentTypes","x","documentType","filter","onlyUnique","accountTypeId","parentAccounts","patchValue","countryId","cityId","id","isSMSEnabled","cities","forEach","_ref","att","i","url","loadAsync","_x","_x2","apply","arguments","fetchStockTypes","enable","setValue","length","value","index","self","indexOf","getAccountType","prefix","instant","getBadgeClass","fetchCities","reset","then","_this2","parentAccountId","_DocumentType","push","isUnifiedRelease","y","onSubmit","setErrors","valid","Utils","cmd","parentId","createAccount","r","success","navigate","failure","finally","updateAccount","group","Validators","array","nonEnglishCharactersValidator","nonArabicCharactersValidator","phoneNumberValidator","adminAccount","control","usernameValidator","validateUsernameNotTaken","bind","pass","validator","comparePasswords","attachmentFormInit","name","file","fileName","addAttachment","removeAttachment","removeAt","preview","$event","tgt","target","window","event","srcElement","files","Array","isArray","FileReader","fr","onload","toString","readAsDataURL","fileDropped","FormBuilder","CountriesService","CitiesService","StockTypesService","AccountTypesService","AccountsService","LoadingService","AlertService","Router","ActivatedRoute","UsersService","TranslateService","AuthService","FileLoaderService","__decorate","Component","selector","template","__NG_CLI_RESOURCE__0","providers","ViewAccountComponent","reverse","slice","DynamicFlatNode","item","level","expandable","isLoading","DynamicDataSource","_treeControl","_database","dataChange","BehaviorSubject","isActiveChange","data","dataNodes","next","connect","collectionViewer","expansionModel","changed","change","added","removed","handleTreeControl","merge","viewChange","pipe","d","isActive","disconnect","node","toggleNode","expand","getChildren","children","nodes","_node","isExpandable","splice","count","api","dataMap","Map","rootLevelNodes","initialData","getChildrenAccounts","accounts","set","usersCount","has","values","find","hasChildren","EndPoint","toPromise","getAccounts","getPossibleParentAccounts","getChildrenAccountsLookup","isActiveOnly","create","update","updateAccountStatus","active","deleteAccount","delete","ApiHandler","Injectable","DocumentsRevokeRequestsDataSource","issuingService","revokeRequestsSubject","countSubject","counter$","asObservable","loadDocumentsRevokeRequests","pagination","stockTypeId","query","getDocumentsRevokeRequests","catchError","of","finalize","revokeRequests","attachment","changingThisBreaksApplicationSecurity","request","accountParentAccounts","populateAccountsSelect","recordsCount","complete","CommitmentPrintComponent","elRef","Gender","print","issueDate","issued","Date","setTimeout","printHtmlContent","nativeElement","innerHTML","ElementRef","IntLicensePrintComponent","v","h","rh","PrintObject","printObject","qRCodeUrl","hashedSerial","IntLicensesComponent","intLicensesService","confirmService","accountsService","moment","displayedColumns","Role","IntLicensePermitClass","Object","Math","catch","e","searchForm","accountTitles","queryParamMap","p","advancedSearchMode","activeFilters","paginator","page","emit","pageIndex","pageSize","queryParams","fromDate","toDate","gender","nationalityId","passportID","permitClass","serial","isIssued","isDamaged","console","log","isNaN","parseInt","fetchData","Promise","all","ngAfterViewInit","dataSource","tap","sort","sortChange","loadIntLicenses","dir","direction","trim","fromEvent","filterBtn","relativeTo","replaceUrl","IntLicensesDataSource","toggleAdvancedSearch","filterList","l","printObjectsCount","cancel","isInRole","modal","confirm","DeleteModal","type","title","note","m","_cancel","_this3","_ref2","_delete","tryRevoke","_this4","revokeRequestId","stockType","action","submitText","confirmQuestion","dangerNote","inputNote","requestType","UpdateModal","_ref3","_tryRevoke","_cancelTryRevoke","_x3","objectId","attributes","reason","tryRevokeDocument","DefaultAlertAction","IntLicensesSubject","findIndex","cancelTryRevokeDocument","cancelDocument","onExportToExcel","exportToExcel","unsubscribe","wscols","width","autofilter","ref","rows","headers","param","row","format","printLogs","_temp","resetSearch","IntLicensesService","IssuingService","ConfirmService","ViewChild","args","MatPaginator","static","MatSort","ManageIntLicenseComponent","stocksService","intLicenseService","renderer","IntLicenseDetailsDto","_loadingGif","dateFormat","videoConstraints","video","facingMode","ideal","height","videoWidth","videoHeight","keyword","_validityYears","zeroPad","num","places","String","padStart","BloodGroup","form","dateOfBirth","nationality","bloodGroup","accordingTo","permitClasses","dataAccuracyAcknowledgment","validityYears","intLicenseAllowedValidity","availableSerials","mode","key","updateMode","getByHashedSerial","intLicense","onSelectStockType","includes","unshift","tockTypeId","controls","ctrl","path","checkValidityYears","response","getAvailableStocks","stockTypesAvailableStocks","availableStock","markAsUntouched","Error","error","removeImage","markAsTouched","startCamera","navigator","mediaDevices","getUserMedia","stream","camStream","attachVideo","handleError","isCamStreaming","capture","setProperty","canvas","getContext","drawImage","videoElement","imageData","toDataURL","_stopCamera","stopCamera","pause","removeAttribute","getTracks","track","stop","listen","isExpired","expiryDate","isBefore","now","toISODate","date","getFullYear","getMonth","getDate","englishAndSpacesValidator","passportIdOrIdentityIdValidator","accordingToId","spreadRanges","ranges","s","_start","_end","StocksService","Renderer2","ViewIntLicenseComponent","defaultImage","maxPrintLimit","StaticConfig","ConfigObject","intLicenseId","qRCodeImg","getElementsByTagName","documentTemplateVersion","displayPreview","getTranslatedTemplateVersion","version","isPrintable","comPrintElm","_print","hash","add","subtract","created","printElm","_issueDate","_expiryDate","canvas1","getElementById","ctx","lic","Image","textAlign","font","fillText","nationalityTitles","countryTitles","accordingToTitles","join","abs","photo","radius","save","beginPath","moveTo","lineTo","quadraticCurveTo","closePath","clip","restore","qr","src","ptt","globalAlpha","ptrn","createPattern","fillStyle","fillRect","canvas1Thumb","thumbCtx","canvas2","stk","rect","canvas2Thumb","ReceiptPrintComponent","TripTikPrintComponent","stringJoin","_colors","_makeModel","_options","joinByDash","empty","vOptions","vehicle","options","opt","colors","transform","model","make","drivers","customer","cOwnerInfo","owner","address","item1","item2","upholsteryType","vUpholsteryType","StringJoinPipe","ManageTripTikComponent","tripTiksService","currenciesService","vehicleColorsService","vehicleMakesService","vehicleModelsService","vehicleTypesService","vehicleRegistrationCountries","currencies","vehicleColors","vehicleModels","vehicleMakes","vehicleTypes","vehicleUpholsteryTypes","vehicleSpareTiresCountOptions","vehicleCylindersCountRange","vehicleManufactureYearRange","vehicleSeatsCountRange","vehicleOptions","TripTikDetailsDto","steps","step1","step2","step3","cName","cResidenceCountry","cNationality","cIdentityID","cPassportID","cLocalAddress","cLocalPhoneNumber","cIntAddress","cIntPhoneNumber","vPlateID","vRegistrationCountry","vMake","vModel","vType","vSeatsCount","vManufactureYear","vWeightInKG","vCylindersCount","vHorsePower","vColors","vEngineID","vChassisID","vSpareTiresCount","vEquipments","vExtras","vValue","vCurrency","startYearConfig","getUTCFullYear","_","FormControl","stepper","_stepHeader","_getHostElement","addEventListener","ev","navigateAttempt","driver","driverFormInit","residenceCountryId","identityID","localAddress","intAddress","localPhoneNumber","intPhoneNumber","registrationCountryId","plateID","makeId","modelId","typeId","seatsCount","manufactureYear","weightInKG","cylindersCount","horsePower","engineID","chassisID","spareTiresCount","equipments","extras","currencyId","currency","identityOrPassport","drivingLicense","vehicleRegistration","c","addDriver","removeDriver","fetchModels","abbreviation","selectedIndex","selected","stepControl","grp","_attachments","keys","PostTripTikCmd","addressValidator","vehicleSeatsCountRangeValidator","vehicleManufactureYearRangeValidator","vehicleWeightInKGRangeValidator","vehicleCylindersCountRangeValidator","vehicleHorsePowerRangeValidator","vehicleValueRangeValidator","passportIDorIdentityID","_passportIdOrIdentityIdValidator","authorization","TripTiksService","CurrenciesService","VehicleColorsService","VehicleMakesService","VehicleModelsService","VehicleTypesService","MatStepper","TripTiksComponent","cResidenceCountryId","cIdentityOrPassportID","cPhoneNumber","vTypeId","vMakeId","vModelId","vRegistrationCountryId","_vRegistrationCountryId","split","onSelectVehicleMake","TripTiksDataSource","obj","arr","TripTiksSubject","ViewTripTikComponent","issueDatePicker","expireDatePicker","initForm","tripTikId","fetchAttachments","isMigratedData","onDateChange","onDateChangeExpiry","receiptPrintElm","_title","parent","_i","isoDate","payload","_ref4","_x4","_this5","fcCanvas","fcImage","registrationCountryTitles","fcCanvasThumb","bcThumbCtx","ipCanvas","ipImage","makeModel","bcCanvasThumb","bcCanvas","bcImage","AccountUsersComponent","location","params","UsersDataSource","loadUsers","filterWithAccount","tryDelete","userId","names","tryUpdateStatus","_data","UsersSubject","updateStatus","deleteUser","updateUserStatus","Location","ManageUserComponent","activatedRoute","securityService","customsPortsService","changingPassword","groups","_claimsCountries","claimsSystemGroupId","userForm","securityGroups","claimsCountries","getAccountGroupsLookup","isAdministrator","customsPorts","getUserData","isClaimsApplicable","cashedUserData","user","onGroupSelectionChange","isClaimsGroupSelected","changePassword","warn","updateUserData","createUser","numbersOnlyValidator","SecurityService","CustomsPortsService","SecurityGroupsComponent","securityActions","securityRoles","SecurityRolesVm","selections","formEnabled","navigation","getCurrentNavigation","objectsCol","securityGroupForm","objectsActions","displayedColumnsTitles","MatTableDataSource","getAccountRoles","getAccountGroups","groupId","state","a","onSelectGroup","_group","SecurityGroupDto","availableActions","isSystemGroup","addCheckboxes","clearSelections","matrixIndex","formArray","clear","objAct","actions","actionId","securityObject","cellToggle","selectedGroup","g","SelectionModel","replaceState","isColSelected","getActionIndex","numSelected","numRows","isRowSelected","isSelected","colToggle","colSelected","select","deselect","toggle","totalSelected","total","exit","oa","deleteAccountGroup","groupIndex","mapCheckboxes","_form","createAccountGroup","navigationExtras","isDelete","updateAccountGroup","formArr","_actions","val","_action","undo","getUsersSecurityGroups","updateUsersSecurityGroups","validateGroupTitle","language","ParentsSubject","getUsers","StocksAvailableComponent","systemView","availableStocks","getSystemAvailableStocks","sumAvailableStocks","sumAvailableStocksFilter","serialStatus","onSerialStatusChange","status","checkBoxChange","available","checked","test","tabGroup","stockTypeData","_row","StocksTotalsComponent","StockTotalsDataSource","loadStockTotals","getStockTotals","accountsStocksTotals","stockTypesStocksTotals","received","transfered","returned","transferedUndone","remainingStocks","TransactComponent","fromAccounts","defaultStock","fromAccountId","onSelectFromAccount","toAccountId","toAccounts","selectedStock","func","_accounts","onSelectToAccount","toAccount","slider","transactionDetails","stock","loadSystemAvailableStock","loadAvailableStock","renderAvailableStock","onSelectRange","alertClass","operation","fromAccount","sourceId","targetId","fromRange","toRange","transact","vm","AvailableStock","singles","StockSliderComponent","TransactionsDataSource","TransactionsSubject","loadTransactions","systemAccountLabel","stockTransactions","transaction","fromAccountParentAccounts","toAccountParentAccounts","UndoRequestsDataSource","undoRequestsSubject","loadUndoRequests","getUndoRequests","undoRequests","ManageTripTikClaimComponent","pursuingZonesService","triptiksClaimsService","pursuingZones","_customsPorts","entranceID","entranceDate","customsPort","pursuingZone","holderName","holderAddress","holderPhone","fetchCustomsPorts","customsPortId","pursuingZoneId","triptikNameValidator","PursuingZonesService","TripTiksClaimsService","TripTikClaimAttachmentsComponent","tripTiksClaimsService","tripTikClaimId","getClaimAttachments","tripTikClaimEntranceID","TripTiksClaimsComponent","tripTikClaimsStatusesService","baseStatuses","nodeStatuses","statusId","fromEntranceDate","toEntranceDate","vehiclePlateID","baseStatusId","_stockTypeId","_countryId","_customsPortId","onSelectCountry","filterWithStatusId","filterWithPursuingZoneId","TripTiksClaimsDataSource","TripTiksClaimsSubject","onSelectStatus","latestStatus","TripTikClaimsStatusesService","UpdateStatusTripTikClaimComponent","TripTikClaimDto","baseStatus","payment","receiptNo","paymentFormInit","addControl","onSelectNestedStatus","TripTikClaimStatus","removeControl","ViewTripTikClaimComponent","TripTikClaimDetailsDto","logs","parentTitles","ConfigResolver","config","resolve","TranslationResolver","http","sanitizer","unavailableFile","sanitize","bypassSecurityTrustUrl","_url","environment","responseType","blob","convertToByteArray","reject","HttpClient","DomSanitizer"],"mappings":"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AAE,4BAA4B;CACxC,CAAC;AAEF;;;;;;GAMG;AACH,sEAAsE;;;;;;;;;;;;;;;;;ACjBvB;AAC4B;AAE9B;AACY;AAEzD,IAAI,6EAAsB,EAAE;IAC1B,6DAAc,EAAE,CAAC;CAClB;AAED,yFAAsB,EAAE,CAAC,eAAe,CAAC,sDAAS,CAAC;KAChD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;ACZpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0B;;;;;;;;;;;;ACnSA,+DAAe,oBAAoB,oBAAoB,qBAAqB,OAAO,iDAAiD,uUAAuU,E;;;;;;;;;;;;ACA3c,+DAAe,QAAQ,gBAAgB,GAAG,qBAAqB,oBAAoB,gBAAgB,GAAG,kCAAkC,eAAe,GAAG,gBAAgB,yBAAyB,GAAG,cAAc,yCAAyC,GAAG,aAAa,yCAAyC,GAAG,YAAY,yCAAyC,GAAG,eAAe,yCAAyC,GAAG,cAAc,+BAA+B,GAAG,+DAA+D,kBAAkB,GAAG,WAAW,gBAAgB,GAAG,qBAAqB,oBAAoB,gBAAgB,GAAG,kCAAkC,eAAe,GAAG,gBAAgB,yBAAyB,GAAG,cAAc,yCAAyC,GAAG,aAAa,yCAAyC,GAAG,YAAY,yCAAyC,GAAG,eAAe,yCAAyC,GAAG,cAAc,+BAA+B,GAAG,sDAAsD,iBAAiB,oBAAoB,sBAAsB,yBAAyB,wBAAwB,4BAA4B,uBAAuB,8BAA8B,0DAA0D,uBAAuB,iBAAiB,iBAAiB,+DAA+D,iDAAiD,kCAAkC,8BAA8B,8CAA8C,oCAAoC,oBAAoB,GAAG,wDAAwD,uBAAuB,eAAe,wBAAwB,2BAA2B,gBAAgB,uBAAuB,uBAAuB,iBAAiB,uBAAuB,eAAe,eAAe,kFAAkF,gCAAgC,mDAAmD,oBAAoB,GAAG,yCAAyC,kBAAkB,uBAAuB,cAAc,oDAAoD,gCAAgC,sBAAsB,wBAAwB,2DAA2D,GAAG,wCAAwC,wBAAwB,eAAe,GAAG,8BAA8B,kBAAkB,4BAA4B,wBAAwB,kBAAkB,+CAA+C,oDAAoD,kBAAkB,2BAA2B,4BAA4B,wBAAwB,oBAAoB,kDAAkD,kDAAkD,oCAAoC,6CAA6C,m9LAAm9L,E;;;;;;;;;;;;ACAx5R,+DAAe,iBAAiB,kBAAkB,GAAG,uBAAuB,4BAA4B,uBAAuB,kBAAkB,uBAAuB,oBAAoB,wBAAwB,GAAG,yBAAyB,cAAc,oBAAoB,gBAAgB,GAAG,gBAAgB,qBAAqB,GAAG,yBAAyB,kBAAkB,8BAA8B,iBAAiB,GAAG,6CAA6C,mkCAAmkC,E;;;;;;;;;;;;ACA1hD,+DAAe,WAAW,kBAAkB,oBAAoB,mBAAmB,cAAc,4BAA4B,GAAG,mBAAmB,uBAAuB,iBAAiB,kBAAkB,qBAAqB,uBAAuB,6CAA6C,+BAA+B,oBAAoB,GAAG,yBAAyB,2BAA2B,GAAG,oBAAoB,gBAAgB,iBAAiB,yBAAyB,yBAAyB,GAAG,qBAAqB,uBAAuB,aAAa,cAAc,qCAAqC,kBAAkB,wBAAwB,mBAAmB,cAAc,iBAAiB,mCAAmC,uBAAuB,GAAG,+CAA+C,yCAAyC,iBAAiB,iBAAiB,uBAAuB,gBAAgB,0BAA0B,kBAAkB,wBAAwB,4BAA4B,gCAAgC,GAAG,2DAA2D,sBAAsB,GAAG,uBAAuB,oBAAoB,GAAG,6CAA6C,ugFAAugF,E;;;;;;;;;;;;ACA5tH,+DAAe,aAAa,gBAAgB,GAAG,sBAAsB,gBAAgB,oBAAoB,WAAW,aAAa,gBAAgB,GAAG,6CAA6C,ucAAuc,E;;;;;;;;;;;;ACAxoB,+DAAe,SAAS,oBAAoB,mBAAmB,uBAAuB,GAAG,6CAA6C,+UAA+U,E;;;;;;;;;;;;ACArd,+DAAe,MAAM,gBAAgB,yBAAyB,GAAG,qBAAqB,oBAAoB,2CAA2C,sDAAsD,KAAK,6CAA6C,+sBAA+sB,E;;;;;;;;;;;;ACA58B,+DAAe,QAAQ,wBAAwB,GAAG,kBAAkB,yCAAyC,GAAG,WAAW,wCAAwC,GAAG,6CAA6C,iBAAiB,GAAG,OAAO,mBAAmB,GAAG,6CAA6C,+rBAA+rB,E;;;;;;;;;;;;ACAh/B,+DAAe,cAAc,gBAAgB,uBAAuB,cAAc,kBAAkB,GAAG,2CAA2C,iBAAiB,sCAAsC,KAAK,6CAA6C,0BAA0B,KAAK,iDAAiD,yBAAyB,KAAK,GAAG,2BAA2B,uBAAuB,cAAc,iBAAiB,YAAY,aAAa,yCAAyC,GAAG,uCAAuC,uBAAuB,gBAAgB,mCAAmC,sBAAsB,4BAA4B,GAAG,yDAAyD,iBAAiB,4BAA4B,GAAG,8DAA8D,uBAAuB,GAAG,wDAAwD,uBAAuB,GAAG,0CAA0C,iBAAiB,yCAAyC,KAAK,0BAA0B,sCAAsC,KAAK,2BAA2B,iCAAiC,KAAK,GAAG,qBAAqB,+BAA+B,GAAG,6CAA6C,u6FAAu6F,E;;;;;;;;;;;;ACAxrI,+DAAe,QAAQ,wBAAwB,GAAG,kBAAkB,yCAAyC,GAAG,WAAW,wCAAwC,GAAG,6CAA6C,iBAAiB,GAAG,OAAO,mBAAmB,GAAG,0BAA0B,sBAAsB,GAAG,6CAA6C,u3BAAu3B,E;;;;;;;;;;;;ACA3tC,+DAAe,oBAAoB,OAAO,gBAAgB,GAAG,iBAAiB,uBAAuB,oBAAoB,GAAG,2BAA2B,qBAAqB,mBAAmB,6BAA6B,GAAG,uDAAuD,mBAAmB,uCAAuC,wCAAwC,0BAA0B,uBAAuB,kCAAkC,yBAAyB,yBAAyB,mBAAmB,uCAAuC,qBAAqB,uBAAuB,eAAe,GAAG,2CAA2C,mBAAmB,GAAG,+CAA+C,8BAA8B,GAAG,8EAA8E,8BAA8B,GAAG,6CAA6C,mBAAmB,gCAAgC,GAAG,sBAAsB,gBAAgB,GAAG,6CAA6C,+7DAA+7D,E;;;;;;;;;;;;ACA7+F,+DAAe,0BAA0B,kBAAkB,GAAG,yCAAyC,kBAAkB,qBAAqB,0BAA0B,GAAG,aAAa,gBAAgB,iBAAiB,0BAA0B,GAAG,4BAA4B,YAAY,GAAG,4BAA4B,oCAAoC,GAAG,0CAA0C,oBAAoB,kCAAkC,KAAK,GAAG,sBAAsB,gBAAgB,iBAAiB,GAAG,6CAA6C,msCAAmsC,E;;;;;;;;;;;;ACAtvD,+DAAe,OAAO,sBAAsB,8BAA8B,uBAAuB,+BAA+B,gCAAgC,GAAG,kBAAkB,qBAAqB,mBAAmB,8BAA8B,kBAAkB,sBAAsB,wBAAwB,GAAG,gBAAgB,kBAAkB,GAAG,qBAAqB,gBAAgB,iBAAiB,+BAA+B,GAAG,uBAAuB,oBAAoB,GAAG,oCAAoC,gBAAgB,GAAG,6CAA6C,+4CAA+4C,E;;;;;;;;;;;;ACA59D,+DAAe,mBAAmB,oBAAoB,GAAG,kCAAkC,uBAAuB,WAAW,aAAa,cAAc,YAAY,gBAAgB,eAAe,cAAc,oBAAoB,6BAA6B,eAAe,GAAG,qEAAqE,sDAAsD,GAAG,aAAa,iBAAiB,kBAAkB,oCAAoC,GAAG,eAAe,oBAAoB,GAAG,oBAAoB,kBAAkB,GAAG,gCAAgC,mBAAmB,GAAG,6CAA6C,mhDAAmhD,E;;;;;;;;;;;;ACA9qE,+DAAe,8CAA8C,mIAAmI,E;;;;;;;;;;;;ACAhM,+DAAe,SAAS,oBAAoB,GAAG,6CAA6C,+SAA+S,E;;;;;;;;;;;;ACA3Y,+DAAe,8CAA8C,+IAA+I,E;;;;;;;;;;;;ACA5M,+DAAe,8CAA8C,+IAA+I,E;;;;;;;;;;;;ACA5M,+DAAe,QAAQ,wBAAwB,GAAG,SAAS,iBAAiB,GAAG,6CAA6C,+WAA+W,E;;;;;;;;;;;;ACA3e,+DAAe,8CAA8C,uIAAuI,E;;;;;;;;;;;;ACApM,+DAAe,8CAA8C,uIAAuI,E;;;;;;;;;;;;ACApM,+DAAe,mCAAmC,wBAAwB,0BAA0B,uBAAuB,KAAK,+EAA+E,sBAAsB,GAAG,uBAAuB,oBAAoB,GAAG,gCAAgC,oBAAoB,sBAAsB,GAAG,oCAAoC,mBAAmB,sBAAsB,GAAG,UAAU,mBAAmB,sBAAsB,GAAG,eAAe,yCAAyC,GAAG,6CAA6C,uqCAAuqC,E;;;;;;;;;;;;ACAxvD,+DAAe,oBAAoB,QAAQ,sBAAsB,8BAA8B,uBAAuB,4BAA4B,+BAA+B,kBAAkB,GAAG,gBAAgB,qBAAqB,mBAAmB,8BAA8B,kBAAkB,sBAAsB,wBAAwB,GAAG,cAAc,kBAAkB,GAAG,mBAAmB,gBAAgB,iBAAiB,+BAA+B,GAAG,qBAAqB,oBAAoB,GAAG,cAAc,iBAAiB,2BAA2B,uBAAuB,oBAAoB,+BAA+B,GAAG,qBAAqB,mBAAmB,sBAAsB,sBAAsB,uBAAuB,iBAAiB,gBAAgB,iBAAiB,8BAA8B,kCAAkC,mCAAmC,sCAAsC,iCAAiC,2BAA2B,wBAAwB,GAAG,YAAY,gBAAgB,iBAAiB,sBAAsB,eAAe,GAAG,sBAAsB,yBAAyB,GAAG,UAAU,gBAAgB,iBAAiB,yBAAyB,yBAAyB,GAAG,SAAS,6BAA6B,GAAG,6CAA6C,+qFAA+qF,E;;;;;;;;;;;;ACAp/H,+DAAe,WAAW,gBAAgB,iBAAiB,sBAAsB,eAAe,GAAG,+CAA+C,qBAAqB,uBAAuB,GAAG,oBAAoB,kBAAkB,GAAG,2BAA2B,eAAe,GAAG,sCAAsC,cAAc,GAAG,0CAA0C,2BAA2B,gBAAgB,KAAK,GAAG,kDAAkD,iBAAiB,gBAAgB,iBAAiB,qBAAqB,GAAG,yDAAyD,gBAAgB,iBAAiB,yBAAyB,sBAAsB,GAAG,cAAc,uBAAuB,kBAAkB,qBAAqB,GAAG,kBAAkB,gBAAgB,iBAAiB,yBAAyB,sBAAsB,GAAG,eAAe,gBAAgB,oBAAoB,GAAG,iCAAiC,6MAA6M,GAAG,iCAAiC,6MAA6M,GAAG,6CAA6C,mjFAAmjF,E;;;;;;;;;;;;ACA/9H,+DAAe,8CAA8C,mIAAmI,E;;;;;;;;;;;;ACAhM,+DAAe,8CAA8C,mIAAmI,E;;;;;;;;;;;;ACAhM,+DAAe,OAAO,sBAAsB,8BAA8B,uBAAuB,4BAA4B,+BAA+B,kBAAkB,GAAG,kBAAkB,qBAAqB,mBAAmB,8BAA8B,kBAAkB,sBAAsB,wBAAwB,GAAG,gBAAgB,kBAAkB,GAAG,qBAAqB,gBAAgB,iBAAiB,+BAA+B,GAAG,uBAAuB,oBAAoB,GAAG,uBAAuB,uBAAuB,GAAG,6CAA6C,2yCAA2yC,E;;;;;;;;;;;;ACAh4D,+DAAe,mCAAmC,wBAAwB,0BAA0B,uBAAuB,KAAK,+EAA+E,sBAAsB,GAAG,uBAAuB,oBAAoB,GAAG,gCAAgC,oBAAoB,sBAAsB,GAAG,oCAAoC,mBAAmB,sBAAsB,GAAG,UAAU,mBAAmB,sBAAsB,GAAG,eAAe,yCAAyC,GAAG,6CAA6C,uvCAAuvC,E;;;;;;;;;;;;ACAx0D,+DAAe,iBAAiB,uBAAuB,GAAG,2BAA2B,mBAAmB,kBAAkB,GAAG,cAAc,uBAAuB,kBAAkB,qBAAqB,GAAG,kBAAkB,gBAAgB,iBAAiB,yBAAyB,sBAAsB,GAAG,+CAA+C,qBAAqB,uBAAuB,GAAG,oBAAoB,kBAAkB,GAAG,2BAA2B,eAAe,GAAG,sCAAsC,cAAc,GAAG,0CAA0C,2BAA2B,gBAAgB,KAAK,GAAG,kDAAkD,iBAAiB,gBAAgB,iBAAiB,qBAAqB,GAAG,yDAAyD,gBAAgB,iBAAiB,yBAAyB,sBAAsB,GAAG,cAAc,uBAAuB,kBAAkB,qBAAqB,GAAG,kBAAkB,gBAAgB,iBAAiB,yBAAyB,sBAAsB,GAAG,eAAe,gBAAgB,oBAAoB,GAAG,iCAAiC,6MAA6M,GAAG,iCAAiC,6MAA6M,GAAG,cAAc,gBAAgB,iBAAiB,sBAAsB,eAAe,GAAG,oDAAoD,cAAc,gBAAgB,GAAG,6CAA6C,2xGAA2xG,E;;;;;;;;;;;;ACAjkK,+DAAe,QAAQ,gBAAgB,GAAG,qBAAqB,oBAAoB,gBAAgB,GAAG,kCAAkC,eAAe,GAAG,+CAA+C,8BAA8B,GAAG,gBAAgB,yBAAyB,GAAG,cAAc,yCAAyC,GAAG,aAAa,yCAAyC,GAAG,YAAY,yCAAyC,GAAG,eAAe,yCAAyC,GAAG,cAAc,+BAA+B,GAAG,6CAA6C,2xCAA2xC,E;;;;;;;;;;;;ACAp3D,+DAAe,QAAQ,gBAAgB,GAAG,qBAAqB,oBAAoB,gBAAgB,GAAG,kCAAkC,eAAe,GAAG,+CAA+C,8BAA8B,GAAG,gBAAgB,yBAAyB,GAAG,cAAc,yCAAyC,GAAG,aAAa,yCAAyC,GAAG,YAAY,yCAAyC,GAAG,eAAe,yCAAyC,GAAG,cAAc,+BAA+B,GAAG,6CAA6C,mxCAAmxC,E;;;;;;;;;;;;ACA52D,+DAAe,QAAQ,gBAAgB,GAAG,qBAAqB,oBAAoB,gBAAgB,GAAG,kCAAkC,eAAe,GAAG,gBAAgB,yBAAyB,GAAG,cAAc,yCAAyC,GAAG,aAAa,yCAAyC,GAAG,YAAY,yCAAyC,GAAG,eAAe,yCAAyC,GAAG,cAAc,+BAA+B,GAAG,6CAA6C,+nCAA+nC,E;;;;;;;;;;;;ACAxoD,+DAAe,QAAQ,gBAAgB,GAAG,qBAAqB,oBAAoB,gBAAgB,GAAG,kCAAkC,eAAe,GAAG,gBAAgB,yBAAyB,GAAG,cAAc,yCAAyC,GAAG,aAAa,yCAAyC,GAAG,YAAY,yCAAyC,GAAG,eAAe,yCAAyC,GAAG,cAAc,+BAA+B,GAAG,6CAA6C,2oCAA2oC,E;;;;;;;;;;;;ACAppD,+DAAe,QAAQ,gBAAgB,GAAG,qBAAqB,oBAAoB,gBAAgB,GAAG,kCAAkC,eAAe,GAAG,gBAAgB,yBAAyB,GAAG,cAAc,yCAAyC,GAAG,aAAa,yCAAyC,GAAG,YAAY,yCAAyC,GAAG,eAAe,yCAAyC,GAAG,cAAc,+BAA+B,GAAG,6CAA6C,+oCAA+oC,E;;;;;;;;;;;;ACAxpD,+DAAe,QAAQ,gBAAgB,GAAG,qBAAqB,oBAAoB,gBAAgB,GAAG,kCAAkC,eAAe,GAAG,sBAAsB,oBAAoB,GAAG,gBAAgB,yBAAyB,GAAG,cAAc,yCAAyC,GAAG,aAAa,yCAAyC,GAAG,YAAY,yCAAyC,GAAG,eAAe,yCAAyC,GAAG,cAAc,+BAA+B,GAAG,6CAA6C,mqCAAmqC,E;;;;;;;;;;;;ACAztD,+DAAe,QAAQ,gBAAgB,GAAG,qBAAqB,oBAAoB,gBAAgB,GAAG,kCAAkC,eAAe,GAAG,+CAA+C,8BAA8B,GAAG,sBAAsB,oBAAoB,GAAG,gBAAgB,yBAAyB,GAAG,cAAc,yCAAyC,GAAG,aAAa,yCAAyC,GAAG,YAAY,yCAAyC,GAAG,eAAe,yCAAyC,GAAG,cAAc,+BAA+B,GAAG,6CAA6C,uyCAAuyC,E;;;;;;;;;;;;ACA76D,+DAAe,QAAQ,gBAAgB,GAAG,qBAAqB,oBAAoB,gBAAgB,GAAG,kCAAkC,eAAe,GAAG,+CAA+C,8BAA8B,GAAG,gBAAgB,yBAAyB,GAAG,cAAc,yCAAyC,GAAG,aAAa,yCAAyC,GAAG,YAAY,yCAAyC,GAAG,eAAe,yCAAyC,GAAG,cAAc,+BAA+B,GAAG,6CAA6C,+wCAA+wC,E;;;;;;;;;;;;ACAx2D,+DAAe,QAAQ,gBAAgB,GAAG,qBAAqB,oBAAoB,gBAAgB,GAAG,kCAAkC,eAAe,GAAG,+CAA+C,8BAA8B,GAAG,gBAAgB,yBAAyB,GAAG,cAAc,yCAAyC,GAAG,aAAa,yCAAyC,GAAG,YAAY,yCAAyC,GAAG,eAAe,yCAAyC,GAAG,cAAc,+BAA+B,GAAG,6CAA6C,uxCAAuxC,E;;;;;;;;;;;;ACAh3D,+DAAe,QAAQ,gBAAgB,GAAG,qBAAqB,oBAAoB,gBAAgB,GAAG,kCAAkC,eAAe,GAAG,+CAA+C,8BAA8B,GAAG,gBAAgB,yBAAyB,GAAG,cAAc,yCAAyC,GAAG,aAAa,yCAAyC,GAAG,YAAY,yCAAyC,GAAG,eAAe,yCAAyC,GAAG,cAAc,+BAA+B,GAAG,6CAA6C,mxCAAmxC,E;;;;;;;;;;;;ACA52D,+DAAe,QAAQ,gBAAgB,GAAG,qBAAqB,oBAAoB,gBAAgB,GAAG,kCAAkC,eAAe,GAAG,gBAAgB,yBAAyB,GAAG,cAAc,yCAAyC,GAAG,aAAa,yCAAyC,GAAG,YAAY,yCAAyC,GAAG,eAAe,yCAAyC,GAAG,cAAc,+BAA+B,GAAG,6CAA6C,mpCAAmpC,E;;;;;;;;;;;;ACA5pD,+DAAe,QAAQ,gBAAgB,GAAG,qBAAqB,oBAAoB,gBAAgB,GAAG,kCAAkC,eAAe,GAAG,+CAA+C,8BAA8B,GAAG,gBAAgB,yBAAyB,GAAG,cAAc,yCAAyC,GAAG,aAAa,yCAAyC,GAAG,YAAY,yCAAyC,GAAG,eAAe,yCAAyC,GAAG,cAAc,+BAA+B,GAAG,6CAA6C,mxCAAmxC,E;;;;;;;;;;;;ACA52D,+DAAe,QAAQ,gBAAgB,GAAG,qBAAqB,oBAAoB,gBAAgB,GAAG,kCAAkC,eAAe,GAAG,gBAAgB,yBAAyB,GAAG,6CAA6C,+tBAA+tB,E;;;;;;;;;;;;ACAl9B,+DAAe,8CAA8C,+HAA+H,E;;;;;;;;;;;;ACA5L,+DAAe,gBAAgB,wCAAwC,yYAAyY,gBAAgB,iBAAiB,uBAAuB,WAAW,YAAY,kBAAkB,2BAA2B,GAAG,eAAe,+BAA+B,GAAG,6CAA6C,mqCAAmqC,E;;;;;;;;;;;;ACAh1D,+DAAe,QAAQ,gBAAgB,GAAG,6CAA6C,mQAAmQ,E;;;;;;;;;;;;ACA1V,+DAAe,mBAAmB,6BAA6B,GAAG,6CAA6C,2RAA2R,E;;;;;;;;;;;;ACA1Y,+DAAe,8CAA8C,+IAA+I,E;;;;;;;;;;;;ACA5M,+DAAe,8CAA8C,mIAAmI,E;;;;;;;;;;;;ACAhM,+DAAe,8CAA8C,mJAAmJ,E;;;;;;;;;;;;ACAhN,+DAAe,8CAA8C,+IAA+I,E;;;;;;;;;;;;ACA5M,+DAAe,yGAAyG,8BAA8B,GAAG,gBAAgB,gBAAgB,GAAG,6CAA6C,udAAud,E;;;;;;;;;;;;ACAhsB,+DAAe,qBAAqB,kBAAkB,mBAAmB,GAAG,uBAAuB,sBAAsB,GAAG,uBAAuB,kCAAkC,GAAG,iBAAiB,yCAAyC,GAAG,+BAA+B,oBAAoB,GAAG,6CAA6C,muBAAmuB,E;;;;;;;;;;;;ACA3jC,+DAAe,8CAA8C,mIAAmI,E;;;;;;;;;;;;ACAhM,+DAAe,aAAa,gBAAgB,GAAG,6CAA6C,mQAAmQ,E;;;;;;;;;;;;ACA/V,+DAAe,mCAAmC,wBAAwB,0BAA0B,uBAAuB,KAAK,+EAA+E,sBAAsB,GAAG,uBAAuB,oBAAoB,GAAG,gCAAgC,oBAAoB,sBAAsB,GAAG,oCAAoC,mBAAmB,sBAAsB,GAAG,UAAU,mBAAmB,sBAAsB,GAAG,eAAe,yCAAyC,GAAG,6CAA6C,+vCAA+vC,E;;;;;;;;;;;;ACAh1D,+DAAe,8CAA8C,mIAAmI,E;;;;;;;;;;;;ACAhM,+DAAe,aAAa,gBAAgB,GAAG,6CAA6C,mQAAmQ,E;;;;;;;;;;;;ACA/V,+DAAe,8CAA8C,+IAA+I,E;;;;;;;;;;;;ACA5M,+DAAe,cAAc,kBAAkB,sBAAsB,uBAAuB,GAAG,iBAAiB,cAAc,GAAG,6CAA6C,+cAA+c,E;;;;;;;;;;;;ACA7nB,+DAAe,mCAAmC,wBAAwB,0BAA0B,uBAAuB,KAAK,+EAA+E,sBAAsB,GAAG,uBAAuB,oBAAoB,GAAG,gCAAgC,oBAAoB,sBAAsB,GAAG,oCAAoC,mBAAmB,sBAAsB,GAAG,UAAU,mBAAmB,sBAAsB,GAAG,eAAe,yCAAyC,GAAG,6CAA6C,m1CAAm1C,E;;;;;;;;;;;;ACAp6D,+DAAe,mCAAmC,wBAAwB,0BAA0B,uBAAuB,KAAK,+EAA+E,sBAAsB,GAAG,uBAAuB,oBAAoB,GAAG,gCAAgC,oBAAoB,sBAAsB,GAAG,oCAAoC,mBAAmB,sBAAsB,GAAG,UAAU,mBAAmB,sBAAsB,GAAG,eAAe,yCAAyC,GAAG,6CAA6C,u0CAAu0C,E;;;;;;;;;;;;ACAx5D,+DAAe,OAAO,sBAAsB,8BAA8B,uBAAuB,+BAA+B,gCAAgC,GAAG,kBAAkB,qBAAqB,mBAAmB,8BAA8B,kBAAkB,sBAAsB,wBAAwB,GAAG,gBAAgB,kBAAkB,GAAG,qBAAqB,gBAAgB,iBAAiB,+BAA+B,GAAG,uBAAuB,oBAAoB,GAAG,oCAAoC,gBAAgB,GAAG,6CAA6C,20CAA20C,E;;;;;;;;;;;;ACAx5D,+DAAe,0DAA0D,0BAA0B,uBAAuB,GAAG,0CAA0C,mBAAmB,wBAAwB,0BAA0B,uBAAuB,WAAW,eAAe,eAAe,iBAAiB,wBAAwB,GAAG,2CAA2C,mBAAmB,sBAAsB,0BAA0B,uBAAuB,uBAAuB,8BAA8B,aAAa,gBAAgB,iBAAiB,iBAAiB,2CAA2C,GAAG,UAAU,+BAA+B,mCAAmC,GAAG,6CAA6C,muFAAmuF,E;;;;;;;;;;;;ACA99G,+DAAe,gCAAgC,+BAA+B,GAAG,6CAA6C,uSAAuS,E;;;;;;;;;;;;ACAra,+DAAe,8CAA8C,+HAA+H,E;;;;;;;;;;;;ACA5L,+DAAe,IAAI,mBAAmB,GAAG,WAAW,mBAAmB,GAAG,YAAY,8BAA8B,yBAAyB,oBAAoB,GAAG,6CAA6C,+gBAA+gB,E;;;;;;;;;;;;ACAhuB,+DAAe,8CAA8C,2HAA2H,E;;;;;;;;;;;;ACAxL,+DAAe,QAAQ,iBAAiB,GAAG,6CAA6C,2PAA2P,E;;;;;;;;;;;;ACAnV,+DAAe,8CAA8C,2IAA2I,E;;;;;;;;;;;;ACAxM,+DAAe,8CAA8C,uIAAuI,E;;;;;;;;;;;;ACApM,+DAAe,kgCAAkgC,yBAAyB,sMAAsM,cAAc,mMAAmM,YAAY,4MAA4M,eAAe,gNAAgN,kBAAkB,6MAA6M,cAAc,kNAAkN,kBAAkB,ouCAAouC,2BAA2B,6JAA6J,E;;;;;;;;;;;;ACAruH,+DAAe,0XAA0X,6QAA6Q,gDAAgD,aAAa,seAAse,E;;;;;;;;;;;;ACAzrC,+DAAe,ivBAAivB,E;;;;;;;;;;;;ACAhwB,+DAAe,2QAA2Q,E;;;;;;;;;;;;ACA1R,+DAAe,wJAAwJ,+BAA+B,KAAK,0BAA0B,MAAM,MAAM,QAAQ,MAAM,8DAA8D,SAAS,0BAA0B,WAAW,eAAe,2DAA2D,E;;;;;;;;;;;;ACArb,+DAAe,0eAA0e,uBAAuB,+/DAA+/D,uCAAuC,wDAAwD,iDAAiD,oCAAoC,E;;;;;;;;;;;;ACAnsF,+DAAe,8kBAA8kB,i7NAAi7N,8BAA8B,uEAAuE,mBAAmB,iHAAiH,kCAAkC,2JAA2J,kCAAkC,8VAA8V,oCAAoC,qIAAqI,wCAAwC,iLAAiL,8BAA8B,yFAAyF,E;;;;;;;;;;;;ACA7yR,+DAAe,4nBAA4nB,mFAAmF,YAAY,cAAc,ihBAAihB,E;;;;;;;;;;;;ACAzwC,+DAAe,kqBAAkqB,u8NAAu8N,6FAA6F,6PAA6P,4BAA4B,2SAA2S,6BAA6B,GAAG,kCAAkC,gVAAgV,6BAA6B,GAAG,kCAAkC,khBAAkhB,mFAAmF,uHAAuH,E;;;;;;;;;;;;ACAz8S,+DAAe,oyBAAoyB,WAAW,qQAAqQ,cAAc,sCAAsC,uBAAuB,qDAAqD,sCAAsC,4IAA4I,iDAAiD,+BAA+B,uRAAuR,cAAc,gCAAgC,uBAAuB,uJAAuJ,2BAA2B,qTAAqT,cAAc,0aAA0a,mCAAmC,6PAA6P,cAAc,sCAAsC,uBAAuB,oEAAoE,mCAAmC,qIAAqI,cAAc,sCAAsC,uBAAuB,iEAAiE,gCAAgC,qIAAqI,cAAc,sCAAsC,uBAAuB,2EAA2E,0CAA0C,0IAA0I,cAAc,sCAAsC,uBAAuB,wEAAwE,uCAAuC,wIAAwI,cAAc,sCAAsC,uBAAuB,sEAAsE,qCAAqC,qIAAqI,cAAc,sCAAsC,uBAAuB,wEAAwE,uCAAuC,qIAAqI,cAAc,sCAAsC,uBAAuB,yEAAyE,wCAAwC,qIAAqI,cAAc,sCAAsC,uBAAuB,wEAAwE,uCAAuC,qIAAqI,cAAc,sCAAsC,uBAAuB,yEAAyE,wCAAwC,qIAAqI,cAAc,sCAAsC,uBAAuB,qEAAqE,oCAAoC,qIAAqI,cAAc,sCAAsC,uBAAuB,wEAAwE,uCAAuC,qIAAqI,cAAc,sCAAsC,uBAAuB,yEAAyE,wCAAwC,6sBAA6sB,kCAAkC,oCAAoC,kCAAkC,oCAAoC,mCAAmC,qBAAqB,qBAAqB,+BAA+B,8BAA8B,qZAAqZ,cAAc,sCAAsC,uBAAuB,gEAAgE,4BAA4B,GAAG,8BAA8B,oMAAoM,cAAc,wCAAwC,uBAAuB,iEAAiE,2BAA2B,GAAG,iCAAiC,kJAAkJ,cAAc,41BAA41B,+BAA+B,4UAA4U,cAAc,sCAAsC,uBAAuB,kEAAkE,kCAAkC,yNAAyN,cAAc,sCAAsC,uBAAuB,kEAAkE,kCAAkC,0NAA0N,cAAc,sCAAsC,uBAAuB,kEAAkE,8BAA8B,mNAAmN,cAAc,sCAAsC,uBAAuB,oEAAoE,oCAAoC,s4BAAs4B,uCAAuC,6VAA6V,uBAAuB,sEAAsE,sCAAsC,wNAAwN,cAAc,sCAAsC,uBAAuB,uEAAuE,uCAAuC,wXAAwX,uBAAuB,oBAAoB,4BAA4B,mEAAmE,0CAA0C,iNAAiN,cAAc,sCAAsC,uBAAuB,0EAA0E,iDAAiD,6NAA6N,uBAAuB,iBAAiB,4BAA4B,kEAAkE,uCAAuC,uwBAAuwB,8BAA8B,6TAA6T,uBAAuB,uEAAuE,iCAAiC,mMAAmM,uBAAuB,oEAAoE,iCAAiC,sTAAsT,uBAAuB,0EAA0E,mDAAmD,mOAAmO,uBAAuB,gEAAgE,gDAAgD,mpBAAmpB,4CAA4C,yUAAyU,uBAAuB,wEAAwE,4BAA4B,GAAG,4CAA4C,8NAA8N,uBAAuB,wEAAwE,kCAAkC,snBAAsnB,kCAAkC,kUAAkU,cAAc,sCAAsC,uBAAuB,wEAAwE,wCAAwC,0MAA0M,uBAAuB,kEAAkE,yCAAyC,yNAAyN,cAAc,sCAAsC,uBAAuB,wEAAwE,sCAAsC,qOAAqO,cAAc,gCAAgC,uBAAuB,2KAA2K,6BAA6B,uUAAuU,kCAAkC,4EAA4E,E;;;;;;;;;;;;ACAv6pB,+DAAe,gLAAgL,8BAA8B,sSAAsS,uBAAuB,kLAAkL,2BAA2B,0WAA0W,iCAAiC,uHAAuH,uBAAuB,uBAAuB,4BAA4B,kOAAkO,8BAA8B,qHAAqH,mBAAmB,mUAAmU,8BAA8B,ixBAAixB,0CAA0C,oVAAoV,6BAA6B,iSAAiS,8BAA8B,6TAA6T,eAAe,6BAA6B,GAAG,4EAA4E,OAAO,4TAA4T,8BAA8B,qTAAqT,uBAAuB,uTAAuT,iBAAiB,6TAA6T,uBAAuB,oLAAoL,6BAA6B,8PAA8P,cAAc,q5BAAq5B,oZAAoZ,mfAAmf,sBAAsB,0KAA0K,iYAAiY,gEAAgE,8IAA8I,0CAA0C,oVAAoV,6BAA6B,iSAAiS,8BAA8B,6TAA6T,eAAe,6BAA6B,GAAG,4EAA4E,OAAO,4TAA4T,8BAA8B,uTAAuT,uBAAuB,yTAAyT,iBAAiB,6TAA6T,uBAAuB,oLAAoL,6BAA6B,0cAA0c,cAAc,wxBAAwxB,kXAAkX,0kBAA0kB,sBAAsB,sbAAsb,0CAA0C,YAAY,YAAY,wCAAwC,E;;;;;;;;;;;;ACAlqb,+DAAe,sLAAsL,8DAA8D,GAAG,qCAAqC,6JAA6J,uBAAuB,yKAAyK,2BAA2B,+KAA+K,qHAAqH,2BAA2B,iCAAiC,wCAAwC,mBAAmB,gBAAgB,6UAA6U,iDAAiD,6IAA6I,8BAA8B,GAAG,sCAAsC,0JAA0J,WAAW,sgBAAsgB,wCAAwC,yRAAyR,8BAA8B,GAAG,wCAAwC,8LAA8L,eAAe,6FAA6F,OAAO,SAAS,sCAAsC,QAAQ,QAAQ,wdAAwd,+CAA+C,6IAA6I,8BAA8B,GAAG,oCAAoC,mIAAmI,8BAA8B,GAAG,oCAAoC,kGAAkG,WAAW,0ZAA0Z,8CAA8C,6IAA6I,8BAA8B,GAAG,8CAA8C,+IAA+I,gCAAgC,6gBAA6gB,uCAAuC,GAAG,mBAAmB,iIAAiI,uDAAuD,yCAAyC,GAAG,kBAAkB,mBAAmB,wKAAwK,6BAA6B,GAAG,uCAAuC,GAAG,mBAAmB,0YAA0Y,uDAAuD,yCAAyC,GAAG,kBAAkB,mBAAmB,wKAAwK,6BAA6B,GAAG,uCAAuC,GAAG,mBAAmB,mbAAmb,uCAAuC,GAAG,mBAAmB,mJAAmJ,6BAA6B,GAAG,uCAAuC,GAAG,mBAAmB,wVAAwV,uCAAuC,GAAG,mBAAmB,mJAAmJ,6BAA6B,GAAG,uCAAuC,GAAG,mBAAmB,2WAA2W,4CAA4C,kJAAkJ,8BAA8B,GAAG,iCAAiC,yMAAyM,iBAAiB,mUAAmU,8BAA8B,GAAG,iCAAiC,2PAA2P,8BAA8B,GAAG,iCAAiC,gFAAgF,iBAAiB,gWAAgW,yCAAyC,kJAAkJ,8BAA8B,GAAG,8BAA8B,2IAA2I,UAAU,qPAAqP,8BAA8B,GAAG,8BAA8B,yMAAyM,8BAA8B,GAAG,8BAA8B,6EAA6E,UAAU,iVAAiV,4BAA4B,gKAAgK,6BAA6B,GAAG,4BAA4B,2TAA2T,0CAA0C,ygBAAygB,6CAA6C,shBAAshB,+BAA+B,uJAAuJ,eAAe,sGAAsG,OAAO,OAAO,0MAA0M,UAAU,oPAAoP,eAAe,0FAA0F,OAAO,OAAO,4MAA4M,UAAU,gYAAgY,+BAA+B,qIAAqI,eAAe,0OAA0O,UAAU,4LAA4L,4HAA4H,wEAAwE,OAAO,oKAAoK,sCAAsC,6pBAA6pB,6IAA6I,uIAAuI,+CAA+C,knCAAknC,2BAA2B,GAAG,iCAAiC,wWAAwW,8CAA8C,8FAA8F,+CAA+C,yCAAyC,GAAG,iTAAiT,+CAA+C,yKAAyK,6BAA6B,GAAG,kCAAkC,ubAAub,+CAA+C,6KAA6K,6BAA6B,GAAG,kCAAkC,yUAAyU,uDAAuD,oLAAoL,6BAA6B,GAAG,kCAAkC,m1BAAm1B,2BAA2B,GAAG,iCAAiC,kgBAAkgB,4BAA4B,oFAAoF,uBAAuB,sRAAsR,4BAA4B,8GAA8G,E;;;;;;;;;;;;ACArlsB,+DAAe,qDAAqD,sCAAsC,4aAA4a,2BAA2B,kBAAkB,mBAAmB,iKAAiK,6BAA6B,GAAG,2BAA2B,GAAG,mBAAmB,+VAA+V,2BAA2B,kBAAkB,mBAAmB,iKAAiK,6BAA6B,GAAG,2BAA2B,GAAG,mBAAmB,8YAA8Y,kCAAkC,yXAAyX,4BAA4B,sKAAsK,6BAA6B,GAAG,4BAA4B,mWAAmW,+BAA+B,ogBAAogB,kCAAkC,iLAAiL,mEAAmE,sIAAsI,KAAK,sEAAsE,2cAA2c,sCAAsC,4KAA4K,6BAA6B,GAAG,sCAAsC,0WAA0W,0CAA0C,mLAAmL,6BAA6B,GAAG,sCAAsC,o6BAAo6B,8BAA8B,mQAAmQ,8BAA8B,yQAAyQ,wOAAwO,kCAAkC,oCAAoC,mEAAmE,+QAA+Q,4BAA4B,0EAA0E,E;;;;;;;;;;;;ACA/6O,+DAAe,kMAAkM,4BAA4B,GAAG,iCAAiC,gRAAgR,yCAAyC,mLAAmL,uCAAuC,kCAAkC,kBAAkB,oHAAoH,sCAAsC,kCAAkC,wBAAwB,4MAA4M,wCAAwC,kCAAkC,+FAA+F,0MAA0M,wCAAwC,kCAAkC,+FAA+F,oHAAoH,oCAAoC,kHAAkH,UAAU,0CAA0C,8BAA8B,2SAA2S,UAAU,iPAAiP,iCAAiC,kCAAkC,2CAA2C,oHAAoH,8BAA8B,kCAAkC,oCAAoC,wMAAwM,4BAA4B,kCAAkC,+BAA+B,oHAAoH,+BAA+B,kCAAkC,2CAA2C,+TAA+T,+BAA+B,6IAA6I,eAAe,gRAAgR,UAAU,2NAA2N,oCAAoC,6HAA6H,E;;;;;;;;;;;;ACAjnJ,+DAAe,0KAA0K,mDAAmD,+aAA+a,mCAAmC,0RAA0R,8DAA8D,iFAAiF,qCAAqC,0RAA0R,8BAA8B,sdAAsd,oCAAoC,qIAAqI,0BAA0B,uGAAuG,WAAW,uSAAuS,8BAA8B,ihBAAihB,2BAA2B,0DAA0D,0CAA0C,sKAAsK,6BAA6B,2DAA2D,YAAY,wJAAwJ,oCAAoC,0DAA0D,sBAAsB,6KAA6K,uCAAuC,6qBAA6qB,mBAAmB,8MAA8M,sCAAsC,2DAA2D,iBAAiB,4IAA4I,6BAA6B,6EAA6E,mBAAmB,OAAO,iJAAiJ,kCAAkC,gUAAgU,6CAA6C,0FAA0F,kDAAkD,2BAA2B,4DAA4D,gMAAgM,sCAAsC,wGAAwG,qEAAqE,+KAA+K,qCAAqC,2DAA2D,uCAAuC,uIAAuI,sCAAsC,2DAA2D,gEAAgE,yIAAyI,sCAAsC,2DAA2D,yCAAyC,oIAAoI,6BAA6B,yuBAAyuB,+BAA+B,kYAAkY,8BAA8B,6aAA6a,2BAA2B,2HAA2H,E;;;;;;;;;;;;ACAjjS,+DAAe,qDAAqD,gDAAgD,4VAA4V,sCAAsC,2KAA2K,8BAA8B,GAAG,sCAAsC,0MAA0M,WAAW,+hBAA+hB,wCAAwC,iMAAiM,6BAA6B,GAAG,wCAAwC,waAAwa,oDAAoD,+MAA+M,6BAA6B,GAAG,oDAAoD,upBAAupB,6BAA6B,sTAAsT,8BAA8B,qZAAqZ,kBAAkB,yFAAyF,KAAK,UAAU,gJAAgJ,kBAAkB,4FAA4F,KAAK,eAAe,gJAAgJ,kBAAkB,6FAA6F,KAAK,gBAAgB,sFAAsF,2EAA2E,kBAAkB,mGAAmG,0RAA0R,E;;;;;;;;;;;;ACAznK,+DAAe,qDAAqD,gDAAgD,4VAA4V,uCAAuC,2KAA2K,8BAA8B,GAAG,uCAAuC,gQAAgQ,WAAW,giBAAgiB,oCAAoC,iMAAiM,6BAA6B,GAAG,oCAAoC,6dAA6d,oDAAoD,+MAA+M,6BAA6B,GAAG,oDAAoD,wfAAwf,kCAAkC,iMAAiM,6BAA6B,GAAG,kCAAkC,6bAA6b,oCAAoC,mMAAmM,6BAA6B,GAAG,oCAAoC,wnBAAwnB,6BAA6B,8GAA8G,6NAA6N,8BAA8B,yMAAyM,uCAAuC,kTAAkT,wCAAwC,8DAA8D,UAAU,mJAAmJ,oCAAoC,8DAA8D,eAAe,0KAA0K,qCAAqC,oFAAoF,gBAAgB,kKAAkK,yCAAyC,6IAA6I,kBAAkB,yHAAyH,2EAA2E,+BAA+B,yFAAyF,kBAAkB,wHAAwH,qEAAqE,iCAAiC,0KAA0K,6BAA6B,uGAAuG,8EAA8E,SAAS,kBAAkB,6DAA6D,6BAA6B,4EAA4E,0MAA0M,6BAA6B,oNAAoN,2BAA2B,wNAAwN,0CAA0C,wYAAwY,kBAAkB,KAAK,wCAAwC,0FAA0F,KAAK,UAAU,kKAAkK,kBAAkB,KAAK,oCAAoC,0FAA0F,KAAK,eAAe,kKAAkK,kBAAkB,KAAK,qCAAqC,0FAA0F,KAAK,gBAAgB,kKAAkK,kBAAkB,KAAK,yCAAyC,+FAA+F,wFAAwF,mEAAmE,+BAA+B,iFAAiF,uFAAuF,6DAA6D,iCAAiC,uFAAuF,sCAAsC,8EAA8E,SAAS,kBAAkB,mGAAmG,uLAAuL,6BAA6B,iGAAiG,E;;;;;;;;;;;;ACAhjW,+DAAe,2EAA2E,eAAe,8KAA8K,YAAY,+KAA+K,6LAA6L,6nBAA6nB,4GAA4G,mMAAmM,2GAA2G,6NAA6N,yBAAyB,YAAY,YAAY,4FAA4F,eAAe,iGAAiG,gBAAgB,4FAA4F,UAAU,iRAAiR,E;;;;;;;;;;;;ACAvgF,+DAAe,+HAA+H,mBAAmB,mBAAmB,sCAAsC,oBAAoB,YAAY,aAAa,qBAAqB,YAAY,0DAA0D,YAAY,aAAa,qBAAqB,kCAAkC,0DAA0D,YAAY,eAAe,aAAa,cAAc,kEAAkE,cAAc,oBAAoB,uDAAuD,YAAY,gCAAgC,UAAU,0DAA0D,cAAc,gCAAgC,sCAAsC,0DAA0D,YAAY,gCAAgC,yCAAyC,0DAA0D,cAAc,gCAAgC,qCAAqC,0DAA0D,YAAY,gCAAgC,gBAAgB,0DAA0D,cAAc,gCAAgC,oBAAoB,0DAA0D,cAAc,gCAAgC,gBAAgB,0DAA0D,cAAc,gCAAgC,yCAAyC,kEAAkE,cAAc,gCAAgC,8BAA8B,4FAA4F,YAAY,eAAe,cAAc,6EAA6E,cAAc,oBAAoB,8EAA8E,YAAY,eAAe,cAAc,6EAA6E,cAAc,oBAAoB,8EAA8E,YAAY,aAAa,cAAc,6EAA6E,cAAc,oBAAoB,wBAAwB,E;;;;;;;;;;;;ACA5/E,+DAAe,sQAAsQ,wBAAwB,yBAAyB,0BAA0B,2BAA2B,+BAA+B,WAAW,oBAAoB,iCAAiC,qBAAqB,sBAAsB,2BAA2B,4BAA4B,2BAA2B,kCAAkC,gCAAgC,iCAAiC,WAAW,wBAAwB,iCAAiC,qBAAqB,sBAAsB,6BAA6B,8BAA8B,0BAA0B,WAAW,mKAAmK,cAAc,cAAc,8CAA8C,mBAAmB,mBAAmB,KAAK,iCAAiC,yDAAyD,cAAc,cAAc,4CAA4C,mBAAmB,mBAAmB,KAAK,qCAAqC,uDAAuD,aAAa,aAAa,oEAAoE,gBAAgB,sBAAsB,uDAAuD,YAAY,WAAW,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,+CAA+C,mBAAmB,kBAAkB,KAAK,UAAU,yDAAyD,YAAY,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,sCAAsC,yDAAyD,YAAY,cAAc,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,yCAAyC,yDAAyD,YAAY,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,qCAAqC,yDAAyD,YAAY,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,gBAAgB,yDAAyD,YAAY,cAAc,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,oBAAoB,yDAAyD,YAAY,cAAc,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,gBAAgB,yDAAyD,YAAY,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,yCAAyC,yDAAyD,oBAAoB,cAAc,cAAc,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,8BAA8B,8DAA8D,aAAa,cAAc,aAAa,sQAAsQ,qBAAqB,mBAAmB,oBAAoB,mDAAmD,cAAc,YAAY,gDAAgD,mBAAmB,kBAAkB,KAAK,iCAAiC,6DAA6D,cAAc,aAAa,gDAAgD,mBAAmB,kBAAkB,KAAK,qCAAqC,6DAA6D,cAAc,aAAa,uEAAuE,gBAAgB,uBAAuB,2DAA2D,cAAc,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,gDAAgD,mBAAmB,kBAAkB,KAAK,UAAU,6DAA6D,cAAc,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,gDAAgD,mBAAmB,kBAAkB,KAAK,UAAU,6DAA6D,cAAc,YAAY,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,gDAAgD,mBAAmB,kBAAkB,KAAK,sCAAsC,6DAA6D,cAAc,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,gDAAgD,mBAAmB,kBAAkB,KAAK,yCAAyC,6DAA6D,cAAc,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,gDAAgD,mBAAmB,kBAAkB,KAAK,gBAAgB,6DAA6D,cAAc,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,gDAAgD,mBAAmB,kBAAkB,KAAK,qCAAqC,6DAA6D,cAAc,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,gDAAgD,mBAAmB,kBAAkB,KAAK,gBAAgB,6DAA6D,cAAc,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,gDAAgD,mBAAmB,kBAAkB,KAAK,8BAA8B,qDAAqD,oBAAoB,cAAc,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,gDAAgD,mBAAmB,kBAAkB,KAAK,yCAAyC,qEAAqE,cAAc,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,gDAAgD,mBAAmB,kBAAkB,KAAK,oBAAoB,kEAAkE,eAAe,gBAAgB,YAAY,oSAAoS,qBAAqB,mBAAmB,oBAAoB,6CAA6C,cAAc,YAAY,kDAAkD,mBAAmB,mBAAmB,KAAK,iCAAiC,iEAAiE,aAAa,aAAa,wEAAwE,gBAAgB,sBAAsB,+DAA+D,cAAc,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,mDAAmD,mBAAmB,kBAAkB,KAAK,UAAU,iEAAiE,cAAc,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,kDAAkD,mBAAmB,mBAAmB,KAAK,sCAAsC,iEAAiE,cAAc,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,kDAAkD,mBAAmB,mBAAmB,KAAK,yCAAyC,iEAAiE,cAAc,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,kDAAkD,mBAAmB,mBAAmB,KAAK,qCAAqC,iEAAiE,cAAc,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,kDAAkD,mBAAmB,mBAAmB,KAAK,gBAAgB,iEAAiE,cAAc,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,kDAAkD,mBAAmB,mBAAmB,KAAK,oBAAoB,iEAAiE,cAAc,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,kDAAkD,mBAAmB,mBAAmB,KAAK,gBAAgB,iEAAiE,cAAc,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,kDAAkD,mBAAmB,mBAAmB,KAAK,yCAAyC,iEAAiE,oBAAoB,cAAc,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,kDAAkD,mBAAmB,mBAAmB,KAAK,8BAA8B,sEAAsE,aAAa,cAAc,aAAa,sMAAsM,qBAAqB,mBAAmB,oBAAoB,8IAA8I,mBAAmB,mBAAmB,KAAK,iCAAiC,uKAAuK,mBAAmB,mBAAmB,KAAK,qCAAqC,yLAAyL,gBAAgB,sBAAsB,+KAA+K,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,kBAAkB,KAAK,UAAU,wLAAwL,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,sCAAsC,4LAA4L,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,yCAAyC,4LAA4L,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,qCAAqC,4LAA4L,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,gBAAgB,4LAA4L,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,oBAAoB,4LAA4L,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,gBAAgB,4LAA4L,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,yCAAyC,oMAAoM,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,8BAA8B,8WAA8W,qBAAqB,mBAAmB,oBAAoB,2CAA2C,cAAc,aAAa,8CAA8C,mBAAmB,mBAAmB,KAAK,iCAAiC,yDAAyD,cAAc,WAAW,4CAA4C,mBAAmB,mBAAmB,KAAK,qCAAqC,uDAAuD,aAAa,aAAa,oEAAoE,gBAAgB,sBAAsB,uDAAuD,YAAY,WAAW,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,+CAA+C,mBAAmB,kBAAkB,KAAK,UAAU,yDAAyD,YAAY,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,sCAAsC,yDAAyD,YAAY,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,yCAAyC,yDAAyD,YAAY,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,qCAAqC,yDAAyD,YAAY,WAAW,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,gBAAgB,yDAAyD,YAAY,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,oBAAoB,yDAAyD,YAAY,cAAc,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,gBAAgB,yDAAyD,YAAY,aAAa,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,yCAAyC,yDAAyD,oBAAoB,YAAY,cAAc,cAAc,uBAAuB,qBAAqB,kBAAkB,yBAAyB,8CAA8C,mBAAmB,mBAAmB,KAAK,8BAA8B,8DAA8D,aAAa,cAAc,aAAa,qOAAqO,WAAW,sCAAsC,eAAe,aAAa,2BAA2B,KAAK,cAAc,yCAAyC,eAAe,aAAa,0BAA0B,KAAK,YAAY,yCAAyC,eAAe,aAAa,0BAA0B,KAAK,wCAAwC,yCAAyC,eAAe,aAAa,0BAA0B,KAAK,sBAAsB,yCAAyC,eAAe,aAAa,0BAA0B,KAAK,2CAA2C,yCAAyC,eAAe,aAAa,0BAA0B,KAAK,kBAAkB,yCAAyC,eAAe,aAAa,0BAA0B,KAAK,uCAAuC,yCAAyC,eAAe,aAAa,0BAA0B,KAAK,2CAA2C,iDAAiD,eAAe,aAAa,0BAA0B,KAAK,gCAAgC,yCAAyC,eAAe,aAAa,0BAA0B,KAAK,kBAAkB,yCAAyC,eAAe,aAAa,0BAA0B,KAAK,mCAAmC,yCAAyC,eAAe,aAAa,0BAA0B,KAAK,uCAAuC,8CAA8C,aAAa,cAAc,aAAa,8GAA8G,cAAc,iBAAiB,aAAa,YAAY,4CAA4C,E;;;;;;;;;;;;ACAv5rB,+DAAe,+JAA+J,kCAAkC,gfAAgf,2BAA2B,+XAA+X,sCAAsC,2bAA2b,mCAAmC,8QAA8Q,yCAAyC,wHAAwH,qCAAqC,wTAAwT,8BAA8B,4eAA4e,2BAA2B,qOAAqO,2CAA2C,0GAA0G,0BAA0B,mGAAmG,iBAAiB,iGAAiG,2CAA2C,0NAA0N,8BAA8B,GAAG,2CAA2C,2MAA2M,qCAAqC,8GAA8G,0BAA0B,mGAAmG,qBAAqB,iGAAiG,qCAAqC,kOAAkO,8BAA8B,GAAG,qCAAqC,0MAA0M,6BAA6B,uGAAuG,0BAA0B,4FAA4F,2BAA2B,4GAA4G,6BAA6B,mNAAmN,+BAA+B,uOAAuO,yCAAyC,4MAA4M,uCAAuC,0GAA0G,0BAA0B,yQAAyQ,uCAAuC,kNAAkN,8BAA8B,GAAG,uCAAuC,uLAAuL,eAAe,mCAAmC,aAAa,mEAAmE,OAAO,SAAS,sCAAsC,QAAQ,QAAQ,mNAAmN,sCAAsC,4GAA4G,0BAA0B,+KAA+K,0BAA0B,qMAAqM,oCAAoC,kOAAkO,kCAAkC,4GAA4G,0BAA0B,yGAAyG,UAAU,qMAAqM,2BAA2B,GAAG,4BAA4B,0YAA0Y,yBAAyB,GAAG,4BAA4B,2YAA2Y,sCAAsC,wGAAwG,0BAA0B,wDAAwD,6CAA6C,yDAAyD,+CAA+C,qMAAqM,yCAAyC,yGAAyG,0BAA0B,yDAAyD,+CAA+C,wDAAwD,iDAAiD,ubAAub,8BAA8B,sWAAsW,8BAA8B,yWAAyW,oCAAoC,qDAAqD,2DAA2D,gJAAgJ,6BAA6B,sEAAsE,sBAAsB,iGAAiG,YAAY,qKAAqK,2BAA2B,sEAAsE,UAAU,wJAAwJ,6BAA6B,4DAA4D,2EAA2E,6JAA6J,+BAA+B,4DAA4D,iBAAiB,uJAAuJ,uCAAuC,2fAA2f,mBAAmB,8LAA8L,kCAAkC,4DAA4D,sBAAsB,0IAA0I,yCAAyC,oDAAoD,gBAAgB,yHAAyH,mCAAmC,uLAAuL,iDAAiD,sKAAsK,iDAAiD,6PAA6P,8DAA8D,iBAAiB,8CAA8C,wKAAwK,iEAAiE,iBAAiB,8CAA8C,+JAA+J,6BAA6B,6GAA6G,QAAQ,aAAa,4BAA4B,uOAAuO,QAAQ,aAAa,6BAA6B,ySAAyS,QAAQ,aAAa,8BAA8B,6SAA6S,8BAA8B,seAAse,2EAA2E,GAAG,8BAA8B,4BAA4B,wDAAwD,iDAAiD,gEAAgE,sOAAsO,8BAA8B,4TAA4T,2BAA2B,uHAAuH,E;;;;;;;;;;;;ACAxtkB,+DAAe,8LAA8L,+DAA+D,QAAQ,iCAAiC,wUAAwU,6CAA6C,8JAA8J,6BAA6B,QAAQ,KAAK,mCAAmC,6IAA6I,mCAAmC,4WAA4W,mDAAmD,iNAAiN,eAAe,wFAAwF,OAAO,6QAA6Q,yBAAyB,qBAAqB,8HAA8H,6CAA6C,6IAA6I,8BAA8B,GAAG,kCAAkC,8LAA8L,UAAU,mRAAmR,+CAA+C,yQAAyQ,GAAG,8kBAA8kB,qBAAqB,MAAM,eAAe,+XAA+X,sCAAsC,+JAA+J,6BAA6B,GAAG,2BAA2B,yTAAyT,kDAAkD,+IAA+I,6BAA6B,GAAG,uCAAuC,woBAAwoB,qCAAqC,6IAA6I,8BAA8B,GAAG,qCAAqC,uKAAuK,qBAAqB,gaAAga,gDAAgD,sJAAsJ,+OAA+O,8BAA8B,GAAG,qCAAqC,iNAAiN,YAAY,gKAAgK,yOAAyO,8BAA8B,GAAG,qCAAqC,uMAAuM,YAAY,2WAA2W,8BAA8B,GAAG,qCAAqC,ibAAib,2CAA2C,6IAA6I,8BAA8B,GAAG,iCAAiC,iJAAiJ,iBAAiB,6ZAA6Z,sDAAsD,0OAA0O,8BAA8B,GAAG,iCAAiC,+YAA+Y,oDAAoD,qKAAqK,6BAA6B,GAAG,yCAAyC,6UAA6U,gDAAgD,6IAA6I,8BAA8B,GAAG,qCAAqC,+MAA+M,gBAAgB,2ZAA2Z,wCAAwC,kNAAkN,2BAA2B,+EAA+E,6BAA6B,4XAA4X,8CAA8C,uJAAuJ,8BAA8B,GAAG,iCAAiC,uKAAuK,iBAAiB,gcAAgc,yDAAyD,2PAA2P,8BAA8B,GAAG,iCAAiC,kbAAkb,sCAAsC,uJAAuJ,8BAA8B,GAAG,sCAAsC,gQAAgQ,0BAA0B,+YAA+Y,0CAA0C,ohBAAohB,6CAA6C,iEAAiE,eAAe,6PAA6P,sIAAsI,4KAA4K,0EAA0E,4EAA4E,+CAA+C,8JAA8J,sCAAsC,siBAAsiB,GAAG,mpEAAmpE,GAAG,cAAc,GAAG,0LAA0L,qCAAqC,iCAAiC,yBAAyB,gJAAgJ,iDAAiD,6VAA6V,GAAG,8yBAA8yB,qCAAqC,yCAAyC,yBAAyB,2KAA2K,yDAAyD,imBAAimB,sDAAsD,qiBAAqiB,4BAA4B,mGAAmG,6BAA6B,wPAAwP,4BAA4B,gJAAgJ,E;;;;;;;;;;;;ACAxjuB,+DAAe,8LAA8L,4BAA4B,GAAG,iCAAiC,8TAA8T,0CAA0C,+HAA+H,gDAAgD,sEAAsE,0CAA0C,QAAQ,KAAK,4CAA4C,kDAAkD,4CAA4C,4FAA4F,+EAA+E,8CAA8C,0CAA0C,4FAA4F,sEAAsE,oEAAoE,yDAAyD,4FAA4F,6FAA6F,YAAY,2CAA2C,uiDAAuiD,6CAA6C,wVAAwV,6CAA6C,w6CAAw6C,mDAAmD,gCAAgC,mDAAmD,yfAAyf,6BAA6B,GAAG,iDAAiD,ukBAAukB,4GAA4G,mCAAmC,6BAA6B,GAAG,8CAA8C,6BAA6B,oJAAoJ,oEAAoE,0DAA0D,kMAAkM,8DAA8D,mgBAAmgB,+GAA+G,iCAAiC,6BAA6B,GAAG,8CAA8C,6BAA6B,sJAAsJ,uEAAuE,wDAAwD,iMAAiM,iEAAiE,kXAAkX,oCAAoC,8CAA8C,sBAAsB,mLAAmL,8CAA8C,0DAA0D,cAAc,mBAAmB,oBAAoB,iBAAiB,yBAAyB,6MAA6M,2BAA2B,8CAA8C,UAAU,wLAAwL,uCAAuC,8CAA8C,4CAA4C,2LAA2L,qCAAqC,8CAA8C,6BAA6B,2LAA2L,2CAA2C,8CAA8C,yBAAyB,2LAA2L,yCAAyC,8CAA8C,gBAAgB,sLAAsL,qCAAqC,mEAAmE,KAAK,gBAAgB,gLAAgL,6BAA6B,8CAA8C,2EAA2E,kMAAkM,8CAA8C,8CAA8C,6BAA6B,qLAAqL,sCAAsC,8CAA8C,8BAA8B,mMAAmM,+BAA+B,8CAA8C,iBAAiB,mLAAmL,8CAA8C,4DAA4D,cAAc,mBAAmB,oBAAoB,iBAAiB,6DAA6D,oNAAoN,kCAAkC,mKAAmK,wCAAwC,o4BAAo4B,wCAAwC,80BAA80B,eAAe,6FAA6F,uHAAuH,60BAA60B,uCAAuC,o7BAAo7B,uCAAuC,0iCAA0iC,E;;;;;;;;;;;;ACAh9jB,+DAAe,kLAAkL,gBAAgB,mBAAmB,oBAAoB,oBAAoB,6CAA6C,WAAW,WAAW,oBAAoB,WAAW,KAAK,gCAAgC,qDAAqD,YAAY,WAAW,oBAAoB,WAAW,MAAM,WAAW,iDAAiD,YAAY,WAAW,oBAAoB,WAAW,KAAK,qBAAqB,oDAAoD,aAAa,WAAW,KAAK,yBAAyB,gDAAgD,aAAa,WAAW,oDAAoD,aAAa,WAAW,oBAAoB,WAAW,MAAM,YAAY,iDAAiD,aAAa,WAAW,oBAAoB,WAAW,OAAO,qBAAqB,kDAAkD,YAAY,YAAY,oBAAoB,WAAW,KAAK,mBAAmB,qDAAqD,YAAY,YAAY,oBAAoB,WAAW,iOAAiO,gBAAgB,mBAAmB,oBAAoB,oBAAoB,6CAA6C,YAAY,WAAW,oBAAoB,WAAW,KAAK,gCAAgC,qDAAqD,WAAW,WAAW,oBAAoB,WAAW,MAAM,WAAW,iDAAiD,WAAW,WAAW,oBAAoB,WAAW,KAAK,qBAAqB,oDAAoD,YAAY,WAAW,uBAAuB,yBAAyB,gDAAgD,YAAY,WAAW,oDAAoD,YAAY,WAAW,oBAAoB,WAAW,MAAM,YAAY,iDAAiD,aAAa,WAAW,oBAAoB,WAAW,OAAO,qBAAqB,kDAAkD,WAAW,YAAY,oBAAoB,WAAW,KAAK,mBAAmB,qDAAqD,WAAW,YAAY,oBAAoB,WAAW,+CAA+C,E;;;;;;;;;;;;ACA3rF,+DAAe,yNAAyN,gBAAgB,mBAAmB,oBAAoB,qDAAqD,cAAc,WAAW,2BAA2B,6DAA6D,wDAAwD,cAAc,aAAa,2BAA2B,oEAAoE,wDAAwD,cAAc,aAAa,2BAA2B,oEAAoE,wDAAwD,aAAa,WAAW,oEAAoE,aAAa,WAAW,KAAK,qCAAqC,wDAAwD,aAAa,cAAc,2BAA2B,mDAAmD,wDAAwD,YAAY,cAAc,2BAA2B,sGAAsG,0EAA0E,aAAa,YAAY,KAAK,iCAAiC,wDAAwD,YAAY,YAAY,KAAK,mBAAmB,6DAA6D,WAAW,wOAAwO,WAAW,0DAA0D,gBAAgB,mBAAmB,oBAAoB,qDAAqD,aAAa,WAAW,gBAAgB,2BAA2B,qCAAqC,wDAAwD,aAAa,cAAc,gBAAgB,2BAA2B,qCAAqC,wDAAwD,aAAa,YAAY,gBAAgB,2BAA2B,qCAAqC,0DAA0D,YAAY,WAAW,oBAAoB,WAAW,2BAA2B,6DAA6D,wDAAwD,YAAY,cAAc,oBAAoB,WAAW,2BAA2B,6DAA6D,wDAAwD,aAAa,WAAW,oBAAoB,WAAW,2BAA2B,qBAAqB,wDAAwD,aAAa,cAAc,oBAAoB,WAAW,2BAA2B,qBAAqB,0DAA0D,YAAY,aAAa,oBAAoB,WAAW,2BAA2B,sGAAsG,0EAA0E,YAAY,aAAa,oBAAoB,WAAW,2BAA2B,oDAAoD,wDAAwD,YAAY,aAAa,oBAAoB,WAAW,2BAA2B,mEAAmE,wDAAwD,YAAY,aAAa,oBAAoB,WAAW,2BAA2B,uDAAuD,wDAAwD,YAAY,cAAc,oBAAoB,WAAW,2BAA2B,qDAAqD,wDAAwD,YAAY,cAAc,oBAAoB,WAAW,2BAA2B,iEAAiE,wDAAwD,YAAY,cAAc,oBAAoB,WAAW,2BAA2B,8CAA8C,wDAAwD,YAAY,cAAc,oBAAoB,WAAW,2BAA2B,mEAAmE,wDAAwD,YAAY,cAAc,oBAAoB,WAAW,2BAA2B,yDAAyD,0DAA0D,aAAa,aAAa,oBAAoB,WAAW,2BAA2B,mDAAmD,wDAAwD,aAAa,aAAa,oBAAoB,WAAW,2BAA2B,yDAAyD,wDAAwD,aAAa,aAAa,oBAAoB,WAAW,2BAA2B,6BAA6B,wDAAwD,aAAa,aAAa,oBAAoB,WAAW,2BAA2B,gDAAgD,wDAAwD,aAAa,cAAc,oBAAoB,WAAW,2BAA2B,gCAAgC,wDAAwD,aAAa,cAAc,oBAAoB,WAAW,2BAA2B,yDAAyD,wDAAwD,aAAa,cAAc,oBAAoB,WAAW,2BAA2B,iDAAiD,wDAAwD,aAAa,cAAc,oBAAoB,WAAW,2BAA2B,yDAAyD,wDAAwD,aAAa,cAAc,oBAAoB,WAAW,2BAA2B,yHAAyH,4EAA4E,YAAY,cAAc,oBAAoB,WAAW,2BAA2B,sGAAsG,0EAA0E,YAAY,cAAc,oBAAoB,WAAW,2BAA2B,oDAAoD,wDAAwD,YAAY,cAAc,oBAAoB,WAAW,2BAA2B,mEAAmE,wDAAwD,YAAY,cAAc,oBAAoB,WAAW,2BAA2B,uDAAuD,wDAAwD,YAAY,cAAc,oBAAoB,WAAW,2BAA2B,qDAAqD,wDAAwD,YAAY,cAAc,oBAAoB,WAAW,2BAA2B,iEAAiE,wDAAwD,YAAY,cAAc,oBAAoB,WAAW,2BAA2B,8CAA8C,wDAAwD,YAAY,cAAc,oBAAoB,WAAW,2BAA2B,mEAAmE,wDAAwD,YAAY,cAAc,oBAAoB,WAAW,2BAA2B,yDAAyD,0DAA0D,aAAa,cAAc,oBAAoB,WAAW,2BAA2B,mDAAmD,wDAAwD,aAAa,cAAc,oBAAoB,WAAW,2BAA2B,yDAAyD,wDAAwD,aAAa,cAAc,oBAAoB,WAAW,2BAA2B,6BAA6B,wDAAwD,aAAa,cAAc,oBAAoB,WAAW,2BAA2B,gDAAgD,wDAAwD,aAAa,cAAc,oBAAoB,WAAW,2BAA2B,gCAAgC,wDAAwD,aAAa,cAAc,oBAAoB,WAAW,2BAA2B,yDAAyD,wDAAwD,aAAa,cAAc,oBAAoB,WAAW,2BAA2B,iDAAiD,wDAAwD,aAAa,cAAc,oBAAoB,WAAW,2BAA2B,yDAAyD,wDAAwD,aAAa,cAAc,oBAAoB,WAAW,2BAA2B,yHAAyH,kJAAkJ,SAAS,YAAY,WAAW,2EAA2E,gBAAgB,mBAAmB,oBAAoB,oBAAoB,qDAAqD,WAAW,WAAW,oBAAoB,WAAW,2BAA2B,sGAAsG,0EAA0E,WAAW,cAAc,oBAAoB,WAAW,2BAA2B,oDAAoD,wDAAwD,WAAW,YAAY,oBAAoB,WAAW,2BAA2B,mEAAmE,wDAAwD,WAAW,cAAc,oBAAoB,WAAW,2BAA2B,uDAAuD,wDAAwD,WAAW,YAAY,oBAAoB,WAAW,2BAA2B,qDAAqD,wDAAwD,WAAW,cAAc,oBAAoB,WAAW,2BAA2B,iEAAiE,wDAAwD,WAAW,YAAY,oBAAoB,WAAW,2BAA2B,8CAA8C,wDAAwD,WAAW,cAAc,oBAAoB,WAAW,2BAA2B,mEAAmE,wDAAwD,WAAW,YAAY,oBAAoB,WAAW,2BAA2B,yDAAyD,0DAA0D,aAAa,WAAW,oBAAoB,WAAW,2BAA2B,mDAAmD,wDAAwD,aAAa,cAAc,oBAAoB,WAAW,2BAA2B,yDAAyD,wDAAwD,aAAa,YAAY,oBAAoB,WAAW,2BAA2B,6BAA6B,wDAAwD,aAAa,cAAc,oBAAoB,WAAW,2BAA2B,gDAAgD,wDAAwD,aAAa,YAAY,oBAAoB,WAAW,2BAA2B,gCAAgC,wDAAwD,aAAa,cAAc,oBAAoB,WAAW,2BAA2B,yDAAyD,wDAAwD,aAAa,YAAY,oBAAoB,WAAW,2BAA2B,iDAAiD,wDAAwD,aAAa,cAAc,oBAAoB,WAAW,2BAA2B,yDAAyD,wDAAwD,aAAa,YAAY,oBAAoB,WAAW,2BAA2B,yHAAyH,+QAA+Q,gBAAgB,mBAAmB,oBAAoB,qDAAqD,YAAY,aAAa,eAAe,2BAA2B,6BAA6B,MAAM,MAAM,MAAM,MAAM,QAAQ,6BAA6B,MAAM,MAAM,QAAQ,+BAA+B,0EAA0E,YAAY,aAAa,eAAe,2BAA2B,yBAAyB,MAAM,MAAM,QAAQ,yBAAyB,MAAM,MAAM,QAAQ,2BAA2B,4EAA4E,cAAc,WAAW,2BAA2B,6DAA6D,wDAAwD,cAAc,WAAW,2BAA2B,oEAAoE,wDAAwD,cAAc,aAAa,2BAA2B,oEAAoE,0DAA0D,aAAa,YAAY,2BAA2B,mDAAmD,wDAAwD,YAAY,YAAY,2BAA2B,sGAAsG,0EAA0E,aAAa,YAAY,KAAK,iCAAiC,wDAAwD,YAAY,YAAY,KAAK,mBAAmB,wDAAwD,YAAY,aAAa,aAAa,mLAAmL,YAAY,aAAa,eAAe,oBAAoB,2BAA2B,YAAY,qIAAqI,WAAW,QAAQ,SAAS,wDAAwD,gBAAgB,mBAAmB,oBAAoB,wDAAwD,aAAa,WAAW,gBAAgB,yBAAyB,qCAAqC,0DAA0D,aAAa,aAAa,gBAAgB,yBAAyB,qCAAqC,sDAAsD,aAAa,cAAc,gBAAgB,yBAAyB,qCAAqC,sDAAsD,aAAa,cAAc,gBAAgB,yBAAyB,qCAAqC,8MAA8M,YAAY,WAAW,oBAAoB,WAAW,2BAA2B,6DAA6D,wDAAwD,YAAY,YAAY,oBAAoB,WAAW,2BAA2B,6DAA6D,6DAA6D,aAAa,WAAW,oBAAoB,WAAW,2BAA2B,qBAAqB,wDAAwD,aAAa,YAAY,oBAAoB,WAAW,2BAA2B,qBAAqB,yNAAyN,YAAY,WAAW,oBAAoB,WAAW,uBAAuB,6DAA6D,oDAAoD,YAAY,YAAY,oBAAoB,WAAW,uBAAuB,6DAA6D,oDAAoD,aAAa,WAAW,oBAAoB,WAAW,uBAAuB,qBAAqB,oDAAoD,aAAa,YAAY,oBAAoB,WAAW,uBAAuB,qBAAqB,8EAA8E,WAAW,WAAW,oBAAoB,WAAW,yBAAyB,sGAAsG,sEAAsE,WAAW,WAAW,oBAAoB,WAAW,yBAAyB,oDAAoD,sDAAsD,WAAW,WAAW,oBAAoB,WAAW,yBAAyB,mEAAmE,sDAAsD,WAAW,YAAY,oBAAoB,WAAW,yBAAyB,uDAAuD,sDAAsD,WAAW,YAAY,oBAAoB,WAAW,yBAAyB,qDAAqD,sDAAsD,WAAW,YAAY,oBAAoB,WAAW,yBAAyB,iEAAiE,sDAAsD,WAAW,cAAc,oBAAoB,WAAW,yBAAyB,8CAA8C,sDAAsD,WAAW,YAAY,oBAAoB,WAAW,yBAAyB,mEAAmE,sDAAsD,WAAW,YAAY,oBAAoB,WAAW,yBAAyB,yDAAyD,8DAA8D,aAAa,WAAW,oBAAoB,WAAW,yBAAyB,mDAAmD,sDAAsD,aAAa,WAAW,oBAAoB,WAAW,yBAAyB,yDAAyD,sDAAsD,aAAa,WAAW,oBAAoB,WAAW,yBAAyB,6BAA6B,sDAAsD,aAAa,YAAY,oBAAoB,WAAW,yBAAyB,gDAAgD,sDAAsD,aAAa,YAAY,oBAAoB,WAAW,yBAAyB,gCAAgC,sDAAsD,aAAa,YAAY,oBAAoB,WAAW,yBAAyB,yDAAyD,sDAAsD,aAAa,YAAY,oBAAoB,WAAW,yBAAyB,iDAAiD,sDAAsD,aAAa,YAAY,oBAAoB,WAAW,yBAAyB,yDAAyD,sDAAsD,aAAa,YAAY,oBAAoB,WAAW,yBAAyB,yHAAyH,8EAA8E,WAAW,YAAY,oBAAoB,WAAW,yBAAyB,sGAAsG,sEAAsE,WAAW,YAAY,oBAAoB,WAAW,yBAAyB,oDAAoD,sDAAsD,WAAW,YAAY,oBAAoB,WAAW,yBAAyB,mEAAmE,sDAAsD,WAAW,YAAY,oBAAoB,WAAW,yBAAyB,uDAAuD,sDAAsD,WAAW,YAAY,oBAAoB,WAAW,yBAAyB,qDAAqD,sDAAsD,WAAW,YAAY,oBAAoB,WAAW,yBAAyB,iEAAiE,sDAAsD,WAAW,YAAY,oBAAoB,WAAW,yBAAyB,8CAA8C,sDAAsD,WAAW,YAAY,oBAAoB,WAAW,yBAAyB,mEAAmE,sDAAsD,WAAW,YAAY,oBAAoB,WAAW,yBAAyB,yDAAyD,8DAA8D,aAAa,YAAY,oBAAoB,WAAW,yBAAyB,mDAAmD,sDAAsD,aAAa,YAAY,oBAAoB,WAAW,yBAAyB,yDAAyD,sDAAsD,aAAa,YAAY,oBAAoB,WAAW,yBAAyB,6BAA6B,sDAAsD,aAAa,YAAY,oBAAoB,WAAW,yBAAyB,gDAAgD,sDAAsD,aAAa,YAAY,oBAAoB,WAAW,yBAAyB,gCAAgC,sDAAsD,aAAa,YAAY,oBAAoB,WAAW,yBAAyB,yDAAyD,sDAAsD,aAAa,YAAY,oBAAoB,WAAW,yBAAyB,iDAAiD,sDAAsD,aAAa,YAAY,oBAAoB,WAAW,yBAAyB,yDAAyD,sDAAsD,aAAa,YAAY,oBAAoB,WAAW,yBAAyB,yHAAyH,oJAAoJ,SAAS,YAAY,WAAW,2EAA2E,gBAAgB,mBAAmB,oBAAoB,oBAAoB,qDAAqD,WAAW,aAAa,oBAAoB,WAAW,2BAA2B,sGAAsG,0EAA0E,WAAW,YAAY,oBAAoB,WAAW,2BAA2B,oDAAoD,wDAAwD,WAAW,cAAc,oBAAoB,WAAW,2BAA2B,mEAAmE,wDAAwD,WAAW,YAAY,oBAAoB,WAAW,2BAA2B,uDAAuD,wDAAwD,WAAW,cAAc,oBAAoB,WAAW,2BAA2B,qDAAqD,wDAAwD,WAAW,YAAY,oBAAoB,WAAW,2BAA2B,iEAAiE,wDAAwD,WAAW,cAAc,oBAAoB,WAAW,2BAA2B,8CAA8C,wDAAwD,WAAW,YAAY,oBAAoB,WAAW,2BAA2B,mEAAmE,wDAAwD,WAAW,cAAc,oBAAoB,WAAW,2BAA2B,yDAAyD,0DAA0D,YAAY,aAAa,oBAAoB,WAAW,2BAA2B,mDAAmD,wDAAwD,YAAY,YAAY,oBAAoB,WAAW,2BAA2B,yDAAyD,wDAAwD,YAAY,cAAc,oBAAoB,WAAW,2BAA2B,6BAA6B,wDAAwD,YAAY,YAAY,oBAAoB,WAAW,2BAA2B,gDAAgD,wDAAwD,YAAY,cAAc,oBAAoB,WAAW,2BAA2B,gCAAgC,wDAAwD,YAAY,YAAY,oBAAoB,WAAW,2BAA2B,yDAAyD,wDAAwD,YAAY,cAAc,oBAAoB,WAAW,2BAA2B,iDAAiD,wDAAwD,YAAY,YAAY,oBAAoB,WAAW,2BAA2B,yDAAyD,wDAAwD,YAAY,cAAc,oBAAoB,WAAW,2BAA2B,yHAAyH,qGAAqG,E;;;;;;;;;;;;ACAtw7B,+DAAe,yDAAyD,+DAA+D,GAAG,iCAAiC,4PAA4P,iDAAiD,6IAA6I,8BAA8B,GAAG,sCAAsC,8LAA8L,UAAU,0QAA0Q,mDAAmD,mPAAmP,8CAA8C,gKAAgK,GAAG,udAAud,uCAAuC,qQAAqQ,gBAAgB,6JAA6J,6BAA6B,GAAG,uCAAuC,uLAAuL,MAAM,8XAA8X,oCAAoC,kQAAkQ,0CAA0C,2KAA2K,6BAA6B,GAAG,2BAA2B,qWAAqW,0DAA0D,8JAA8J,8BAA8B,GAAG,2CAA2C,kKAAkK,iBAAiB,4UAA4U,8BAA8B,GAAG,2CAA2C,sdAAsd,oDAAoD,iTAAiT,8BAA8B,GAAG,qCAAqC,scAAsc,oDAAoD,4RAA4R,6BAA6B,GAAG,qCAAqC,qXAAqX,wDAAwD,4RAA4R,6BAA6B,GAAG,yCAAyC,0XAA0X,6CAA6C,mLAAmL,6BAA6B,GAAG,8BAA8B,iWAAiW,8CAA8C,uLAAuL,6BAA6B,GAAG,+BAA+B,sWAAsW,oDAAoD,iLAAiL,6BAA6B,GAAG,qCAAqC,qXAAqX,yDAAyD,qLAAqL,6BAA6B,GAAG,0CAA0C,sTAAsT,uUAAuU,2CAA2C,IAAI,KAAK,0TAA0T,8BAA8B,2OAA2O,8CAA8C,uLAAuL,6BAA6B,GAAG,2BAA2B,mbAAmb,uEAAuE,yMAAyM,6BAA6B,GAAG,oDAAoD,4cAA4c,iDAAiD,0LAA0L,6BAA6B,GAAG,8BAA8B,saAAsa,kDAAkD,8LAA8L,6BAA6B,GAAG,+BAA+B,qkCAAqkC,2BAA2B,4BAA4B,2CAA2C,2LAA2L,6BAA6B,6NAA6N,4BAA4B,iYAAiY,4BAA4B,6OAA6O,sCAAsC,iRAAiR,6DAA6D,8JAA8J,8BAA8B,GAAG,8CAA8C,uLAAuL,iBAAiB,kUAAkU,8BAA8B,GAAG,8CAA8C,+dAA+d,iDAAiD,8KAA8K,6BAA6B,GAAG,kCAAkC,gWAAgW,6CAA6C,8JAA8J,8BAA8B,GAAG,8BAA8B,iNAAiN,UAAU,2QAA2Q,8BAA8B,GAAG,8BAA8B,qdAAqd,8CAA8C,8JAA8J,8BAA8B,GAAG,+BAA+B,2JAA2J,UAAU,6QAA6Q,8BAA8B,GAAG,+BAA+B,oaAAoa,qDAAqD,yJAAyJ,8BAA8B,GAAG,sCAAsC,yJAAyJ,UAAU,2aAA2a,oDAAoD,yJAAyJ,8BAA8B,GAAG,qCAAqC,0LAA0L,GAAG,mdAAmd,yDAAyD,yJAAyJ,8BAA8B,GAAG,0CAA0C,8KAA8K,GAAG,8dAA8d,qDAAqD,mLAAmL,6BAA6B,GAAG,sCAAsC,sXAAsX,wDAAwD,yJAAyJ,8BAA8B,GAAG,yCAAyC,kMAAkM,GAAG,+bAA+b,oDAAoD,mLAAmL,6BAA6B,GAAG,qCAAqC,sWAAsW,8CAA8C,yJAAyJ,8BAA8B,GAAG,+BAA+B,mKAAmK,UAAU,6ZAA6Z,wDAAwD,sOAAsO,gFAAgF,SAAS,ybAAyb,kDAAkD,+KAA+K,6BAA6B,GAAG,mCAAmC,kXAAkX,mDAAmD,gLAAgL,6BAA6B,GAAG,oCAAoC,qXAAqX,gDAAgD,oHAAoH,iHAAiH,SAAS,4OAA4O,0DAA0D,qOAAqO,2BAA2B,uGAAuG,4EAA4E,GAAG,kRAAkR,mDAAmD,iLAAiL,6BAA6B,GAAG,oCAAoC,gOAAgO,+CAA+C,6KAA6K,6BAA6B,GAAG,gCAAgC,yOAAyO,8CAA8C,qRAAqR,gBAAgB,yKAAyK,6BAA6B,GAAG,+BAA+B,sNAAsN,MAAM,muBAAmuB,gCAAgC,iYAAiY,4BAA4B,6OAA6O,kCAAkC,mJAAmJ,+KAA+K,+GAA+G,gBAAgB,6BAA6B,oEAAoE,iSAAiS,uCAAuC,4EAA4E,sGAAsG,4EAA4E,4CAA4C,gGAAgG,6KAA6K,sWAAsW,GAAG,GAAG,IAAI,8uEAA8uE,GAAG,GAAG,IAAI,cAAc,GAAG,GAAG,IAAI,0PAA0P,qCAAqC,mCAAmC,yBAAyB,oJAAoJ,mDAAmD,4NAA4N,GAAG,GAAG,IAAI,2KAA2K,GAAG,GAAG,IAAI,khCAAkhC,qCAAqC,2CAA2C,yBAAyB,+KAA+K,2DAA2D,0hCAA0hC,gCAAgC,gZAAgZ,4BAA4B,oLAAoL,E;;;;;;;;;;;;ACAt6xC,+DAAe,+JAA+J,kCAAkC,4eAA4e,2BAA2B,4XAA4X,2CAA2C,wXAAwX,sCAAsC,2bAA2b,mCAAmC,8QAA8Q,yCAAyC,2GAA2G,kDAAkD,sTAAsT,8BAA8B,4eAA4e,2BAA2B,iOAAiO,+BAA+B,6OAA6O,2CAA2C,oHAAoH,0BAA0B,mGAAmG,iBAAiB,iGAAiG,2CAA2C,oOAAoO,8BAA8B,GAAG,2CAA2C,gNAAgN,oDAAoD,iPAAiP,2BAA2B,GAAG,4BAA4B,0YAA0Y,yBAAyB,GAAG,4BAA4B,gZAAgZ,8CAA8C,uHAAuH,0BAA0B,mGAAmG,iBAAiB,iGAAiG,8CAA8C,wTAAwT,8BAA8B,GAAG,8CAA8C,mNAAmN,sCAAsC,wGAAwG,0BAA0B,2FAA2F,UAAU,0MAA0M,8BAA8B,wGAAwG,0BAA0B,2FAA2F,UAAU,iGAAiG,8BAA8B,gRAAgR,8BAA8B,GAAG,8BAA8B,gTAAgT,8BAA8B,GAAG,+BAA+B,0LAA0L,0CAA0C,iHAAiH,0BAA0B,uGAAuG,GAAG,mNAAmN,kCAAkC,oOAAoO,oCAAoC,2OAA2O,uCAAuC,0GAA0G,0BAA0B,0NAA0N,uCAAuC,kNAAkN,8BAA8B,GAAG,uCAAuC,uLAAuL,eAAe,wEAAwE,OAAO,SAAS,qDAAqD,QAAQ,QAAQ,iNAAiN,sCAAsC,4GAA4G,0BAA0B,yGAAyG,UAAU,qMAAqM,wCAAwC,kOAAkO,sCAAsC,wGAAwG,0BAA0B,wDAAwD,6CAA6C,yDAAyD,+CAA+C,qMAAqM,yCAAyC,yGAAyG,0BAA0B,yDAAyD,+CAA+C,wDAAwD,iDAAiD,ubAAub,8BAA8B,sWAAsW,8BAA8B,yWAAyW,oCAAoC,qDAAqD,2DAA2D,gJAAgJ,6BAA6B,sEAAsE,sBAAsB,iGAAiG,YAAY,sKAAsK,2BAA2B,sEAAsE,WAAW,0JAA0J,kCAAkC,4DAA4D,cAAc,8JAA8J,+BAA+B,4DAA4D,kBAAkB,uJAAuJ,uCAAuC,2fAA2f,mBAAmB,oLAAoL,sCAAsC,oDAAoD,sBAAsB,8HAA8H,mCAAmC,2LAA2L,iDAAiD,uKAAuK,iDAAiD,sKAAsK,iDAAiD,iQAAiQ,iEAAiE,iBAAiB,kDAAkD,yKAAyK,iEAAiE,iBAAiB,kDAAkD,oLAAoL,gEAAgE,iBAAiB,iDAAiD,mKAAmK,6BAA6B,6GAA6G,QAAQ,aAAa,4BAA4B,iMAAiM,QAAQ,+CAA+C,6BAA6B,8QAA8Q,QAAQ,oCAAoC,8BAA8B,ySAAyS,8BAA8B,qfAAqf,2EAA2E,GAAG,8BAA8B,4BAA4B,wDAAwD,iDAAiD,gEAAgE,uHAAuH,yMAAyM,2BAA2B,uHAAuH,E;;;;;;;;;;;;ACAnyoB,+DAAe,kMAAkM,4BAA4B,GAAG,iCAAiC,yFAAyF,sZAAsZ,0CAA0C,uIAAuI,gDAAgD,8EAA8E,oDAAoD,QAAQ,KAAK,4CAA4C,sEAAsE,4CAA4C,oGAAoG,+EAA+E,kEAAkE,0CAA0C,oGAAoG,sEAAsE,wFAAwF,yDAAyD,oGAAoG,6FAA6F,oBAAoB,2CAA2C,ilBAAilB,uCAAuC,kLAAkL,sCAAsC,kCAAkC,2CAA2C,mHAAmH,wCAAwC,kCAAkC,sBAAsB,wHAAwH,uCAAuC,kCAAkC,+BAA+B,8QAA8Q,oCAAoC,kLAAkL,2BAA2B,kCAAkC,2DAA2D,mHAAmH,2CAA2C,kCAAkC,qGAAqG,mHAAmH,qCAAqC,kCAAkC,uFAAuF,mHAAmH,8BAA8B,kCAAkC,6EAA6E,mHAAmH,qCAAqC,kCAAkC,uEAAuE,mHAAmH,yCAAyC,kCAAkC,uEAAuE,mHAAmH,+BAA+B,kCAAkC,qFAAqF,mHAAmH,qCAAqC,kCAAkC,6EAA6E,mHAAmH,0CAA0C,kCAAkC,qFAAqF,kIAAkI,mMAAmM,sCAAsC,WAAW,GAAG,kLAAkL,2BAA2B,kCAAkC,mCAAmC,mHAAmH,oDAAoD,kCAAkC,uEAAuE,mHAAmH,8BAA8B,kCAAkC,yCAAyC,mHAAmH,+BAA+B,kCAAkC,iDAAiD,wQAAwQ,sCAAsC,kLAAkL,kCAAkC,kCAAkC,mDAAmD,mHAAmH,8CAA8C,kCAAkC,6CAA6C,mHAAmH,sCAAsC,kCAAkC,0DAA0D,mHAAmH,8BAA8B,kCAAkC,0DAA0D,mHAAmH,+BAA+B,kCAAkC,4DAA4D,mHAAmH,0CAA0C,kCAAkC,mEAAmE,mHAAmH,yCAAyC,kCAAkC,iEAAiE,mHAAmH,qCAAqC,kCAAkC,yDAAyD,mHAAmH,sCAAsC,kCAAkC,yDAAyD,mHAAmH,qCAAqC,kCAAkC,yDAAyD,mHAAmH,mCAAmC,kCAAkC,qDAAqD,mHAAmH,oCAAoC,kCAAkC,uDAAuD,mHAAmH,+BAA+B,kCAAkC,6FAA6F,mHAAmH,yCAAyC,kCAAkC,kDAAkD,mHAAmH,2CAA2C,kCAAkC,6BAA6B,iHAAiH,2BAA2B,gCAAgC,2DAA2D,iHAAiH,iCAAiC,kCAAkC,yEAAyE,mHAAmH,oCAAoC,kCAAkC,yDAAyD,mHAAmH,gCAAgC,kCAAkC,iDAAiD,mHAAmH,+BAA+B,kCAAkC,gDAAgD,wBAAwB,+EAA+E,mGAAmG,6BAA6B,gGAAgG,4DAA4D,0CAA0C,0DAA0D,gaAAga,oCAAoC,+JAA+J,6BAA6B,GAAG,oCAAoC,s1BAAs1B,qCAAqC,+JAA+J,6BAA6B,GAAG,qCAAqC,4xBAA4xB,kCAAkC,8NAA8N,wBAAwB,gDAAgD,uBAAuB,qkDAAqkD,6BAA6B,aAAa,yBAAyB,QAAQ,iEAAiE,ioBAAioB,kQAAkQ,kQAAkQ,4RAA4R,6CAA6C,4SAA4S,6CAA6C,2vDAA2vD,mDAAmD,oDAAoD,mDAAmD,w1BAAw1B,+GAA+G,yFAAyF,6BAA6B,4CAA4C,kDAAkD,+MAA+M,iEAAiE,ysBAAysB,+GAA+G,yFAAyF,6BAA6B,4CAA4C,kDAAkD,+MAA+M,iEAAiE,usBAAusB,8GAA8G,mIAAmI,6BAA6B,4CAA4C,iDAAiD,oPAAoP,gEAAgE,0lBAA0lB,6BAA6B,gDAAgD,iCAAiC,mYAAmY,E;;;;;;;;;;;;ACA540B,+DAAe,wKAAwK,0CAA0C,iZAAiZ,2BAA2B,+EAA+E,oJAAoJ,4BAA4B,qPAAqP,8BAA8B,ydAAyd,wCAAwC,4WAA4W,mBAAmB,0VAA0V,mBAAmB,+SAA+S,uBAAuB,8JAA8J,6BAA6B,6SAA6S,4BAA4B,sSAAsS,8BAA8B,6UAA6U,8BAA8B,kSAAkS,4BAA4B,wBAAwB,4RAA4R,2BAA2B,wWAAwW,E;;;;;;;;;;;;ACA13J,+DAAe,wKAAwK,uCAAuC,iZAAiZ,2BAA2B,+EAA+E,oJAAoJ,4BAA4B,qPAAqP,8BAA8B,wfAAwf,wCAAwC,kcAAkc,sBAAsB,yVAAyV,oEAAoE,uNAAuN,sCAAsC,oYAAoY,mBAAmB,wVAAwV,mBAAmB,6SAA6S,uBAAuB,8JAA8J,6BAA6B,6SAA6S,4BAA4B,sSAAsS,8BAA8B,6UAA6U,8BAA8B,kSAAkS,4BAA4B,wBAAwB,4RAA4R,2BAA2B,wWAAwW,E;;;;;;;;;;;;ACA5hM,+DAAe,wKAAwK,gCAAgC,iZAAiZ,2BAA2B,+EAA+E,oJAAoJ,4BAA4B,qPAAqP,8BAA8B,8cAA8c,iCAAiC,8cAA8c,8BAA8B,GAAG,iCAAiC,uUAAuU,yBAAyB,2MAA2M,8BAA8B,6XAA6X,mBAAmB,uVAAuV,mBAAmB,qSAAqS,kBAAkB,8JAA8J,6BAA6B,6SAA6S,4BAA4B,sSAAsS,8BAA8B,6UAA6U,8BAA8B,kSAAkS,4BAA4B,wBAAwB,4RAA4R,2BAA2B,wWAAwW,E;;;;;;;;;;;;ACAt7L,+DAAe,wKAAwK,mCAAmC,gdAAgd,2BAA2B,mFAAmF,4JAA4J,4BAA4B,4OAA4O,8BAA8B,mfAAmf,sCAAsC,kxBAAkxB,kBAAkB,4NAA4N,sCAAsC,yrBAAyrB,iBAAiB,8NAA8N,iCAAiC,2ZAA2Z,mBAAmB,wXAAwX,mBAAmB,+SAA+S,8BAA8B,kOAAkO,qCAAqC,+ZAA+Z,mBAAmB,gYAAgY,mBAAmB,uTAAuT,kCAAkC,8JAA8J,6BAA6B,6SAA6S,4BAA4B,sSAAsS,8BAA8B,6UAA6U,8BAA8B,kSAAkS,4BAA4B,wBAAwB,4RAA4R,2BAA2B,wWAAwW,E;;;;;;;;;;;;ACAr7Q,+DAAe,wKAAwK,oCAAoC,iZAAiZ,2BAA2B,+EAA+E,oJAAoJ,4BAA4B,qPAAqP,8BAA8B,+dAA+d,sCAAsC,kxBAAkxB,kBAAkB,uNAAuN,kCAAkC,+XAA+X,mBAAmB,6VAA6V,mBAAmB,ySAAyS,kBAAkB,8JAA8J,6BAA6B,6SAA6S,4BAA4B,sSAAsS,8BAA8B,6UAA6U,8BAA8B,kSAAkS,4BAA4B,wBAAwB,4RAA4R,2BAA2B,wWAAwW,E;;;;;;;;;;;;ACAh6L,+DAAe,0KAA0K,uCAAuC,+ZAA+Z,2BAA2B,mFAAmF,4JAA4J,4BAA4B,+PAA+P,8BAA8B,oeAAoe,iCAAiC,4dAA4d,8BAA8B,GAAG,iCAAiC,qVAAqV,yBAAyB,qNAAqN,sCAAsC,2YAA2Y,mBAAmB,2WAA2W,mBAAmB,yTAAyT,kBAAkB,wKAAwK,6BAA6B,qTAAqT,4BAA4B,kTAAkT,8BAA8B,2VAA2V,8BAA8B,gTAAgT,4BAA4B,wBAAwB,8SAA8S,2BAA2B,0XAA0X,E;;;;;;;;;;;;ACA3rM,+DAAe,0KAA0K,wCAAwC,+ZAA+Z,2BAA2B,mFAAmF,4JAA4J,4BAA4B,+PAA+P,8BAA8B,meAAme,uCAAuC,+YAA+Y,mBAAmB,0XAA0X,mBAAmB,0TAA0T,uBAAuB,wKAAwK,6BAA6B,qTAAqT,4BAA4B,kTAAkT,8BAA8B,2VAA2V,8BAA8B,gTAAgT,4BAA4B,wBAAwB,8SAA8S,2BAA2B,0XAA0X,E;;;;;;;;;;;;ACAnlK,+DAAe,wKAAwK,qCAAqC,iZAAiZ,2BAA2B,+EAA+E,oJAAoJ,4BAA4B,qPAAqP,8BAA8B,ydAAyd,oCAAoC,6WAA6W,mBAAmB,mEAAmE,+TAA+T,mBAAmB,mEAAmE,2SAA2S,uBAAuB,6NAA6N,uCAAuC,uWAAuW,mBAAmB,qFAAqF,oCAAoC,8BAA8B,GAAG,uCAAuC,+HAA+H,kCAAkC,+DAA+D,iCAAiC,2LAA2L,8BAA8B,GAAG,uCAAuC,mDAAmD,kCAAkC,mDAAmD,iCAAiC,gUAAgU,kFAAkF,yNAAyN,mCAAmC,iVAAiV,oQAAoQ,cAAc,2NAA2N,mCAAmC,iVAAiV,oQAAoQ,cAAc,qOAAqO,gCAAgC,mFAAmF,4IAA4I,ubAAub,mEAAmE,+NAA+N,mCAAmC,kcAAkc,ygBAAygB,6BAA6B,6SAA6S,4BAA4B,sSAAsS,8BAA8B,6UAA6U,8BAA8B,kSAAkS,4BAA4B,wBAAwB,4RAA4R,2BAA2B,wWAAwW,E;;;;;;;;;;;;ACApiV,+DAAe,wKAAwK,wCAAwC,iZAAiZ,2BAA2B,+EAA+E,oJAAoJ,4BAA4B,qPAAqP,8BAA8B,6cAA6c,uCAAuC,yZAAyZ,mBAAmB,8WAA8W,mBAAmB,8SAA8S,uBAAuB,8JAA8J,6BAA6B,6SAA6S,4BAA4B,sSAAsS,8BAA8B,6UAA6U,8BAA8B,kSAAkS,4BAA4B,wBAAwB,4RAA4R,2BAA2B,wWAAwW,E;;;;;;;;;;;;ACA36J,+DAAe,wKAAwK,uCAAuC,iZAAiZ,2BAA2B,+EAA+E,oJAAoJ,4BAA4B,qPAAqP,8BAA8B,6cAA6c,sCAAsC,yZAAyZ,mBAAmB,6WAA6W,mBAAmB,6SAA6S,uBAAuB,8JAA8J,6BAA6B,6SAA6S,4BAA4B,sSAAsS,8BAA8B,6UAA6U,8BAA8B,kSAAkS,4BAA4B,wBAAwB,4RAA4R,2BAA2B,wWAAwW,E;;;;;;;;;;;;ACAv6J,+DAAe,wKAAwK,wCAAwC,iZAAiZ,2BAA2B,+EAA+E,oJAAoJ,4BAA4B,qPAAqP,8BAA8B,2cAA2c,iDAAiD,gcAAgc,8BAA8B,GAAG,sCAAsC,oUAAoU,sBAAsB,2MAA2M,kDAAkD,wWAAwW,mBAAmB,2UAA2U,mBAAmB,8SAA8S,kBAAkB,iMAAiM,iDAAiD,qUAAqU,8BAA8B,GAAG,sCAAsC,2KAA2K,iBAAiB,wRAAwR,6BAA6B,6SAA6S,4BAA4B,sSAAsS,8BAA8B,6UAA6U,8BAA8B,kSAAkS,4BAA4B,wBAAwB,4RAA4R,2BAA2B,0WAA0W,E;;;;;;;;;;;;ACA92N,+DAAe,wKAAwK,uCAAuC,iZAAiZ,2BAA2B,+EAA+E,oJAAoJ,4BAA4B,qPAAqP,8BAA8B,6cAA6c,sCAAsC,yZAAyZ,mBAAmB,6WAA6W,mBAAmB,6SAA6S,kBAAkB,8JAA8J,6BAA6B,6SAA6S,4BAA4B,sSAAsS,8BAA8B,6UAA6U,8BAA8B,kSAAkS,4BAA4B,wBAAwB,4RAA4R,2BAA2B,wWAAwW,E;;;;;;;;;;;;ACAl6J,+DAAe,gLAAgL,wCAAwC,wPAAwP,uBAAuB,iLAAiL,2BAA2B,qXAAqX,8BAA8B,GAAG,wCAAwC,iEAAiE,iBAAiB,+NAA+N,uCAAuC,kSAAkS,kCAAkC,8BAA8B,8BAA8B,GAAG,uCAAuC,8IAA8I,eAAe,qCAAqC,aAAa,qEAAqE,OAAO,SAAS,sCAAsC,QAAQ,QAAQ,6QAA6Q,8BAA8B,mbAAmb,2BAA2B,qcAAqc,oFAAoF,WAAW,qDAAqD,2EAA2E,sCAAsC,gLAAgL,kCAAkC,qDAAqD,cAAc,sIAAsI,4BAA4B,qDAAqD,WAAW,4IAA4I,+BAA+B,qDAAqD,iBAAiB,wIAAwI,oCAAoC,qDAAqD,kCAAkC,4HAA4H,qCAAqC,mXAAmX,OAAO,6KAA6K,kXAAkX,gCAAgC,snBAAsnB,6BAA6B,8jBAA8jB,qfAAqf,2BAA2B,6HAA6H,E;;;;;;;;;;;;ACAlkP,+DAAe,qDAAqD,2DAA2D,MAAM,qCAAqC,2bAA2b,2BAA2B,kBAAkB,mBAAmB,wKAAwK,6BAA6B,GAAG,2BAA2B,GAAG,mBAAmB,6WAA6W,2BAA2B,kBAAkB,mBAAmB,wKAAwK,6BAA6B,GAAG,2BAA2B,GAAG,mBAAmB,kYAAkY,+BAA+B,2dAA2d,4BAA4B,yJAAyJ,6BAA6B,GAAG,4BAA4B,6UAA6U,kCAAkC,4JAA4J,6BAA6B,GAAG,kCAAkC,6UAA6U,qCAAqC,sIAAsI,8BAA8B,GAAG,qCAAqC,2IAA2I,qFAAqF,oBAAoB,sWAAsW,kCAAkC,sKAAsK,mEAAmE,iIAAiI,KAAK,sEAAsE,wYAAwY,0CAA0C,6KAA6K,6BAA6B,GAAG,kCAAkC,qbAAqb,sDAAsD,sIAAsI,8BAA8B,GAAG,sDAAsD,uKAAuK,gBAAgB,iSAAiS,qCAAqC,sIAAsI,8BAA8B,GAAG,qCAAqC,oKAAoK,oBAAoB,ojBAAojB,4BAA4B,oGAAoG,uBAAuB,2OAA2O,4BAA4B,8GAA8G,E;;;;;;;;;;;;ACAvpQ,+DAAe,8LAA8L,yCAAyC,gVAAgV,qDAAqD,4BAA4B,iEAAiE,sYAAsY,0CAA0C,4UAA4U,oBAAoB,ogBAAogB,oBAAoB,glBAAglB,qCAAqC,GAAG,mBAAmB,sLAAsL,6BAA6B,GAAG,qCAAqC,GAAG,mBAAmB,yYAAyY,qCAAqC,GAAG,mBAAmB,sLAAsL,6BAA6B,GAAG,qCAAqC,GAAG,mBAAmB,+fAA+f,2CAA2C,kBAAkB,mBAAmB,wKAAwK,6BAA6B,GAAG,2CAA2C,GAAG,mBAAmB,4YAA4Y,2CAA2C,GAAG,mBAAmB,sLAAsL,6BAA6B,GAAG,2CAA2C,GAAG,mBAAmB,uqBAAuqB,ubAAub,qBAAqB,oEAAoE,2DAA2D,iCAAiC,qDAAqD,4CAA4C,ylCAAylC,iCAAiC,qqBAAqqB,8NAA8N,8BAA8B,6NAA6N,+NAA+N,8BAA8B,wYAAwY,4BAA4B,8GAA8G,0NAA0N,4BAA4B,8GAA8G,E;;;;;;;;;;;;ACA54T,+DAAe,qDAAqD,sCAAsC,0eAA0e,0hBAA0hB,cAAc,oEAAoE,0hBAA0hB,gBAAgB,kLAAkL,iCAAiC,gjBAAgjB,4BAA4B,8SAA8S,4BAA4B,gHAAgH,E;;;;;;;;;;;;ACAn8F,+DAAe,2OAA2O,4CAA4C,2YAA2Y,E;;;;;;;;;;;;ACAjrB,+DAAe,uFAAuF,2CAA2C,WAAW,aAAa,mBAAmB,uCAAuC,0CAA0C,0DAA0D,mBAAmB,iBAAiB,YAAY,aAAa,wPAAwP,6BAA6B,2FAA2F,iBAAiB,oBAAoB,iSAAiS,+BAA+B,mFAAmF,mPAAmP,kDAAkD,2DAA2D,2SAA2S,mPAAmP,uBAAuB,2DAA2D,mPAAmP,qBAAqB,oFAAoF,iPAAiP,kDAAkD,2DAA2D,ySAAyS,iPAAiP,uBAAuB,2DAA2D,iPAAiP,qBAAqB,gCAAgC,E;;;;;;;;;;;;ACAxsH,+DAAe,uBAAuB,+BAA+B,+HAA+H,qCAAqC,0EAA0E,YAAY,+CAA+C,iBAAiB,sLAAsL,yBAAyB,GAAG,gCAAgC,qGAAqG,iBAAiB,kHAAkH,4HAA4H,0EAA0E,YAAY,+CAA+C,iBAAiB,wLAAwL,yBAAyB,GAAG,gCAAgC,iGAAiG,iBAAiB,8GAA8G,mCAAmC,0EAA0E,YAAY,+CAA+C,iBAAiB,kLAAkL,yBAAyB,GAAG,gCAAgC,mGAAmG,iBAAiB,0NAA0N,YAAY,uGAAuG,mCAAmC,mBAAmB,YAAY,KAAK,uBAAuB,8EAA8E,2BAA2B,GAAG,iCAAiC,4BAA4B,YAAY,KAAK,aAAa,cAAc,yBAAyB,GAAG,iCAAiC,mBAAmB,YAAY,KAAK,WAAW,kCAAkC,kCAAkC,mBAAmB,YAAY,MAAM,OAAO,IAAI,WAAW,YAAY,qCAAqC,mBAAmB,YAAY,KAAK,WAAW,YAAY,mCAAmC,mBAAmB,YAAY,KAAK,SAAS,yDAAyD,YAAY,uHAAuH,qCAAqC,wEAAwE,YAAY,iDAAiD,iBAAiB,yFAAyF,yGAAyG,wEAAwE,YAAY,iDAAiD,iBAAiB,sFAAsF,mCAAmC,wEAAwE,YAAY,iDAAiD,iBAAiB,gHAAgH,YAAY,2GAA2G,mCAAmC,mBAAmB,YAAY,KAAK,uBAAuB,wFAAwF,2BAA2B,GAAG,iCAAiC,mBAAmB,YAAY,KAAK,aAAa,gBAAgB,yBAAyB,GAAG,iCAAiC,mBAAmB,YAAY,KAAK,WAAW,uCAAuC,kCAAkC,mBAAmB,YAAY,MAAM,OAAO,IAAI,WAAW,cAAc,qCAAqC,mBAAmB,YAAY,KAAK,WAAW,cAAc,mCAAmC,mBAAmB,YAAY,KAAK,SAAS,2NAA2N,8BAA8B,GAAG,iCAAiC,uDAAuD,E;;;;;;;;;;;;ACAh4K,+DAAe,4BAA4B,oBAAoB,6GAA6G,mCAAmC,mBAAmB,oBAAoB,KAAK,+BAA+B,gGAAgG,2BAA2B,GAAG,iCAAiC,oCAAoC,oBAAoB,KAAK,qBAAqB,oBAAoB,yBAAyB,GAAG,iCAAiC,mBAAmB,oBAAoB,KAAK,mBAAmB,uDAAuD,kCAAkC,mBAAmB,oBAAoB,MAAM,eAAe,IAAI,mBAAmB,gBAAgB,qCAAqC,mBAAmB,oBAAoB,KAAK,mBAAmB,gBAAgB,mCAAmC,mBAAmB,oBAAoB,KAAK,iBAAiB,0BAA0B,E;;;;;;;;;;;;ACArkC,+DAAe,qFAAqF,0CAA0C,oBAAoB,UAAU,WAAW,oBAAoB,aAAa,KAAK,0CAA0C,iDAAiD,oBAAoB,aAAa,aAAa,oBAAoB,YAAY,KAAK,6BAA6B,2CAA2C,oBAAoB,WAAW,aAAa,+CAA+C,oBAAoB,WAAW,gBAAgB,oBAAoB,WAAW,MAAM,kDAAkD,qDAAqD,YAAY,WAAW,oBAAoB,YAAY,kDAAkD,aAAa,WAAW,oBAAoB,YAAY,KAAK,0CAA0C,4CAA4C,aAAa,WAAW,oBAAoB,YAAY,KAAK,8BAA8B,4CAA4C,cAAc,WAAW,oBAAoB,YAAY,MAAM,uBAAuB,6CAA6C,cAAc,WAAW,oBAAoB,YAAY,MAAM,qBAAqB,6CAA6C,cAAc,WAAW,oBAAoB,YAAY,MAAM,kDAAkD,+CAA+C,YAAY,WAAW,oBAAoB,YAAY,qDAAqD,aAAa,WAAW,oBAAoB,YAAY,qDAAqD,aAAa,WAAW,oBAAoB,YAAY,qDAAqD,cAAc,WAAW,oBAAoB,YAAY,qDAAqD,cAAc,WAAW,oBAAoB,YAAY,qDAAqD,cAAc,WAAW,oBAAoB,YAAY,uDAAuD,YAAY,WAAW,oBAAoB,YAAY,qDAAqD,aAAa,WAAW,oBAAoB,YAAY,qDAAqD,aAAa,WAAW,oBAAoB,YAAY,qDAAqD,cAAc,WAAW,oBAAoB,YAAY,qDAAqD,cAAc,WAAW,oBAAoB,YAAY,qDAAqD,cAAc,WAAW,oBAAoB,YAAY,wBAAwB,E;;;;;;;;;;;;ACArxF,+DAAe,yDAAyD,wEAAwE,0GAA0G,gBAAgB,kBAAkB,0CAA0C,4TAA4T,+CAA+C,6IAA6I,8BAA8B,GAAG,oCAAoC,gMAAgM,WAAW,kbAAkb,yDAAyD,6IAA6I,8BAA8B,GAAG,8CAA8C,8HAA8H,iCAAiC,yDAAyD,iCAAiC,wbAAwb,2DAA2D,sMAAsM,6BAA6B,GAAG,oCAAoC,6VAA6V,mDAAmD,oMAAoM,6BAA6B,GAAG,wCAAwC,4VAA4V,sDAAsD,6IAA6I,8BAA8B,GAAG,2CAA2C,uLAAuL,gBAAgB,gdAAgd,6BAA6B,uKAAuK,6BAA6B,GAAG,6BAA6B,4uBAA4uB,iCAAiC,oLAAoL,2DAA2D,gUAAgU,8BAA8B,wEAAwE,E;;;;;;;;;;;;ACA50M,+DAAe,8KAA8K,gGAAgG,2XAA2X,mCAAmC,4OAA4O,yCAAyC,2EAA2E,qCAAqC,ygBAAygB,kCAAkC,8BAA8B,8BAA8B,GAAG,uCAAuC,8IAA8I,eAAe,mCAAmC,aAAa,kDAAkD,OAAO,SAAS,qDAAqD,QAAQ,QAAQ,yVAAyV,sCAAsC,mJAAmJ,0BAA0B,uDAAuD,gCAAgC,wDAAwD,kCAAkC,kYAAkY,kCAAkC,8BAA8B,8BAA8B,GAAG,uCAAuC,8IAA8I,eAAe,mCAAmC,aAAa,kDAAkD,OAAO,SAAS,qDAAqD,QAAQ,QAAQ,0jBAA0jB,2BAA2B,GAAG,6BAA6B,2DAA2D,oBAAoB,0DAA0D,4BAA4B,8HAA8H,yBAAyB,GAAG,6BAA6B,2DAA2D,kDAAkD,iOAAiO,gCAAgC,kJAAkJ,iFAAiF,wCAAwC,2DAA2D,0DAA0D,6DAA6D,4KAA4K,kCAAkC,kJAAkJ,oFAAoF,wCAAwC,2DAA2D,0DAA0D,8DAA8D,+IAA+I,kFAAkF,2DAA2D,oEAAoE,qEAAqE,oDAAoD,+FAA+F,gEAAgE,2BAA2B,mLAAmL,4IAA4I,8CAA8C,wEAAwE,E;;;;;;;;;;;;ACAnjO,+DAAe,wKAAwK,uCAAuC,2XAA2X,mCAAmC,4OAA4O,yCAAyC,2EAA2E,qCAAqC,8eAA8e,kCAAkC,8BAA8B,8BAA8B,GAAG,uCAAuC,8IAA8I,eAAe,mCAAmC,aAAa,mEAAmE,OAAO,SAAS,sCAAsC,QAAQ,QAAQ,+QAA+Q,8BAA8B,2kBAA2kB,mCAAmC,8NAA8N,yCAAyC,uHAAuH,qCAAqC,sbAAsb,kCAAkC,8BAA8B,8BAA8B,GAAG,uCAAuC,8IAA8I,eAAe,mCAAmC,aAAa,mEAAmE,OAAO,SAAS,sCAAsC,QAAQ,QAAQ,iRAAiR,8BAA8B,+YAA+Y,kBAAkB,4RAA4R,uCAAuC,wfAAwf,mBAAmB,mKAAmK,kCAAkC,sYAAsY,wBAAwB,mKAAmK,oCAAoC,sYAAsY,0BAA0B,+JAA+J,gCAAgC,sYAAsY,sBAAsB,gKAAgK,kCAAkC,sYAAsY,wBAAwB,wKAAwK,2CAA2C,sYAAsY,gCAAgC,wKAAwK,mCAAmC,sYAAsY,+BAA+B,mkBAAmkB,2BAA2B,uHAAuH,E;;;;;;;;;;;;ACAhgU,+DAAe,qDAAqD,kCAAkC,qRAAqR,2BAA2B,cAAc,iCAAiC,kJAAkJ,8BAA8B,GAAG,iCAAiC,mHAAmH,iBAAiB,4IAA4I,UAAU,iSAAiS,yBAAyB,cAAc,iCAAiC,kJAAkJ,8BAA8B,GAAG,iCAAiC,oIAAoI,iBAAiB,uHAAuH,gBAAgB,4QAA4Q,8BAA8B,GAAG,iCAAiC,oCAAoC,iBAAiB,4ZAA4Z,oCAAoC,6IAA6I,8BAA8B,GAAG,oCAAoC,uGAAuG,iBAAiB,qGAAqG,8BAA8B,GAAG,oCAAoC,6FAA6F,WAAW,4RAA4R,+BAA+B,kJAAkJ,8BAA8B,GAAG,+BAA+B,4FAA4F,8BAA8B,GAAG,oCAAoC,iNAAiN,gCAAgC,+BAA+B,kNAAkN,8CAA8C,6KAA6K,iBAAiB,6MAA6M,8CAA8C,qKAAqK,8BAA8B,GAAG,+BAA+B,mJAAmJ,gCAAgC,uHAAuH,UAAU,KAAK,UAAU,qLAAqL,iCAAiC,0HAA0H,WAAW,sOAAsO,4CAA4C,IAAI,yCAAyC,kBAAkB,kBAAkB,ixBAAixB,gCAAgC,0RAA0R,8BAA8B,wEAAwE,E;;;;;;;;;;;;ACAzrO,+DAAe,wKAAwK,sCAAsC,6fAA6f,sCAAsC,2bAA2b,mCAAmC,8QAA8Q,yCAAyC,wHAAwH,qCAAqC,sTAAsT,8BAA8B,qoBAAqoB,sCAAsC,8eAA8e,mCAAmC,8NAA8N,yCAAyC,yEAAyE,qCAAqC,qFAAqF,uNAAuN,8BAA8B,GAAG,oCAAoC,6HAA6H,WAAW,yVAAyV,8BAA8B,gfAAgf,qCAAqC,qPAAqP,mCAAmC,mPAAmP,oCAAoC,4GAA4G,0BAA0B,yGAAyG,UAAU,uMAAuM,0CAA0C,+GAA+G,0BAA0B,+GAA+G,UAAU,2MAA2M,2BAA2B,GAAG,4BAA4B,0YAA0Y,yBAAyB,GAAG,4BAA4B,ggBAAggB,8BAA8B,GAAG,uCAAuC,uLAAuL,eAAe,mCAAmC,aAAa,mEAAmE,OAAO,SAAS,sCAAsC,QAAQ,QAAQ,ucAAuc,8BAA8B,sWAAsW,8BAA8B,uWAAuW,2BAA2B,qDAAqD,0CAA0C,iJAAiJ,2BAA2B,YAAY,iCAAiC,qkBAAqkB,uMAAuM,0LAA0L,yBAAyB,YAAY,iCAAiC,+jBAA+jB,yMAAyM,oLAAoL,2BAA2B,YAAY,6BAA6B,oDAAoD,eAAe,uIAAuI,yBAAyB,YAAY,6BAA6B,oDAAoD,aAAa,+HAA+H,kCAAkC,4DAA4D,iCAAiC,+IAA+I,0CAA0C,oDAAoD,wDAAwD,yIAAyI,oCAAoC,oDAAoD,sBAAsB,sHAAsH,6BAA6B,geAAge,2BAA2B,4RAA4R,E;;;;;;;;;;;;ACAr6a,+DAAe,wKAAwK,uCAAuC,iZAAiZ,mCAAmC,8NAA8N,yCAAyC,yEAAyE,qCAAqC,0OAA0O,oCAAoC,qGAAqG,0BAA0B,2FAA2F,WAAW,+PAA+P,8BAA8B,2ZAA2Z,2BAA2B,oDAAoD,0CAA0C,iJAAiJ,2BAA2B,GAAG,0CAA0C,qDAAqD,uBAAuB,gJAAgJ,yBAAyB,GAAG,0CAA0C,8DAA8D,sFAAsF,gIAAgI,kCAAkC,qDAAqD,mCAAmC,uHAAuH,6BAA6B,qDAAqD,+BAA+B,0IAA0I,oCAAoC,oDAAoD,sBAAsB,qHAAqH,+BAA+B,oDAAoD,eAAe,KAAK,aAAa,IAAI,iCAAiC,kJAAkJ,6CAA6C,4EAA4E,kDAAkD,iBAAiB,4DAA4D,8IAA8I,6BAA6B,kWAAkW,+BAA+B,mRAAmR,8BAA8B,gWAAgW,2BAA2B,uHAAuH,E;;;;;;;;;;;;ACA3nL,+DAAe,yDAAyD,+FAA+F,8SAA8S,oCAAoC,6IAA6I,8BAA8B,GAAG,oCAAoC,mRAAmR,8BAA8B,GAAG,oCAAoC,8FAA8F,WAAW,4RAA4R,+BAA+B,8LAA8L,8BAA8B,GAAG,oCAAoC,iNAAiN,iCAAiC,+BAA+B,kNAAkN,8CAA8C,qXAAqX,8BAA8B,GAAG,+BAA+B,sYAAsY,gCAAgC,uHAAuH,UAAU,KAAK,UAAU,qLAAqL,iCAAiC,0HAA0H,WAAW,sOAAsO,4CAA4C,GAAG,yCAAyC,kBAAkB,kBAAkB,gUAAgU,6CAA6C,6IAA6I,8BAA8B,GAAG,6CAA6C,ySAAyS,gBAAgB,obAAob,6BAA6B,+KAA+K,6BAA6B,GAAG,6BAA6B,8HAA8H,6BAA6B,GAAG,6BAA6B,i4BAAi4B,2GAA2G,0RAA0R,8BAA8B,wEAAwE,E;;;;;;;;;;;;ACAx+N,+DAAe,kMAAkM,+DAA+D,YAAY,2CAA2C,6VAA6V,yCAAyC,mMAAmM,6BAA6B,GAAG,yCAAyC,saAAsa,2CAA2C,2LAA2L,6BAA6B,GAAG,2CAA2C,ixBAAixB,wCAAwC,iMAAiM,6BAA6B,GAAG,wCAAwC,iaAAia,sCAAsC,2KAA2K,8BAA8B,GAAG,sCAAsC,gNAAgN,UAAU,whBAAwhB,iCAAiC,gLAAgL,8BAA8B,GAAG,iCAAiC,sQAAsQ,iBAAiB,sUAAsU,8BAA8B,GAAG,iCAAiC,8iBAA8iB,sCAAsC,gLAAgL,8BAA8B,GAAG,sCAAsC,4MAA4M,UAAU,uUAAuU,8BAA8B,GAAG,sCAAsC,igBAAigB,uCAAuC,2KAA2K,8BAA8B,GAAG,uCAAuC,8MAA8M,UAAU,qfAAqf,mCAAmC,iTAAiT,gBAAgB,mMAAmM,6BAA6B,GAAG,mCAAmC,iPAAiP,MAAM,4bAA4b,kCAAkC,mMAAmM,6BAA6B,GAAG,kCAAkC,sZAAsZ,+BAA+B,oMAAoM,6BAA6B,GAAG,+BAA+B,oZAAoZ,8BAA8B,sMAAsM,6BAA6B,GAAG,8BAA8B,0zBAA0zB,4BAA4B,mbAAmb,4BAA4B,wJAAwJ,E;;;;;;;;;;;;ACAr1Y,+DAAe,wKAAwK,kCAAkC,UAAU,2CAA2C,IAAI,wBAAwB,2PAA2P,oCAAoC,qDAAqD,wCAAwC,6KAA6K,kCAAkC,qDAAqD,eAAe,wKAAwK,sCAAsC,qDAAqD,UAAU,yKAAyK,6BAA6B,iGAAiG,+BAA+B,mCAAmC,UAAU,yRAAyR,2BAA2B,qEAAqE,2GAA2G,mCAAmC,6BAA6B,E;;;;;;;;;;;;ACA7lE,+DAAe,iKAAiK,kCAAkC,ijBAAijB,sCAAsC,8iBAA8iB,8BAA8B,skBAAskB,yCAAyC,sRAAsR,+CAA+C,6cAA6c,2CAA2C,qdAAqd,kCAAkC,2RAA2R,uCAAuC,gIAAgI,0BAA0B,0RAA0R,uCAAuC,kNAAkN,8BAA8B,GAAG,uCAAuC,uNAAuN,eAAe,uHAAuH,OAAO,SAAS,sCAAsC,QAAQ,QAAQ,6QAA6Q,wCAAwC,kRAAkR,sCAAsC,kIAAkI,0BAA0B,8IAA8I,UAAU,+QAA+Q,kCAAkC,0RAA0R,sCAAsC,oIAAoI,0BAA0B,gJAAgJ,oCAAoC,+QAA+Q,uCAAuC,qIAAqI,0BAA0B,mHAAmH,UAAU,qPAAqP,2CAA2C,qIAAqI,0BAA0B,8GAA8G,UAAU,iiBAAiiB,8BAA8B,8aAA8a,8BAA8B,kaAAka,2BAA2B,wEAAwE,0CAA0C,wJAAwJ,kCAAkC,2DAA2D,eAAe,0KAA0K,kCAAkC,wEAAwE,gBAAgB,sKAAsK,wCAAwC,wEAAwE,YAAY,yKAAyK,sCAAsC,wEAAwE,sBAAsB,sKAAsK,oCAAoC,wEAAwE,iCAAiC,yJAAyJ,sCAAsC,4EAA4E,0FAA0F,0JAA0J,2CAA2C,0DAA0D,0EAA0E,kJAAkJ,8BAA8B,0DAA0D,UAAU,iJAAiJ,2BAA2B,gIAAgI,E;;;;;;;;;;;;ACAj5X,+DAAe,iKAAiK,4CAA4C,upBAAupB,2BAA2B,6bAA6b,sCAAsC,6hBAA6hB,mCAAmC,oWAAoW,yCAAyC,wJAAwJ,qCAAqC,wTAAwT,8BAA8B,GAAG,uCAAuC,8PAA8P,0BAA0B,wGAAwG,UAAU,wWAAwW,8BAA8B,GAAG,0CAA0C,4NAA4N,0BAA0B,mGAAmG,UAAU,qZAAqZ,8BAA8B,skBAAskB,yCAAyC,sRAAsR,2BAA2B,GAAG,4BAA4B,sdAAsd,yBAAyB,GAAG,4BAA4B,udAAud,kCAAkC,sUAAsU,uCAAuC,gIAAgI,0BAA0B,0RAA0R,uCAAuC,kNAAkN,8BAA8B,GAAG,uCAAuC,uNAAuN,eAAe,uHAAuH,OAAO,SAAS,sCAAsC,QAAQ,QAAQ,6QAA6Q,wCAAwC,kRAAkR,sCAAsC,gJAAgJ,0BAA0B,kJAAkJ,UAAU,+QAA+Q,kCAAkC,0RAA0R,2CAA2C,kMAAkM,0BAA0B,uJAAuJ,UAAU,+QAA+Q,sCAAsC,kJAAkJ,0BAA0B,oJAAoJ,qIAAqI,+QAA+Q,0CAA0C,sLAAsL,0BAA0B,kHAAkH,UAAU,+QAA+Q,+CAA+C,+HAA+H,0BAA0B,kHAAkH,UAAU,+QAA+Q,uCAAuC,qIAAqI,0BAA0B,mHAAmH,UAAU,ugBAAugB,8BAA8B,8aAA8a,8BAA8B,oZAAoZ,yCAAyC,2DAA2D,gBAAgB,4KAA4K,+CAA+C,wEAAwE,iCAAiC,gLAAgL,2CAA2C,wEAAwE,sCAAsC,0KAA0K,kCAAkC,wEAAwE,gBAAgB,6KAA6K,uCAAuC,wEAAwE,gDAAgD,sKAAsK,wCAAwC,wEAAwE,YAAY,yKAAyK,sCAAsC,wEAAwE,sBAAsB,4JAA4J,kCAAkC,0DAA0D,kDAAkD,qJAAqJ,2CAA2C,4EAA4E,2BAA2B,uKAAuK,sCAAsC,4EAA4E,mDAAmD,wKAAwK,uCAAuC,4EAA4E,oDAAoD,wJAAwJ,2CAA2C,4EAA4E,oDAAoD,iJAAiJ,6BAA6B,2HAA2H,QAAQ,aAAa,4BAA4B,8PAA8P,QAAQ,kCAAkC,kCAAkC,uOAAuO,yDAAyD,qCAAqC,gDAAgD,6RAA6R,QAAQ,aAAa,qCAAqC,wNAAwN,QAAQ,aAAa,4BAA4B,4QAA4Q,QAAQ,kCAAkC,6BAA6B,mWAAmW,QAAQ,aAAa,8BAA8B,uWAAuW,8BAA8B,whBAAwhB,2EAA2E,GAAG,8BAA8B,sCAAsC,wDAAwD,6DAA6D,gEAAgE,mNAAmN,2BAA2B,2HAA2H,E;;;;;;;;;;;;ACAtoqB,+DAAe,qDAAqD,qCAAqC,MAAM,2CAA2C,yZAAyZ,wCAAwC,IAAI,YAAY,iMAAiM,kCAAkC,IAAI,gBAAgB,wLAAwL,yCAAyC,IAAI,gBAAgB,uMAAuM,sCAAsC,iBAAiB,0FAA0F,qNAAqN,0CAA0C,uJAAuJ,0CAA0C,oNAAoN,eAAe,ubAAub,+CAA+C,uJAAuJ,+CAA+C,sNAAsN,eAAe,sgBAAsgB,iCAAiC,+OAA+O,6BAA6B,GAAG,iCAAiC,4YAA4Y,oCAAoC,6QAA6Q,gBAAgB,mKAAmK,6BAA6B,GAAG,oCAAoC,mjBAAmjB,0CAA0C,0JAA0J,0CAA0C,2bAA2b,0CAA0C,0JAA0J,0CAA0C,+bAA+b,8BAA8B,idAAid,yIAAyI,kCAAkC,0KAA0K,sCAAsC,irBAAirB,4HAA4H,2IAA2I,8BAA8B,gpCAAgpC,2BAA2B,GAAG,iCAAiC,0dAA0d,4BAA4B,kVAAkV,4BAA4B,8GAA8G,E;;;;;;;;;;;;ACAxlV,+DAAe,wNAAwN,4BAA4B,gBAAgB,2CAA2C,gTAAgT,QAAQ,wIAAwI,qCAAqC,kPAAkP,wCAAwC,IAAI,YAAY,8KAA8K,sCAAsC,IAAI,8CAA8C,yKAAyK,yCAAyC,IAAI,gBAAgB,mLAAmL,+CAA+C,IAAI,iCAAiC,sLAAsL,2CAA2C,IAAI,sCAAsC,wLAAwL,sCAAsC,iBAAiB,0FAA0F,oNAAoN,kCAAkC,IAAI,gBAAgB,yKAAyK,8BAA8B,IAAI,gDAAgD,wLAAwL,+BAA+B,KAAK,2CAA2C,gbAAgb,uCAAuC,oJAAoJ,uHAAuH,eAAe,mBAAmB,wNAAwN,kCAAkC,IAAI,eAAe,yDAAyD,UAAU,6KAA6K,eAAe,6VAA6V,UAAU,6KAA6K,E;;;;;;;;;;;;ACAp8J,+DAAe,sEAAsE,4FAA4F,MAAM,oCAAoC,E;;;;;;;;;;;;ACA3N,+DAAe,wEAAwE,E;;;;;;;;;;;;ACAvF,+DAAe,wIAAwI,uBAAuB,+TAA+T,YAAY,eAAe,oDAAoD,2BAA2B,gBAAgB,qBAAqB,YAAY,yEAAyE,eAAe,sCAAsC,eAAe,2BAA2B,eAAe,sCAAsC,eAAe,mCAAmC,E;;;;;;;;;;;;ACAv5B,+DAAe,EAAE,E;;;;;;;;;;;;ACAjB,+DAAe,iJAAiJ,4BAA4B,GAAG,0BAA0B,8JAA8J,qHAAqH,qCAAqC,MAAM,sDAAsD,2BAA2B,iBAAiB,4DAA4D,yFAAyF,0BAA0B,gDAAgD,gCAAgC,4FAA4F,+BAA+B,iSAAiS,sCAAsC,qJAAqJ,8BAA8B,GAAG,sCAAsC,2DAA2D,uDAAuD,0DAA0D,uDAAuD,mJAAmJ,8BAA8B,GAAG,sCAAsC,sIAAsI,gDAAgD,oEAAoE,kDAAkD,2VAA2V,+BAA+B,kTAAkT,gCAAgC,4IAA4I,qDAAqD,mMAAmM,sCAAsC,4PAA4P,sBAAsB,4BAA4B,woBAAwoB,8DAA8D,6KAA6K,mEAAmE,ujCAAujC,6CAA6C,uFAAuF,qBAAqB,KAAK,6CAA6C,+BAA+B,E;;;;;;;;;;;;ACA13L,+DAAe,oVAAoV,E;;;;;;;;;;;;ACAnW,+DAAe,2RAA2R,wCAAwC,8DAA8D,E;;;;;;;;;;;;ACAhZ,+DAAe,iGAAiG,+BAA+B,uBAAuB,GAAG,sDAAsD,2BAA2B,mBAAmB,qBAAqB,sBAAsB,E;;;;;;;;;;ACAxT,e;;;;;;;;;;ACAA,e;;;;;;;;;;ACAA,e","file":"main-es2020.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","import { Component, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-confirmation-dialog',\r\n template: `\r\n

Confirmation

\r\n
{{ data.message }}
\r\n
\r\n \r\n \r\n
\r\n `\r\n})\r\nexport class ConfirmationDialogComponent {\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {}\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close('no');\r\n }\r\n\r\n onYesClick(): void {\r\n this.dialogRef.close('yes');\r\n }\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-image-dialog',\r\n template: `\r\n

Image Preview

\r\n
\r\n \"Image\"\r\n
\r\n
\r\n \r\n
\r\n `,\r\n styles: [`\r\n .full-image {\r\n width: 100%;\r\n height: auto;\r\n }\r\n `]\r\n})\r\nexport class ImageDialogComponent {\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {}\r\n\r\n onClose(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TableService {\n private apiUrl = 'https://gomrok-api.macidp.org/api/Documents'; // Replace with your actual API endpoint\n private apiUrl2 = 'https://gomrok-api.macidp.org/api/Upload';\n\n constructor(private http: HttpClient) { }\n\n getData(): Observable {\n return this.http.get(this.apiUrl).pipe(\n map(response => response.$values) // Adjust this based on the actual response structure\n );\n }\n\n generateNweeba(id: string): Observable {\n return this.http.get(`https://gomrok-api.macidp.org/api/Nweeba/generate/${id}`, { responseType: 'blob' });\n }\n\n generateImage(id: string): Observable {\n return this.http.get(`https://gomrok-api.macidp.org/api/Image/generate/${id}`, { responseType: 'blob' });\n }\n checkFiles(tripTikDocumentId: string): Observable<{ exists: boolean, files?: string[] }> {\n return this.http.get<{ exists: boolean, files?: string[] }>(`${this.apiUrl2}/check?tripTikDocumentId=${tripTikDocumentId}`);\n }\n \n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { TableService } from '../table.service';\nimport { UploadDialogComponent } from '../upload-dialog/upload-dialog.component';\nimport { ConfirmationDialogComponent } from '../confirmation-dialog/confirmation-dialog.component';\nimport { ViewFilesDialogComponent } from '../view-files-dialog/view-files-dialog.component';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { LoadingService , LoaderType} from 'src/app/shared/services/loading';\n\n@Component({\n selector: 'app-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss']\n})\nexport class TableComponent implements OnInit {\n displayedColumns: string[] = ['serial', 'name', 'plateID', 'passportID', 'issued', 'expiryDate', 'actions'];\n dataSource: MatTableDataSource;\n form: FormGroup;\n editingRowId: string = null;\n langIndex: number = 0;\n \n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n get Role() { return Role; };\n\n constructor(private fb: FormBuilder, private tableService: TableService, private dialog: MatDialog,public auth: AuthService, private translate: TranslateService ,private loader: LoadingService ) { }\n\n ngOnInit() {\n this.langIndex = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.langIndex = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n /* if (!this.auth.currentUser.isInRole(Role.LOOKUPS_UPDATE)\n && !this.auth.currentUser.isInRole(Role.LOOKUPS_DELETE)) \n this.displayedColumns.splice(this.displayedColumns.length - 1, 1);*/\n\n this.loader.load(LoaderType.Nav);\n this.formInit();\n console.log('TableComponent initialized');\n this.loadData();\n this.loader.load(LoaderType.Nav, false);\n }\n\n loadData() {\n this.tableService.getData().subscribe(data => {\n this.dataSource = new MatTableDataSource(data);\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n });\n }\n\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.dataSource.filter = filterValue.trim().toLowerCase();\n\n if (this.dataSource.paginator) {\n this.dataSource.paginator.firstPage();\n }\n }\n\n print1(id: string): void {\n this.tableService.generateNweeba(id).subscribe(response => {\n this.printImage(response, `Nweeba_${id}`);\n });\n }\n \n print2(id: string): void {\n this.tableService.generateImage(id).subscribe(response => {\n this.printImage(response, `Image_${id}`);\n });\n }\n \n printImage(imageData: Blob, imageName: string): void {\n const url = URL.createObjectURL(imageData);\n const img = new Image();\n img.src = url;\n img.onload = () => {\n const w = window.open('');\n w.document.write(`\n \n \n ${imageName}\n \n \n \n \n \n \n `);\n w.document.close();\n };\n }\n private downloadFile(data: Blob, type: string, filename: string): void {\n const blob = new Blob([data], { type: type });\n const url = window.URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = filename;\n a.click();\n window.URL.revokeObjectURL(url);\n }\n\n openUploadDialog(tripTikDocumentId: string): void {\n this.tableService.checkFiles(tripTikDocumentId).subscribe(response => {\n if (response.exists) {\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\n width: '300px',\n data: { message: 'هناك ملفات تخص هذا التريبتك مرفوعة من قبل هل تود الاستمرار فى رفع ملفات جديدة ؟ ام تريد رؤية الملفات المرفوعة مسبقا ؟' }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result === 'yes') {\n this.dialog.open(UploadDialogComponent, {\n width: '400px',\n data: { tripTikDocumentId }\n });\n } else {\n this.dialog.open(ViewFilesDialogComponent, {\n width: '500px',\n data: { tripTikDocumentId, files: response.files }\n });\n }\n });\n } else {\n this.dialog.open(UploadDialogComponent, {\n width: '400px',\n data: { tripTikDocumentId }\n });\n }\n });\n }\n\n openViewFilesDialog(tripTikDocumentId: string): void {\n this.tableService.checkFiles(tripTikDocumentId).subscribe(response => {\n if (response.exists) {\n this.dialog.open(ViewFilesDialogComponent, {\n width: '500px',\n data: { tripTikDocumentId, files: response.files }\n });\n } else {\n // Handle case where no files exist\n }\n });\n }\n\n private formInit() {\n this.form = this.fb.group({\n id: [''],\n serial: [''],\n created: [''],\n createdBy: ['']\n });\n }\n}\n","import { Component, Inject } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { UploadService } from '../upload.service';\r\n\r\n@Component({\r\n selector: 'app-upload-dialog',\r\n templateUrl: './upload-dialog.component.html',\r\n styleUrls: ['./upload-dialog.component.scss']\r\n})\r\nexport class UploadDialogComponent {\r\n form: FormGroup;\r\n files: File[] = [];\r\n tripTikDocumentId: string;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private uploadService: UploadService,\r\n public dialogRef: MatDialogRef,\r\n private snackBar: MatSnackBar,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {\r\n this.tripTikDocumentId = data.tripTikDocumentId;\r\n console.log('Received tripTikDocumentId:', this.tripTikDocumentId); // Debugging line\r\n this.form = this.fb.group({\r\n files: ['']\r\n });\r\n }\r\n\r\n onFileDropped($event) {\r\n this.prepareFilesList($event);\r\n }\r\n\r\n fileBrowseHandler(files) {\r\n this.prepareFilesList(files);\r\n }\r\n\r\n prepareFilesList(files: Array) {\r\n for (const item of files) {\r\n this.files.push(item);\r\n }\r\n }\r\n\r\n uploadFiles() {\r\n this.uploadService.uploadFiles(this.files, this.tripTikDocumentId).subscribe(response => {\r\n this.snackBar.open('Files uploaded successfully', 'Close', {\r\n duration: 3000,\r\n });\r\n this.dialogRef.close('uploaded');\r\n }, error => {\r\n console.error(error);\r\n this.snackBar.open('Failed to upload files', 'Close', {\r\n duration: 3000,\r\n });\r\n });\r\n }\r\n\r\n removeFile(index: number) {\r\n this.files.splice(index, 1);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UploadService {\r\n private apiUrl = 'https://gomrok-api.macidp.org/api/Upload';\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n uploadFiles(files: File[], tripTikDocumentId: string) {\r\n const formData = new FormData();\r\n files.forEach(file => {\r\n formData.append('files', file, file.name);\r\n });\r\n\r\n return this.http.post(`${this.apiUrl}?tripTikDocumentId=${tripTikDocumentId}`, formData);\r\n }\r\n\r\n checkFiles(tripTikDocumentId: string) {\r\n return this.http.get<{ Exists: boolean, Files?: string[] }>(`${this.apiUrl}/check?tripTikDocumentId=${tripTikDocumentId}`);\r\n }\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\r\nimport { ImageDialogComponent } from '../image-dialog/image-dialog.component';\r\n\r\n@Component({\r\n selector: 'app-view-files-dialog',\r\n templateUrl: './view-files-dialog.component.html',\r\n styleUrls: ['./view-files-dialog.component.scss']\r\n})\r\nexport class ViewFilesDialogComponent {\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialog: MatDialog\r\n ) {}\r\n\r\n generateDownloadLink(filePath: string): string {\r\n const fileName = filePath.split('\\\\').pop();\r\n return `https://gomrok-api.macidp.org/api/Upload/download?tripTikDocumentId=${this.data.tripTikDocumentId}&fileName=${encodeURIComponent(fileName)}`;\r\n }\r\n\r\n openImageDialog(file: string): void {\r\n const imageSrc = this.generateDownloadLink(file);\r\n this.dialog.open(ImageDialogComponent, {\r\n data: { imageSrc }\r\n });\r\n }\r\n\r\n onClose(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nimport { Role } from 'src/app/core/models/enums/role';\nimport { AuthGuardService as AuthGuard } from './core/auth/auth-guard.service';\n\nimport { AccountUsersComponent } from './features/security/containers/account-users/account-users.component';\nimport { VehicleColorsComponent } from './features/lookups/containers/vehicle-colors/vehicle-colors.component';\nimport { StockTypesComponent } from './features/lookups/containers/stock-types/stock-types.component';\nimport { AccountTypesComponent } from './features/lookups/containers/account-types/account-types.component';\nimport { AccountStatusesComponent } from './features/lookups/containers/account-statuses/account-statuses.component';\nimport { CitiesComponent } from './features/lookups/containers/cities/cities.component';\nimport { UsersGroupsComponent } from './features/security/containers/users-groups/users-groups.component';\nimport { SecurityGroupsComponent } from './features/security/containers/security-groups/security-groups.component';\nimport { PopulateComponent } from './features/stock/containers/populate/populate.component';\nimport { StocksAvailableComponent } from './features/stock/containers/stocks-available/stocks-available.component';\nimport { StocksTotalsComponent } from './features/stock/containers/stocks-totals/stocks-totals.component';\nimport { LoginComponent } from './core/components/login/login.component';\nimport { MainComponent } from './core/components/main/main.component';\nimport { CountriesComponent } from './features/lookups/containers/countries/countries.component';\nimport { AccountsComponent } from './features/accounts/containers/accounts/accounts.component';\nimport { TransactionsComponent } from './features/stock/containers/transactions/transactions.component';\nimport { TransactComponent } from './features/stock/containers/transact/transact.component';\nimport { UndoTryComponent } from './features/stock/containers/undo-try/undo-try.component';\nimport { UndoRequestsComponent } from './features/stock/containers/undo-requests/undo-requests.component';\nimport { VehicleMakesComponent } from './features/lookups/containers/vehicle-makes/vehicle-makes.component';\nimport { ManageAccountComponent } from './features/accounts/containers/manage-account/manage-account.component';\nimport { UserProfileComponent } from './features/accounts/containers/user-profile/user-profile.component';\nimport { NotFoundComponent } from './shared/components/not-found/not-found.component';\nimport { ManageUserComponent } from './features/security/containers/manage-user/manage-user.component';\nimport { TranslationResolver } from './shared/helpers/translation.resolver';\nimport { IntLicensesComponent } from './features/issuing/int-licenses/containers/int-licenses/int-licenses.component';\nimport { ManageIntLicenseComponent } from './features/issuing/int-licenses/containers/manage-int-license/manage-int-license.component';\nimport { ViewIntLicenseComponent } from './features/issuing/int-licenses/containers/view-int-license/view-int-license.component';\nimport { TripTiksComponent } from './features/issuing/trip-tik/containers/trip-tiks/trip-tiks.component';\nimport { ViewTripTikComponent } from './features/issuing/trip-tik/containers/view-trip-tik/view-trip-tik.component';\nimport { ManageTripTikComponent } from './features/issuing/trip-tik/containers/manage-trip-tik/manage-trip-tik.component';\nimport { VehicleTypesComponent } from './features/lookups/containers/vehicle-types/vehicle-types.component';\nimport { VehicleModelsComponent } from './features/lookups/containers/vehicle-models/vehicle-models.component';\nimport { CurrenciesComponent } from './features/lookups/containers/currencies/currencies.component';\nimport { TripTiksClaimsComponent } from './features/trip-tiks-claims/containers/trip-tiks-claims/trip-tiks-claims.component';\nimport { VerificationComponent } from './features/issuing/_shared/containers/verification/verification.component';\nimport { DocumentsRevokeRequestsComponent } from './features/issuing/_shared/containers/documents-revoke-requests/documents-revoke-requests.component';\nimport { DashboardComponent } from './features/statistics/containers/dashboard/dashboard.component';\nimport { UpdateStatusTripTikClaimComponent } from './features/trip-tiks-claims/containers/update-status-trip-tik-claim/update-status-trip-tik-claim.component';\nimport { ManageTripTikClaimComponent } from './features/trip-tiks-claims/containers/manage-trip-tik-claim/manage-trip-tik-claim.component';\nimport { ViewTripTikClaimComponent } from './features/trip-tiks-claims/containers/view-trip-tik-claim/view-trip-tik-claim.component';\nimport { TripTiksClaimsLogsComponent } from './features/trip-tiks-claims/containers/trip-tiks-claims-logs/trip-tiks-claims-logs.component';\nimport { ConfigResolver } from './shared/helpers/config.resolver';\nimport { TripTikClaimAttachmentsComponent } from './features/trip-tiks-claims/containers/trip-tik-claim-attachments/trip-tik-claim-attachments.component';\nimport { RecoverPasswordComponent } from './core/components/recover-password/recover-password.component';\nimport { CustomsPortsComponent } from './features/lookups/containers/customs-ports/customs-ports.component';\nimport { PursuingZonesComponent } from './features/lookups/containers/pursuing-zones/pursuing-zones.component';\nimport { ExpiredDocumentsQueryComponent } from './features/issuing/_shared/containers/expired-documents-query/expired-documents-query.component';\nimport { ViewAccountComponent } from './features/accounts/containers/view-account/view-account.component';\nimport { IssuedDocumentsQueryComponent } from './features/issuing/_shared/containers/issued-documents-query/issued-documents-query.component';\n//import { AppConfigResolver } from './shared/helpers/app-config.resolver';\nimport { TableComponent } from './Nweebaa-Update/table/table.component';\n\nconst routes: Routes = [\n { path: 'verify/:key', data: { title: '_APP_TITLE' }, component: VerificationComponent },\n { path: 'verify-license/:key', redirectTo: '/verify/:key' }, //old-system\n { path: 'login', data: { title: '_APP_TITLE' }, component: LoginComponent, resolve: { x: TranslationResolver/*, y: AppConfigResolver */ }, runGuardsAndResolvers: 'always' },\n { path: 'recover-password', data: { title: '_APP_TITLE' }, component: RecoverPasswordComponent, resolve: { x: TranslationResolver/*, y: AppConfigResolver */ }, runGuardsAndResolvers: 'always' },\n { path: '', pathMatch: 'full', redirectTo: '/ar' },\n {\n path: ':lang', canActivate: [AuthGuard], component: MainComponent, resolve: { x: TranslationResolver/*, y: AppConfigResolver*/, z: ConfigResolver }, children: [\n { path: '', data: { title: '_APP_TITLE' }, canActivate: [AuthGuard], pathMatch: 'full', component: DashboardComponent }, \n { path: 'table-page', canActivate: [AuthGuard], data: { title: 'تربتك نويبع' ,securityRoles: [Role.GOMROK_NWEEBA]},component: TableComponent }, //home component\n {\n path: 'lookups', canActivate: [AuthGuard], data: { title: 'LKP_LINK_BASIC_DATA', securityRoles: [Role.LOOKUPS_CREATE, Role.LOOKUPS_UPDATE, Role.LOOKUPS_DELETE] }, children: [\n { path: '', pathMatch: 'full', redirectTo: 'countries' }, //default route for parent\n { path: 'countries', canActivate: [AuthGuard], data: { title: 'LKP_TITLE_COUNTRIES' }, component: CountriesComponent, runGuardsAndResolvers: 'always' },\n { path: 'cities', canActivate: [AuthGuard], data: { title: 'LKP_TITLE_CITIES' }, component: CitiesComponent },\n { path: 'account-statuses', canActivate: [AuthGuard], data: { title: 'LKP_TITLE_ACCOUNT_STATUSES' }, component: AccountStatusesComponent },\n //{ path: 'account-types', canActivate: [AuthGuard], data: { title: 'LKP_TITLE_ACCOUNT_TYPES' }, component: AccountTypesComponent },\n { path: 'stock-types', canActivate: [AuthGuard], data: { title: 'LKP_TITLE_STOCK_TYPES' }, component: StockTypesComponent },\n { path: 'vehicle-colors', canActivate: [AuthGuard], data: { title: 'LKP_TITLE_VEHICLE_COLORS' }, component: VehicleColorsComponent },\n { path: 'vehicle-makes', canActivate: [AuthGuard], data: { title: 'LKP_TITLE_VEHICLE_MAKES' }, component: VehicleMakesComponent },\n { path: 'vehicle-types', canActivate: [AuthGuard], data: { title: 'LKP_TITLE_VEHICLE_TYPES' }, component: VehicleTypesComponent },\n { path: 'vehicle-models', canActivate: [AuthGuard], data: { title: 'LKP_TITLE_VEHICLE_MODELS' }, component: VehicleModelsComponent },\n { path: 'currencies', canActivate: [AuthGuard], data: { title: 'LKP_TITLE_CURRENCIES' }, component: CurrenciesComponent },\n { path: 'customs-ports', canActivate: [AuthGuard], data: { title: 'LKP_TITLE_CUSTOMS_PORTS' }, component: CustomsPortsComponent },\n { path: 'pursuing-zones', canActivate: [AuthGuard], data: { title: 'LKP_TITLE_PURSUING_ZONES' }, component: PursuingZonesComponent }\n ]\n },\n {\n path: 'stocks', canActivate: [AuthGuard], data: { title: 'STK_TITLE_STOCK' }, children: [\n { path: '', pathMatch: 'full', redirectTo: 'totals' }, //default route for parent\n { path: 'totals', canActivate: [AuthGuard], data: { title: 'STK_TITLE_STOCKS_TOTALS', securityRoles: [Role.STOCKS_TRANSACTIONS_READ] }, component: StocksTotalsComponent },\n { path: 'totals/:accountId', canActivate: [AuthGuard], data: { title: 'STK_TITLE_STOCKS_TOTALS', securityRoles: [Role.STOCKS_TRANSACTIONS_READ] }, component: StocksTotalsComponent },\n { path: 'available', canActivate: [AuthGuard], data: { title: 'STK_TITLE_AVAILABLE_STOCKS', securityRoles: [Role.STOCKS_TRANSACTIONS_CREATE, Role.STOCKS_UNDO_REQUESTS_CREATE, Role.INT_LICENSES_CREATE, Role.INT_LICENSES_UPDATE, Role.TRIPTIKS_CREATE, Role.TRIPTIKS_UPDATE] }, component: StocksAvailableComponent },\n { path: 'available/:accountId', canActivate: [AuthGuard], data: { title: 'STK_TITLE_AVAILABLE_STOCKS', securityRoles: [Role.STOCKS_TRANSACTIONS_CREATE, Role.STOCKS_UNDO_REQUESTS_CREATE, Role.INT_LICENSES_CREATE, Role.INT_LICENSES_UPDATE, Role.TRIPTIKS_CREATE, Role.TRIPTIKS_UPDATE] }, component: StocksAvailableComponent },\n { path: 'system-available', canActivate: [AuthGuard], data: { title: 'STK_TITLE_AVAILABLE_SYSTEM_STOCKS', securityRoles: [Role.SYSTEM_STOCKS_READ], mode: 'SYSTEM' }, component: StocksAvailableComponent },\n\n { path: 'transactions', canActivate: [AuthGuard], data: { title: 'STK_TITLE_TRANSACTIONS', securityRoles: [Role.STOCKS_TRANSACTIONS_READ] }, component: TransactionsComponent },\n { path: 'transact', canActivate: [AuthGuard], data: { title: 'STK_TITLE_TRANSACT', securityRoles: [Role.STOCKS_TRANSACTIONS_CREATE] }, component: TransactComponent },\n { path: 'populate', canActivate: [AuthGuard], data: { title: 'STK_TITLE_POPULATE', securityRoles: [Role.SYSTEM_STOCKS_CREATE], mode: 'POPULATE' }, component: PopulateComponent },\n { path: 'depopulate', canActivate: [AuthGuard], data: { title: 'STK_TITLE_DEPOPULATE', securityRoles: [Role.SYSTEM_STOCKS_DELETE], mode: 'DEPOPULATE' }, component: PopulateComponent },\n {\n path: 'undo', canActivate: [AuthGuard], data: { title: 'STK_TITLE_UNDOING' }, children: [\n { path: '', pathMatch: 'full', redirectTo: 'try' }, //default route for parent\n { path: 'try', canActivate: [AuthGuard], data: { title: 'STK_TITLE_UNDO_REQUEST', securityRoles: [Role.STOCKS_UNDO_REQUESTS_CREATE] }, component: UndoTryComponent },\n { path: 'requests', canActivate: [AuthGuard], data: { title: 'STK_TITLE_UNDO_REQUESTS', securityRoles: [Role.STOCKS_UNDO_REQUESTS_READ] }, component: UndoRequestsComponent }\n ]\n },\n ]\n },\n {\n path: 'accounts', canActivate: [AuthGuard], data: { title: 'ACC_TITLE_ACCOUNTS', securityRoles: [Role.ACCOUNTS_READ] }, children: [\n { path: '', pathMatch: 'full', redirectTo: 'list' },\n // { path: 'me', canActivate: [AuthGuard], data: { title: 'ACC_TITLE_USER_PROFILE' }, component: UserProfileComponent }, //default route for parent\n { path: 'list', canActivate: [AuthGuard], data: { title: '_ACTION_VIEW' }, component: AccountsComponent },\n { path: 'view/:id', canActivate: [AuthGuard], data: { title: '_ACTION_VIEW' }, component: ViewAccountComponent },\n { path: 'add', canActivate: [AuthGuard], data: { title: '_ACTION_ADD', securityRoles: [Role.ACCOUNTS_CREATE] }, component: ManageAccountComponent },\n { path: 'update/:id', canActivate: [AuthGuard], data: { title: '_ACTION_UPDATE', securityRoles: [Role.ACCOUNTS_UPDATE] }, component: ManageAccountComponent },\n ]\n },\n {\n path: 'security', canActivate: [AuthGuard], data: { title: 'SEC_TITLE_SECURITY' }, children: [\n { path: '', pathMatch: 'full', redirectTo: 'groups' }, //default route for parent\n {\n path: 'groups', canActivate: [AuthGuard], data: { title: 'SEC_TITLE_SECURITY_GROUPS', securityRoles: [Role.SECURITY_GROUPS_READ] }, children: [\n { path: '', pathMatch: 'full', redirectTo: 'list' },\n { path: 'list', canActivate: [AuthGuard], data: { title: '_ACTION_VIEW', mode: 'LIST' }, component: SecurityGroupsComponent },\n { path: 'add', canActivate: [AuthGuard], data: { title: '_ACTION_ADD', mode: 'ADD', securityRoles: [Role.SECURITY_GROUPS_CREATE] }, component: SecurityGroupsComponent },\n { path: 'update/:id', canActivate: [AuthGuard], data: { title: '_ACTION_UPDATE', mode: 'UPDATE', securityRoles: [Role.SECURITY_GROUPS_UPDATE] }, component: SecurityGroupsComponent },\n ]\n },\n {\n path: 'users', canActivate: [AuthGuard], data: {\n title: 'SEC_LINK_USERS', securityRoles: [Role.USERS_READ]\n }, children: [\n { path: '', pathMatch: 'full', redirectTo: 'list' }, //default route for parent\n { path: 'list', canActivate: [AuthGuard], data: { title: '_ACTION_VIEW' }, component: AccountUsersComponent },\n { path: 'list/:accountId', canActivate: [AuthGuard], data: { title: '_ACTION_VIEW' }, component: AccountUsersComponent },\n { path: 'update/:id', canActivate: [AuthGuard], data: { title: '_ACTION_UPDATE', securityRoles: [Role.USERS_UPDATE] }, component: ManageUserComponent },\n { path: 'add', canActivate: [AuthGuard], data: { title: '_ACTION_ADD', securityRoles: [Role.USERS_CREATE] }, component: ManageUserComponent },\n { path: 'groups', canActivate: [AuthGuard], data: { title: 'SEC_TITLE_USERS_GROUPS', securityRoles: [Role.USERS_SECURITY_GROUPS_READ] }, component: UsersGroupsComponent },\n ]\n },\n ]\n },\n {\n path: 'issuing', canActivate: [AuthGuard], data: { title: '_TITLE_ISSUING', securityRoles: [Role.INT_LICENSES_READ, Role.TRIPTIKS_READ] }, children: [\n { path: 'query', canActivate: [AuthGuard], data: { title: 'ISS_TITLE_ISSUED_DOCUMENTS_QUERY' }, component: IssuedDocumentsQueryComponent },\n { path: 'revoke/requests', canActivate: [AuthGuard], data: { title: 'ISS_TITLE_DOCUMENTS_REVOKE_REQUESTS', securityRoles: [Role.INT_LICENSES_REVOKE_REQUESTS_READ, Role.TRIPTIKS_REVOKE_REQUESTS_READ] }, component: DocumentsRevokeRequestsComponent },\n {\n path: 'int-licenses', canActivate: [AuthGuard], data: { title: 'LIC_TITLE_LICENSES', securityRoles: [Role.INT_LICENSES_READ] }, children: [\n { path: '', pathMatch: 'full', redirectTo: 'list' },\n { path: 'list', canActivate: [AuthGuard], data: { title: '_ACTION_VIEW' }, component: IntLicensesComponent },\n { path: 'view/:id', canActivate: [AuthGuard], data: { title: '_ACTION_VIEW' }, component: ViewIntLicenseComponent },\n { path: 'add', canActivate: [AuthGuard], data: { title: '_ACTION_ADD', mode: 'ADD', securityRoles: [Role.INT_LICENSES_CREATE] }, component: ManageIntLicenseComponent },\n { path: 'add/:id', canActivate: [AuthGuard], data: { title: '_ACTION_ADD', mode: 'ADD', securityRoles: [Role.INT_LICENSES_CREATE] }, component: ManageIntLicenseComponent },\n { path: 'clone/:key', canActivate: [AuthGuard], data: { title: '_ACTION_ADD', mode: 'CLONE', securityRoles: [Role.INT_LICENSES_CREATE] }, component: ManageIntLicenseComponent },\n { path: 'update/:id', canActivate: [AuthGuard], data: { title: '_ACTION_UPDATE', mode: 'UPDATE', securityRoles: [Role.INT_LICENSES_UPDATE] }, component: ManageIntLicenseComponent },\n ]\n },\n {\n path: 'trip-tiks', canActivate: [AuthGuard], data: { title: 'TRP_TITLE_TRIPTIKS', securityRoles: [Role.TRIPTIKS_READ] }, children: [\n { path: '', pathMatch: 'full', redirectTo: 'list' },\n { path: 'list', canActivate: [AuthGuard], data: { title: '_ACTION_VIEW' }, component: TripTiksComponent },\n { path: 'view/:id', canActivate: [AuthGuard], data: { title: '_ACTION_VIEW' }, component: ViewTripTikComponent },\n { path: 'add', canActivate: [AuthGuard], data: { title: '_ACTION_ADD', mode: 'ADD', securityRoles: [Role.TRIPTIKS_CREATE] }, component: ManageTripTikComponent },\n { path: 'add/:id', canActivate: [AuthGuard], data: { title: '_ACTION_ADD', mode: 'ADD', securityRoles: [Role.TRIPTIKS_CREATE] }, component: ManageTripTikComponent },\n { path: 'clone/:key', canActivate: [AuthGuard], data: { title: '_ACTION_ADD', mode: 'CLONE', securityRoles: [Role.TRIPTIKS_CREATE] }, component: ManageTripTikComponent },\n { path: 'update/:id', canActivate: [AuthGuard], data: { title: '_ACTION_UPDATE', mode: 'UPDATE', securityRoles: [Role.TRIPTIKS_UPDATE] }, component: ManageTripTikComponent },\n ]\n },\n ]\n },\n {\n path: 'trip-tiks-claims', canActivate: [AuthGuard], data: { title: 'TRP_CLM_TITLE_TRIPTIK_CLAIMS', securityRoles: [Role.TRIPTIKS_CLAIMS_READ] }, children: [\n { path: '', pathMatch: 'full', redirectTo: 'list' },\n { path: 'list', canActivate: [AuthGuard], data: { title: '_ACTION_VIEW' }, component: TripTiksClaimsComponent },\n { path: 'view/:id', canActivate: [AuthGuard], data: { title: '_ACTION_VIEW' }, component: ViewTripTikClaimComponent },\n { path: 'view/attachments/:id', canActivate: [AuthGuard], data: { title: '_ACTION_VIEW' }, component: TripTikClaimAttachmentsComponent },\n { path: 'update-status/:id', canActivate: [AuthGuard], data: { title: '_ACTION_UPDATE_STATUS', securityRoles: [Role.TRIPTIKS_CLAIMS_UPDATE] }, component: UpdateStatusTripTikClaimComponent },\n { path: 'add', canActivate: [AuthGuard], data: { title: '_ACTION_ADD', mode: 'ADD', securityRoles: [Role.TRIPTIKS_CLAIMS_CREATE] }, component: ManageTripTikClaimComponent },\n { path: 'logs', canActivate: [AuthGuard], data: { title: '_ACTION_VIEW', securityRoles: [Role.TRIPTIKS_CLAIMS_LOGS_READ] }, component: TripTiksClaimsLogsComponent },\n ]\n },\n\n { path: 'me', canActivate: [AuthGuard], data: { title: 'ACC_TITLE_USER_PROFILE' }, component: UserProfileComponent },\n ]\n },\n // { path: 'uploads/:stockTypeId/:accountId/:objectId', canActivate: [AuthGuard], data: { title: 'ACC_TITLE_USER_PROFILE' }, component: DownloadComponent },\n //{ path: 'not-found', component: NotFoundComponent },\n { path: '**', component: NotFoundComponent },\n\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n // anchorScrolling: 'enabled',\n onSameUrlNavigation: 'reload'\n\n })],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { ActivatedRoute, Router, NavigationEnd } from '@angular/router';\nimport { Title } from '@angular/platform-browser';\nimport { Component } from '@angular/core';\nimport { filter, map, throwIfEmpty } from 'rxjs/operators';\nimport { BreadcrumbService } from './shared/services/breadcrumb.service';\nimport { LoadingService } from './shared/services/loading';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AuthService } from './core/auth/auth.service';\nimport { StaticConfig } from './features/lookups/services/config';\n// import { AlertService2 } from './shared/services/alert.service2';\n// import * as AppConfig from '../assets/config.json'\n\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n providers: [StaticConfig]\n})\nexport class AppComponent {\n\n loading: boolean = true;\n styleLoading: boolean = true;\n\n constructor(\n private loader: LoadingService,\n private titleService: Title,\n private breadcrumbService: BreadcrumbService,\n private route: ActivatedRoute,\n private router: Router,\n private translate: TranslateService){\n //private config: StaticConfig) {\n\n this.translate.setDefaultLang('ar');\n //this.config.get();\n //const _lang = this.route.snapshot.paramMap.get('lang');\n ////console.log(_lang);\n //this.translate.use(_lang);\n }\n\n ngOnInit() {\n // const _config = config.get('apiBaseUrl');\n //console.log(AppConfig.apiBaseUrl);\n //await this.config.get();\n AuthService.authActivity.subscribe(loggedin => {\n // //console.warn(loggedin);\n // if (!loggedin) {\n // //console.log('should log out now');\n // }\n });\n\n // this.loader.styleLoading.subscribe(status => {\n // this.styleLoading = status;\n // })\n\n LoadingService.style.subscribe(status => {\n this.styleLoading = status;\n });\n\n this.loader.navLoading.subscribe(status => {\n this.loading = status;\n });\n\n // this.router\n // .events.pipe(\n // filter(event => event instanceof NavigationEnd),\n // map(() => {\n // //console.log('ev');\n // let _titles = [];\n // let _titlesLinks: string[][] = [[]];\n // let child = this.route.firstChild;\n // let _url = `/${this.translate.currentLang}/`;\n // let level = 0;\n\n // const _lang = child.snapshot.paramMap.get('lang');\n // //console.log(_lang, this.translate.currentLang);\n // // if (this.translate.currentLang != _lang)\n // this.translate.use(_lang);\n\n // //console.log(child);\n // if (this.router.url == _url) {\n // const transalted = this.translate.instant(child.snapshot.firstChild.data['title']);\n // //console.log(transalted)\n // _titles.push(transalted);\n // } else if (this.router.url == '/login') {\n // const transalted = this.translate.instant(child.snapshot.data['title']);\n // //console.log(transalted)\n // // this.translate.get(child.snapshot.data['title'])\n // // .subscribe(val => {\n // // //console.log(val);\n // // _titles.push(val);\n // // })\n // _titles.push(this.translate.instant(child.snapshot.data['title']));\n // }\n // else {\n\n // while (child.firstChild) {\n // child = child.firstChild;\n // ////console.log(child);\n // if (child.snapshot.data['title']) {\n // if (level <= 1)\n // _titles.push(this.translate.instant(child.snapshot.data['title']));\n\n // _url += child.snapshot.url[0] + '/';\n // _titlesLinks.push([this.translate.instant(child.snapshot.data['title']), _url]);\n // }\n // level++;\n // }\n // }\n // //console.warn(_titlesLinks);\n // this.breadcrumbService.setLinks(_titlesLinks);\n // return _titles.join(' | ');\n // })\n // ).subscribe((ttl: string) => {\n // //console.warn(ttl);\n // this.titleService.setTitle(ttl);\n // });\n }\n ngAfterViewInit() {\n // AlertService2.init();\n }\n}\n","import { BrowserModule, Title } from '@angular/platform-browser';\nimport { CommonModule, LOCATION_INITIALIZED } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgModule, Injector, APP_INITIALIZER } from '@angular/core';\nimport { HttpClientModule, HttpClient, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { TranslateModule, TranslateLoader, TranslateService, TranslateParser } from '@ngx-translate/core';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { UrlSerializer } from '@angular/router';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { LoggerModule, NgxLoggerLevel } from 'ngx-logger';\nimport { LightboxModule } from 'ngx-lightbox';\nimport { ChartsModule } from 'ng2-charts';\nimport { NgxKjuaModule } from 'ngx-kjua';\nimport { NgxPrintModule } from 'ngx-print';\nimport { MomentDateModule, MatMomentDateModule, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angular/material-moment-adapter'\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\n//import { AutocompleteLibModule } from 'angular-ng-autocomplete';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { ColorPickerModule } from 'ngx-color-picker';\n\n//material\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CdkStepperModule } from '@angular/cdk/stepper';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { CdkTreeModule } from '@angular/cdk/tree';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatNativeDateModule, MatRippleModule, MAT_DATE_FORMATS, MAT_DATE_LOCALE, DateAdapter } from '@angular/material/core';\nimport { MatPaginatorModule, MatPaginatorIntl } from '@angular/material/paginator';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatSnackBarModule, MatSnackBar, MAT_SNACK_BAR_DEFAULT_OPTIONS } from '@angular/material/snack-bar';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatTreeModule } from '@angular/material/tree';\n\n//pipes\nimport { StringJoinPipe } from './shared/pipes/string-join.pipe';\nimport { ArrayMapPipe } from './shared/pipes/array-map.pipe';\nimport { ParamsTranslatePipe } from './shared/pipes/params-translate.pipe';\n\n//directives\nimport { DragDirective } from './shared/directives/drag.directive';\nimport { ConfirmTemplateDirective } from './shared/directives/modal.directive';\n\n//services\nimport { UrlSerializerService } from './core/url-serializer.service';\nimport { ConfirmService } from './shared/services/modal.service';\nimport { AlertService } from './shared/services/alert.service';\nimport { ValidationService } from './shared/services/validation.service';\nimport { LoadingService } from './shared/services/loading';\nimport { AuthGuardService } from './core/auth/auth-guard.service';\nimport { BreadcrumbService } from './shared/services/breadcrumb.service';\nimport { SidenavService } from './core/services/sidenav.service';\nimport { AuthService } from './core/auth/auth.service';\nimport { ConfirmState } from './shared/models/modal';\nimport { LangMatPaginatorIntl } from './shared/helpers/lang-paginator-intl';\nimport { httpInterceptorProviders, AuthInterceptor } from './core/auth/auth-interceptor';\nimport { ApiHandler } from './core/api-handler';\n\n//components\nimport { BodyLoaderComponent } from './shared/components/body-loader/body-loader.component';\nimport { CountriesComponent } from './features/lookups/containers/countries/countries.component';\nimport { FooterComponent } from './core/components/footer/footer.component';\nimport { HeaderComponent } from './core/components/header/header.component';\nimport { LoginComponent } from './core/components/login/login.component';\nimport { MainComponent } from './core/components/main/main.component';\nimport { SidenavComponent } from './core/components/sidenav/sidenav.component';\nimport { BreadcrumbComponent } from './shared/components/breadcrumb/breadcrumb.component';\nimport { AccountsComponent } from './features/accounts/containers/accounts/accounts.component';\nimport { SecurityGroupsComponent } from './features/security/containers/security-groups/security-groups.component';\nimport { UsersGroupsComponent } from './features/security/containers/users-groups/users-groups.component';\nimport { TransactionsComponent } from './features/stock/containers/transactions/transactions.component';\nimport { UndoRequestsComponent } from './features/stock/containers/undo-requests/undo-requests.component';\nimport { UndoTryComponent } from './features/stock/containers/undo-try/undo-try.component';\nimport { AccountUsersComponent } from './features/security/containers/account-users/account-users.component';\nimport { DialogComponent } from './shared/components/dialog/dialog.component';\nimport { UserProfileComponent } from './features/accounts/containers/user-profile/user-profile.component';\nimport { ConfirmModalComponent } from './shared/components/modal/modal.component';\nimport { ManageAccountComponent } from './features/accounts/containers/manage-account/manage-account.component';\nimport { UnderConstructionComponent } from './shared/components/under-construction/under-construction.component';\nimport { NotFoundComponent } from './shared/components/not-found/not-found.component';\nimport { ManageUserComponent } from './features/security/containers/manage-user/manage-user.component';\nimport { StockSliderComponent } from './features/stock/components/stock-slider/stock-slider.component';\nimport { ValidationErrorComponent } from './shared/components/validation-error/validation-error.component';\nimport { AlertComponent } from './shared/components/alert/alert.component';\nimport { ManageIntLicenseComponent } from './features/issuing/int-licenses/containers/manage-int-license/manage-int-license.component';\nimport { IntLicensesComponent } from './features/issuing/int-licenses/containers/int-licenses/int-licenses.component';\nimport { ViewIntLicenseComponent } from './features/issuing/int-licenses/containers/view-int-license/view-int-license.component';\nimport { IntLicensePrintComponent } from './features/issuing/int-licenses/components/int-license-print/int-license-print.component';\nimport { TripTiksComponent } from './features/issuing/trip-tik/containers/trip-tiks/trip-tiks.component';\nimport { ManageTripTikComponent } from './features/issuing/trip-tik/containers/manage-trip-tik/manage-trip-tik.component';\nimport { ViewTripTikComponent } from './features/issuing/trip-tik/containers/view-trip-tik/view-trip-tik.component';\nimport { CommitmentPrintComponent } from './features/issuing/int-licenses/components/commitment-print/commitment-print.component';\nimport { TripTikPrintComponent } from './features/issuing/trip-tik/components/trip-tik-print/trip-tik-print.component';\nimport { ReceiptPrintComponent } from './features/issuing/trip-tik/components/receipt-print/receipt-print.component';\nimport { VehicleTypesComponent } from './features/lookups/containers/vehicle-types/vehicle-types.component';\nimport { VehicleModelsComponent } from './features/lookups/containers/vehicle-models/vehicle-models.component';\nimport { CurrenciesComponent } from './features/lookups/containers/currencies/currencies.component';\nimport { TripTiksClaimsComponent } from './features/trip-tiks-claims/containers/trip-tiks-claims/trip-tiks-claims.component';\nimport { ViewTripTikClaimComponent } from './features/trip-tiks-claims/containers/view-trip-tik-claim/view-trip-tik-claim.component';\nimport { DocumentsRevokeRequestsComponent } from './features/issuing/_shared/containers/documents-revoke-requests/documents-revoke-requests.component';\nimport { VerificationComponent } from './features/issuing/_shared/containers/verification/verification.component';\nimport { TransactComponent } from './features/stock/containers/transact/transact.component';\nimport { StocksTotalsComponent } from './features/stock/containers/stocks-totals/stocks-totals.component';\nimport { StocksAvailableComponent } from './features/stock/containers/stocks-available/stocks-available.component';\nimport { PopulateComponent } from './features/stock/containers/populate/populate.component';\nimport { VehicleMakesComponent } from './features/lookups/containers/vehicle-makes/vehicle-makes.component';\nimport { VehicleColorsComponent } from './features/lookups/containers/vehicle-colors/vehicle-colors.component';\nimport { StockTypesComponent } from './features/lookups/containers/stock-types/stock-types.component';\nimport { AccountTypesComponent } from './features/lookups/containers/account-types/account-types.component';\nimport { AccountStatusesComponent } from './features/lookups/containers/account-statuses/account-statuses.component';\nimport { CitiesComponent } from './features/lookups/containers/cities/cities.component';\nimport { DashboardComponent } from './features/statistics/containers/dashboard/dashboard.component';\nimport { UpdateStatusTripTikClaimComponent } from './features/trip-tiks-claims/containers/update-status-trip-tik-claim/update-status-trip-tik-claim.component';\nimport { ManageTripTikClaimComponent } from './features/trip-tiks-claims/containers/manage-trip-tik-claim/manage-trip-tik-claim.component';\nimport { TripTiksClaimsLogsComponent } from './features/trip-tiks-claims/containers/trip-tiks-claims-logs/trip-tiks-claims-logs.component';\nimport { TranslationResolver } from './shared/helpers/translation.resolver';\nimport { ConfigResolver } from './shared/helpers/config.resolver';\nimport { CustomDateAdapter } from './shared/helpers/custom-date-adapter';\nimport { TripTikClaimAttachmentsComponent } from './features/trip-tiks-claims/containers/trip-tik-claim-attachments/trip-tik-claim-attachments.component';\nimport { RecoverPasswordComponent } from './core/components/recover-password/recover-password.component';\nimport { PursuingZonesComponent } from './features/lookups/containers/pursuing-zones/pursuing-zones.component';\nimport { CustomsPortsComponent } from './features/lookups/containers/customs-ports/customs-ports.component';\nimport { LicTransactionsPrintComponent } from './features/stock/components/lic-transactions-print/lic-transactions-print.component';\nimport { TrpTransactionsPrintComponent } from './features/stock/components/trp-transactions-print/trp-transactions-print.component';\nimport { EndPoint } from './core/models/enums/end-point';\nimport { ExpiredDocumentsQueryComponent } from './features/issuing/_shared/containers/expired-documents-query/expired-documents-query.component';\nimport { ViewAccountComponent } from './features/accounts/containers/view-account/view-account.component';\nimport { IssuedDocumentsQueryComponent } from './features/issuing/_shared/containers/issued-documents-query/issued-documents-query.component';\nimport { environment } from 'src/environments/environment';\nimport { TransactionDetailsLabelComponent } from './features/stock/components/transaction-details-label/transaction-details-label.component';\nimport { TableComponent } from './Nweebaa-Update/table/table.component';\nimport { TablePageComponent } from './Nweebaa-Update/table-page/table-page.component';\nimport { UploadDialogComponent } from './Nweebaa-Update/upload-dialog/upload-dialog.component';\nimport { ConfirmationDialogComponent } from './Nweebaa-Update/confirmation-dialog/confirmation-dialog.component';\nimport { ViewFilesDialogComponent } from './Nweebaa-Update/view-files-dialog/view-files-dialog.component';\nimport { ImageDialogComponent } from './Nweebaa-Update/image-dialog/image-dialog.component';\n\n//import { AppConfigResolver } from './shared/helpers/app-config.resolver';\n\n// AoT requires an exported function for factories\nexport function HttpLoaderFactory(http: HttpClient) {\n //return new TranslateHttpLoader(http);\n //return new TranslateHttpLoader(http, './assets/_lang/', '.json');\n return new TranslateHttpLoader(http, `${environment.apiBaseUrl}/resources/`, '.json');\n\n\n}\n\nexport function appInitializerFactory(translate: TranslateService, injector: Injector) {\n return () => new Promise((resolve: any) => {\n const locationInitialized = injector.get(LOCATION_INITIALIZED, Promise.resolve(null));\n locationInitialized.then(() => {\n const langToSet = 'ar'\n translate.setDefaultLang('ar');\n translate.use(langToSet).subscribe(() => {\n //console.info(`Successfully initialized '${langToSet}' language.'`);\n }, err => {\n //console.error(`Problem with '${langToSet}' language initialization.'`);\n }, () => {\n resolve(null);\n });\n });\n });\n}\n\n@NgModule({\n declarations: [\n AppComponent,\n UploadDialogComponent,\n ConfirmationDialogComponent,\n ImageDialogComponent,\n CountriesComponent,\n ViewFilesDialogComponent,\n HeaderComponent,\n LoginComponent,\n MainComponent,\n SidenavComponent,\n FooterComponent,\n BreadcrumbComponent,\n AccountsComponent,\n ManageAccountComponent,\n SecurityGroupsComponent,\n UsersGroupsComponent,\n CitiesComponent,\n AccountStatusesComponent,\n AccountTypesComponent,\n StockTypesComponent,\n VehicleColorsComponent,\n VehicleMakesComponent,\n PopulateComponent,\n StocksAvailableComponent,\n StocksTotalsComponent,\n TransactComponent,\n TransactionsComponent,\n UndoRequestsComponent,\n UndoTryComponent,\n AccountUsersComponent,\n DialogComponent,\n DashboardComponent,\n UserProfileComponent,\n UnderConstructionComponent,\n NotFoundComponent,\n ConfirmTemplateDirective,\n ConfirmModalComponent,\n ManageUserComponent,\n BodyLoaderComponent,\n StockSliderComponent,\n ValidationErrorComponent,\n AlertComponent,\n ParamsTranslatePipe,\n ManageIntLicenseComponent,\n IntLicensesComponent,\n LicTransactionsPrintComponent,\n TrpTransactionsPrintComponent,\n DragDirective,\n ViewIntLicenseComponent,\n IntLicensePrintComponent,\n TripTiksComponent,\n ManageTripTikComponent,\n ViewTripTikComponent,\n CommitmentPrintComponent,\n TripTikPrintComponent,\n ReceiptPrintComponent,\n VehicleTypesComponent,\n VehicleModelsComponent,\n CurrenciesComponent,\n TripTiksClaimsComponent,\n ViewTripTikClaimComponent,\n VerificationComponent,\n StringJoinPipe,\n ArrayMapPipe,\n DocumentsRevokeRequestsComponent,\n UpdateStatusTripTikClaimComponent,\n ManageTripTikClaimComponent,\n TripTiksClaimsLogsComponent,\n TripTikClaimAttachmentsComponent,\n RecoverPasswordComponent,\n PursuingZonesComponent,\n CustomsPortsComponent,\n ExpiredDocumentsQueryComponent,\n ViewAccountComponent,\n IssuedDocumentsQueryComponent,\n TransactionDetailsLabelComponent,\n TableComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n NgbModule,\n HttpClientModule,\n AppRoutingModule,\n A11yModule,\n CdkStepperModule,\n MatDialogModule,\n CdkTableModule,\n CdkTreeModule,\n DragDropModule,\n MatAutocompleteModule,\n MatBadgeModule,\n MatBottomSheetModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatStepperModule,\n MatDatepickerModule,\n MomentDateModule,\n MatDialogModule,\n MatDividerModule,\n MatExpansionModule,\n MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatTreeModule,\n MatAutocompleteModule,\n PortalModule,\n ScrollingModule,\n FormsModule,\n ReactiveFormsModule,\n LightboxModule,\n ChartsModule,\n LoggerModule.forRoot({ serverLoggingUrl: '/api/logs', level: NgxLoggerLevel.DEBUG, serverLogLevel: NgxLoggerLevel.ERROR }),\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient]\n },\n defaultLanguage: 'ar'\n }),\n NgxPrintModule,\n NgxKjuaModule,\n NgSelectModule,\n ColorPickerModule\n // AutocompleteLibModule\n ],\n providers: [\n ApiHandler,\n AuthService,\n httpInterceptorProviders,\n {\n provide: UrlSerializer,\n useClass: UrlSerializerService\n },\n { provide: MAT_SNACK_BAR_DEFAULT_OPTIONS, useValue: { duration: 5000 } },\n { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } },\n { provide: MAT_DATE_LOCALE, useValue: 'en-GB' },\n {\n provide: MAT_DATE_FORMATS,\n useValue: {\n parse: {\n dateInput: ['L', 'l']\n },\n display: {\n dateInput: ['L', 'l'],\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n }\n }\n },\n { provide: DateAdapter, useClass: CustomDateAdapter },\n // {\n // provide: APP_INITIALIZER,\n // multi: true,\n // deps: [AppConfigService],\n // useFactory: (appConfigService: AppConfigService) => {\n // return () => {\n // //Make sure to return a promise!\n // return appConfigService.loadAppConfig();\n // };\n // }\n // },\n AuthGuardService,\n LoadingService,\n StringJoinPipe,\n SidenavService,\n { provide: MatPaginatorIntl, useClass: LangMatPaginatorIntl },\n { provide: ValidationService, deps: [TranslateService] },\n TranslationResolver,\n //AppConfigResolver,\n ConfigResolver,\n Title,\n BreadcrumbService,\n ConfirmService,\n ConfirmState,\n AlertService\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n\n\n","import { MatSnackBar } from '@angular/material/snack-bar';\nimport { Injectable, Injector } from \"@angular/core\";\nimport { HttpClient, HttpHeaders, HttpParams, HttpErrorResponse } from \"@angular/common/http\";\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, tap, map } from 'rxjs/operators';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AuthService } from './auth/auth.service';\nimport { Language } from './models/enums/language';\nimport { EndPoint } from './models/enums/end-point';\nimport { ValidationDto } from './models/validation';\nimport { AlertService } from '../shared/services/alert.service';\n// import { AlertService2 } from '../shared/services/alert.service2';\nimport { isArray } from 'util';\nimport { Login } from './models/login';\nimport { environment } from 'src/environments/environment';\n// import { AppConfig } from './services/app-config.service';\n//import * as AppConfig from '../../assets/config.json';\n// import { AlertService2 } from '../shared/services/alert.service2';\n\nlet httpOptions = {\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n // \"Accept\": \"application/json\",\n \"Accept\": \"*/*\",\n \"Authorization\": \"\",\n \"Accept-Languages\": \"ar\"\n }),\n body: {},\n responseType: \"json\",\n observe: \"body\",\n withCredentials: false,\n reportProgress: false,\n params: null\n};\nclass HttpOptions {\n headers?: HttpHeaders | { [header: string]: string | string[]; };\n observe?: \"body\";\n params?: HttpParams | { [param: string]: string | string[]; };\n reportProgress?: boolean;\n responseType?: \"json\";\n withCredentials?: boolean;\n}\n\n\n@Injectable()\nexport class ApiHandler {\n //API_BASE_URL: string;\n _lang: Language; //todo: change with application changing language;\n _apiBaseUrl: string;\n //options_;\n //auth: AuthService;\n //alert: AlertService;\n\n constructor(private http: HttpClient, private translate: TranslateService, private alert: AlertService) {\n ////console.log(this.http, translate, _snackBar);\n\n this._apiBaseUrl = environment.apiBaseUrl; //AppConfig.apiBaseUrl;\n // console.log(this.translate);\n // console.warn(this.translate.currentLang);\n // console.warn(this.translate.store.currentLang);\n\n // const _currentLang = this.translate.store.currentLang;\n // console.log(_currentLang);\n\n this.translate.store.onLangChange.subscribe(t => {\n //console.log(t.lang);\n //this._lang = translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this._lang = t.lang == 'ar' ? Language.Arabic : Language.English;\n (httpOptions.headers).set(\"Accept-Languages\", t.lang);\n\n\n // .append(\"\",\"\");\n\n //todo: refactor\n httpOptions.headers = new HttpHeaders({\n \"Content-Type\": \"application/json\",\n // \"Accept\": \"application/json\",\n \"Accept\": \"*/*\",\n \"Authorization\": \"\",\n \"Accept-Languages\": t.lang\n });\n\n //console.log(httpOptions.headers);\n\n });\n\n ////console.log(this.alert);\n //this.API_BASE_URL = environment.apiBaseUrl;\n\n //this._lang = translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n\n\n // (httpOptions.headers).set(\"Accept-Languages\", _currentLang);\n // console.log((httpOptions.headers).get(\"Accept-Languages\"));\n\n // this.translate.onLangChange.subscribe(t => {\n // this._lang = t.lang == 'ar' ? Language.Arabic : Language.English;\n // (httpOptions.headers).set(\"Accept-Languages\", _currentLang);\n // console.log((httpOptions.headers).get(\"Accept-Languages\"));\n // });\n }\n\n getAuthHeader() {\n return null; //todo: inject token\n }\n // handleError(err){\n // //console.log(err); //todo: handle errors\n // }\n\n\n public login(username: string, password: string) {\n return this.http.post(`${this._apiBaseUrl}/${EndPoint.AUTH}`, { username, password });\n }\n\n private handleError(err: HttpErrorResponse) {\n //console.log(err);\n let errorMessage = '';\n if (err.error instanceof ErrorEvent) {\n errorMessage = `An error occurred: ${err.error.message}`;\n } else {\n errorMessage = `Server returned code: ${err.status}, error message is: ${err.message}`;\n }\n\n switch (err.status) {\n case 401:\n AuthService.logout();\n break;\n\n case 400:\n let messages = [];\n // for (let key in err.error)\n // for (let error of err.error[key])\n // messages.push(`${this.translate.instant(key)}: ${this.translate.instant(error)}`);\n\n for (let key in err.error)\n for (let error of err.error[key])\n messages.push(`${key}: ${error}`);\n this.alert._error(messages);\n break;\n\n case 404:\n window.location.href = `/${this.translate.currentLang}/not-found`;\n\n default: //500\n console.error(err);\n }\n\n\n\n return throwError(err.error);\n\n\n\n // if (err.status == 401) {\n\n // } else if (err.status == 400) {\n\n // }\n //this.alert.error(errorMessage);\n //AlertService2.error('testse');\n // //console.log(this.alert);\n // if (!this.alert)\n // this.alert = new AlertService(this._snackBar, this.translate);\n // this.alert = this.injector.get(AlertService);\n ////console.log(this.alert);\n ////console.log(this.http, this.translate, this._snackBar);\n //this._snackBar.open('test');\n //this.alert.error('test');\n ////console.log(isArray(err.error));\n\n //console.error(err);\n ////console.log(err);\n\n // for (let e in err.error) {\n // //console.log(err.error[e]);\n // //message += '
' + err.error[e][0];\n // //messages.push(err.error[e][0]);\n // }\n\n //if (!(err.error instanceof ProgressEvent)) {\n\n ////console.log(messages);\n\n //}\n\n\n }\n\n public validate(dto: ValidationDto): Observable {\n const _url = `${this._apiBaseUrl}/${EndPoint.ASYNC_VALIDATION}`;\n\n return this.http.post(_url, JSON.stringify(dto), httpOptions)\n .pipe(\n map(Boolean),\n catchError(this.handleError.bind(this))\n );\n }\n\n public get(url: EndPoint, params = null, queryParams: {} = null, localized: boolean = true): Observable {\n let _url = `${this._apiBaseUrl}/${url}`;\n if (params != undefined) {\n if (Array.isArray(params))\n params.forEach(p => _url += `/${p}`);\n else\n _url += `/${params}`;\n }\n\n //this.LANG = this.LANG ? Language.Arabic : this.LANG;\n if (queryParams) {\n for (const [index, [key, value]] of Object.entries(Object.entries(queryParams)))\n _url += `${Number(index) == 0 ? '?' : '&'}${key}=${value != undefined && value != null ? value : ''}`;\n\n if (_url.indexOf('lang') == -1 && localized)\n _url += `&lang=${this._lang}`;\n } else\n _url += localized ? `?lang=${this._lang}` : '';\n\n //console.warn(_url);\n //console.log(httpOptions);\n\n if (url == EndPoint.ISSUING_VERIFY) {\n // (httpOptions.headers).delete('authorization');\n // (httpOptions.headers).delete('content-Type');\n // const proxyurl = \"https://cors-anywhere.herokuapp.com/\";\n // _url = proxyurl + _url;\n httpOptions.headers = new HttpHeaders({\n \"Accept\": \"*/*\",\n \"Accept-Languages\": \"ar\",\n\n });\n }\n //console.log(httpOptions);\n\n return this.http.get(_url, httpOptions)\n .pipe(\n tap(data => data),\n catchError(this.handleError.bind(this))\n );\n }\n\n public create(url: EndPoint, object: TObject): Observable {\n const _url = `${this._apiBaseUrl}/${url}`;\n\n return this.http.post(_url, JSON.stringify(object), httpOptions)\n .pipe(\n map(data => data),\n catchError(this.handleError.bind(this))\n );\n }\n\n public update(url: EndPoint, object: any,/*, withId: boolean = true,*/ args: (number | string | boolean)[] = []): Observable {\n let _url = `${this._apiBaseUrl}/${url}`;\n //_url += withId ? `/${object.id}` : ``;\n\n if (args.length > 0)\n args.forEach(a => _url += `/${a}`);\n\n return this.http.put(_url, JSON.stringify(object), httpOptions)\n .pipe(\n map(Boolean),\n catchError(this.handleError.bind(this))\n );\n }\n\n public delete(url: EndPoint, id: number | string): Observable {\n const _url = `${this._apiBaseUrl}/${url}/${id}`;\n\n return this.http.delete(_url, httpOptions)\n .pipe(\n map(Boolean),\n catchError(this.handleError.bind(this))\n )\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { AuthService } from './auth.service';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { AccountType } from '../models/enums/account-type';\n\n@Injectable()\nexport class AuthGuardService implements CanActivate {\n constructor(public auth: AuthService, private router: Router, private alert: AlertService) { }\n\n canActivate(_route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n if (this.auth.isAuthenticated()) {\n let securityRoles = _route.data.securityRoles ? _route.data.securityRoles as Role[] : [];\n if (securityRoles.length > 0) {\n for (let role of securityRoles) \n if (this.auth.currentUser.isInRole(role))\n return true;\n\n //this.alert.error('test');\n this.router.navigate(['/login'], { queryParams: { returnUrl: state.url } });\n //this.router.navigate(['/login']);\n return false;\n }\n return true;\n }\n\n //todo: check if the return url is ar or en only, should skip\n this.router.navigate(['/login'], { queryParams: { returnUrl: state.url } });\n return false;\n }\n}","import { AuthService } from './auth.service';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpHandler, HttpRequest, HttpEvent } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { EndPoint } from '../models/enums/end-point';\nimport { environment } from 'src/environments/environment';\n\n\n@Injectable()\nexport class AuthInterceptor implements HttpInterceptor {\n constructor(private auth: AuthService) { }\n\n intercept(req: HttpRequest,\n next: HttpHandler): Observable> {\n\n const idToken = localStorage.getItem(\"jwt_token;\" + environment.apiBaseUrl);\n\n if (idToken && !this.auth.isTokenExpired() && req.url.indexOf(`${environment.apiBaseUrl}/${EndPoint.AUTH}`) == -1) {\n const cloned = req.clone({\n headers: req.headers.set(\"Authorization\", \"Bearer \" + idToken)\n });\n //var decoded = jwt_decode(idToken);\n return next.handle(cloned);\n }\n else {\n AuthService.authActivity.next(false);\n return next.handle(req);\n }\n }\n}\n\n/** Http interceptor providers in outside-in order */\nexport const httpInterceptorProviders = [\n { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true },\n];","import * as moment from \"moment\";\nimport { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { tap, shareReplay } from 'rxjs/operators'\nimport { Subject } from 'rxjs';\nimport jwt_decode from 'jwt-decode';\nimport { Language } from '../models/enums/language';\nimport { EndPoint } from '../models/enums/end-point';\nimport { Role } from '../models/enums/role';\nimport { Login } from '../models/login';\nimport { AccountType } from '../models/enums/account-type';\nimport { environment } from \"src/environments/environment\";\n// import { AppConfig } from '../services/app-config.service';\n//import * as AppConfig from '../../../assets/config.json';\n\n// export interface JwtToken {\n// id: string,\n// username: string,\n// user_titles: string[],\n// account_id: number,\n// account_titles: string[],\n// account_type_id: number,\n// account_type_titles: string[],\n// rol: string[],\n// exp: number,\n// }\n\nconst httpOptions = {\n headers: new HttpHeaders({\n \"Content-Type\": \"application/json\",\n // \"Accept\": \"application/json\",\n \"Accept\": \"*/*\",\n \"Authorization\": \"\"\n }),\n body: {},\n responseType: \"json\",\n observe: \"body\",\n withCredentials: false,\n reportProgress: false,\n params: null\n};\nclass HttpOptions {\n headers?: HttpHeaders | { [header: string]: string | string[]; };\n observe?: \"body\";\n params?: HttpParams | { [param: string]: string | string[]; };\n reportProgress?: boolean;\n responseType?: \"json\";\n withCredentials?: boolean;\n}\n\n\n\nexport interface JwtToken {\n userId: string,\n isSystemAccount: boolean,\n isAdministrator: boolean,\n username: string,\n userTitles: string[],\n accountId: number,\n parentAccountId?: number,\n accountTitles: string[],\n accountTypeId: number,\n accountTypeTitles: string[],\n claimsCountries: number[],\n //isClaimsApplicable: boolean,\n roles: number[],\n expiry: number,\n intLicenseAllowedValidity: number,\n isInRole: (role: Role) => boolean,\n isInAnyOfRoles: (roles: Role[]) => boolean\n}\n\n@Injectable()\nexport class AuthService {\n lang: Language;\n static authActivity = new Subject();\n static userMeta = new Subject<{ id: any, name: any, avatar: any }>();\n\n constructor(private http: HttpClient) {\n this.lang = Language.Arabic;// translate.currentLang == 'en' ? Language.English : Language.Arabic;\n }\n\n login(login: Login) {\n return this.http.post(`${environment.apiBaseUrl}/${EndPoint.AUTH}`, login)\n .pipe(tap(res => this.setSession(res)), shareReplay()).toPromise();\n }\n\n forgotPassword(recoverPassword: { email: string }) {\n return this.http.post(`${environment.apiBaseUrl}/${EndPoint.FORGOT_PASSWORD}`, recoverPassword).toPromise();\n }\n\n resetPassword(resetPassword: { id: string, token: string, password: string }) {\n return this.http.post(`${environment.apiBaseUrl}/${EndPoint.RESET_PASSWORD}`, resetPassword).toPromise();\n }\n\n private setSession(authResult) {\n const expiresAt = moment(authResult.expiry);\n\n localStorage.setItem('jwt_token;' + environment.apiBaseUrl, authResult.token);\n localStorage.setItem('expires_at;' + environment.apiBaseUrl, JSON.stringify(expiresAt.valueOf()));\n AuthService.authActivity.next(true);\n }\n\n static logout() {\n localStorage.removeItem('jwt_token;' + environment.apiBaseUrl);\n localStorage.removeItem('expires_at;' + environment.apiBaseUrl);\n AuthService.authActivity.complete();\n window.location.href = \"/\";\n }\n\n get currentUser(): JwtToken {\n const token = localStorage.getItem('jwt_token;' + environment.apiBaseUrl);\n\n //console.log(dToken[\"http://schemas.microsoft.com/ws/2008/06/identity/claims/role\"])\n if (token) {\n const dToken = jwt_decode(token);\n // console.log(dToken);\n // console.log(typeof dToken[\"claims_countries\"])\n //console.log(typeof dToken[\"http://schemas.microsoft.com/ws/2008/06/identity/claims/role\"]);\n return {\n userId: dToken[\"id\"],\n isSystemAccount: dToken[\"is_system_account\"] == \"True\",\n isAdministrator: dToken[\"is_administrator\"] == \"True\",\n username: dToken[\"username\"],\n userTitles: <[]>dToken[\"user_titles\"],\n accountId: dToken[\"account_id\"],\n parentAccountId: dToken[\"parent_account_id\"],\n accountTitles: <[]>dToken[\"account_titles\"],\n accountTypeId: dToken[\"account_type_id\"],\n claimsCountries: (typeof dToken[\"claims_countries\"] == \"object\" ?\n <[]>dToken[\"claims_countries\"]\n : [dToken[\"claims_countries\"]]).map(r => Number(r)),\n //isClaimsApplicable: dToken[\"is_c_applicable\"] == \"True\",\n intLicenseAllowedValidity: Number(dToken[\"intlicense_allowed_vyears\"]),\n accountTypeTitles: <[]>dToken[\"account_type_titles\"],\n roles: typeof dToken[\"http://schemas.microsoft.com/ws/2008/06/identity/claims/role\"] == \"object\" ?\n (<[]>dToken[\"http://schemas.microsoft.com/ws/2008/06/identity/claims/role\"]).map(r => Number(r))\n : [dToken[\"http://schemas.microsoft.com/ws/2008/06/identity/claims/role\"]],\n isInRole: (role: Role) => this.currentUser.roles.indexOf(role) > -1 /*additional URO rule*/ && (role != Role.ACCOUNTS_READ || this.currentUser.accountTypeId != AccountType.ReleaseCenter),\n isInAnyOfRoles: (roles: Role[]) => this.currentUser.roles.some(x => roles.includes(x)),\n expiry: dToken[\"exp\"]\n }\n }\n return null;\n //return _token ? jwt_decode(_token) as JwtToken : null;\n }\n\n // get userId() {\n // return this.token ? this.token.id : null;\n // }\n\n // get userTitles() {\n // return this.token ? this.token.user_titles : ['', ''];\n // }\n\n // get username() {\n // return this.token ? this.token.username : null;\n // }\n\n // get accountId() {\n // return this.token ? this.token.account_id : null;\n // }\n\n // get accountTypeId() {\n // return this.token ? this.token.account_type_id : null;\n // }\n\n // get accountTypeTitles() {\n // return this.token ? this.token.account_type_titles : ['', ''];\n // }\n\n // get isSystemAccount() {\n // //todo: retrive value from token\n // return this.accountId == 1;\n // }\n\n // get accountTitles() {\n // return this.token ? this.token.account_titles : ['', ''];\n // }\n\n // get roles() {\n // return this.token ?\n // (<[]>this.token[\"http://schemas.microsoft.com/ws/2008/06/identity/claims/role\"]).map(r => Number(r))\n // : [];\n // }\n\n public isAuthenticated() {\n return moment().isBefore(this.getExpiration());\n }\n\n // public isInRole(role: Role) {\n // return this.token.roles.indexOf(role) > -1;\n // // return this.roles.indexOf(role) > -1;\n // }\n\n isLoggedOut() {\n return !this.isAuthenticated();\n }\n\n getExpiration() {\n const expiration = localStorage.getItem(\"expires_at;\" + environment.apiBaseUrl);\n const expiresAt = JSON.parse(expiration);\n return moment(expiresAt);\n }\n\n isTokenExpired() {\n return this.getExpiration() <= moment();\n }\n}","import { Component, OnInit } from '@angular/core';\nimport * as moment from 'moment';\n\n@Component({\n selector: 'mac-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent implements OnInit {\n\n year: string;\n constructor() { }\n\n ngOnInit() {\n this.year = moment().format('YYYY');\n }\n\n}\n","import { TranslateService } from '@ngx-translate/core';\nimport { AuthService } from './../../auth/auth.service';\nimport { Component, OnInit } from '@angular/core';\nimport { LoadingService } from 'src/app/shared/services/loading';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Language } from '../../models/enums/language';\nimport { NgZone } from \"@angular/core\";\n\n@Component({\n selector: 'mac-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss']\n})\nexport class HeaderComponent implements OnInit {\n lang: Language = Language.Arabic;\n loading: boolean = false;\n //DeterminateLoading: { status: boolean, value: number } = { status: false, value: 0 };\n authenticated: boolean;\n\n\n get Language() {\n return Language;\n }\n\n switchLangEnabled = true;\n\n constructor(private router: Router,\n private route: ActivatedRoute,\n private loader: LoadingService,\n private zone: NgZone,\n public authService: AuthService,\n public translate: TranslateService) {\n\n this.authenticated = this.authService.isAuthenticated();\n AuthService.authActivity.subscribe(loggedin => this.authenticated = loggedin);\n }\n\n ngOnInit() {\n this.translate.onLangChange.subscribe(_lang => this.lang = _lang.lang == 'en' ? Language.English : Language.Arabic);\n this.switchLangEnabled = window.location.href.indexOf('/verify/') == -1;\n }\n\n toggleLang() {\n if (this.router.url.indexOf('/login') > - 1) {\n this.translate.use(this.translate.currentLang == 'ar' ? 'en' : 'ar');\n } else {\n const url = this.router.url.split('/');\n ////console.log(url);\n url[1] = this.translate.currentLang == 'ar' ? 'en' : 'ar';\n //this.router.navigate(url);\n //url[0] = \"/\";\n const _url = url.join('/');\n ////console.log(_url);\n this.router.initialNavigation();\n //todo: check why component doesn't reload with language change\n //this.router.navigate(url);\n\n window.location.href = _url;\n\n // this.zone.run(() => {\n // this.router.navigate([_url], { skipLocationChange: true });\n // });\n }\n\n }\n}\n","import { AuthService } from './../../auth/auth.service';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DOCUMENT } from '@angular/common';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { AlertService } from 'src/app/shared/services/alert.service';\n\n@Component({\n selector: 'mac-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss']\n})\nexport class LoginComponent implements OnInit {\n styleLoading: boolean;\n form: FormGroup;\n error: any;\n\n constructor(private auth: AuthService,\n @Inject(DOCUMENT) private document: Document,\n private translate: TranslateService,\n private route: ActivatedRoute,\n private router: Router,\n private loader: LoadingService,\n private fb: FormBuilder) {\n\n\n this.translate.setDefaultLang('ar');\n this.translate.get(\"last.dummy\");\n LoadingService.style.next(false);\n }\n\n private loadStyle(lang: string) {\n\n const head = this.document.getElementsByTagName('head')[0];\n const body = this.document.getElementsByTagName('body')[0];\n\n body.setAttribute('dir', lang == 'ar' ? 'rtl' : 'ltr');\n const styleFileName = lang == 'ar' ? 'bootstrap-rtl.css' : 'bootstrap.css';\n let themeLink = this.document.getElementById('bootstrap') as HTMLLinkElement;\n if (themeLink) {\n themeLink.href = styleFileName;\n } else {\n const style = this.document.createElement('link');\n style.id = 'bootstrap';\n style.rel = 'stylesheet';\n style.href = styleFileName;\n //will be always overriden by global styles.scss\n head.prepend(style);\n }\n }\n\n ngOnInit() {\n //AuthService.logout();\n\n this.formInit();\n this.translate.get(\"last.dummy\");\n\n //this.translate.use('ar');\n this.translate.onLangChange.subscribe(l => {\n //this.loader.load(null);\n this.loadStyle(l.lang);\n // this.loader.load(null, false);\n });\n\n // this.loader.styleLoading.subscribe(status => {\n // this.styleLoading = status;\n // });\n\n LoadingService.style.subscribe(status => {\n this.styleLoading = status;\n });\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.loader.load(LoaderType.Nav, false);\n //LoadingService.style.next(false);\n }, 500);\n\n //this.loader.load(null, false);\n }\n\n onSubmit() {\n this.error = null;\n\n if (!this.form.valid)\n return Utils.validateAllFormFields(this.form);\n\n this.loader.load(LoaderType.Nav);\n this.form.disable();\n\n this.auth.login(this.form.value)\n .then(result => {\n LoadingService.style.next(true);\n \n this.route.snapshot.queryParamMap.get('returnUrl') ?\n this.router.navigateByUrl(this.route.snapshot.queryParamMap.get('returnUrl'))\n : this.router.navigate(['/', this.translate.currentLang ? this.translate.currentLang : 'ar']);\n })\n .catch(e => {\n this.form.enable();\n if (e instanceof HttpErrorResponse) {\n if (e.status == 400) {\n this.error = e.error.login ? e.error.login[0] : null;\n } else\n this.error = \"_MESSAGE_SERVER_ERROR\";\n }\n })\n .finally(() => this.loader.load(LoaderType.Nav, false));\n }\n\n private formInit() {\n this.form = this.fb.group({\n username: ['', Validators.required],\n password: ['', Validators.required],\n rememberMe: [false]\n });\n }\n}\n","import { ActivatedRoute, Router, NavigationEnd } from '@angular/router';\nimport { Component, OnInit, ViewChild, ElementRef, Renderer2, Inject, ChangeDetectionStrategy } from '@angular/core';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { MatSidenavContent } from '@angular/material/sidenav';\nimport { SidenavService } from '../../services/sidenav.service';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DOCUMENT } from '@angular/common';\nimport { Title } from '@angular/platform-browser';\nimport { BreadcrumbService } from 'src/app/shared/services/breadcrumb.service';\nimport { filter, map } from 'rxjs/operators';\nimport { AuthService } from '../../auth/auth.service';\n\n@Component({\n selector: 'mac-main',\n templateUrl: './main.component.html',\n styleUrls: ['./main.component.scss'],\n //changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MainComponent implements OnInit {\n opened: boolean = true;\n mobileView: boolean = false;\n navLoading: boolean = true;\n bodyLoading: boolean;\n styleLoading: boolean;\n\n @ViewChild('sidenav') sidenav;\n @ViewChild('content') content: MatSidenavContent;\n\n constructor(private renderer: Renderer2,\n @Inject(DOCUMENT) private document: Document,\n private elm: ElementRef,\n private sidenavService: SidenavService,\n private loader: LoadingService,\n private route: ActivatedRoute,\n private translate: TranslateService,\n private router: Router,\n private titleService: Title,\n private breadcrumbService: BreadcrumbService,\n private auth: AuthService) {\n\n var ua = navigator.userAgent;\n\n if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Mobile|mobile|CriOS/i.test(ua))\n this.mobileView = true;\n\n this.opened = !this.mobileView;\n this.translate.setDefaultLang('ar');\n this.translate.use(route.snapshot.paramMap.get('lang'));\n\n ////console.log('router navigated:', this.router.navigated);\n\n //if(!this.router.navigated)\n this.styleLoading = true;\n // //todo: fix glitch happens when requesting /en directly\n\n //LoadingService.style.next(true);\n // this.loader.load(null);\n // if (this.translate.currentLang == 'en') {\n // //setTimeout(() => {\n // this.loadStyle(this.translate.currentLang);\n // this.loader.load(null, false);\n // //}, 1000);\n // }\n }\n\n private loadStyle(lang: string) {\n const head = this.document.getElementsByTagName('head')[0];\n const body = this.document.getElementsByTagName('body')[0];\n\n body.setAttribute('dir', lang == 'ar' ? 'rtl' : 'ltr');\n const styleFileName = lang == 'ar' ? 'bootstrap-rtl.css' : 'bootstrap.css';\n let themeLink = this.document.getElementById('bootstrap') as HTMLLinkElement;\n //if (themeLink) {\n themeLink.href = styleFileName;\n }\n\n ngAfterViewInit() {\n //this.loader.load(null, false);\n // LoadingService.style.next(false);\n }\n\n getAccountType() {\n const prefix = 'ACC_TITLE_ACCOUNTS_';\n\n if (this.auth.currentUser.accountTypeId == 1 && this.auth.currentUser.isSystemAccount)\n return prefix + \"BRANCHES\";\n\n if (this.auth.currentUser.accountTypeId == 1)\n return prefix + \"AGENTS\";\n\n if (this.auth.currentUser.accountTypeId == 2)\n return prefix + \"DISTRIBUTORS\";\n\n return prefix + \"SUB_DISTRIBUTORS\";\n }\n\n ngOnInit() {\n\n this.router\n .events.pipe(\n filter(event => event instanceof NavigationEnd),\n map(() => {\n ////console.log('ev');\n let _titles = [];\n let _titlesLinks: string[][] = [];\n let child = this.route;\n let _path = '/';\n let level = 0;\n\n const _lang = child.snapshot.paramMap.get('lang');\n if (this.translate.currentLang != _lang)\n this.translate.use(_lang);\n\n if (this.router.url == `/${this.translate.currentLang}/`) {\n _titles.push(this.translate.instant(child.snapshot.firstChild.data['title']));\n } else if (this.router.url == '/login') {\n _titles.push(this.translate.instant(child.snapshot.data['title']));\n }\n else {\n while (child.firstChild) {\n child = child.firstChild;\n if (child.snapshot.data['title']) {\n\n let title =\n child.snapshot.data['title'] == \"ACC_TITLE_ACCOUNTS\" ?\n this.getAccountType()\n : child.snapshot.data['title'];\n\n if (level <= 1)\n _titles.push(this.translate.instant(title));\n\n const root = level == 0 && !child.snapshot.url[0];\n\n _path += root ? '' : child.snapshot.url[0] + '/';\n _titlesLinks.push([root ? '_APP_HOME' : title, _path]);\n }\n level++;\n }\n }\n this.breadcrumbService.setLinks(_titlesLinks);\n return _titles.join(' | ');\n })\n ).subscribe((ttl: string) => {\n this.titleService.setTitle(ttl);\n });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n //todo: fix glitch happens when requesting /en directly\n // if (this.translate.currentLang == 'en') {\n // //this.loader.load(null);\n // setTimeout(() => {\n // this.loadStyle(this.translate.currentLang);\n // this.loader.load(null, false);\n // }, 1000);\n // }\n ////console.log(this.translate.currentLang);\n if (this.translate.currentLang == 'en')\n this.loadStyle(this.translate.currentLang);\n setTimeout(() => {\n LoadingService.style.next(false);\n }, 500);\n\n this.translate.onLangChange.subscribe(t => {\n ////console.log('sub', t, this.translate.currentLang);\n //const _lang = t.lang;\n // if (this.translate.currentLang != _lang) {\n\n //this.loader.load(null);\n LoadingService.style.next(true);\n setTimeout(() => {\n //this.translate.use(_lang);\n this.loadStyle(this.translate.currentLang);\n //this.loader.load(null, false);\n setTimeout(() => {\n LoadingService.style.next(false);\n }, 250);\n\n }, 1000);\n // }\n // else {\n // this.loader.load(null, false);\n // }\n });\n\n // this.route.params.subscribe(params => {\n // const _lang = params.lang;\n // const _lang = this.route.snapshot.paramMap.get('lang');\n // this.translate.use(_lang);\n // //if (this.translate.currentLang != _lang) {\n // this.loader.load(null);\n // setTimeout(() => {\n // this.translate.use(_lang);\n // this.loadStyle(_lang);\n // this.loader.load(null, false);\n // }, 1000);\n // }\n // else {\n // this.loader.load(null, false);\n // }\n // });\n\n // this.loader.styleLoading.subscribe(status => {\n // this.styleLoading = status;\n // });\n LoadingService.style.subscribe(status => {\n ////console.log('new style', status);\n this.styleLoading = status;\n });\n\n this.loader.navLoading.subscribe(status => {\n this.navLoading = status;\n });\n\n this.loader.bodyLoading.subscribe(status => {\n this.bodyLoading = status;\n });\n }\n\n navToggle() {\n this.sidenav.toggle();\n\n const elm = this.content.getElementRef().nativeElement;\n if (elm.classList.value.indexOf('mat-drawer-opened') > -1) {\n this.sidenavService.opened.next(false);\n this.renderer.removeClass(elm, 'mat-drawer-opened');\n } else {\n this.sidenavService.opened.next(true);\n this.renderer.addClass(elm, 'mat-drawer-opened');\n }\n }\n}\n","import { AuthService } from '../../auth/auth.service';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DOCUMENT } from '@angular/common';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { comparePasswords } from 'src/app/shared/services/custom-validators';\nimport { DefaultAlertAction } from 'src/app/shared/models/default-alert-action';\n\n@Component({\n selector: 'mac-recover-password',\n templateUrl: './recover-password.component.html',\n styleUrls: ['./recover-password.component.scss']\n})\nexport class RecoverPasswordComponent implements OnInit {\n styleLoading: boolean;\n form: FormGroup;\n //error: any;\n //success: any;\n view: 'RECOVER' | 'RESET';\n userId: string;\n token: string;\n\n get email() { return this.form.get('email'); };\n get password() { return this.form.get('pass.password'); };\n get passwordConfirm() { return this.form.get('pass.passwordConfirm'); };\n\n constructor(private auth: AuthService,\n @Inject(DOCUMENT) private document: Document,\n private translate: TranslateService,\n private route: ActivatedRoute,\n private alert: AlertService,\n private router: Router,\n private loader: LoadingService,\n private fb: FormBuilder) {\n\n\n this.translate.setDefaultLang('ar');\n this.translate.get(\"last.dummy\");\n LoadingService.style.next(false);\n }\n\n private loadStyle(lang: string) {\n\n const head = this.document.getElementsByTagName('head')[0];\n const body = this.document.getElementsByTagName('body')[0];\n\n body.setAttribute('dir', lang == 'ar' ? 'rtl' : 'ltr');\n const styleFileName = lang == 'ar' ? 'bootstrap-rtl.css' : 'bootstrap.css';\n let themeLink = this.document.getElementById('bootstrap') as HTMLLinkElement;\n if (themeLink) {\n themeLink.href = styleFileName;\n } else {\n const style = this.document.createElement('link');\n style.id = 'bootstrap';\n style.rel = 'stylesheet';\n style.href = styleFileName;\n //will be always overriden by global styles.scss\n head.prepend(style);\n }\n }\n\n ngOnInit() {\n //AuthService.logout();\n this.userId = this.route.snapshot.queryParamMap.get('id');\n this.token = this.route.snapshot.queryParamMap.get('token');\n\n //console.log(this.userId, this.token);\n\n if (!this.userId || !this.token) {\n this.view = 'RECOVER'\n this.form = this.fb.group({\n email: ['', [Validators.required, Validators.email]]\n });\n } else {\n //console.log(this.token.trim().replace(/\\s/g, ''))\n this.view = 'RESET';\n this.form = this.fb.group({\n pass: this.fb.group({\n password: ['', [Validators.required, Validators.minLength(6)]], //todo: regex for password pattern\n passwordConfirm: ['']\n },\n { validator: comparePasswords })\n });\n }\n\n this.translate.get(\"last.dummy\");\n\n //this.translate.use('ar');\n this.translate.onLangChange.subscribe(l => {\n //this.loader.load(null);\n this.loadStyle(l.lang);\n // this.loader.load(null, false);\n });\n\n // this.loader.styleLoading.subscribe(status => {\n // this.styleLoading = status;\n // });\n\n LoadingService.style.subscribe(status => {\n this.styleLoading = status;\n });\n\n\n\n\n }\n\n // resetForm: FormGroup;\n // recoverForm: FormGroup;\n\n\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.loader.load(LoaderType.Nav, false);\n //LoadingService.style.next(false);\n }, 500);\n\n //this.loader.load(null, false);\n }\n\n onSubmit() {\n //this.error = null;\n //const form = this.view == 'RECOVER' ? this.recoverForm : this.resetForm;\n\n if (!this.form.valid)\n return Utils.validateAllFormFields(this.form);\n\n this.loader.load(LoaderType.Nav);\n this.form.disable();\n\n if (this.view == 'RECOVER') {\n this.auth.forgotPassword(this.form.value)\n .then(result => {\n //console.log(result);\n //LoadingService.style.next(true);\n if (result) {\n this.alert.success('SEC_ALERT_PASSWORD_RECOVERY_REQUEST', false);\n // setTimeout(() => {\n // //redirect to login\n // this.router.navigate(['/', this.translate.currentLang ? this.translate.currentLang : 'ar']);\n // }, 1000);\n } else {\n this.alert.failure('_MESSAGE_CANNOT_PROCESS', false);\n this.form.enable();\n }\n })\n .catch(e => {\n this.alert.failure('_MESSAGE_CANNOT_PROCESS', false);\n this.form.enable();\n // this.error = '_MESSAGE_ALERT_ERROR';\n })\n .finally(() => this.loader.load(LoaderType.Nav, false));\n }\n else {\n this.auth.resetPassword({ id: this.userId, token: this.token.trim().replace(/\\s/g, '+'), password: this.password.value })\n .then(result => {\n //console.log(result);\n if (result) {\n this.alert.success('_ACTION_RESETTING');\n setTimeout(() => {\n //redirect to login\n this.router.navigate(['/', this.translate.currentLang ? this.translate.currentLang : 'ar']);\n }, 1000);\n } else {\n this.alert.failure('_MESSAGE_CANNOT_PROCESS', false);\n this.form.enable();\n }\n }).catch(e => {\n this.alert.failure('_MESSAGE_CANNOT_PROCESS', false);\n this.form.enable();\n //this.error = '_MESSAGE_CANNOT_PROCESS';\n })\n .finally(() => this.loader.load(LoaderType.Nav, false));\n }\n }\n\n\n\n\n}\n","import { TranslateService } from '@ngx-translate/core';\nimport { Component, OnInit, ElementRef, Renderer2 } from '@angular/core';\nimport { AuthService } from '../../auth/auth.service';\nimport { Router } from '@angular/router';\nimport { SidenavService } from '../../services/sidenav.service';\nimport { UsersService } from 'src/app/features/security/services/users.service';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { AccountType } from '../../models/enums/account-type';\nimport { EndPoint } from '../../models/enums/end-point';\n\n@Component({\n selector: 'mac-sidenav',\n templateUrl: './sidenav.component.html',\n styleUrls: ['./sidenav.component.scss'],\n providers: [UsersService]\n})\nexport class SidenavComponent implements OnInit {\n\n constructor(public auth: AuthService,\n public router: Router,\n private elm: ElementRef,\n private renderer: Renderer2,\n private service: SidenavService,\n private userService: UsersService,\n public translate: TranslateService) {\n this.user = { name: '', avatar: this.defaultAvatar }\n }\n\n get Role() {\n return Role;\n }\n\n get AccountType() {\n return AccountType;\n }\n\n get EndPoint() { return EndPoint; };\n\n defaultAvatar = 'assets/images/user.svg';\n opened: boolean = true;\n user: {\n name: string;\n avatar: string;\n };\n\n getAccountType() {\n const prefix = 'ACC_TITLE_ACCOUNTS_';\n\n if (this.auth.currentUser.accountTypeId == 1 && this.auth.currentUser.isSystemAccount)\n return prefix + \"BRANCHES\";\n\n if (this.auth.currentUser.accountTypeId == 1)\n return prefix + \"AGENTS\";\n\n if (this.auth.currentUser.accountTypeId == 2)\n return prefix + \"DISTRIBUTORS\";\n\n return prefix + \"SUB_DISTRIBUTORS\";\n }\n\n ngOnInit() {\n //console.warn(this.getAccountType());\n ////console.log(this.auth.accountTypeId);\n ////console.log(this.auth.accountTypeId == AccountType.ReleaseCenter);\n AuthService.userMeta.subscribe(u => {\n ////console.log(u);\n this.user.name = u.name;\n this.user.avatar = u.avatar ? u.avatar : this.defaultAvatar;\n });\n\n this.userService.getUserMeta().then(u => {\n //this.user.name = u.name;\n //this.user.avatar = u.avatar ? `data:image/png;base64,${u.avatar}` : this.defaultAvatar;\n const _avatar = u.avatar ? `data:image/png;base64,${u.avatar}` : this.defaultAvatar;\n AuthService.userMeta.next({ id: u.id, name: u.name, avatar: _avatar });\n });\n\n this.service.opened.subscribe(o => {\n this.opened = o;\n if (!this.opened) {\n let slib = this.elm.nativeElement.querySelectorAll('.cont');\n slib.forEach(element => {\n if (element.classList.contains('show'))\n this.renderer.removeClass(element, 'show');\n });\n }\n });\n }\n\n ngAfterViewInit() {\n const links = this.elm.nativeElement.querySelectorAll('.nav-item');\n links.forEach(link => {\n link.addEventListener('click', this.linkClick.bind(this));\n });\n\n }\n\n linkClick(event) {\n if (!this.opened) {\n let slib = this.elm.nativeElement.querySelectorAll('.cont');\n slib.forEach(element => {\n if (element.classList.contains('show'))\n this.renderer.removeClass(element, 'show');\n });\n }\n }\n\n\n logout() {\n AuthService.logout();\n //window.location.href = \"/\";\n }\n\n displayContext(event, id) {\n if (!this.opened) {\n let elm = this.elm.nativeElement.querySelector('#' + id);\n if (event.type != 'mouseleave')\n if (!elm.classList.contains('show')) {\n //make sure all other menus are closed\n let slib = this.elm.nativeElement.querySelectorAll('.cont');\n slib.forEach(element => {\n if (element.classList.contains('show'))\n this.renderer.removeClass(element, 'show');\n });\n this.renderer.addClass(elm, 'show');\n }\n\n else\n this.renderer.removeClass(elm, 'show');\n }\n }\n}\n","export enum AccountType {\n PrintingPress = -2, //virtual types\n PrimaryStock = -1, //virtual types\n \n Branch = 1,\n Agent = 2,\n Distributor = 3,\n SubDistributor = 4,\n ReleaseCenter = 5\n}","export enum BloodGroup {\n A_pos = 'A+',\n A_neg = 'A-',\n AB_pos = 'AB+',\n AB_neg = 'AB-',\n B_pos = 'B+',\n B_neg = 'B-',\n O_pos = 'O+',\n O_neg = 'O-'\n}","export enum ConfigObject {\n VehicleUpholsteryTypes = 1,\n VehicleOptions,\n VehicleSeatsCountRange,\n VehicleManufactureYearRange,\n VehicleCylindersCountRange,\n VehicleSpareTiresCountOptions,\n IntLicenseMaxPrintLimit,\n TripTikMaxPrintLimit,\n TripTikPrintEmptyValue\n}","export enum _DocumentType {\n DrivingLicense = 1,\n TripTikDocument = 2\n}","export enum EndPoint {\n //__BASE_URL = 'https://localhost:44349',\n //__BASE_URL = \"https://api-sys.mac.org.sa\",\n // __BASE_URL = \"https://api-stg.mac.org.sa\",\n AUTH = \"security/auth\",\n FORGOT_PASSWORD = \"security/forgot-password\",\n RESET_PASSWORD = \"security/reset-password\",\n CONFIG = \"config\",\n UPLOADS = \"uploads\",\n ASYNC_VALIDATION = \"validation/validate\",\n STATISTICS_ISSUINGS_PER_MONTH = \"statistics/issuings-per-month\",\n COUNTRIES = \"lookups/countries\",\n CITIES = \"lookups/cities\",\n VEHICLE_COLORS = \"lookups/vehicle-colors\",\n VEHICLE_MAKES = \"lookups/vehicle-makes\",\n VEHICLE_MODELS = \"lookups/vehicle-models\",\n VEHICLE_TYPES = \"lookups/vehicle-types\",\n ACCOUNT_TYPES = \"lookups/account-types\",\n CURRENCIES = \"lookups/currencies\",\n CUSTOMS_PORTS = \"lookups/customs-ports\",\n TRIPTIK_CLAIMS_PURSUING_ZONES = \"lookups/pursuing-zones\",\n TRIPTIK_CLAIMS_STATUSES = \"lookups/trip-tik-claims-statuses\",\n TRIPTIK_CLAIMS_STATUSES_BASE = \"lookups/trip-tik-claims-statuses/base\",\n ACCOUNT_TYPES_ALLOWED = \"lookups/account-types/allowed\",\n ACCOUNT_STATUSES = \"lookups/account-statuses\",\n STOCK_TYPES = \"lookups/stock-types\",\n STOCK_TYPES_ALLOWED = \"lookups/stock-types/allowed\",\n STOCK_TYPES_URO = \"lookups/stock-types/uro\",\n ACCOUNTS = \"accounts\",\n ACCOUNTS_BY_ACCOUNT_TYPE = \"accounts/by-type\",\n ACCOUNTS_CHILDREN = \"accounts/children\",\n ACCOUNTS_CHILDREN_LOOKUP = \"accounts/children/lookup\",\n SECURITY_GROUPS = \"security/groups\",\n SECURITY_GROUPS_LOOKUP = \"security/groups/lookup\",\n SECURITY_ROLES = \"security/roles\",\n SECURITY_USERS = \"security/users\",\n SECURITY_USERS_GROUPS = \"security/users/groups\",\n SECURITY_USER = \"security/user\",\n SECURITY_USER_META = \"security/user/meta\",\n SECURITY_USER_PROFILE = \"security/user/profile\",\n SECURITY_CLAIMS_APPLICABLE = \"security/claims-applicable\",\n STOCKS_TRANSACTIONS = \"stocks/transactions\",\n STOCKS_TRANSACTIONS_SEARCH = \"stocks/transactions/search\",\n STOCKS_TOTALS = \"stocks/totals\",\n STOCKS_UNDO_REQUESTS = \"stocks/undo/requests\",\n STOCKS_AVAILABLE = \"stocks/available\",\n STOCKS_SYSTEM_AVAILABLE = \"stocks/system-available\",\n STOCKS_TRANSACT = \"stocks/transact\",\n STOCKS_POPULATE = \"stocks/populate\",\n STOCKS_DEPOPULATE = \"stocks/depopulate\",\n STOCKS_UNDO_TRY = \"stocks/undo/try\",\n STOCKS_UNDO_CANCEL = \"stocks/undo/cancel\",\n STOCKS_UNDO_RESOLVE = \"stocks/undo/resolve\",\n ISSUING_VERIFY = \"issuing/verify\",\n ISSUING_REVOKE_REQUESTS = \"issuing/revoke/requests\",\n ISSUING_REVOKE_TRY = \"issuing/revoke/try\",\n ISSUING_REVOKE_CANCEL = \"issuing/revoke/cancel\",\n ISSUING_REVOKE_RESOLVE = \"issuing/revoke/resolve\",\n // ISSUING_EXPIRED_DOCUMENTS_QUERY = \"issuing/expired\",\n ISSUING_ISSUED_DOCUMENTS_QUERY = \"issuing/query\",\n ISSUING_DOCUMENT_CANCEL = \"issuing/cancel\",\n INT_lICENSE = \"int-licenses\",\n INT_lICENSE_GET_BY_HASHED_SERIAL = \"int-licenses/hash\",\n INT_lICENSE_PRINT = \"int-licenses/print\",\n INT_lICENSE_SEARCH = \"int-licenses/search\",\n TRIPTIK = \"trip-tiks\",\n TRIPTIK_GET_BY_HASHED_SERIAL = \"trip-tiks/hash\",\n TRIPTIK_SEARCH = \"trip-tiks/search\",\n TRIPTIK_PRINT = \"trip-tiks/print\",\n TRIPTIK_CLAIMS = \"trip-tiks/claims\",\n TRIPTIK_CLAIMS_SEARCH = \"trip-tiks/claims/search\",\n TRIPTIK_CLAIMS_LOGS = \"trip-tiks/claims/logs\",\n TRIPTIK_CLAIMS_LOGS_SEARCH = \"trip-tiks/claims/logs/search\",\n TRIPTIK_CLAIMS_ATTACHMENTS = \"trip-tiks/claims/attachments\"\n\n // VALIDATION_USERS_USERNAME = '',\n // VALIDATION_ACCOUNTS_ACCOUNT_TITLE = ''\n}\n","export enum Gender {\n Male = 1,\n Female = -1\n}","export enum Language {\n Arabic = 0,\n English = 1\n}","export enum IntLicensePermitClass {\n A = 'A',\n B = 'B',\n C = 'C',\n D = 'D',\n E = 'E'\n}\n","export enum PrintObject {\n TriptikReceipt = -1,\n IntLicenseCommitment = 0,\n IntLicenseCard = 1,\n IntLicenseSticker = 2,\n TripTikFrontCover = 3,\n TripTikInnerPages = 4,\n TripTikBackCover = 5\n}","// export enum Role {\n// LOOKUPS_CREATE, //system\n// LOOKUPS_READ ,\n// LOOKUPS_UPDATE, //system\n// LOOKUPS_DELETE, //system\n// ACCOUNTS_CREATE,\n// ACCOUNTS_READ,\n// ACCOUNTS_UPDATE,\n// ACCOUNTS_DELETE,\n// USERS_CREATE,\n// USERS_READ,\n// USERS_UPDATE,\n// USERS_DELETE,\n// SECURITY_GROUPS_CREATE,\n// SECURITY_GROUPS_READ,\n// SECURITY_GROUPS_UPDATE,\n// SECURITY_GROUPS_DELETE,\n// USERS_SECURITY_GROUPS_READ,\n// USERS_SECURITY_GROUPS_UPDATE,\n// STOCKS_TRANSACTIONS_CREATE,\n// STOCKS_TRANSACTIONS_READ,\n// STOCKS_UNDO_REQUESTS_CREATE,\n// STOCKS_UNDO_REQUESTS_READ,\n// STOCKS_UNDO_REQUESTS_UPDATE,\n// STOCKS_UNDO_REQUESTS_DELETE,\n// SYSTEM_STOCKS_CREATE, //system\n// SYSTEM_STOCKS_READ, //system\n// SYSTEM_STOCKS_UPDATE, //system\n// SYSTEM_STOCKS_DELETE //system\n// }\n\n\nexport enum Role {\n LOOKUPS_CREATE = 11, //system\n LOOKUPS_READ = 12,\n LOOKUPS_UPDATE = 13, //system\n LOOKUPS_DELETE = 14, //system\n ACCOUNTS_CREATE = 21,\n ACCOUNTS_READ = 22,\n ACCOUNTS_UPDATE = 23,\n ACCOUNTS_DELETE = 24,\n USERS_CREATE = 31,\n USERS_READ = 32,\n USERS_UPDATE = 33,\n USERS_DELETE = 34,\n SECURITY_GROUPS_CREATE = 41,\n SECURITY_GROUPS_READ = 42,\n SECURITY_GROUPS_UPDATE = 43,\n SECURITY_GROUPS_DELETE = 44,\n USERS_SECURITY_GROUPS_READ = 52,\n USERS_SECURITY_GROUPS_UPDATE = 53,\n STOCKS_TRANSACTIONS_CREATE = 61,\n STOCKS_TRANSACTIONS_READ = 62,\n STOCKS_UNDO_REQUESTS_CREATE = 71,\n STOCKS_UNDO_REQUESTS_READ = 72,\n STOCKS_UNDO_REQUESTS_UPDATE = 73,\n STOCKS_UNDO_REQUESTS_DELETE = 74,\n SYSTEM_STOCKS_CREATE = 81, //system\n SYSTEM_STOCKS_READ = 82, //system\n SYSTEM_STOCKS_UPDATE = 83, //system\n SYSTEM_STOCKS_DELETE = 84, //system\n INT_LICENSES_CREATE = 91,\n INT_LICENSES_READ = 92,\n INT_LICENSES_UPDATE = 93,\n INT_LICENSES_DELETE = 94,\n INT_LICENSES_REVOKE_REQUESTS_CREATE = 101,\n INT_LICENSES_REVOKE_REQUESTS_READ = 102,\n INT_LICENSES_REVOKE_REQUESTS_UPDATE = 103,\n INT_LICENSES_REVOKE_REQUESTS_DELETE = 104,\n TRIPTIKS_CREATE = 111,\n TRIPTIKS_READ = 112,\n TRIPTIKS_UPDATE = 113,\n TRIPTIKS_DELETE = 114,\n TRIPTIKS_REVOKE_REQUESTS_CREATE = 121,\n TRIPTIKS_REVOKE_REQUESTS_READ = 122,\n TRIPTIKS_REVOKE_REQUESTS_UPDATE = 123,\n TRIPTIKS_REVOKE_REQUESTS_DELETE = 124,\n TRIPTIKS_CLAIMS_CREATE = 131,\n TRIPTIKS_CLAIMS_READ = 132,\n TRIPTIKS_CLAIMS_UPDATE = 133,\n // TRIPTIKS_CLAIMS_LOGS_READ = 142,\n // TRIPTIKS_CLAIMS_STATUS_UPDATE = 143,\n TRIPTIKS_CLAIMS_STATUS_UPDATE = 143,\n TRIPTIKS_CLAIMS_LOGS_READ = 152,\n GOMROK_NWEEBA = 153,\n}","export enum SystemObject {\n CITY,\n COUNTRY,\n VEHICLE_COLOR,\n VEHICLE_MAKE,\n STOCK_TYPE,\n ACCOUNT_STATUS,\n ACCOUNT_TYPE,\n ACCOUNT,\n USER,\n SECURITY_GROUP,\n}","export enum TransactionType {\n Depopulate = -2, //return main stock to supplier\n Return = -1,\n Issue = 0,\n Transfer = 1,\n Populate = 2, //fill main stock from supplier\n}","export enum TripTikClaimStatus {\n Active = 1,\n Closed = 2,\n Judicial = 3,\n BranchesFollowup = 4,\n Paid = 5,\n Stored = 6\n}","import { SystemObject } from './enums/system-object';\nimport { Language } from './enums/language';\n\nexport class ValidationDto {\n objectType: SystemObject;\n property: string;\n value: string;\n lang: Language;\n}","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class SidenavService{\n opened: Subject;\n constructor(){\n this.opened = new Subject();\n }\n}","import { Injectable } from '@angular/core';\nimport {DefaultUrlSerializer, RouterModule, Routes, UrlSegment, UrlSerializer, UrlTree} from '@angular/router';\n\n@Injectable()\nexport class UrlSerializerService {\n private defaultSerializer: DefaultUrlSerializer = new DefaultUrlSerializer();\n\n parse(url: string): UrlTree {\n\n // This is the custom patch where you'll collect segment containing '='\n const lastSlashIndex = url.lastIndexOf('/'), equalSignIndex = url.indexOf('=', lastSlashIndex);\n if (equalSignIndex > -1) { // url contians '=', apply patch\n const keyValArr = url.substr(lastSlashIndex + 1).split('=');\n const urlTree = this.defaultSerializer.parse(url);\n\n // Once you have serialized urlTree, you have two options to capture '=' part\n // Method 1. replace desired segment with whole \"key=val\" as segment\n urlTree.root.children['primary'].segments.forEach((segment: UrlSegment) => {\n if (segment.path === keyValArr[0]) {\n segment.path = keyValArr.join('='); // Suggestion: you can use other unique set of characters here too e.g. '$$$'\n }\n });\n\n return urlTree;\n } else {\n return this.defaultSerializer.parse(url);\n }\n }\n\n serialize(tree: UrlTree): string {\n return this.defaultSerializer.serialize(tree);\n }\n\n}","import { Router } from '@angular/router';\nimport { AccountDto } from './../../models/account';\nimport {\n AccountsService,\n DynamicFlatNode,\n DynamicDataSource,\n // DynamicDatabase\n} from './../../services/accounts.service';\n\nimport { FlatTreeControl } from '@angular/cdk/tree';\nimport { Component, ViewChild, ViewEncapsulation, ɵConsole } from '@angular/core';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { DeleteModal, UpdateModal } from 'src/app/shared/models/modal';\nimport { AccountTypesService } from 'src/app/features/lookups/services/account-types';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DefaultAlertAction } from 'src/app/shared/models/default-alert-action';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { AccountType } from 'src/app/core/models/enums/account-type';\nimport { StockTypeDto } from 'src/app/features/lookups/models/stock-type';\n\n@Component({\n selector: 'mac-accounts',\n templateUrl: './accounts.component.html',\n styleUrls: ['./accounts.component.scss'],\n providers: [AccountsService, AccountTypesService]\n})\n\nexport class AccountsComponent {\n tooltipInfo = 'Info about the action';\n currentAccountId: number;\n treeControl: FlatTreeControl;\n dataSource: DynamicDataSource;\n accountTypes: number[] = [];\n badgeClasses: string[] = [];\n langIndex: number = 0;\n accountUsersCount: number = 0;\n //totalUserAccounts: number = 0;\n usersCount: number = 0;\n\n updateAllowed: boolean;\n deleteAllowed: boolean;\n createAllowed: boolean;\n usersDisplay: boolean;\n\n @ViewChild('tree', { static: true }) tree;\n\n getLevel = (node: DynamicFlatNode) => node.level;\n isExpandable = (node: DynamicFlatNode) => node.expandable;\n hasChild = (_: number, _nodeData: DynamicFlatNode) => _nodeData.item.hasChildren; // _nodeData.item.children.length > 0;// .expandable;\n Role() {\n return Role;\n }\n\n constructor(/*private database: DynamicDatabase,*/\n private router: Router,\n private service: AccountsService,\n private confirmService: ConfirmService,\n private loader: LoadingService,\n public auth: AuthService,\n private alert: AlertService,\n //private accountTypesService: AccountTypesService,\n public translate: TranslateService) {\n this.currentAccountId = auth.currentUser.accountId;\n this.treeControl = new FlatTreeControl(this.getLevel, this.isExpandable);\n this.dataSource = new DynamicDataSource(this.treeControl, this.service);\n }\n\n ngOnInit() {\n document.querySelector('mat-card').classList.remove('overflow-hidden');\n //document.querySelector('mat-card').setAttribute('style', '')\n this.updateAllowed = this.auth.currentUser.isInRole(Role.ACCOUNTS_UPDATE);\n this.deleteAllowed = this.auth.currentUser.isInRole(Role.ACCOUNTS_DELETE);\n this.createAllowed = this.auth.currentUser.accountTypeId <= AccountType.Distributor && this.auth.currentUser.isInRole(Role.ACCOUNTS_CREATE);\n this.usersDisplay = this.auth.currentUser.isInRole(Role.USERS_READ);\n\n this.langIndex = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.langIndex = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n this.badgeClasses = [\n 'branches bg-primary',\n 'agent bg-success',\n 'distributor bg-danger',\n 'Sub-Distributor bg-orange'\n ];\n\n //this.dataSource.dataChange.subscribe(d => //console.warn(d));\n\n\n this.loader.load(LoaderType.Nav);\n // this.accountTypesService.get().then(d => {\n // this.accountTypes = d.accountTypes.map(d => d.id);\n // })\n this.service.initialData()\n .then(data => {\n ////console.warn(data);\n this.dataSource.data = data[0];\n this.accountUsersCount = data[0].find(d => d.item.id == this.currentAccountId).item.usersCount;\n this.usersCount = data[1];\n\n // //console.warn(this.service.dataMap.entries);\n\n // this.dataSource.data.splice(1, 1);\n // this.dataSource.dataChange.\n\n\n })\n .finally(() => this.loader.load(LoaderType.Nav, false));\n }\n\n getAccountType() {\n const prefix = 'ACC_TITLE_ACCOUNTS_';\n\n if (this.auth.currentUser.accountTypeId == 1 && this.auth.currentUser.isSystemAccount)\n return prefix + \"BRANCHES\";\n\n if (this.auth.currentUser.accountTypeId == 1)\n return prefix + \"AGENTS\";\n\n if (this.auth.currentUser.accountTypeId == 2)\n return prefix + \"DISTRIBUTORS\";\n\n return prefix + \"SUB_DISTRIBUTORS\";\n }\n\n getDocumentTypes(stockTypes: StockTypeDto[]) {\n //todo: refactor\n const drivingLicense = ['رخصة قيادة', 'Driving License'];\n const triptikDocument = ['دفتر تربتيك', 'Trip-Tik Document'];\n return Array.from(new Set(stockTypes.map(x => { return x.documentType == 1 ? drivingLicense[this.langIndex] : triptikDocument[this.langIndex] })));\n }\n\n ngAfterViewInit() {\n\n }\n onSelectInactive(checked: boolean) {\n //console.warn(checked);\n\n this.dataSource.isActiveChange.next(checked);\n\n // const _data = this.dataSource.data.filter(d => !checked || d.item.isActive)\n // this.dataSource.dataChange.next(_data);\n }\n\n getBadgeClass(accountTypeId: number) {\n // const i = this.accountTypes.findIndex(id => id == accountTypeId);\n // return this.badgeClasses[i >= this.badgeClasses.length ? this.badgeClasses.length - 1 : i];\n\n const i = accountTypeId <= this.badgeClasses.length ? accountTypeId - 1 : 0;\n return this.badgeClasses[i];\n }\n\n tryDelete(node: AccountDto) {\n let modal = this.confirmService.confirm(new DeleteModal({\n type: 'ACC_LABEL_ACCOUNT',\n confirmQuestion: 'SEC_USER_CONFIRM_DELETE_CONFIRMATION_QUESTION',\n title: node.titles[this.langIndex].toString(),\n note: 'ACC_CONFIRM_DELETE_NOTE',\n dangerNote: 'ACC_CONFIRM_DELETE_DANGER_NOTE'\n }));\n\n modal.then(m => {\n if (m.indexOf('CONFIRMED') > -1)\n this.delete(node.id);\n });\n }\n\n delete(id: number) {\n this.loader.load(LoaderType.Body);\n this.service.deleteAccount(id)\n .then(r => {\n if (r) {\n this.dataSource.dataChange.next(this.dataSource.data.filter(d => d.item.id != id));\n this.alert.success(DefaultAlertAction.DELETING);\n } else this.alert.failure(DefaultAlertAction.DELETING);\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n\n tryUpdateStatus(row, active) {\n // //console.warn(row);\n //const _data = this.dataSource.data;\n const _data = this.dataSource.dataChange.value;\n //const i = _data.filter(d => d.item.id == row.id);\n\n if (!active) {\n let modal = this.confirmService.confirm(new UpdateModal({\n type: 'ACC_LABEL_ACCOUNT',\n confirmQuestion: 'SEC_USER_CONFIRM_DEACTIVATE_CONFIRMATION_QUESTION',\n title: row.titles[this.langIndex].toString(),\n note: 'ACC_CONFIRM_UPDATE_NOTE',\n dangerNote: 'ACC_CONFIRM_UPDATE_DANGER_NOTE',\n action: '_ACTION_DEACTIVATE',\n submitText: '_ACTION_DEACTIVATE'\n }));\n const i = this.dataSource.data.findIndex(n => n.item.id == row.id);\n modal.then(m => {\n if (m.indexOf('CONFIRMED') > -1)\n this.updateStatus(row.id, active);\n }).catch(e => {\n _data[i].item.isActive = true;\n })\n }\n else this.updateStatus(row.id, active);\n }\n\n //client-side only, after server update\n private _updateNodeStatus(id: number, active: boolean) {\n\n const i = this.dataSource.dataChange.value.findIndex(n => n.item.id == id);\n if (i > -1) {\n this.dataSource.dataChange.value[i].item.isActive = active;\n this.dataSource.dataChange.value.filter(d => d.item.parentId == id).forEach(element => {\n this._updateNodeStatus(element.item.id, active);\n });\n\n // this.service.dataMap.forEach((dto, key) => {\n // dto.filter(d => d.id == id)[0].isActive = active;\n // dto.filter(d => d.parentId == id).forEach(d => {\n // this._updateNodeStatus(d.id, active);\n // })\n // });\n }\n }\n\n updateStatus(id, active) {\n this.loader.load(LoaderType.Body);\n //const _data = this.dataSource.data;\n const _data = this.dataSource.dataChange.value;\n const i = this.dataSource.data.findIndex(n => n.item.id == id);\n //const _val = _data[i].item.isActive;\n //console.log(_val);\n\n this.service.updateAccountStatus({ id: id, active: active })\n .then(r => {\n if (r) {\n //clear cache\n this.service.dataMap.clear();\n this.alert.success(active ? '_ACTION_ACTIVATING' : '_ACTION_DEACTIVATING');\n //cascade change to all nodes\n _data.filter(d => d.item.parentId == id).forEach(element => {\n this._updateNodeStatus(element.item.id, active);\n });\n //this._updateNodeStatus(id, active);\n ////console.log(this.service.dataMap);\n\n //flush isactive status\n this.dataSource.isActiveChange.next(this.dataSource.isActiveChange.value);\n }\n else {\n _data[i].item.isActive = true;\n this.alert.failure(active ? '_ACTION_ACTIVATING' : '_ACTION_DEACTIVATING');\n }\n\n // this.dataSource.statusChange.next([id, active]);\n }).catch(e => {\n _data[i].item.isActive = !active;\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n\n update(id: number) {\n this.router.navigate(['/', this.translate.currentLang, 'accounts', 'update', id]);\n }\n\n filterChanged(filterText: string) {\n }\n}\n","import { TranslateService } from '@ngx-translate/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators, ValidatorFn, AbstractControl, FormArray } from '@angular/forms';\nimport { CitiesService } from 'src/app/features/lookups/services/cities';\nimport { CountriesService } from 'src/app/features/lookups/services/countries';\nimport { StockTypesService } from 'src/app/features/lookups/services/stock-types';\nimport { AccountTypesService } from 'src/app/features/lookups/services/account-types';\nimport { AccountsService } from '../../services/accounts.service';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { UsersService } from 'src/app/features/security/services/users.service';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { nonArabicCharactersValidator, nonEnglishCharactersValidator, usernameValidator, numbersOnlyValidator, comparePasswords, phoneNumberValidator, emailValidator } from 'src/app/shared/services/custom-validators';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { PostAccountCmd, AccountMetaDto, AccountDto } from '../../models/account';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { populateAccountsSelect } from 'src/app/shared/helpers/populate-accounts-select';\nimport { AccountType } from 'src/app/core/models/enums/account-type';\nimport { FileLoaderService } from 'src/app/shared/services/file-loader.service';\nimport { StockTypeDto } from 'src/app/features/lookups/models/stock-type';\nimport { _DocumentType } from 'src/app/core/models/enums/document-type';\nimport { UserDto, UserMetaVm } from 'src/app/features/security/models/user';\nimport { SecurityService } from 'src/app/features/security/services/security.service';\n//import { StockType } from 'src/app/core/models/enums/stock-type';\n\n@Component({\n selector: 'mac-manage-account',\n templateUrl: './manage-account.component.html',\n styleUrls: ['./manage-account.component.scss'],\n providers: [\n CountriesService,\n CitiesService,\n StockTypesService,\n AccountTypesService,\n AccountsService,\n UsersService,\n FileLoaderService\n ]\n})\nexport class ManageAccountComponent implements OnInit {\n dto: AccountDto;\n accountForm: FormGroup;\n countries: any[];\n cities: any[];\n _stockTypes: StockTypeDto[] = [];\n uroStockTypes: StockTypeDto[] = [];\n accountTypes: any[];\n //parentAccounts: any[];\n accountId: number;\n lang: Language;\n loading: boolean;\n //langIndex: number;\n _parentAccounts: AccountMetaDto[] = [];\n users: UserDto[] = [];\n documentTypes: _DocumentType[];\n accountTypeId: number;\n\n badgeClasses = [\n 'branches bg-primary',\n 'agent bg-success',\n 'distributor bg-danger',\n 'Sub-Distributor bg-orange'\n ];\n\n get AccountType() { return AccountType; };\n get accountType() { return this.accountForm.get('accountTypeId'); }\n //get parentAccount() { return this.accountForm.get('parentId'); }\n get titles() { return this.accountForm.get('titles') as FormArray }\n get country() { return this.accountForm.get('countryId'); }\n get city() { return this.accountForm.get('cityId'); }\n get stockTypes() { return this.accountForm.get('stockTypes'); }\n get email() { return this.accountForm.get('email'); }\n get phoneNumber() { return this.accountForm.get('phoneNumber'); }\n // get primaryUser() { return this.accountForm.get('primaryUser'); }\n get username() { return this.accountForm.get('adminAccount.username'); }\n get password() { return this.accountForm.get('adminAccount.pass.password'); }\n get passwordConfirm() { return this.accountForm.get('adminAccount.pass.passwordConfirm'); }\n get attachments() { return this.accountForm.get('attachments') as FormArray; };\n\n constructor(private fb: FormBuilder,\n private countriesService: CountriesService,\n private citiesService: CitiesService,\n private stockTypesService: StockTypesService,\n private accountTypeService: AccountTypesService,\n private service: AccountsService,\n private loader: LoadingService,\n private alert: AlertService,\n private router: Router,\n private route: ActivatedRoute,\n private usersService: UsersService,\n public translate: TranslateService,\n public auth: AuthService,\n private fileLoader: FileLoaderService) { }\n\n async ngOnInit() {\n\n document.querySelector('mat-card').classList.remove('overflow-hidden');\n\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n this.formInit();\n this.accountForm.disable();\n this.loader.load(LoaderType.Nav);\n this.accountId = Number(this.route.snapshot.paramMap.get(\"id\"));\n\n //uro stock-types\n this.uroStockTypes = await (await this.stockTypesService.getURO(this.lang)).list;\n\n this.users = (await this.usersService.getAccountUsers(this.accountId, this.lang)).users;\n //console.log(this.users);\n\n\n\n // const promises = [\n // this.countriesService.get(this.translate.currentLang == 'ar' ? Language.Arabic : Language.English)\n // .then(result => this.countries = result.countries),\n // this.stockTypesService.getAllowed()\n // .then(result => this._stockTypes = result.stockTypes),\n // this.accountId && this.auth.isSystemAccount ?\n // this.accountTypeService.get()\n // .then(result => this.accountTypes = result.accountTypes.map(at => { at.titles = [at.titles[this.langIndex]]; return at; }))\n // : this.accountTypeService.getAllowed()\n // .then(result => this.accountTypes = result.accountTypes)\n // ];\n\n // Promise.all(promises).then()\n\n // Promise.all([\n // this.countriesService.get(this.translate.currentLang == 'ar' ? Language.Arabic : Language.English)\n // .then(result => this.countries = result.countries),\n // this.stockTypesService.getAllowed()\n // .then(result => this._stockTypes = result.stockTypes),\n // this.accountId && this.auth.isSystemAccount ?\n // this.accountTypeService.get()\n // .then(result => this.accountTypes = result.accountTypes.map(at => { at.titles = [at.titles[this.langIndex]]; return at; }))\n // : this.accountTypeService.getAllowed()\n // .then(result => this.accountTypes = result.accountTypes)\n // ]).then(() => {\n\n // if (this.accountId) {\n // this.service.getAccount(this.accountId)\n // .then(result => {\n // //console.log(result);\n // this._parentAccounts = result.parentAccounts;\n // this.accountForm.patchValue({\n // parentId: result.account.parentId,\n // accountTypeId: result.account.accountTypeId,\n // //accountType: result.account.accountType,\n // titles: result.account.titles,\n // countryId: result.account.city ? result.account.city.countryId : null,\n // cityId: result.account.cityId,\n // stockTypes: result.account.stockTypes,\n // email: result.account.email,\n // phoneNumber: result.account.phoneNumber\n // });\n // });\n // }\n\n // this.accountForm.enable();\n // if (!this.accountId) {\n // //defalut selects\n // this.accountType.setValue(this.accountTypes[0].id);\n // if (this.accountTypes.length == 1)\n // this.accountType.disable();\n // } else {\n // //can't be edited\n // //todo: unless it's a system account\n // //this.accountType.disable();\n\n // }\n\n // }).finally(() => this.loader.load(LoaderType.Nav, false));\n\n\n this.countries = (await this.countriesService.get(this.lang)).list;\n\n //this._stockTypes = await this.fetchStockTypes(!this.auth.isSystemAccount ? this.accountId : 0); // (await this.stockTypesService.getAllowed(this.accountId)).stockTypes;\n //this._stockTypes = await this.fetchStockTypes(this.accountId ? this.parentAccount.value : this.auth.accountId); // (await this.stockTypesService.getAllowed(this.accountId)).stockTypes;\n this.accountTypes = this.accountId && this.auth.currentUser.isSystemAccount ?\n (await this.accountTypeService.get()).list.map(at => { at.titles = [at.titles[this.lang]]; return at; })\n : (await this.accountTypeService.getAllowed()).list;\n\n\n\n\n\n if (this.accountId) {\n //update model, get account details from server and update form values\n\n var result = await this.service.getAccount(this.accountId);\n this.dto = result.account;\n\n this.documentTypes = this.dto.stockTypes.map(x => x.documentType).filter(this.onlyUnique);\n //console.log(this.documentTypes);\n this.accountTypeId = result.account.accountTypeId;\n\n //console.warn(result);\n this._parentAccounts = result.parentAccounts;\n this.accountForm.patchValue({\n //parentId: result.account.parentId,\n accountTypeId: result.account.accountTypeId,\n titles: result.account.titles,\n countryId: result.account.city ? result.account.city.countryId : null,\n cityId: result.account.cityId,\n stockTypes: result.account.stockTypes.map(x => x.id),\n email: result.account.email,\n phoneNumber: result.account.phoneNumber,\n isSMSEnabled: result.account.isSMSEnabled\n });\n\n if (result.account.city)\n this.cities =\n (await this.citiesService.get(result.account.city.countryId, this.lang)).list;\n\n\n if (this.dto.attachments)\n this.dto.attachments.forEach(async (att, i) => {\n att.url = await this.fileLoader.loadAsync(att.url);\n });\n\n //console.log(this.accountForm.value);\n }\n //this._stockTypes = await (await this.fetchStockTypes(this.accountId/* ? this.parentAccount.value : this.auth.currentUser.accountId*/)).list.filter(x => x.id == StockType.License);\n //this._stockTypes = await (await this.fetchStockTypes(this.dto.parentId/* ? this.parentAccount.value : this.auth.currentUser.accountId*/)).list;\n this._stockTypes = await (await this.fetchStockTypes(this.accountId/* ? this.parentAccount.value : this.auth.currentUser.accountId*/));\n\n this.accountForm.enable();\n if (!this.accountId) {\n \n //defalut selects\n this.accountType.setValue(this.accountTypes[0].id);\n if (this.accountTypes.length == 1)\n this.accountType.disable();\n } else {\n //temp: disable for all\n if (!this.auth.currentUser.isSystemAccount)\n this.accountType.disable();\n //can't be edited\n //todo: unless it's a system account\n //this.accountType.disable();\n\n }\n\n // //not a branch\n // if (this.auth.currentUser.isSystemAccount && this.accountId && this.accountType.value != AccountType.Branch) {\n // this.parentAccounts = await this.fetchParentAccounts();\n\n // //this._stockTypes = await this.fetchStockTypes();\n //}\n\n\n this.loader.load(LoaderType.Nav, false);\n }\n\n private onlyUnique(value, index, self) {\n return self.indexOf(value) === index;\n }\n\n getAccountType(accountTypeId: number) {\n const prefix = 'ACC_LABEL_ACCOUNT_';\n switch (accountTypeId) {\n case 1:\n return this.translate.instant(prefix + \"BRANCH\");\n\n case 2:\n return this.translate.instant(prefix + \"AGENT\");\n\n case 3:\n return this.translate.instant(prefix + \"DISTRIBUTOR\");\n\n case 4:\n return this.translate.instant(prefix + \"SUB_DISTRIBUTOR\");\n }\n }\n\n getBadgeClass(accountTypeId: number) {\n //const i = this.accountTypes.findIndex(id => id == accountTypeId);\n return this.badgeClasses[accountTypeId >= this.badgeClasses.length ? this.badgeClasses.length - 1 : accountTypeId - 1];\n }\n\n fetchCities(countryId) {\n //console.log(countryId);\n this.city.reset();\n this.citiesService.get(countryId, this.lang)\n .then(result => {\n this.cities = result.list;\n });\n }\n\n\n // private async fetchParentAccounts() {\n // const result = await this.service\n // .getPossibleParentAccounts(this.accountId, this.accountType.value);\n\n // return result.list;\n // ////console.warn(result);\n // // return populateAccountsSelect(result.list);\n // // return result.list.map(dto => {\n // // let _titles = [];\n // // dto.titles.forEach((t, i) => {\n // // _titles.push(`${t}`);\n // // });\n // // dto.titles = [_titles.join(' // ')];\n // // return dto;\n // // });\n // }\n\n // onSelectAccountType() {\n // ////console.log(d);\n // ////console.log('onSelectAccountType');\n\n\n // ////console.log(this.accountType.value);\n // //fetch accounts\n\n // if (!this.accountId)\n // return;\n\n // this.parentAccount.reset();\n // this.stockTypes.disable();\n // this.parentAccount.disable();\n\n // //if branch display all stock types, ignore parents\n // if (this.accountType.value == 1 || !this.accountId) {\n // this.loader.load(LoaderType.Body);\n // this.fetchStockTypes(0)\n // .then(result => {\n // this._stockTypes = result;\n // this.stockTypes.enable();\n // this.parentAccount.enable();\n // })\n // .finally(() => this.loader.load(LoaderType.Body, false));\n // } else if (this.accountId) {\n // this.loader.load(LoaderType.Body);\n // this.fetchParentAccounts()\n // .then(result => {\n // this.parentAccounts = result;\n // this.parentAccount.enable();\n // })\n // .finally(() => this.loader.load(LoaderType.Body, false));\n // }\n // }\n\n //this.parentAccount.value\n private async fetchStockTypes(accountId: number) {\n // return accountId ? await (await this.stockTypesService.getAllowed(accountId)).list\n // : await (await this.stockTypesService.get(this.lang)).list;\n // console.log(this.uroStockTypes);\n\n //console.log(this.accountId);\n //console.log(accountId);\n\n const stockTypes = await (await this.stockTypesService.getAllowed(!this.auth.currentUser.isSystemAccount || this.accountType.value != AccountType.Branch ? this.auth.currentUser.parentAccountId : 0)).list;\n //console.log(stockTypes);\n\n if (stockTypes.filter(x => x.documentType == _DocumentType.TripTikDocument).length > 0)\n stockTypes.push(...this.uroStockTypes.filter(x => x.documentType == _DocumentType.TripTikDocument && x.isUnifiedRelease && stockTypes.map(y => y.id).indexOf(x.id) == -1));\n\n //console.log(stockTypes);\n return stockTypes;\n }\n\n // onSelectParentAccount() {\n // this.loader.load(LoaderType.Body);\n // this.fetchStockTypes(this.parentAccount.value)\n // .then(result => {\n // this._stockTypes = result;\n // if (this._stockTypes.length == 1)\n // this.stockTypes.setValue([this._stockTypes[0].id]);\n\n // this.stockTypes.enable();\n // }).finally(() => this.loader.load(LoaderType.Body, false));\n // }\n\n onSubmit() {\n ////console.warn(this.accountForm);\n if (this.accountId) {\n this.username.setErrors(null);\n this.password.setErrors(null);\n this.passwordConfirm.setErrors(null);\n }\n\n //ignore parent\n //if (!this.accountId || !this.auth.currentUser.isSystemAccount || this.accountType.value == 1) {\n //this.parentAccount.setErrors(null);\n //}\n\n if (!this.accountForm.valid)\n return Utils.validateAllFormFields(this.accountForm);\n\n //post to server \n this.loader.load(LoaderType.Body);\n const cmd = this.accountForm.value as PostAccountCmd;\n //ignore parent\n cmd.parentId = null;\n //cmd.accountTypeId = this.auth.currentUser.isSystemAccount ? \n //todo post valid account type only\n\n cmd.accountTypeId = this.accountType.value;\n\n if (!this.accountId) {\n cmd.accountId = 0;\n cmd.username = this.username.value;\n cmd.password = this.password.value;\n\n this.service.createAccount(cmd)\n .then(r => {\n if (r) {\n this.alert.success('_ACTION_ADDING');\n this.router.navigate([this.translate.currentLang, 'accounts', 'list']);\n } else this.alert.failure('_ACTION_ADDING');\n })\n .finally(() => {\n this.loader.load(LoaderType.Body, false);\n });\n }\n else {\n cmd.accountId = this.accountId;\n this.service.updateAccount(cmd)\n .then(r => {\n if (r) {\n this.alert.success('_ACTION_UPDATING');\n this.router.navigate([this.translate.currentLang, 'accounts', 'list']);\n } else this.alert.failure('_ACTION_UPDATING');\n })\n .finally(() => {\n this.loader.load(LoaderType.Body, false);\n //this.router.navigate([this.translate.currentLang, 'accounts', 'list']);\n });\n }\n }\n\n private formInit() {\n this.accountForm = this.fb.group({\n //parentId: [null, [Validators.required]],\n accountTypeId: ['', [Validators.required]],\n titles: this.fb.array([\n ['', [Validators.required, nonEnglishCharactersValidator, Validators.minLength(3), Validators.maxLength(50)]],\n ['', [Validators.required, nonArabicCharactersValidator, Validators.minLength(3), Validators.maxLength(50)]]\n ]),\n countryId: [null, [Validators.required]],\n cityId: [null, [Validators.required]],\n stockTypes: ['', [Validators.required]],\n email: ['', [/*Validators.required, */Validators.email]],\n phoneNumber: ['', [Validators.required, phoneNumberValidator]],\n isSMSEnabled: [true],\n // primaryUser: ['', [Validators.required]],\n adminAccount: this.fb.group({\n username: this.fb.control('',\n [Validators.required, usernameValidator, Validators.minLength(5), Validators.maxLength(50)],\n this.usersService.validateUsernameNotTaken.bind(this)), //todo: regex for username pattern\n pass: this.fb.group({\n password: ['', [Validators.required, Validators.minLength(6)]], //todo: regex for password pattern\n passwordConfirm: ['']\n },\n { validator: comparePasswords })\n }),\n attachments: this.fb.array([])\n });\n }\n\n\n\n //attachments\n\n private attachmentFormInit() {\n this.attachments.push(this.fb.group({\n name: ['', [Validators.required]],\n file: ['', [Validators.required]],\n fileName: ['']\n }));\n }\n\n addAttachment() {\n this.attachmentFormInit();\n }\n\n removeAttachment(i) {\n this.attachments.removeAt(i);\n }\n\n preview($event, group: FormGroup) {\n const tgt = $event.target || window.event.srcElement,\n files = Array.isArray($event) ? $event : tgt.files;\n\n if (FileReader && files && files.length) {\n const fr = new FileReader();\n fr.onload = () => {\n //console.log(fr);\n if (fr.result.toString().length <= 2 * 2 ** 20) {\n group.get('file').setValue(fr.result.toString());\n group.get('fileName').setValue(files[0].name);\n }\n else\n alert('file limit is 2 MB.');\n };\n fr.readAsDataURL(files[0]);\n }\n else {\n //console.error('not supported!');\n }\n }\n\n fileDropped(file, group: FormGroup): void {\n //console.log(file);\n group.get('file').setValue(file.url);\n group.get('fileName').setValue(file.name);\n }\n\n}\n","import { DefaultAlertAction } from './../../../../shared/models/default-alert-action';\nimport { nonEnglishCharactersValidator, nonArabicCharactersValidator, numbersOnlyValidator, comparePasswords } from 'src/app/shared/services/custom-validators';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { AuthService } from './../../../../core/auth/auth.service';\nimport { Component, OnInit } from '@angular/core';\nimport { FormBuilder, Validators, FormGroup, FormArray } from '@angular/forms';\nimport { UsersService } from '../../../security/services/users.service';\nimport * as _ from 'lodash'\nimport { Utils } from 'src/app/shared/services/utils';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { UserProfileVm } from 'src/app/features/security/models/user';\n\n@Component({\n selector: 'mac-user-profile',\n templateUrl: './user-profile.component.html',\n styleUrls: ['./user-profile.component.scss'],\n providers: [UsersService]\n})\nexport class UserProfileComponent implements OnInit {\n\n imageURL: string;\n defaultAvatar: string = 'assets/images/user.svg';\n updateMode: boolean;\n changingPassword: boolean;\n cashedProfileData: {};\n profileForm: FormGroup;\n\n constructor(private fb: FormBuilder,\n private usersService: UsersService,\n private authService: AuthService,\n private alert: AlertService,\n private loader: LoadingService) { }\n\n ngOnInit() {\n this.formInit();\n this.profileForm.disable();\n this.fetchUserProfile();\n }\n\n fetchUserProfile() {\n this.loader.load(LoaderType.Nav);\n this.usersService.getUserProfile().then(p => {\n ////console.log(p);\n if (p.avatar)\n this.imageURL = `data:image/png;base64,${p.avatar}`;\n\n this.cashedProfileData = {\n names: p.names,\n username: p.username,\n email: p.email,\n phoneNumber: p.phoneNumber,\n avatar: this.imageURL\n }\n this.profileForm.patchValue(this.cashedProfileData);\n }).finally(() => this.loader.load(LoaderType.Nav, false));\n }\n \n get names() { return this.profileForm.get('names') as FormArray; }\n get username() { return this.profileForm.get('username'); }\n get email() { return this.profileForm.get('email'); }\n get phoneNumber() { return this.profileForm.get('phoneNumber'); }\n get avatar() { return this.profileForm.get('avatar'); }\n get password() { return this.profileForm.get('password'); }\n get newPassword() { return this.profileForm.get('newPass.password'); }\n get newPasswordConfirm() { return this.profileForm.get('newPass.passwordConfirm'); }\n\n changePassword() {\n this.changingPassword = !this.changingPassword;\n this.changingPassword ?\n this.password.enable() :\n this.password.disable();\n }\n\n update() {\n this.updateMode = !this.updateMode;\n this.updateMode ? this.profileForm.enable() : this.profileForm.disable();\n this.username.disable();\n this.password.disable();\n this.changingPassword = false;\n !this.updateMode ? this.profileForm.patchValue(this.cashedProfileData) : null;\n this.imageURL = !this.updateMode ? this.cashedProfileData[\"avatar\"] : this.imageURL;\n }\n\n onSubmit() {\n //const img = this.getImageString();\n \n if (!this.changingPassword) {\n this.password.setErrors(null);\n this.newPassword.setErrors(null);\n this.newPasswordConfirm.setErrors(null);\n }\n\n if (!this.profileForm.valid)\n return Utils.validateAllFormFields(this.profileForm);\n\n this.loader.load(LoaderType.Body);\n let profile = _.pick(this.profileForm.value, ['id', 'username', 'names', 'email', 'phoneNumber', 'avatar']) as UserProfileVm;\n\n if (this.changingPassword) {\n profile.password = this.password.value;\n profile.newPassword = this.newPassword.value;\n }\n\n profile.avatar = this.imageURL != this.defaultAvatar ? this.imageURL : null;\n\n this.usersService.updateUserProfile(profile)\n .then(r => {\n if (r) {\n AuthService.userMeta.next({ id: profile.id, name: profile.names[0], avatar: profile.avatar });\n this.alert.success(DefaultAlertAction.UPDATING);\n this.updateMode = false;\n this.profileForm.disable();\n this.username.disable();\n this.password.disable();\n this.changingPassword = false;\n } else\n this.alert.failure(DefaultAlertAction.UPDATING);\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n\n preview($event) {\n ////console.warn($event);\n //const img = document.getElementById(\"licensePhoto\") as HTMLImageElement;\n const tgt = $event.target || window.event.srcElement,\n files = tgt.files;\n\n // FileReader support\n if (FileReader && files && files.length) {\n const fr = new FileReader();\n fr.onload = () => {\n this.imageURL = fr.result.toString();\n //img.setAttribute(\"src\", fr.result.toString());\n };\n fr.readAsDataURL(files[0]);\n }\n // Not supported\n else {\n //console.error('not supported!');\n }\n }\n\n getImageString() {\n if (this.imageURL == this.defaultAvatar)\n return null;\n\n const img: HTMLImageElement = document.getElementById(\"img\") as HTMLImageElement;\n const canvas = document.createElement(\"canvas\");\n canvas.getContext(\"2d\").drawImage(img, 0, 0, 300, 300);\n return canvas.toDataURL(\"image/png\", 1);\n }\n\n removeImage() {\n this.imageURL = this.defaultAvatar;\n }\n\n private formInit() {\n this.profileForm = this.fb.group({\n names: this.fb.array([\n ['', [Validators.required, nonEnglishCharactersValidator, Validators.minLength(3), Validators.maxLength(100)]],\n ['', [Validators.required, nonArabicCharactersValidator, Validators.minLength(3), Validators.maxLength(100)]]\n ]),\n username: [{ value: '', disabled: true }],\n email: ['', [Validators.required, Validators.email]],\n phoneNumber: ['', [Validators.required, numbersOnlyValidator]],\n avatar: [null],\n password: ['', [Validators.required]],\n newPass: this.fb.group({\n password: ['', [Validators.required, Validators.minLength(6)]], //todo: regex for password pattern\n passwordConfirm: ['']\n }, { validator: comparePasswords })\n });\n\n this.imageURL = this.defaultAvatar;\n this.updateMode = false;\n this.changingPassword = false;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { FileLoaderService } from 'src/app/shared/services/file-loader.service';\nimport { LoaderType, LoadingService } from 'src/app/shared/services/loading';\nimport { AccountDto } from '../../models/account';\nimport { AccountsService } from '../../services/accounts.service';\n\n@Component({\n selector: 'mac-view-account',\n templateUrl: './view-account.component.html',\n styleUrls: ['./view-account.component.scss'],\n providers: [\n AccountsService,\n FileLoaderService\n ]\n})\nexport class ViewAccountComponent implements OnInit {\n\n accountId: number;\n dto: AccountDto;\n lang: Language;\n //_stockTypes: string[] = [];\n _parentAccounts: string[] = [];\n\n constructor(private loader: LoadingService,\n public translate: TranslateService,\n private service: AccountsService,\n private route: ActivatedRoute,\n private fileLoader: FileLoaderService) { }\n\n async ngOnInit() {\n\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n this.loader.load(LoaderType.Nav);\n this.accountId = Number(this.route.snapshot.paramMap.get(\"id\"));\n\n if (this.accountId) {\n //update model, get account details from server and update form values\n\n\n var result = await this.service.getAccount(this.accountId);\n this.dto = result.account;\n result.parentAccounts\n\n //this._stockTypes = this.dto.stockTypes.map(x => x.titles[0]);\n this._parentAccounts = result.parentAccounts.reverse().map(x => x.titles[0]).slice(1);\n\n this.dto.attachments.forEach(async (att, i) => {\n att.url = await this.fileLoader.loadAsync(att.url);\n });\n\n //console.log(this.dto);\n }\n\n this.loader.load(LoaderType.Nav, false);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, BehaviorSubject, merge } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { DataSource } from '@angular/cdk/table';\nimport { FlatTreeControl } from '@angular/cdk/tree';\nimport { CollectionViewer, SelectionChange } from '@angular/cdk/collections';\n\nimport { ApiHandler } from 'src/app/core/api-handler';\nimport { AccountDto, AccountVm, AccountsVm } from './../models/account';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\nimport { PostAccountCmd } from '../models/account';\nimport { LookupDto, LookupVm } from '../../lookups/models/lookup';\n\nexport class DynamicFlatNode {\n constructor(public item: AccountDto, public level = 1, public expandable = false,\n public isLoading = false) { }\n}\n\nexport class DynamicDataSource implements DataSource {\n\n dataChange = new BehaviorSubject([]);\n isActiveChange = new BehaviorSubject(false);\n\n get data(): DynamicFlatNode[] { return this.dataChange.value; }\n set data(value: DynamicFlatNode[]) {\n this._treeControl.dataNodes = value;\n this.dataChange.next(value);\n }\n\n constructor(private _treeControl: FlatTreeControl,\n private _database: AccountsService) { }\n\n connect(collectionViewer: CollectionViewer): Observable {\n this._treeControl.expansionModel.changed.subscribe(change => {\n if ((change as SelectionChange).added ||\n (change as SelectionChange).removed) {\n this.handleTreeControl(change as SelectionChange);\n }\n });\n\n return merge(collectionViewer.viewChange, this.dataChange, this.isActiveChange)\n .pipe(map(() => {\n return this.data.filter(d => this.isActiveChange.value || d.item.isActive);\n }));\n }\n\n disconnect(collectionViewer: CollectionViewer): void { }\n\n /** Handle expand/collapse behaviors */\n handleTreeControl(change: SelectionChange) {\n if (change.added) {\n change.added.forEach(node => this.toggleNode(node, true));\n }\n if (change.removed) {\n change.removed.slice().reverse().forEach(node => this.toggleNode(node, false));\n }\n }\n\n toggleNode(node: DynamicFlatNode, expand: boolean) {\n node.isLoading = true;\n\n this._database.getChildren(node.item.id)\n .then(children => {\n const index = this.data.indexOf(node);\n if (!children || index < 0) { // If no children, or cannot find the node, no op\n return;\n }\n\n if (expand) {\n const nodes = children.map(_node =>\n new DynamicFlatNode(_node, node.level + 1, this._database.isExpandable(_node.id)));\n this.data.splice(index + 1, 0, ...nodes);\n }\n else {\n let count = 0;\n for (let i = index + 1; i < this.data.length\n && this.data[i].level > node.level; i++, count++) { }\n this.data.splice(index + 1, count);\n }\n\n this.dataChange.next(this.data);\n })\n .finally(() => node.isLoading = false);\n }\n}\n\n\n@Injectable()\nexport class AccountsService {\n dataMap = new Map();\n rootLevelNodes: AccountDto[] = [];\n\n constructor(private api: ApiHandler) { }\n\n async initialData(): Promise<[DynamicFlatNode[], number]> {\n\n const data = await (await this.getChildrenAccounts(0));\n this.rootLevelNodes = data.accounts;\n //todo: include current account id\n this.dataMap.set(0, this.rootLevelNodes);\n\n return [this.rootLevelNodes.map(_node => new DynamicFlatNode(_node, 0, true)), data.usersCount]\n }\n\n async getChildren(parentId: number): Promise {\n if (!this.dataMap.has(parentId)) {\n const nodes = await (await this.getChildrenAccounts(parentId)).accounts;\n //add to cache\n this.dataMap.set(parentId, nodes);\n }\n return this.dataMap.get(parentId);\n }\n\n isExpandable(parentId: number): boolean {\n if (this.dataMap.has(parentId)\n && this.dataMap.get(parentId).length > 0)\n return true;\n\n else\n return [...this.dataMap.values()]\n .filter((node) => node.find(x => x.id == parentId && x.hasChildren /*x.children.length > 0*/))\n .length > 0;\n }\n\n public getChildrenAccounts(id: number): Promise {\n return this.api.get(EndPoint.ACCOUNTS_CHILDREN, id).toPromise();\n }\n\n public getAccounts(id: number = 0): Promise {\n return this.api.get(EndPoint.ACCOUNTS).toPromise();\n }\n\n public getPossibleParentAccounts(accountId: number, accountTypeId: number): Promise {\n return this.api.get(EndPoint.ACCOUNTS, [accountId, accountTypeId]).toPromise();\n }\n\n public getChildrenAccountsLookup(accountId: number, isActiveOnly: boolean = true): Promise {\n return this.api.get(EndPoint.ACCOUNTS_CHILDREN_LOOKUP, [accountId, isActiveOnly]).toPromise();\n }\n\n // {{base_url}}/accounts/children/lookup/8\n\n public getAccount(id: number): Promise {\n return this.api.get(EndPoint.ACCOUNTS, id).toPromise();\n }\n\n public createAccount(cmd: PostAccountCmd) {\n return this.api.create(EndPoint.ACCOUNTS, cmd).toPromise();\n }\n\n public updateAccount(cmd: PostAccountCmd) {\n return this.api.update(EndPoint.ACCOUNTS, cmd).toPromise();\n }\n\n public updateAccountStatus(cmd: { id: number, active: boolean }) {\n return this.api.update(EndPoint.ACCOUNTS, null, [cmd.id, cmd.active]).toPromise();\n }\n\n public deleteAccount(id: number) {\n return this.api.delete(EndPoint.ACCOUNTS, id).toPromise();\n }\n}\n\n","import { TranslateService } from '@ngx-translate/core';\nimport { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { tap } from 'rxjs/operators';\nimport * as moment from 'moment';\nimport { merge, fromEvent } from 'rxjs';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { exportToExcel } from 'src/app/shared/helpers/export-to-excel';\nimport { UpdateModal } from 'src/app/shared/models/modal';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { IssuingService } from '../../services/issuing.service';\nimport { undoRequestStatusLocale, UndoRequestStatus } from 'src/app/features/stock/models/undo-requests';\nimport { DocumentsRevokeRequestsDataSource } from '../../services/documents-revoke-requests.datasource';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { DocumentRevokeRequestDto, ResolveTryRevokeDocumentCommand } from '../../models/issuing.models';\nimport { DefaultAlertAction } from 'src/app/shared/models/default-alert-action';\nimport { _DocumentType } from 'src/app/core/models/enums/document-type';\nimport { StockTypesService } from 'src/app/features/lookups/services/stock-types';\nimport { MatSelect } from '@angular/material/select';\nimport { StockTypeDto } from 'src/app/features/lookups/models/stock-type';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { FileLoaderService } from 'src/app/shared/services/file-loader.service';\n//import { StockType } from 'src/app/core/models/enums/stock-type';\n\n@Component({\n selector: 'mac-documents-revoke-requests',\n templateUrl: './documents-revoke-requests.component.html',\n styleUrls: ['./documents-revoke-requests.component.scss'],\n providers: [IssuingService, StockTypesService, FileLoaderService]\n})\nexport class DocumentsRevokeRequestsComponent implements OnInit {\n moment = moment;\n undoRequestStatusLocale = undoRequestStatusLocale;\n displayedColumns: string[] = ['created', 'serial', 'stockType', 'accountTitles', 'requestedBy', 'requestReason', 'undoRequestStatus', 'requestType', 'resolvedBy', 'resolved', 'resolveNote', 'tools'];\n dataSource: DocumentsRevokeRequestsDataSource;\n stockTypes: StockTypeDto[] = [];\n lang: Language;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild('filter', { static: true }) filter: ElementRef;\n @ViewChild('filterBtn') filterBtn: ElementRef;\n @ViewChild(MatSelect, { static: true }) stockType: MatSelect;\n\n get Role() { return Role; };\n get UndoRequestStatus() { return UndoRequestStatus; };\n //get StockType() { return StockType; };\n get _DocumentType() { return _DocumentType; };\n\n\n\n constructor(private loader: LoadingService,\n private issuingService: IssuingService,\n private stockTypesService: StockTypesService,\n private alert: AlertService,\n private fileLoader: FileLoaderService,\n private translate: TranslateService,\n private confirmService: ConfirmService,\n public auth: AuthService) { }\n\n ngOnInit() {\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n if (!this.auth.currentUser.isInRole(Role.INT_LICENSES_REVOKE_REQUESTS_UPDATE)\n && !this.auth.currentUser.isInRole(Role.TRIPTIKS_REVOKE_REQUESTS_UPDATE))\n this.displayedColumns.splice(this.displayedColumns.length - 1, 1);\n\n //bug: will take a second to be loaded\n this.stockTypesService.get(this.lang).then(result => this.stockTypes = result.list);\n\n this.loader.load(LoaderType.Nav);\n this.sort.active = 'created';\n this.sort.direction = 'desc';\n this.paginator.pageSize = 10;\n this.dataSource = new DocumentsRevokeRequestsDataSource(this.issuingService, this.loader, this.fileLoader);\n this.loadDocumentsRevokeRequests();\n }\n\n ngAfterViewInit() {\n this.dataSource.counter$\n .pipe(\n tap((count) => {\n this.paginator.length = count;\n })\n ).subscribe();\n\n merge(this.paginator.page, this.sort.sortChange)\n .pipe(\n tap(() => this.loadDocumentsRevokeRequests())\n ).subscribe(() => this.loader.load(LoaderType.Body));\n\n merge(fromEvent(this.filter.nativeElement, 'search'), fromEvent(this.filterBtn.nativeElement, 'click'), this.stockType.valueChange)\n .pipe(\n tap(() => {\n this.paginator.pageIndex = 0;\n this.loadDocumentsRevokeRequests();\n })\n ).subscribe(() => this.loader.load(LoaderType.Body));\n }\n\n private loadDocumentsRevokeRequests() {\n this.dataSource.loadDocumentsRevokeRequests({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction }, this.stockType.value, this.filter.nativeElement.value.trim());\n }\n\n getUndoRequestStatusClass(status: UndoRequestStatus) {\n switch (status) {\n case UndoRequestStatus.Rejected:\n return `text-danger`;\n\n case UndoRequestStatus.Approved:\n return `text-success`;\n\n default:\n return '';\n }\n }\n\n tryResolveRequest(row: DocumentRevokeRequestDto, approve: boolean = false) {\n if (row.stockType.documentType == _DocumentType.DrivingLicense && !this.auth.currentUser.isInRole(Role.INT_LICENSES_REVOKE_REQUESTS_UPDATE)\n || (row.stockType.documentType == _DocumentType.TripTikDocument && !this.auth.currentUser.isInRole(Role.TRIPTIKS_REVOKE_REQUESTS_UPDATE)))\n return;\n\n let modal = this.confirmService.confirm(new UpdateModal({\n type: 'ISS_TITLE_DOCUMENT_REVOKE_REQUEST',\n confirmQuestion: approve ? 'ISS_DOCUMENT_REVOKE_REQUEST_CONFIRM_UPDATE_STATUS_CONFIRMATION_QUESTION_APPROVE' : 'ISS_DOCUMENT_REVOKE_REQUEST_CONFIRM_UPDATE_STATUS_CONFIRMATION_QUESTION_REJECT',\n title: `${row.accountTitles[0]} / ${row.requestedBy}`,\n action: approve ? '_ACTION_APPROVE' : '_ACTION_REJECT',\n submitText: approve ? '_ACTION_APPROVE' : '_ACTION_REJECT',\n submitClass: approve ? 'btn-warning' : 'btn-danger',\n note: !row.isDamaged ? (approve ? 'ISS_DOCUMENT_REVOKE_REQUEST_CONFIRM_UPDATE_STATUS_APPROVE_NOTE' : 'ISS_DOCUMENT_REVOKE_REQUEST_CONFIRM_UPDATE_STATUS_REJECT_NOTE')\n : (approve ? 'ISS_DOCUMENT_REVOKE_REQUEST_CONFIRM_UPDATE_STATUS_ISDAMAGED_APPROVE_NOTE' : 'ISS_DOCUMENT_REVOKE_REQUEST_CONFIRM_UPDATE_STATUS_REJECT_NOTE'),\n dangerNote: approve ? '' : ' ',\n inputNote: 'ISS_LABEL_RESOLVE_NOTE'\n }));\n modal.then(m => {\n //console.log(m);\n if (m.indexOf('CONFIRMED') > -1)\n this.resolveRequest(row.id, approve, m[1].inputNote);\n });\n }\n\n onExportToExcel(all: boolean = true) {\n this.loader.load(LoaderType.Body);\n if (all)\n this.issuingService.getDocumentsRevokeRequests({ pageIndex: 0, pageSize: this.paginator.length, sort: this.sort.active, dir: this.sort.direction })\n .toPromise()\n .then(data => {\n this.exportToExcel(data.revokeRequests);\n }).finally(() => this.loader.load(LoaderType.Body, false));\n else\n this.dataSource.connect().subscribe(data => {\n this.exportToExcel(data);\n this.loader.load(LoaderType.Body, false);\n }).unsubscribe();\n }\n\n private resolveRequest(id: number, approve: boolean, note: string) {\n this.loader.load(LoaderType.Body);\n const cmd: ResolveTryRevokeDocumentCommand = {\n id: id,\n approve: approve,\n note: note\n }\n this.issuingService.resolveTryRevokeDocument(cmd)\n .then(result => {\n if (result) {\n this.alert.success(DefaultAlertAction.APPROVING)\n //console.log(this.auth.currentUser.username);\n const i = this.dataSource.revokeRequestsSubject.value.findIndex(i => i.id == id);\n this.dataSource.revokeRequestsSubject.value[i].undoRequestStatus = approve ? UndoRequestStatus.Approved : UndoRequestStatus.Rejected;\n this.dataSource.revokeRequestsSubject.value[i].resolvedBy = this.auth.currentUser.username;\n this.dataSource.revokeRequestsSubject.value[i].resolveNote = note;\n this.dataSource.revokeRequestsSubject.next([...this.dataSource.revokeRequestsSubject.value]);\n }\n else this.alert.failure(DefaultAlertAction.REJECTING);\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n\n private exportToExcel(data: DocumentRevokeRequestDto[]) {\n const wscols = [\n { width: 14 },\n { width: 24 },\n { width: 24 },\n { width: 14 },\n { width: 14 },\n { width: 14 },\n { width: 14 },\n { width: 14 },\n { width: 14 },\n { width: 14 },\n { width: 16 },\n ];\n const autofilter = { ref: 'A1:J1' };\n const rows: string[][] = [];\n\n const headers = [\n this.translate.instant('_LABEL_DATE'),\n this.translate.instant('_LABEL_SERIAL'),\n this.translate.instant('LKP_FIELD_STOCK_TYPE'),\n this.translate.instant('ACC_FIELD_ACCOUNT_TITLE'),\n this.translate.instant('ISS_LABEL_REQUESTED_BY'),\n this.translate.instant('_FIELD_REASON'),\n this.translate.instant('STK_LABEL_UNDO_REQUEST_STATUS'),\n this.translate.instant('ISS_LABEL_REQUEST_TYPE'),\n this.translate.instant('ISS_LABEL_RESOLVED_BY'),\n this.translate.instant('ISS_LABEL_RESOLVE_DATE'),\n this.translate.instant('ISS_LABEL_RESOLVE_NOTE')\n ];\n\n rows.push(headers);\n for (let row of data) {\n rows.push([\n moment(row.created).format('DD/MM/YYYY'),\n row.serial.toString(),\n row.stockType.titles[0],\n row.accountTitles[0],\n row.requestedBy,\n row.requestReason,\n this.translate.instant(undoRequestStatusLocale(row.undoRequestStatus)),\n this.translate.instant(row.isDamaged ? '_ACTION_DESTROY' : '_ACTION_RECOVER'),\n row.resolvedBy ? row.resolvedBy : '-',\n row.resolved ? moment(row.resolved).format('DD/MM/YYYY') : '-',\n row.resolveNote ? row.resolveNote : '-'\n ]);\n }\n\n exportToExcel(rows, wscols, autofilter, this.translate.currentLang == 'ar', 'Documents-Revoke-Requests');\n }\n}","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { result } from 'lodash';\nimport { _DocumentType } from 'src/app/core/models/enums/document-type';\nimport { Language } from 'src/app/core/models/enums/language';\n//import { StockType } from 'src/app/core/models/enums/stock-type';\nimport { StockTypeDto } from 'src/app/features/lookups/models/stock-type';\nimport { StockTypesService } from 'src/app/features/lookups/services/stock-types';\nimport { IssuingsPerMonthDataSetDto } from 'src/app/features/statistics/models/statistics.model';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { LoaderType, LoadingService } from 'src/app/shared/services/loading';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { DocumentValidityVm } from '../../models/issuing.models';\nimport { IssuingService } from '../../services/issuing.service';\n\n@Component({\n selector: 'mac-expired-documents-query',\n templateUrl: './expired-documents-query.component.html',\n styleUrls: ['./expired-documents-query.component.scss'],\n providers: [StockTypesService, IssuingService]\n})\nexport class ExpiredDocumentsQueryComponent implements OnInit {\n\n form: FormGroup;\n stockTypes: StockTypeDto[] = [];\n lang: Language;\n dto: DocumentValidityVm;\n\n get stockType() { return this.form.get('stockTypeId'); };\n get serial() { return this.form.get('serial'); };\n get passportIDorIdentityID() { return this.form.get('passportIDorIdentityID'); };\n\n constructor(private fb: FormBuilder,\n private stockTypesService: StockTypesService,\n private issuingService: IssuingService,\n public translate: TranslateService,\n private loader: LoadingService,\n private alert: AlertService) { }\n\n ngOnInit(): void {\n this.loader.load(LoaderType.Nav);\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n this.formInit();\n\n this.stockTypesService.get(this.lang)\n .then((result) => this.stockTypes = result.list.filter(x => x.documentType == _DocumentType.TripTikDocument))\n .finally(() => this.loader.load(LoaderType.Nav, false));\n }\n\n private formInit() {\n this.form = this.fb.group({\n stockTypeId: ['', [Validators.required]],\n serial: ['', [Validators.required]],\n passportIDorIdentityID: ['', [Validators.required]]\n })\n }\n\n onSubmit() {\n // console.log(this.form.value);\n\n // if (!this.form.valid)\n // return Utils.validateAllFormFields(this.form);\n\n // this.loader.load(LoaderType.Body);\n // this.issuingService.searchForExpiredDocument(this.stockType.value, this.serial.value, this.passportIDorIdentityID.value)\n // .then(result => {\n // console.log(result);\n\n // this.dto = result;\n // if (!this.dto) {\n // this.alert.failure(\"_MESSAGE_NO_SEARCH_RESULTS\", false);\n // }\n\n // }).catch(e => console.error(e))\n // .finally(() => this.loader.load(LoaderType.Body, false))\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { TranslateService } from '@ngx-translate/core';\nimport { result } from 'lodash';\nimport { _DocumentType } from 'src/app/core/models/enums/document-type';\nimport { Language } from 'src/app/core/models/enums/language';\n//import { StockType } from 'src/app/core/models/enums/stock-type';\nimport { StockTypeDto } from 'src/app/features/lookups/models/stock-type';\nimport { StockTypesService } from 'src/app/features/lookups/services/stock-types';\nimport { IssuingsPerMonthDataSetDto } from 'src/app/features/statistics/models/statistics.model';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { LoaderType, LoadingService } from 'src/app/shared/services/loading';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { DocumentValidityVm, IssuedDocumentsQuery } from '../../models/issuing.models';\nimport { IssuingService } from '../../services/issuing.service';\n\n@Component({\n selector: 'mac-issued-documents-query',\n templateUrl: './issued-documents-query.component.html',\n styleUrls: ['./issued-documents-query.component.scss'],\n providers: [StockTypesService, IssuingService]\n})\nexport class IssuedDocumentsQueryComponent implements OnInit {\n\n form: FormGroup;\n stockTypes: StockTypeDto[] = [];\n lang: Language;\n dto: DocumentValidityVm;\n dataSource: MatTableDataSource;\n displayedColumns: string[] = ['name', 'issueDate', 'expiryDate', 'status'];\n\n get _DocumentType() { return _DocumentType; };\n\n get stockType() { return this.form.get('stockTypeId'); };\n get serial() { return this.form.get('serial'); };\n get passportIDorIdentityID() { return this.form.get('passportIDorIdentityID'); };\n get vChassisID() { return this.form.get('vChassisID'); };\n get vPlateID() { return this.form.get('vPlateID'); };\n\n constructor(private fb: FormBuilder,\n private stockTypesService: StockTypesService,\n private issuingService: IssuingService,\n public translate: TranslateService,\n private loader: LoadingService,\n private alert: AlertService) { }\n\n ngOnInit(): void {\n this.loader.load(LoaderType.Nav);\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n this.formInit();\n\n this.stockTypesService.get(this.lang)\n .then((result) => this.stockTypes = result.list/*.filter(x => x.documentType == _DocumentType.TripTikDocument)*/)\n .finally(() => this.loader.load(LoaderType.Nav, false));\n }\n\n documentType: _DocumentType;\n\n onSelectStockType(stockTypeId: number) {\n const stockType = this.stockTypes.find(x => x.id == stockTypeId);\n this.documentType = stockType.documentType;\n //console.log(stockTypeId);\n\n if (this.documentType == _DocumentType.TripTikDocument) {\n this.passportIDorIdentityID.clearValidators()\n this.passportIDorIdentityID.setErrors(null);\n } else {\n this.passportIDorIdentityID.setValidators(Validators.required);\n this.passportIDorIdentityID.setErrors(null);\n }\n }\n\n private formInit() {\n this.form = this.fb.group({\n stockTypeId: ['', [Validators.required]],\n serial: ['', [Validators.required]],\n passportIDorIdentityID: ['', [Validators.required]],\n vPlateID: [''],\n vChassisID: ['']\n })\n }\n\n\n reset() {\n this.isPosted = false;\n this.form.reset();\n this.dataSource = null;\n }\n\n\n isPosted: boolean = false;\n isCloneAvailable: boolean = false;\n\n onSubmit() {\n //console.log(this.form.value);\n\n if (this.documentType == _DocumentType.TripTikDocument) {\n this.passportIDorIdentityID.clearValidators()\n this.passportIDorIdentityID.setErrors(null);\n } else {\n this.passportIDorIdentityID.setValidators(Validators.required);\n this.passportIDorIdentityID.updateValueAndValidity();\n }\n\n //this.passportIDorIdentityID.setErrors(null);\n\n if (!this.form.valid)\n return Utils.validateAllFormFields(this.form);\n\n\n\n // if (!this.form.valid)\n // return;\n\n\n if (!this.passportIDorIdentityID.value && !this.vChassisID.value && !this.vPlateID.value) {\n this.alert.failure(\"_MESSAGE_FILL_SEARCH_CRITERIA\", false);\n return;\n }\n\n const query = this.form.value as IssuedDocumentsQuery;\n\n\n\n\n\n\n\n //console.log(query);\n\n this.loader.load(LoaderType.Body);\n // this.issuingService.searchForExpiredDocument(this.stockType.value, this.serial.value, this.passportIDorIdentityID.value)\n this.issuingService.searchForIssuedDocument(this.stockType.value, this.serial.value, query)\n .then(result => {\n //console.log(result);\n\n this.dataSource = result ? new MatTableDataSource([result]) : null;\n if (this.dataSource)\n this.isCloneAvailable = result.stockType.documentType == _DocumentType.DrivingLicense\n || !result.isValid;\n\n if (this.isCloneAvailable && this.displayedColumns.length == 4)\n this.displayedColumns.push('tools')\n\n if (!this.isCloneAvailable && this.displayedColumns.length == 5)\n this.displayedColumns.pop();\n\n // this.dto = result;\n // if (!this.dto) {\n // this.dataSource = null;\n // // this.alert.failure(\"_MESSAGE_NO_SEARCH_RESULTS\", false);\n // }\n\n }).catch(e => { console.error(e); this.dataSource = null; })\n .finally(() => {\n this.loader.load(LoaderType.Body, false);\n this.isPosted = true;\n })\n }\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { ActivatedRoute } from '@angular/router';\nimport { DOCUMENT } from '@angular/common';\nimport { TranslateService } from '@ngx-translate/core';\nimport { IssuingService } from '../../services/issuing.service';\nimport { DocumentValidityVm } from '../../models/issuing.models';\n\n@Component({\n selector: 'mac-verification',\n templateUrl: './verification.component.html',\n styleUrls: ['./verification.component.scss'],\n providers: [IssuingService]\n})\nexport class VerificationComponent implements OnInit {\n dto: DocumentValidityVm;\n key: string;\n loading: boolean = true;\n\n constructor(@Inject(DOCUMENT) private document: Document,\n private translate: TranslateService,\n private route: ActivatedRoute,\n private loader: LoadingService,\n private issuingService: IssuingService) {\n //this.loadStyle(\"en\"); \n LoadingService.style.next(false);\n }\n\n ngOnInit(): void {\n\n // setTimeout(() => {\n // this.loader.load(LoaderType.Nav, false);\n // this.loader.styleLoading.emit(false);\n // LoadingService.style.next(false);\n\n this.translate.use('en');\n\n this.key = this.route.snapshot.paramMap.get('key');\n\n this.issuingService.verify(this.key)\n .then(result => { //console.log(result); \n this.dto = result \n })\n .finally(() => this.loading = false);\n\n\n }\n\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.loader.load(LoaderType.Nav, false);\n //LoadingService.style.next(false);\n }, 500);\n\n //this.loader.load(null, false);\n }\n\n\n // private loadStyle(lang: string) {\n\n // const head = this.document.getElementsByTagName('head')[0];\n // const body = this.document.getElementsByTagName('body')[0];\n\n // body.setAttribute('dir', lang == 'ar' ? 'rtl' : 'ltr');\n // const styleFileName = lang == 'ar' ? 'bootstrap-rtl.css' : 'bootstrap.css';\n // let themeLink = this.document.getElementById('bootstrap') as HTMLLinkElement;\n // if (themeLink) {\n // themeLink.href = styleFileName;\n // } else {\n // const style = this.document.createElement('link');\n // style.id = 'bootstrap';\n // style.rel = 'stylesheet';\n // style.href = styleFileName;\n // //will be always overriden by global styles.scss\n // head.prepend(style);\n // }\n // }\n\n}\n","import { CollectionViewer, DataSource } from \"@angular/cdk/collections\";\nimport { Observable, BehaviorSubject, of } from 'rxjs';\nimport { catchError, finalize } from 'rxjs/operators';\nimport { LookupDto } from \"src/app/features/lookups/models/lookup\";\nimport { populateAccountsSelect } from \"src/app/shared/helpers/populate-accounts-select\";\nimport { FileLoaderService } from \"src/app/shared/services/file-loader.service\";\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { DocumentRevokeRequestDto, PaginationQuery, DocumentsRevokeRequestsVm } from '../models/issuing.models';\nimport { IssuingService } from './issuing.service';\n\nexport class DocumentsRevokeRequestsDataSource implements DataSource {\n\n public revokeRequestsSubject = new BehaviorSubject([]);\n private countSubject = new BehaviorSubject(0);\n public counter$ = this.countSubject.asObservable();\n\n constructor(private issuingService: IssuingService,\n private loader: LoadingService,\n private fileLoader: FileLoaderService) {\n }\n\n loadDocumentsRevokeRequests(pagination: PaginationQuery, stockTypeId = 0, query: string = null) {\n this.issuingService.getDocumentsRevokeRequests(pagination, stockTypeId, query)\n .pipe(\n catchError(() => of([])),\n finalize(() => { })\n )\n .subscribe((result: DocumentsRevokeRequestsVm) => {\n //console.log(result);\n result.revokeRequests.map(async x => {\n if (x.attachment)\n x.attachment = (await this.fileLoader.loadAsync(x.attachment as string)).changingThisBreaksApplicationSecurity;\n\n return x;\n });\n\n // result.revokeRequests.forEach(request => {\n // request.accountParentAccounts = populateAccountsSelect([request.accountParentAccounts])[0];\n // });\n\n result.revokeRequests.map(request => {\n request.accountParentAccounts = populateAccountsSelect([request.accountParentAccounts])[0];\n return request;\n });\n this.revokeRequestsSubject.next(result.revokeRequests);\n this.countSubject.next(result.recordsCount);\n this.loader.load(LoaderType.Nav, false);\n this.loader.load(LoaderType.Body, false);\n });\n }\n\n connect(): Observable {\n return this.revokeRequestsSubject.asObservable();\n }\n\n disconnect(collectionViewer: CollectionViewer): void {\n this.revokeRequestsSubject.complete();\n this.countSubject.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ApiHandler } from 'src/app/core/api-handler';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\nimport {\n DocumentValidityVm,\n TryRevokeDocumentCommand,\n ResolveTryRevokeDocumentCommand,\n PaginationQuery,\n DocumentsRevokeRequestsVm,\n IssuedDocumentsQuery\n} from '../models/issuing.models';\n\n@Injectable()\nexport class IssuingService {\n constructor(private api: ApiHandler) { }\n\n verify(key: string) {\n return this.api.get(EndPoint.ISSUING_VERIFY, key).toPromise();\n }\n\n // searchForExpiredDocument(stockTypeId: number, serial: number, passportIDorIdentityID: string) {\n // //search/{stockTypeId}/{serial}/{passportIDorIdentityID}\n // return this.api.get(EndPoint.ISSUING_EXPIRED_DOCUMENTS_QUERY, [stockTypeId, serial, passportIDorIdentityID]).toPromise();\n // }\n\n\n searchForIssuedDocument(stockTypeId: number, serial: number, query: IssuedDocumentsQuery) {\n return this.api.get(EndPoint.ISSUING_ISSUED_DOCUMENTS_QUERY, [stockTypeId, serial], { ...query }).toPromise();\n }\n\n\n tryRevokeDocument(cmd: TryRevokeDocumentCommand) {\n return this.api.create(EndPoint.ISSUING_REVOKE_TRY, cmd).toPromise();\n }\n\n cancelTryRevokeDocument(id: number) {\n return this.api.create<{}, boolean>(EndPoint.ISSUING_REVOKE_CANCEL, { id }).toPromise();\n }\n\n resolveTryRevokeDocument(cmd: ResolveTryRevokeDocumentCommand) {\n return this.api.create(EndPoint.ISSUING_REVOKE_RESOLVE, cmd).toPromise();\n }\n\n getDocumentsRevokeRequests(pagination: PaginationQuery, stockTypeId = 0, query: string = '') {\n return this.api.get(EndPoint.ISSUING_REVOKE_REQUESTS, [stockTypeId], { ...pagination, query });\n }\n\n cancelDocument(id: string) {\n return this.api.delete(EndPoint.ISSUING_DOCUMENT_CANCEL, id).toPromise();\n }\n}","import { Component, OnInit, ElementRef } from '@angular/core';\nimport { Gender } from 'src/app/core/models/enums/gender';\nimport { IntLicenseDetailsDto } from '../../models/int-license';\nimport { FileLoaderService } from 'src/app/shared/services/file-loader.service';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { SafeUrl } from '@angular/platform-browser';\n\n@Component({\n selector: 'mac-commitment-print',\n templateUrl: './commitment-print.component.html',\n styleUrls: ['./commitment-print.component.scss']\n})\nexport class CommitmentPrintComponent implements OnInit {\n\n dto: IntLicenseDetailsDto;\n // personalPhoto: string;\n // passportPhoto: string;\n // licensePhoto: string;\n issueDate: Date;\n\n get Gender() { return Gender };\n get Language() { return Language; };\n\n constructor(private elRef: ElementRef, private fileLoader: FileLoaderService) { }\n\n ngOnInit(): void {\n\n }\n\n async print(dto: IntLicenseDetailsDto) {\n //console.log(dto);\n this.dto = dto;\n \n // this.personalPhoto = ( ).changingThisBreaksApplicationSecurity;\n // this.passportPhoto = (await (await this.fileLoader.loadAsync(dto.attachments[1] as string))).changingThisBreaksApplicationSecurity;\n // this.licensePhoto = (await (await this.fileLoader.loadAsync(dto.attachments[2] as string))).changingThisBreaksApplicationSecurity;\n\n // const x = await (await this.fileLoader.loadAsync(dto.attachments[0] as string))\n this.issueDate = this.dto.issued ? this.dto.issued : new Date();\n\n setTimeout(() => {\n const printHtmlContent = this.elRef.nativeElement.innerHTML;\n Utils.printHtml(printHtmlContent);\n }, 500);\n }\n\n}\n","import { Component, OnInit, ElementRef } from '@angular/core';\nimport { IntLicenseDetailsDto } from '../../models/int-license';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { Gender } from 'src/app/core/models/enums/gender';\nimport { FileLoaderService } from 'src/app/shared/services/file-loader.service';\nimport { PrintObject } from 'src/app/core/models/enums/print-object';\nimport { SafeUrl } from '@angular/platform-browser';\n\n@Component({\n selector: 'mac-int-license-print',\n templateUrl: './int-license-print.component.html',\n styleUrls: ['./int-license-print.component.scss'],\n providers: [FileLoaderService]\n})\nexport class IntLicensePrintComponent {\n\n dto: IntLicenseDetailsDto;\n //personalPhoto: string;\n qRCodeUrl: string;\n printObject: PrintObject;\n v: number = 42.4;\n h: number = 10.6;\n rh: number = 4.1;\n get Language() { return Language; };\n get Gender() { return Gender };\n get PrintObject() { return PrintObject; };\n\n constructor(private elRef: ElementRef, private fileLoader: FileLoaderService) {\n }\n\n async print(dto: IntLicenseDetailsDto, printObject: PrintObject) {\n this.dto = dto;\n this.printObject = printObject;\n\n this.qRCodeUrl = Utils.generateQrCodeUrl(this.dto.hashedSerial);// `${this._baseUrl}/verify-license/${this.dto.hashedSerial}`;\n //this.personalPhoto = ((await this.fileLoader.loadAsync(dto.attachments[0] as string))).changingThisBreaksApplicationSecurity;\n\n setTimeout(() => {\n const printHtmlContent = this.elRef.nativeElement.innerHTML;\n Utils.printHtml(printHtmlContent);\n }, 500);\n }\n}\n","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { merge, fromEvent } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport * as moment from 'moment';\nimport * as _ from 'lodash';\n\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { exportToExcel } from 'src/app/shared/helpers/export-to-excel';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { IntLicensesDataSource } from '../../services/int-licenses.datasource';\nimport { IntLicensesService } from '../../services/int-licenses.service';\nimport { IntLicenseDto } from '../../models/int-license';\nimport { Gender } from 'src/app/core/models/enums/gender';\nimport { PrintObject } from 'src/app/core/models/enums/print-object';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { DeleteModal, UpdateModal } from 'src/app/shared/models/modal';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { DefaultAlertAction } from 'src/app/shared/models/default-alert-action';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { CountriesService } from 'src/app/features/lookups/services/countries';\nimport { CountryDto } from 'src/app/features/lookups/models/country';\nimport { IntLicensePermitClass } from 'src/app/core/models/enums/license-permit-class';\nimport { populateAccountsSelect } from 'src/app/shared/helpers/populate-accounts-select';\nimport { LookupDto } from 'src/app/features/lookups/models/lookup';\nimport { AccountsService } from 'src/app/features/accounts/services/accounts.service';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { PaginationQuery, PrintLogDto, TryRevokeDocumentCommand } from '../../../_shared/models/issuing.models';\nimport { IssuingService } from '../../../_shared/services/issuing.service';\n//import { StockType } from 'src/app/core/models/enums/stock-type';\nimport { parseInt } from 'lodash';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { StockTypeDto } from 'src/app/features/lookups/models/stock-type';\nimport { StockTypesService } from 'src/app/features/lookups/services/stock-types';\nimport { _DocumentType } from 'src/app/core/models/enums/document-type';\n\n@Component({\n selector: 'mac-int-licenses',\n templateUrl: './int-licenses.component.html',\n styleUrls: ['../../../../../../../node_modules/@ng-select/ng-select/themes/material.theme.css', './int-licenses.component.scss'],\n providers: [\n IntLicensesService,\n IssuingService,\n StockTypesService,\n CountriesService,\n AccountsService\n ]\n})\nexport class IntLicensesComponent implements OnInit {\n moment = moment;\n displayedColumns: string[] = ['serial', 'name', 'gender', 'phoneNumber', 'accountTitles','stockType', 'passportID', 'issueDate', 'printings', 'tools'];\n dataSource: IntLicensesDataSource;\n lang: Language;\n advancedSearchMode: boolean;\n countries: CountryDto[] = [];\n accounts: LookupDto[] = [];\n stockTypes: StockTypeDto[] = [];\n query: any = null;\n\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild('filter', { static: true }) filter: ElementRef;\n @ViewChild('filterBtn') filterBtn: ElementRef;\n\n get Role() { return Role; };\n get Gender() { return Gender; };\n get PrintObject() { return PrintObject; };\n get IntLicensePermitClass() { return IntLicensePermitClass };\n get Object() { return Object; };\n get Math() { return Math; };\n\n constructor(private loader: LoadingService,\n private intLicensesService: IntLicensesService,\n private issuingService: IssuingService,\n public translate: TranslateService,\n private confirmService: ConfirmService,\n private alert: AlertService,\n public auth: AuthService,\n private fb: FormBuilder,\n private stockTypesService: StockTypesService,\n private countriesService: CountriesService,\n private accountsService: AccountsService,\n private router: Router,\n private route: ActivatedRoute) { }\n\n async ngOnInit() {\n document.querySelector('mat-card').classList.remove('overflow-hidden');\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n this.loader.load(LoaderType.Nav);\n this.formInit();\n\n this.countriesService.get(this.lang)\n .then(result => this.countries = result.list);\n\n //if system account, accounts will be fetched from server, otherwise current account details will be fetched from local auth service\n if (this.auth.currentUser.isSystemAccount) {\n this.accountsService.getChildrenAccountsLookup(0, false)\n .then(result => {\n this.accounts = result.list;// populateAccountsSelect(result.list);\n }).catch(e => this.searchForm.get('accountId').disable());\n } else {\n this.accounts = [{ id: this.auth.currentUser.accountId, titles: [this.auth.currentUser.accountTitles[this.lang]] }];\n this.searchForm.patchValue({ accountId: this.auth.currentUser.accountId });\n this.searchForm.get('accountId').disable();\n }\n\n this.route.queryParamMap.subscribe(p => {\n //console.warn(p);\n\n if (!p.has('pageIndex')) {\n //console.warn('ready to reload!');\n this.advancedSearchMode = false;\n this.activeFilters = false;\n this.filter.nativeElement.value = '';\n this.paginator.page.emit({ pageIndex: 0, pageSize: this.paginator.pageIndex, length: this.paginator.length });\n }\n });\n\n //let query = null;\n\n if (this.route.snapshot.queryParams.query) {\n this.query = this.route.snapshot.queryParams.query;\n this.filter.nativeElement.value = this.query;\n }\n else if (this.route.snapshot.queryParams.accountId\n || this.route.snapshot.queryParams.countryId\n || this.route.snapshot.queryParams.fromDate\n || this.route.snapshot.queryParams.toDate\n || this.route.snapshot.queryParams.gender\n || this.route.snapshot.queryParams.name\n || this.route.snapshot.queryParams.nationalityId\n || this.route.snapshot.queryParams.stockTypeId\n || this.route.snapshot.queryParams.passportID\n || this.route.snapshot.queryParams.permitClass\n || this.route.snapshot.queryParams.phoneNumber\n || this.route.snapshot.queryParams.serial\n || this.route.snapshot.queryParams.isIssued\n || this.route.snapshot.queryParams.isDamaged) {\n this.activeFilters = true;\n this.searchForm.patchValue(this.route.snapshot.queryParams);\nconsole.log(this.route.snapshot.queryParams);\n //fix int for ng-select\n this.searchForm.patchValue({ accountId: !isNaN(this.route.snapshot.queryParams.accountId) ? parseInt(this.route.snapshot.queryParams.accountId) : null });\n this.searchForm.patchValue({ countryId: !isNaN(this.route.snapshot.queryParams.countryId) ? parseInt(this.route.snapshot.queryParams.countryId) : null });\n this.searchForm.patchValue({ nationalityId: !isNaN(this.route.snapshot.queryParams.nationalityId) ? parseInt(this.route.snapshot.queryParams.nationalityId) : null });\n\n // this.searchForm.patchValue({countryId: 2});\n // console.log(this.searchForm.value);\n this.query = this.searchForm.value;\n }\n\n this.fetchData(this.query);\n await Promise.all([\n this.stockTypesService.getAllowed()\n .then(result => this.stockTypes = result.list.filter(x => x.documentType == _DocumentType.DrivingLicense))\n ]);\n }\n\n ngAfterViewInit() {\n this.dataSource.counter$\n .pipe(\n tap((count) => {\n this.paginator.length = count;\n })\n ).subscribe();\n\n merge(this.paginator.page, this.sort.sortChange)\n .pipe(\n tap(() => {\n this.dataSource.loadIntLicenses({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction },\n this.advancedSearchMode || this.activeFilters ? this.searchForm.value : this.filter.nativeElement.value.trim())\n })\n ).subscribe(() => this.loader.load(LoaderType.Body));\n\n merge(fromEvent(this.filter.nativeElement, 'search'), fromEvent(this.filterBtn.nativeElement, 'click'))\n .pipe(\n tap(() => {\n this.advancedSearchMode = false;\n this.activeFilters = false;\n this.searchForm.reset();\n this.paginator.pageIndex = 0;\n this.dataSource.loadIntLicenses({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction }, this.filter.nativeElement.value.trim())\n })\n ).subscribe(() => this.loader.load(LoaderType.Body));\n\n this.dataSource.connect()\n .subscribe(() => {\n let pagination: PaginationQuery = { pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction };\n this.query = this.activeFilters ? this.searchForm.value : this.filter.nativeElement.value.trim();\n let query = this.query;\n\n if (this.activeFilters)\n this.router.navigate(['.'], { relativeTo: this.route, queryParams: { ...pagination, ...query }, replaceUrl: true });\n else\n this.router.navigate(['.'], { relativeTo: this.route, queryParams: { ...pagination, query }, replaceUrl: true });\n });\n }\n\n fetchData(query) {\n this.paginator.pageIndex = this.route.snapshot.queryParams.pageIndex ? this.route.snapshot.queryParams.pageIndex : 0;\n this.paginator.pageSize = this.route.snapshot.queryParams.pageSize ? this.route.snapshot.queryParams.pageSize : 25;\n this.sort.active = this.route.snapshot.queryParams.sort ? this.route.snapshot.queryParams.sort : 'created';\n this.sort.direction = this.route.snapshot.queryParams.dir ? this.route.snapshot.queryParams.dir : 'desc';\n this.dataSource = new IntLicensesDataSource(this.intLicensesService, this.loader);\n this.dataSource.loadIntLicenses({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction }, query);\n }\n\n toggleAdvancedSearch() {\n this.advancedSearchMode = !this.advancedSearchMode;\n this.filter.nativeElement.value = '';\n }\n\n filterList(list: PrintLogDto[], printObject: PrintObject) {\n return list.filter(l => l.printObject == printObject)\n }\n\n printObjectsCount(list: PrintLogDto[], printObject: PrintObject) {\n return list.filter(l => l.printObject == printObject).length;\n }\n\n cancel(dto: IntLicenseDto) {\n if (!dto.issued || !this.auth.currentUser.isSystemAccount\n || !this.auth.currentUser.isInRole(Role.INT_LICENSES_DELETE))\n return;\n\n\n let modal = this.confirmService.confirm(new DeleteModal({\n type: 'LIC_TITLE_LICENSE',\n title: `${dto.serial.toString()}/${dto.name}`,\n note: 'LIC_CONFIRM_CANCEL_NOTE'\n }));\n\n modal.then(async m => {\n if (m.indexOf('CONFIRMED') > -1)\n this._cancel(dto.id);\n });\n }\n\n delete(dto: IntLicenseDto) {\n if (dto.accountId != this.auth.currentUser.accountId\n || !this.auth.currentUser.isInRole(Role.INT_LICENSES_DELETE))\n return;\n\n //delete confirm if not yet issued\n if (!dto.issued) {\n let modal = this.confirmService.confirm(new DeleteModal({\n type: 'LIC_TITLE_LICENSE',\n title: `${dto.serial.toString()}/${dto.name}`,\n note: 'LIC_CONFIRM_DELETE_NOTE'\n }));\n\n modal.then(async m => {\n if (m.indexOf('CONFIRMED') > -1)\n this._delete(dto.id);\n });\n }\n }\n\n tryRevoke(dto: IntLicenseDto) {\n console.log('here');\n if (dto.accountId != this.auth.currentUser.accountId\n || !this.auth.currentUser.isInRole(Role.INT_LICENSES_REVOKE_REQUESTS_CREATE))\n return;\n\n let modal;\n //try-revoke\n //try-revoke confirm if issued && permited to try-revoke\n if (!dto.revokeRequestId) {\n modal = this.confirmService.confirm(new DeleteModal({\n type: 'ISS_TITLE_DOCUMENT_REVOKE_REQUEST',\n title: `${dto.stockType.titles[0]} / ${dto.serial.toString()}`,\n action: '_ACTION_REQUEST2',\n submitText: '_ACTION_REQUEST2',\n confirmQuestion: 'ISS_DOCUMENT_REVOKE_REQUEST_CONFIRM_REQUEST_CONFIRMATION_QUESTION',\n note: 'ISS_DOCUMENT_REVOKE_REQUEST_CONFIRM_REQUEST_NOTE',\n dangerNote: ' ',\n inputNote: 'ISS_TITLE_DOCUMENT_REVOKE_REQUEST_REASON',\n requestType: true,\n attachment: '_TITLE_ATTACHMENTS'\n }));\n } else {\n //undo\n modal = this.confirmService.confirm(new UpdateModal({\n type: 'ISS_TITLE_DOCUMENT_REVOKE_REQUEST',\n title: `${dto.stockType.titles[0]} / ${dto.serial.toString()}`,\n action: '_ACTION_REVOKE_REQUEST_CANCEL',\n submitText: '_ACTION_REVOKE_REQUEST_CANCEL',\n confirmQuestion: 'ISS_DOCUMENT_REVOKE_REQUEST_CONFIRM_REQUEST_CANCEL_CONFIRMATION_QUESTION',\n note: 'ISS_DOCUMENT_REVOKE_REQUEST_CONFIRM_REQUEST_CANCEL_NOTE',\n dangerNote: ' '\n }));\n }\n modal.then(async m => {\n if (m.indexOf('CONFIRMED') > -1) {\n (!dto.revokeRequestId) ?\n this._tryRevoke(dto.id, dto.stockType.id, m[1])\n : this._cancelTryRevoke(dto.revokeRequestId)\n }\n });\n}\n\nprivate _tryRevoke(objectId: string, stockTypeId: number, attributes: any) {\n const reason = attributes.inputNote,\n isDamaged = attributes.isDamaged == \"true\",\n attachment = attributes.attachment;\n\n const cmd: TryRevokeDocumentCommand = { id: objectId, stockTypeId: stockTypeId, reason, isDamaged, attachment }\n this.loader.load(LoaderType.Body);\n this.issuingService.tryRevokeDocument(cmd)\n .then(result => {\n if (result) {\n this.alert.success(DefaultAlertAction.REQUESTING);\n const i = this.dataSource.IntLicensesSubject.value.findIndex(i => i.id == objectId);\n this.dataSource.IntLicensesSubject.value[i].revokeRequestId = result;\n this.dataSource.IntLicensesSubject.next(this.dataSource.IntLicensesSubject.value);\n\n } else this.alert.failure(DefaultAlertAction.REQUESTING);\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n}\n\n\n private _cancelTryRevoke(id: number) {\n this.loader.load(LoaderType.Body);\n this.issuingService.cancelTryRevokeDocument(id)\n .then(result => {\n if (result) {\n this.alert.success(DefaultAlertAction.REVOKE_REQUESTING_CANCEL);\n const i = this.dataSource.IntLicensesSubject.value.findIndex(i => i.revokeRequestId == id);\n this.dataSource.IntLicensesSubject.value[i].revokeRequestId = null;\n this.dataSource.IntLicensesSubject.next(this.dataSource.IntLicensesSubject.value);\n\n } else this.alert.failure(DefaultAlertAction.REVOKE_REQUESTING_CANCEL);\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n\n private _delete(id: string) {\n this.loader.load(LoaderType.Body);\n this.intLicensesService.delete(id)\n .then(result => {\n if (result) {\n this.alert.success(DefaultAlertAction.DELETING);\n this.dataSource.IntLicensesSubject.next(this.dataSource.IntLicensesSubject.value.filter(d => d.id != id));\n this.dataSource.countSubject.next(this.dataSource.countSubject.value - 1);\n\n } else this.alert.failure(DefaultAlertAction.DELETING);\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n\n private _cancel(id: string) {\n this.loader.load(LoaderType.Body);\n this.issuingService.cancelDocument(id)\n .then(result => {\n if (result) {\n this.alert.success(DefaultAlertAction.DELETING);//todo: change message\n this.dataSource.IntLicensesSubject.next(this.dataSource.IntLicensesSubject.value.filter(d => d.id != id));\n this.dataSource.countSubject.next(this.dataSource.countSubject.value - 1);\n\n } else this.alert.failure(DefaultAlertAction.DELETING);\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n\n onExportToExcel(all: boolean = true) {\n this.loader.load(LoaderType.Body);\n if (all)\n this.intLicensesService[(this.query == null || typeof this.query == 'string') ? 'getLicenses' : 'search']({ pageIndex: 0, pageSize: this.paginator.length, sort: this.sort.active, dir: this.sort.direction }, this.query)\n .toPromise()\n .then(data => {\n this.exportToExcel(data.list);\n }).finally(() => this.loader.load(LoaderType.Body, false));\n else\n this.dataSource.connect().subscribe(data => {\n this.exportToExcel(data);\n this.loader.load(LoaderType.Body, false);\n }).unsubscribe();\n }\n\n private exportToExcel(data: IntLicenseDto[]) {\n const wscols = [\n { width: 12 },\n { width: 28 },\n { width: 12 },\n { width: 18 },\n { width: 18 },\n { width: 28 },\n { width: 18 },\n { width: 18 },\n { width: 18 },\n { width: 18 }\n ];\n const autofilter = { ref: 'A1:I1' };\n const rows: string[][] = [];\n\n const headers = [\n this.translate.instant('LIC_FIELD_LICENSE_NO'),\n this.translate.instant('_FIELD_NAME'),\n this.translate.instant('_LABEL_GENDER'),\n this.translate.instant('_FIELD_PHONE_NO'),\n this.translate.instant('ACC_FIELD_ACCOUNT_TITLE'),\n this.translate.instant('TRP_FIELD_LIC_TYPE'),\n this.translate.instant('ISS_FIELD_PASSPORT_NUMBER'),\n this.translate.instant('ISS_LABEL_ISSUE_DATE'),\n this.translate.instant('ISS_LABEL_PRINT_OBJECT_PRINTED_COUNT', { param: this.translate.instant('LIC_LABEL_PRINT_OBJECT_LICENSE') }),\n this.translate.instant('ISS_LABEL_PRINT_OBJECT_PRINTED_COUNT', { param: this.translate.instant('LIC_LABEL_PRINT_OBJECT_STICKER') }),\n ];\n\n rows.push(headers);\n for (let row of data) {\n rows.push([\n row.serial,\n row.name,\n this.translate.instant(row.gender == Gender.Male ? '_LABEL_MALE' : '_LABEL_FEMALE'),\n row.phoneNumber,\n row.accountTitles[0],\n row.stockType.titles[0],\n row.passportID,\n moment(row.issued).format('DD/MM/YYYY'),\n this.printObjectsCount(row.printLogs, PrintObject.IntLicenseCard),\n this.printObjectsCount(row.printLogs, PrintObject.IntLicenseSticker)\n ]);\n }\n\n exportToExcel(rows, wscols, autofilter, this.translate.currentLang == 'ar', 'Int-Licenses');\n }\n\n onSubmit() {\n //var d = new Date()\n if (this.fromDate.value && typeof this.fromDate.value == 'object')\n this.fromDate.setValue(Utils.convertToServerDateTimeString(this.fromDate.value));\n\n if (this.toDate.value && typeof this.toDate.value == 'object')\n this.toDate.setValue(Utils.convertToServerDateTimeString(this.toDate.value));\n\n //swap dates\n if (this.fromDate.value && this.toDate.value && new Date(this.fromDate.value) > new Date(this.toDate.value)) {\n let _temp = this.fromDate.value;\n this.fromDate.setValue(this.toDate.value);\n this.toDate.setValue(_temp);\n }\n\n //console.log(this.fromDate.value, this.toDate.value);\n\n this.activeFilters = true;\n\n this.paginator.pageIndex = 0;\n this.paginator.page.emit({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, length: this.paginator.length });\n }\n\n get fromDate() { return this.searchForm.get('fromDate'); };\n get toDate() { return this.searchForm.get('toDate'); };\n searchForm: FormGroup;\n activeFilters: boolean;\n\n resetSearch() {\n this.advancedSearchMode = false;\n if (this.activeFilters) {\n this.activeFilters = false;\n this.paginator.pageIndex = 0;\n this.paginator.page.emit({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, length: this.paginator.length });\n }\n\n this.activeFilters = false;\n\n setTimeout(() => {\n this.searchForm.reset();\n this.query = null;\n }, 500);\n }\n\n private formInit() {\n //use same validators to filter inputs values\n this.searchForm = this.fb.group({\n name: [''], //regex to match english letters only\n countryId: [null],\n nationalityId: [null],\n gender: [''],\n phoneNumber: [''], //regex to match numbers only\n passportID: [''],\n accountId: [null],\n permitClass: [''],\n serial: [''], //regex to match numbers only\n stockTypeId: [''],\n fromDate: [''],\n toDate: [''],\n isIssued: [''],\n isDamaged: ['']\n });\n }\n}\n","import { Component, OnInit, ViewChild, ElementRef, Renderer2 } from '@angular/core';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { FormGroup, FormBuilder, Validators, AbstractControl, FormArray, FormControl } from '@angular/forms';\nimport { CountryDto } from 'src/app/features/lookups/models/country';\nimport { CountriesService } from 'src/app/features/lookups/services/countries';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BloodGroup } from 'src/app/core/models/enums/blood-group';\nimport { IntLicensePermitClass } from 'src/app/core/models/enums/license-permit-class';\nimport { Gender } from 'src/app/core/models/enums/gender';\nimport { StocksService } from 'src/app/features/stock/services/stocks.service';\n//import { StockType } from 'src/app/core/models/enums/stock-type';\nimport * as moment from 'moment';\nimport { Utils } from 'src/app/shared/services/utils';\n//import { isArray } from 'util';\nimport { IntLicensesService } from '../../services/int-licenses.service';\nimport { PostIntLicenseCmd } from '../../models/create.cmd';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { IntLicenseVm, IntLicenseDetailsDto } from '../../models/int-license';\nimport { FileLoaderService } from 'src/app/shared/services/file-loader.service';\nimport * as _ from 'lodash';\nimport { englishAndSpacesValidator, numbersOnlyValidator, passportIdOrIdentityIdValidator, phoneNumberValidator } from 'src/app/shared/services/custom-validators';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { DefaultAlertAction } from 'src/app/shared/models/default-alert-action';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { Observable } from 'rxjs';\nimport { startWith, map } from 'rxjs/operators';\nimport { FileHandle } from 'src/app/shared/directives/drag.directive';\nimport { StockTypesService } from 'src/app/features/lookups/services/stock-types';\nimport { StockTypeDto } from 'src/app/features/lookups/models/stock-type';\nimport { _DocumentType } from 'src/app/core/models/enums/document-type';\n\n@Component({\n selector: 'mac-int-manage-license',\n templateUrl: './manage-int-license.component.html',\n styleUrls: ['./manage-int-license.component.scss'],\n providers: [CountriesService,StockTypesService, StocksService, IntLicensesService, FileLoaderService]\n})\nexport class ManageIntLicenseComponent implements OnInit {\n lang: Language;\n form: FormGroup;\n countries: CountryDto[];\n stockTypes: StockTypeDto[] = [];\n availableSerials: number[];\n cashedVm: IntLicenseVm;\n dto: IntLicenseDetailsDto = new IntLicenseDetailsDto();\n updateMode: boolean;\n _loadingGif: string = 'assets/images/Ring-Preloader.gif';\n dateFormat = 'L';\n mode: 'ADD' | 'UPDATE' | 'CLONE';\n videoConstraints = {\n video: {\n facingMode: \"environment\",\n width: { ideal: 4096 },\n height: { ideal: 2160 }\n }\n };\n videoWidth = 0;\n videoHeight = 0;\n isCamStreaming: boolean;\n camStream: MediaStream;\n objectId: string;\n\n keyword: string = 'name';\n key: string;\n\n\n @ViewChild('video') videoElement: ElementRef;\n @ViewChild('canvas', { static: true }) canvas: ElementRef;\n\n get moment() { return moment };\n get Object() { return Object };\n get BloodGroup() { return BloodGroup };\n get IntLicensePermitClass() { return IntLicensePermitClass };\n get Gender() { return Gender };\n get serial() { return this.form.get('serial') };\n get name() { return this.form.get('name') };\n get dateOfBirth() { return this.form.get('dateOfBirth') };\n get nationality() { return this.form.get('nationalityId') };\n get country() { return this.form.get('countryId') };\n get stockType() { return this.form.get('stockTypeId') };\n get passportID() { return this.form.get('passportID') };\n get bloodGroup() { return this.form.get('bloodGroup') };\n get gender() { return this.form.get('gender') };\n get accordingTo() { return this.form.get('accordingToId') };\n get permitClasses() { return this.form.get('permitClasses') };\n get phoneNumber() { return this.form.get('phoneNumber') };\n get attachments() { return this.form.get('attachments') as FormArray };\n get dataAccuracyAcknowledgment() { return this.form.get('dataAccuracyAcknowledgment') };\n get validityYears() { return this.form.get('validityYears') };\n\n _validityYears: number[] = [];\n\n\n\n constructor(private loader: LoadingService,\n private fb: FormBuilder,\n private countriesService: CountriesService,\n private stockTypesService: StockTypesService,\n private stocksService: StocksService,\n public translate: TranslateService,\n private intLicenseService: IntLicensesService,\n private route: ActivatedRoute,\n public fileLoader: FileLoaderService,\n private alert: AlertService,\n private router: Router,\n private renderer: Renderer2,\n public auth: AuthService) { }\n\n\n\n async ngOnInit() {\n console.log('first');\n if (this.auth.currentUser.intLicenseAllowedValidity > 1) {\n this._validityYears = new Array(this.auth.currentUser.intLicenseAllowedValidity);\n }\n \n moment.locale('en-gb');\n document.querySelector('mat-card').classList.remove('overflow-hidden');\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n \n this.loader.load(LoaderType.Nav);\n this.formInit();\n this.form.disable();\n this.stockType.enable();\n this.stockTypesService.getAllowed()\n .then(result => this.stockTypes = result.list.filter(x => x.documentType == _DocumentType.DrivingLicense));\n this.countries = await (await this.countriesService.get(this.lang)).list;\n \n this.availableSerials = [0];\n console.log('availableSerials');\n this.mode = this.route.snapshot.data.mode;\n \n this.objectId = this.route.snapshot.paramMap.get('id');\n this.key = this.route.snapshot.paramMap.get('key');\n \n if (this.objectId || this.key) {\n this.updateMode = this.mode == 'UPDATE';\n \n if (this.mode == 'CLONE') {\n this.dto = await (await this.intLicenseService.getByHashedSerial(this.key)).intLicense;\n } else {\n this.dto = await (await this.intLicenseService.get(this.objectId)).intLicense;\n }\n \n if (!this.dto || (this.updateMode && this.dto.issued)) {\n this.router.navigate([`/${this.translate.currentLang}/not-found`]);\n return;\n }\n if (this.updateMode) {\n this.availableSerials = [this.dto.serial];\n this.form.patchValue({ stockTypeId: this.dto.stockType.id });\n this.onSelectStockType();\n }\n if (this.updateMode) {\n if (!this.availableSerials.includes(this.dto.serial)) {\n this.availableSerials.unshift(this.dto.serial);\n }\n } else {\n if (this.availableSerials.length > 0) {\n this.form.patchValue({ serial: this.availableSerials[0] });\n } else {\n this.alert.failure(\"LIC_ALERT_NO_STOCK_AVAILABLE\", false);\n this.form.disable();\n return;\n }\n }\n \n this.form.patchValue({\n tockTypeId: this.updateMode ? this.dto.stockType.id : [0],\n serial: this.updateMode ? this.dto.serial : [0]});\n this.dto.serial = this.updateMode ? this.dto.serial : this.availableSerials[0];\n \n this.form.patchValue(this.dto);\n \n this.attachments.controls.forEach(async (ctrl: FormControl, i) => {\n let path = ctrl.value;\n if (this.key) path = `${path}?key=${this.key}`;\n ctrl.setValue(await this.fileLoader.loadAsync(path));\n });\n \n } else {\n if (this.availableSerials.length > 0) {\n this.form.patchValue({ serial: this.availableSerials[0] });\n } else {\n this.alert.failure(\"LIC_ALERT_NO_STOCK_AVAILABLE\", false);\n this.form.disable();\n }\n }\n this.loader.load(LoaderType.Nav, false);\n }\n checkValidityYears(id: number): void {\n if (id === 1) {\n console.log('Stock Id: ', id);\n this.validityYears?.setValue(1);\n console.log('License Period: ', this.validityYears.value);\n }\n if (id === 8) {\n console.log('Stock Id: ', id);\n this.validityYears?.setValue(1);\n console.log('License Period: ', this.validityYears.value);\n }\n/* if (id === 11) {\n console.log('Stock Id: ', id);\n this.validityYears?.setValue(1);\n console.log('License Period: ', this.validityYears.value);\n }\n if (id === 1010) {\n console.log('Stock Id: ', id);\n this.validityYears?.setValue(2);\n console.log('License Period: ', this.validityYears.value);\n }\n if (id === 1011) {\n console.log('Stock Id: ', id);\n this.validityYears?.setValue(3);\n console.log('License Period: ', this.validityYears.value);\n } */\n if (id === 10) {\n console.log('Stock Id: ', id);\n this.validityYears?.setValue(1);\n console.log('License Period: ', this.validityYears.value);\n }\n if (id === 14) {\n console.log('Stock Id: ', id);\n this.validityYears?.setValue(2);\n console.log('License Period: ', this.validityYears.value);\n }\n if (id === 15) {\n console.log('Stock Id: ', id);\n this.validityYears?.setValue(3);\n console.log('License Period: ', this.validityYears.value);\n }\n }\n async onSelectStockType() {\n try {\n //console.log(this.stockType.value);\n this.loader.load(LoaderType.Body);\n \n const response = await this.stocksService.getAvailableStocks(this.stockType.value);\n // Check if the response and its nested properties are defined\n if (response && response.stockTypesAvailableStocks && response.stockTypesAvailableStocks.length > 0) {\n const availableStock = response.stockTypesAvailableStocks[0].availableStock;\n this.checkValidityYears(this.stockType.value);\n if (availableStock) {\n this.availableSerials = Utils.spreadRanges(availableStock);\n \n if (this.availableSerials.length > 0 || (this.updateMode && Number(this.stockType.value) == this.dto.stockType.id)) {\n if (this.updateMode && Number(this.stockType.value) == this.dto.stockType.id) {\n this.availableSerials.unshift(this.dto.serial);\n }\n this.form.patchValue({ serial: this.availableSerials[0] });\n this.form.enable();\n this.form.markAsUntouched();\n \n\n } else {\n this.alert.failure(\"TRP_ALERT_NO_STOCK_AVAILABLE\", false);\n this.availableSerials = [];\n this.serial.reset();\n this.form.disable();\n\n if (this.stockTypes.length > 1) {\n this.stockType.enable();\n }\n }\n } else {\n throw new Error(\"No available stock found\");\n }\n } else {\n throw new Error(\"No stock types available stocks found\");\n }\n } catch (error) {\n console.error(error);\n this.alert.failure(\"LIC_ALERT_NO_STOCK_AVAILABLE\", false);\n this.availableSerials = [];\n this.serial.reset();\n this.form.disable();\n\n if (this.stockTypes.length > 1) {\n this.stockType.enable();\n }\n } finally {\n this.loader.load(LoaderType.Body, false);\n }\n}\n\n\n \n\n \n \n preview($event, control: FormControl | AbstractControl) {\n const tgt = $event.target || window.event.srcElement,\n files = Array.isArray($event) ? $event : tgt.files;\n\n if (FileReader && files && files.length) {\n const fr = new FileReader();\n fr.onload = () => {\n if (fr.result.toString().length <= 2 * 2 ** 20)\n control.setValue(fr.result.toString());\n else\n alert('file limit is 2 MB.');\n };\n fr.readAsDataURL(files[0]);\n }\n else {\n //console.error('not supported!');\n }\n }\n\n fileDropped(file: FileHandle, control: FormControl | AbstractControl): void {\n\n control.setValue(file.url);\n\n // if (file.url.length <= 2 * 2 ** 20)\n // control.setValue(file.url);\n // else\n // alert('file limit is 2 MB.');\n }\n\n removeImage(control: FormControl | AbstractControl) {\n control.reset();\n control.markAsTouched();\n }\n\n startCamera() {\n if (!!(navigator.mediaDevices && navigator.mediaDevices.getUserMedia)) {\n navigator.mediaDevices.getUserMedia(this.videoConstraints)\n .then(stream => {\n this.camStream = stream;\n this.attachVideo(stream);\n }).catch(this.handleError);\n this.isCamStreaming = true;\n } else {\n alert('Sorry, camera not available.');\n }\n }\n\n capture() {\n const control = this.attachments.get([0]);\n this.renderer.setProperty(this.canvas.nativeElement, 'width', this.videoWidth);\n this.renderer.setProperty(this.canvas.nativeElement, 'height', this.videoHeight);\n this.canvas.nativeElement.getContext('2d').drawImage(this.videoElement.nativeElement, 0, 0);\n const imageData = this.canvas.nativeElement.toDataURL(\"image/png\", 1);\n control.setValue(imageData);\n this._stopCamera();\n }\n\n stopCamera() {\n this._stopCamera();\n const control = this.attachments.get([0]);\n control.reset();\n control.markAsTouched();\n }\n\n private _stopCamera() {\n this.isCamStreaming = false;\n this.videoElement.nativeElement.pause();\n this.videoElement.nativeElement.removeAttribute('src');\n this.camStream.getTracks().forEach(function (track) {\n track.stop();\n });\n }\n\n handleError(error) {\n //console.log('Error: ', error);\n }\n\n attachVideo(stream: MediaStream) {\n\n this.renderer.setProperty(this.videoElement.nativeElement, 'srcObject', stream);\n this.renderer.listen(this.videoElement.nativeElement, 'play', (event) => {\n this.videoHeight = this.videoElement.nativeElement.videoHeight;\n this.videoWidth = this.videoElement.nativeElement.videoWidth;\n });\n }\n\n isExpired(expiryDate) {\n return moment(expiryDate).isBefore(Date.now());\n }\n\n private zeroPad = (num, places) => String(num).padStart(places, '0');\n\n toISODate(date) {\n return `${date.getFullYear()}-${this.zeroPad(date.getMonth() + 1, 2)}-${this.zeroPad(date.getDate(), 2)}T00:00:00.000Z`;\n }\n\n onSubmit() {\n //console.warn(this.form.value);\n\n if (this.dateOfBirth.value) {\n //this.dateOfBirth.setValue(moment(this.dateOfBirth.value).format());\n this.dateOfBirth.setValue(this.toISODate(new Date(this.dateOfBirth.value)));\n // console.warn(this.form.value);\n }\n\n if (!this.form.valid)\n return Utils.validateAllFormFields(this.form);\n\n if (!this.dataAccuracyAcknowledgment.value) {\n this.alert.failure(\"LIC_ALERT_DATA_ACCURACY_ACKNOWLEDGMENT\", false);\n return;\n }\n\n this.attachments.controls.forEach((ctrl, i) => {\n //const _attachments = this.attachments.controls[i];\n //for (let ctrl of Object.keys((grp).controls))\n if (ctrl.value instanceof Object)\n ctrl.setValue(ctrl.value.changingThisBreaksApplicationSecurity)\n });\n\n this.loader.load(LoaderType.Body);\n\n const cmd = this.form.value as PostIntLicenseCmd;\n cmd.id = this.dto.id;\n\n if (!this.updateMode) {\n cmd.id = null;\n if (this.auth.currentUser.isInRole(Role.INT_LICENSES_CREATE))\n this.intLicenseService.create(cmd)\n .then(id => {\n if (id) {\n this.alert.success(DefaultAlertAction.ADDING);\n setTimeout(() => {\n this.router.navigate(['/', this.translate.currentLang, 'issuing', 'int-licenses', 'view', id]);\n }, 1000);\n } else this.alert.failure(DefaultAlertAction.ADDING);\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n else {\n if (this.auth.currentUser.isInRole(Role.INT_LICENSES_UPDATE))\n this.intLicenseService.update(cmd)\n .then(result => {\n if (result) {\n this.alert.success(DefaultAlertAction.UPDATING);\n\n setTimeout(() => {\n this.router.navigate(['/', this.translate.currentLang, 'issuing', 'int-licenses', 'view', cmd.id]);\n }, 1000);\n\n } else this.alert.failure(DefaultAlertAction.UPDATING);\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n }\n\n private formInit() {\n\n this.form = this.fb.group({\n stockTypeId: ['', [Validators.required]],\n serial: ['', [Validators.required]],\n name: ['', [Validators.required, englishAndSpacesValidator, Validators.minLength(10), Validators.maxLength(25)]],\n dateOfBirth: ['', [Validators.required]],\n nationalityId: [null, [Validators.required]],\n countryId: [null, [Validators.required]],\n passportID: ['', [Validators.required, passportIdOrIdentityIdValidator, Validators.minLength(6), Validators.maxLength(15)]],\n bloodGroup: ['', [Validators.required]],\n gender: ['', [Validators.required]],\n accordingToId: [null, [Validators.required]],\n permitClasses: ['', [Validators.required]],\n phoneNumber: ['', [Validators.required, phoneNumberValidator]],\n attachments: this.fb.array([\n ['', [Validators.required]], //personalPhoto\n ['', [Validators.required]], //passportPhoto\n ['', [Validators.required]] //licensePhoto\n ]),\n\n dataAccuracyAcknowledgment: [false],\n validityYears: [1, [Validators.required]]\n })\n console.log(this.form.value);\n }\n\n private spreadRanges(ranges: number[][]) {\n const result = [];\n\n ranges.forEach(s => {\n if (s.length > 1) {\n let _start = s[0];\n const _end = s[1];\n while (_start <= _end)\n result.push(_start++);\n }\n else\n result.push(s[0]);\n });\n return result;\n }\n\n\n}","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { IntLicensesService } from '../../services/int-licenses.service';\nimport { IntLicenseVm, IntLicenseDetailsDto, IntLicenseDto } from '../../models/int-license';\nimport * as moment from 'moment';\nimport { Gender } from 'src/app/core/models/enums/gender';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Language } from 'src/app/core/models/enums/language';\nimport * as _ from 'lodash';\nimport { FileLoaderService } from 'src/app/shared/services/file-loader.service';\nimport { PrintObject } from 'src/app/core/models/enums/print-object';\nimport { IntLicensePrintComponent } from '../../components/int-license-print/int-license-print.component';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { UpdateModal } from 'src/app/shared/models/modal';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { CommitmentPrintComponent } from '../../components/commitment-print/commitment-print.component';\nimport { PrintLogDto } from '../../../_shared/models/issuing.models';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { utils } from 'protractor';\nimport { StaticConfig } from 'src/app/features/lookups/services/config';\nimport { ConfigObject } from 'src/app/core/models/enums/config-object';\nimport { has } from 'lodash';\n\n@Component({\n selector: 'mac-view-int-license',\n templateUrl: './view-int-license.component.html',\n styleUrls: ['./view-int-license.component.scss'],\n providers: [IntLicensesService, FileLoaderService]\n})\nexport class ViewIntLicenseComponent implements OnInit {\n cashedVm: IntLicenseVm;\n dto: IntLicenseDetailsDto = new IntLicenseDetailsDto();\n moment = moment;\n lang: Language;\n dateFormat = 'L';\n qRCodeImg: string;\n qRCodeUrl: string = '';\n // _personalPhoto: string;\n // _passportPhoto: string;\n // _licensePhoto: string;\n confirmed: boolean;\n //_baseUrl = 'https://idl.mac.org.sa';\n maxPrintLimit: number;\n defaultImage = 'assets/images/default.jpg';\n\n @ViewChild('printElm') printElm: IntLicensePrintComponent;\n @ViewChild('comPrintElm') comPrintElm: CommitmentPrintComponent;\n\n get Gender() { return Gender };\n get PrintObject() { return PrintObject; };\n get Role() { return Role; };\n get Language() { return Language; };\n get Math() { return Math; };\n\n constructor(private route: ActivatedRoute,\n private intLicenseService: IntLicensesService,\n private loader: LoadingService,\n public translate: TranslateService,\n private fileLoader: FileLoaderService,\n private confirmService: ConfirmService,\n public auth: AuthService,\n private router: Router) { }\n\n ngOnInit(): void {\n moment.locale('en-gb');\n document.querySelector('mat-card').classList.remove('overflow-hidden');\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n this.maxPrintLimit = Number(StaticConfig.getConfigKeyValuePairs(ConfigObject.IntLicenseMaxPrintLimit)[0].value);\n\n this.loader.load(LoaderType.Nav);\n const intLicenseId = this.route.snapshot.paramMap.get('id');\n if (intLicenseId) {\n this.intLicenseService.get(intLicenseId)\n .then(async result => {\n if (result.intLicense) {\n this.dto = result.intLicense;\n\n if (this.dto.issued) {\n this.qRCodeUrl = Utils.generateQrCodeUrl(this.dto.hashedSerial);// `${this._baseUrl}/verify-license/${this.dto.hashedSerial}`;\n\n setTimeout(() => {\n this.qRCodeImg = document.getElementsByTagName('ngx-kjua')[0]\n .getElementsByTagName('div')[0]\n //.getElementsByTagName('img')[0].src;\n .getElementsByTagName('canvas')[0].toDataURL(\"image/png\");\n });\n }\n\n // await this.dto.attachments.forEach( att => {\n // const file = await this.fileLoader.loadAsync(att);\n // att = file ? file : this.defaultImage;\n // ////console.log(att);\n // });\n\n this.dto.attachments[0] = (await this.fileLoader.loadAsync(this.dto.attachments[0] as string)).changingThisBreaksApplicationSecurity;\n this.dto.attachments[1] = (await this.fileLoader.loadAsync(this.dto.attachments[1] as string)).changingThisBreaksApplicationSecurity;\n this.dto.attachments[2] = (await this.fileLoader.loadAsync(this.dto.attachments[2] as string)).changingThisBreaksApplicationSecurity;\n\nconsole.log(this.dto.documentTemplateVersion)\n\n // this.dto.attachments.forEach((att, i) => {\n // //const _attachments = this.attachments.controls[i];\n // //for (let ctrl of Object.keys((grp).controls))\n // // if (ctrl.value instanceof Object)\n // this.fileLoader.loadAsync(att).then(r => {\n // //console.log(r);\n // this.dto.attachments[i] = (r).changingThisBreaksApplicationSecurity;\n // // console.log(this.dto.attachments);\n\n // });//.changingThisBreaksApplicationSecurity;\n // // ctrl.setValue(ctrl.value.changingThisBreaksApplicationSecurity)\n // });\n\n\n this.displayPreview();\n } else this.router.navigate([`/${this.translate.currentLang}/not-found`]);\n })\n .finally(() => this.loader.load(LoaderType.Nav, false));\n }\n }\n getTranslatedTemplateVersion(version: number): string {\n switch (version) {\n case 1:\n return this.translate.instant('_LABEL_TEMPLATE_1');\n case 2:\n return this.translate.instant('_LABEL_TEMPLATE_2');\n // Add more cases as needed\n default:\n return '';\n }\n }\n isPrintable() {\n return !this.dto.issued\n || this.printObjectsCount(this.dto.printLogs, PrintObject.IntLicenseCard) < this.maxPrintLimit\n || this.printObjectsCount(this.dto.printLogs, PrintObject.IntLicenseSticker) < this.maxPrintLimit\n }\n\n isExpired(expiryDate) {\n return moment(expiryDate).isBefore(Date.now());\n }\n\n printObjectsCount(list: PrintLogDto[], printObject: PrintObject) {\n if (list)\n return list.filter(l => l.printObject == printObject).length;\n }\n\n print(printObject: PrintObject) {\n //console.log(printObject);\n if (printObject == PrintObject.IntLicenseCommitment) {\n //console.warn('try');\n this.comPrintElm.print(this.dto);\n return;\n\n }\n\n\n if (this.dto.accountId != this.auth.currentUser.accountId\n || !this.auth.currentUser.isInRole(Role.INT_LICENSES_UPDATE))\n return;\n\n //confirm if not yet issued\n if (!this.dto.issued) {\n let modal = this.confirmService.confirm(new UpdateModal({\n title: this.dto.serial.toString(),\n type: 'LIC_TITLE_LICENSE',\n action: '_ACTION_ISSUE',\n confirmQuestion: 'LIC_CONFIRM_ISSUE_CONFIRMATION_QUESTION',\n note: 'LIC_CONFIRM_ISSUE_NOTE',\n dangerNote: 'LIC_CONFIRM_ISSUE_DANGER_NOTE',\n submitText: '_ACTION_ISSUE'\n }));\n\n modal.then(async m => {\n if (m.indexOf('CONFIRMED') > -1)\n await this._print(printObject);\n });\n } else this._print(printObject);\n }\n\n async _print(printObject: PrintObject) {\n\n //check if print limit allowed\n if (this.printObjectsCount(this.dto.printLogs, printObject) < this.maxPrintLimit) {\n this.loader.load(LoaderType.Body);\n //request to server print\n try {\n const hash = await this.intLicenseService.print({ id: this.dto.id, printObject });\n //console.log(hash);\n if (hash && hash.value) {\n //get new hash if just issued\n //calcualte issue date in FE\n //calculate expiry date in FE\n this.dto.hashedSerial = hash.value\n //this.qRCodeUrl = `${this._baseUrl}/verify-license/${this.dto.hashedSerial}`;\n this.qRCodeUrl = Utils.generateQrCodeUrl(this.dto.hashedSerial);\n setTimeout(() => {\n this.qRCodeImg = document.getElementsByTagName('ngx-kjua')[0]\n .getElementsByTagName('div')[0]\n //.getElementsByTagName('img')[0].src;\n .getElementsByTagName('canvas')[0].toDataURL(\"image/png\");\n });\n\n\n this.dto.issued = new Date();\n this.dto.expiryDate = moment(this.dto.issued).add(this.dto.validityYears, 'year').subtract(1, 'day').toDate();\n }\n\n //increment print objects\n this.dto.printLogs.push({ created: new Date(), printObject: printObject });\n\n //update ui\n await this.displayPreview();\n\n //open printing object\n await this.printElm.print(this.dto, printObject);\n\n }\n finally {\n this.loader.load(LoaderType.Body, false)\n }\n }\n }\n\n private async displayPreview() {\n const _issueDate = moment(this.dto.issued ? this.dto.issued : new Date()).format(this.dateFormat),\n _expiryDate = this.dto.issued ? moment(this.dto.expiryDate).format(this.dateFormat)\n : moment(new Date()).add(this.dto.validityYears, 'year').subtract(1, 'day').format(this.dateFormat);\n // _personalPhoto = await this.fileLoader.loadAsync(this.dto.personalPhoto);\n\n if (this.dto.documentTemplateVersion === 1) {\n let canvas1 = document.getElementById('lic-canvas') as HTMLCanvasElement;\n if (canvas1.getContext) {\n let ctx = canvas1.getContext('2d');\n\n const lic = new Image();\n\n lic.onload = () => {\n ctx.textAlign = 'left';\n ctx.font = 'bold 13px arial';\n ctx.drawImage(lic, 0, 0);\n\n let v = 75;\n const h = 210;\n const rh = 17.4;\n ctx.fillText(this.dto.name, h, v);\n ctx.fillText(moment(this.dto.dateOfBirth).format(this.dateFormat), h, v += rh);\n ctx.fillText(this.dto.nationalityTitles[Language.English], h, v += rh);\n ctx.fillText(this.dto.countryTitles[Language.English], h, v += rh);\n ctx.fillText(this.dto.passportID, h, v += rh);\n ctx.fillText(Gender[this.dto.gender], h, v += rh);\n ctx.fillText(this.dto.bloodGroup, h, v += rh);\n ctx.fillText(`${this.dto.accordingToTitles[Language.English]} License`, h, v += rh);\n ctx.fillText(this.dto.permitClasses.join(', '), h, v += rh);\n\n ctx.fillText(_issueDate, 85, 49);\n\n ctx.font = 'bold 20px arial';\n ctx.fillText(Math.abs(this.dto.serial).toString(), 50, 29);\n\n let photo = new Image();\n photo.onload = () => {\n let x = 20, y = 66, width = 98, height = 133, radius = 5;\n ctx.save();\n ctx.beginPath();\n ctx.moveTo(x + radius, y);\n ctx.lineTo(x + width - radius, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + radius);\n ctx.lineTo(x + width, y + height - radius);\n ctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);\n ctx.lineTo(x + radius, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - radius);\n ctx.lineTo(x, y + radius);\n ctx.quadraticCurveTo(x, y, x + radius, y);\n ctx.closePath();\n ctx.clip();\n\n ctx.drawImage(photo, x, y, width, height);\n ctx.restore();\n\n const qr = new Image();\n qr.onload = () => {\n ctx.drawImage(qr, 319, 92.4, 88, 88);\n }\n qr.src = this.dto.issued ? this.qRCodeImg : 'assets/images/qr.png';\n\n const ptt = new Image();\n ptt.onload = () => {\n\n ctx.save();\n ctx.globalAlpha = 0.25;\n const ptrn = ctx.createPattern(ptt, 'repeat');\n ctx.fillStyle = ptrn;\n ctx.fillRect(0, 0, 425, 265);\n ctx.restore();\n\n //draw thumb\n let canvas1Thumb = document.getElementById('lic-canvas-thumb') as HTMLCanvasElement;\n let thumbCtx = canvas1Thumb.getContext('2d');\n //thumbCtx.scale(0.2, 0.2);\n thumbCtx.drawImage(ctx.canvas, 0, 0);\n }\n ptt.src = 'assets/images/sample-stamp.png';\n }\n photo.src = this.dto.attachments[0] as string;\n //photo.src = (this.dto.attachments[0]).changingThisBreaksApplicationSecurity;\n }\n lic.src = \"assets/images/license-empty.png\";\n }\n } \n else if (this.dto.documentTemplateVersion === 2) {\n let canvas1 = document.getElementById('lic-canvas') as HTMLCanvasElement;\n if (canvas1.getContext) {\n let ctx = canvas1.getContext('2d');\n\n const lic = new Image();\n\n lic.onload = () => {\n ctx.textAlign = 'left';\n ctx.font = 'bold 13px arial';\n ctx.drawImage(lic, 0, 0);\n\n let v = 82;\n const h = 201;\n const rh = 20;\n ctx.fillText(this.dto.name, h, v);\n ctx.fillText(moment(this.dto.dateOfBirth).format(this.dateFormat), h, v += rh);\n ctx.fillText(this.dto.nationalityTitles[Language.English], h, v += rh);\n ctx.fillText(this.dto.countryTitles[Language.English], h, v += rh);\n ctx.fillText(this.dto.passportID, h, v += rh);\n ctx.fillText(Gender[this.dto.gender], h, v += rh);\n ctx.fillText(this.dto.bloodGroup, h, v += rh);\n ctx.fillText(`${this.dto.accordingToTitles[Language.English]} License`, h, v += rh);\n ctx.fillText(this.dto.permitClasses.join(', '), h, v += rh);\n\n ctx.fillText(_issueDate, 62, 220);\n ctx.fillText(_expiryDate, 62, 241);\n\n ctx.font = 'bold 20px arial';\n ctx.fillText(Math.abs(this.dto.serial).toString(), 24, 60);\n\n let photo = new Image();\n photo.onload = () => {\n let x = 20, y = 66, width = 98, height = 133, radius = 5;\n ctx.save();\n ctx.beginPath();\n ctx.moveTo(x + radius, y);\n ctx.lineTo(x + width - radius, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + radius);\n ctx.lineTo(x + width, y + height - radius);\n ctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);\n ctx.lineTo(x + radius, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - radius);\n ctx.lineTo(x, y + radius);\n ctx.quadraticCurveTo(x, y, x + radius, y);\n ctx.closePath();\n ctx.clip();\n\n ctx.drawImage(photo, x, y, width, height);\n ctx.restore();\n\n const qr = new Image();\n qr.onload = () => {\n ctx.drawImage(qr, 319, 92.4, 88, 88);\n }\n qr.src = this.dto.issued ? this.qRCodeImg : 'assets/images/qr.png';\n\n const ptt = new Image();\n ptt.onload = () => {\n\n ctx.save();\n ctx.globalAlpha = 0.25;\n const ptrn = ctx.createPattern(ptt, 'repeat');\n ctx.fillStyle = ptrn;\n ctx.fillRect(0, 0, 425, 265);\n ctx.restore();\n\n //draw thumb\n let canvas1Thumb = document.getElementById('lic-canvas-thumb') as HTMLCanvasElement;\n let thumbCtx = canvas1Thumb.getContext('2d');\n //thumbCtx.scale(0.2, 0.2);\n thumbCtx.drawImage(ctx.canvas, 0, 0);\n }\n ptt.src = 'assets/images/sample-stamp.png';\n }\n photo.src = this.dto.attachments[0] as string;\n //photo.src = (this.dto.attachments[0]).changingThisBreaksApplicationSecurity;\n }\n lic.src = \"assets/images/license-empty-new.png\";\n }\n }\n\n let canvas2 = document.getElementById('stk-canvas') as HTMLCanvasElement;\n if (canvas2.getContext) {\n let ctx = canvas2.getContext('2d');\n\n let stk = new Image();\n stk.onload = () => {\n ctx.textAlign = 'left';\n ctx.font = 'bold 14px arial';\n ctx.drawImage(stk, 0, 0);\n\n let v = 162;\n const h = 152;\n const rh = 25.75;\n\n ctx.fillText(this.dto.name, h, v);\n ctx.fillText(moment(this.dto.dateOfBirth).format(this.dateFormat), h, v += rh);\n ctx.fillText(Gender[this.dto.gender], h, v += rh);\n ctx.fillText(this.dto.nationalityTitles[Language.English], h, v += rh);\n ctx.fillText(this.dto.passportID, h, v += rh);\n ctx.fillText(this.dto.countryTitles[Language.English], h, v += rh);\n ctx.fillText(`${this.dto.accordingToTitles[Language.English]} License`, h, v += rh);\n ctx.fillText(this.dto.permitClasses.join(', '), h, v += rh);\n ctx.fillText(this.dto.bloodGroup, h, v += rh);\n ctx.fillText(_issueDate, h, 485);\n ctx.fillText(_expiryDate, h, 508);\n\n ctx.font = 'bold 25px arial';\n ctx.fillText(Math.abs(this.dto.serial).toString(), h, 120);\n\n const photo = new Image();\n photo.onload = () => {\n const x = 270, y = 355, width = 110, height = 152, radius = 5;\n\n ctx.rect(x, y, width, height);\n //ctx.stroke();\n ctx.drawImage(photo, x, y, width, height);\n\n const qr = new Image();\n qr.onload = () => {\n ctx.drawImage(qr, 287, 230, 95, 95);\n }\n qr.src = this.dto.issued ? this.qRCodeImg : 'assets/images/qr.png';\n\n const ptt = new Image();\n ptt.onload = () => {\n ctx.save();\n ctx.globalAlpha = 0.2;\n const ptrn = ctx.createPattern(ptt, 'repeat');\n ctx.fillStyle = ptrn;\n ctx.fillRect(0, 0, 425, 600);\n ctx.restore();\n\n //draw thumb\n let canvas2Thumb = document.getElementById('stk-canvas-thumb') as HTMLCanvasElement;\n let thumbCtx = canvas2Thumb.getContext('2d');\n //thumbCtx.scale(0.2, 0.2);\n thumbCtx.drawImage(ctx.canvas, 0, 0);\n }\n ptt.src = 'assets/images/sample-stamp.png';\n }\n //photo.src = this._personalPhoto;\n photo.src = this.dto.attachments[0] as string;\n //photo.src = (this.dto.attachments[0]).changingThisBreaksApplicationSecurity;\n\n }\n stk.src = \"assets/images/sticker-empty.png\";\n }\n }\n}\n","import { BloodGroup } from 'src/app/core/models/enums/blood-group';\nimport { Gender } from 'src/app/core/models/enums/gender';\nimport { IntLicensePermitClass } from 'src/app/core/models/enums/license-permit-class';\nimport { PrintLogDto } from '../../_shared/models/issuing.models';\nimport { SafeUrl } from '@angular/platform-browser';\nimport { LookupDto } from 'src/app/features/lookups/models/lookup';\n\nexport interface IntLicenseVm {\n intLicense: IntLicenseDetailsDto //todo: rename to item\n}\n\nexport interface IntLicensesVm {\n list: IntLicenseDto[],\n recordsCount: number\n}\n\nexport interface SerialHashVm {\n value: string\n}\n\nexport interface IntLicenseDto {\n id: string,\n serial: number,\n name: string,\n stockType: LookupDto,\n gender: Gender,\n phoneNumber: string,\n accountId: number,\n accountTitles: string[],\n passportID: string,\n issued?: Date,\n printLogs: PrintLogDto[],\n revokeRequestId?: number,\n parentAccounts: LookupDto,\n accountTypeTitle: string\n}\n\nexport class IntLicenseDetailsDto {\n id: string;\n serial: number;\n name: string;\n stockType: LookupDto;\n dateOfBirth: Date;\n nationalityId: number;\n nationalityTitles: string[] = [];\n countryId: number;\n countryTitles: string[] = [];\n accordingToId: number;\n accordingToTitles: string[] = [];\n passportID: string;\n bloodGroup: BloodGroup;\n gender: Gender;\n permitClasses: IntLicensePermitClass[] = [];\n phoneNumber: string;\n issued?: Date;\n expiryDate?: Date;\n hashedSerial?: string;\n accountId: number;\n // personalPhoto: string;\n // passportPhoto: string;\n // licensePhoto: string;\n attachments: string[] | SafeUrl[];\n printLogs: PrintLogDto[];\n validityYears: number;\n documentTemplateVersion: number;\n}\n\nexport interface IntLicensesSearchQuery /* extends PaginationQuery */ {\n name?: string,\n countryId?: number,\n nationalityId?: number,\n gender?: Gender,\n phoneNumber?: string,\n passportID?: string,\n accountId?: number,\n permitClass?: string,\n serial?: number,\n fromDate?: string,\n toDate?: string,\n isIssued?: boolean,\n isDamaged?: boolean\n}","import { CollectionViewer, DataSource } from \"@angular/cdk/collections\";\nimport { Observable, BehaviorSubject, of } from 'rxjs';\nimport { catchError, finalize } from 'rxjs/operators';\nimport { IntLicensesService } from './int-licenses.service';\nimport { IntLicenseDto, IntLicensesVm, IntLicensesSearchQuery } from '../models/int-license';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { PaginationQuery } from '../../_shared/models/issuing.models';\nimport { populateAccountsSelect } from 'src/app/shared/helpers/populate-accounts-select';\n\n\nexport class IntLicensesDataSource implements DataSource {\n // add variables to hold the data and number of total records retrieved asynchronously\n // BehaviourSubject type is used for this purpose\n public IntLicensesSubject = new BehaviorSubject([]);\n\n // to show the total number of records\n public countSubject = new BehaviorSubject(0);\n public counter$ = this.countSubject.asObservable();\n\n constructor(private intLicensesService: IntLicensesService, private loader: LoadingService) { }\n\n loadIntLicenses(pagination: PaginationQuery, query: IntLicensesSearchQuery | string = null) {\n ////console.warn(query);\n // //console.warn(query instanceof IntLicensesSearchQuery);\n\n //this.intLicensesService.search(pagination, query)\n this.intLicensesService[(query == null || typeof query == 'string') ? 'getLicenses' : 'search'](pagination, query)\n .pipe(\n catchError(() => of([])),\n finalize(() => { })\n )\n .subscribe((result: IntLicensesVm) => {\n //console.log(result);\n result.list.forEach(document => {\n document.parentAccounts = populateAccountsSelect([document.parentAccounts])[0];\n });\n this.IntLicensesSubject.next(result.list);\n this.countSubject.next(result.recordsCount);\n this.loader.load(LoaderType.Nav, false);\n this.loader.load(LoaderType.Body, false);\n });\n }\n\n connect(): Observable {\n return this.IntLicensesSubject.asObservable();\n }\n\n disconnect(collectionViewer: CollectionViewer): void {\n this.IntLicensesSubject.complete();\n this.countSubject.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ApiHandler } from 'src/app/core/api-handler';\nimport { PostIntLicenseCmd } from '../models/create.cmd';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\nimport { IntLicenseVm, IntLicensesVm, IntLicensesSearchQuery, SerialHashVm } from '../models/int-license';\nimport { PrintIntLicenseCmd } from '../models/print.cmd';\nimport { PaginationQuery } from '../../_shared/models/issuing.models';\n\n@Injectable()\nexport class IntLicensesService {\n constructor(private api: ApiHandler) { }\n\n delete(id: string) {\n return this.api.delete(EndPoint.INT_lICENSE, id).toPromise();\n }\n\n update(cmd: PostIntLicenseCmd) {\n return this.api.update(EndPoint.INT_lICENSE, cmd).toPromise();\n }\n\n create(cmd: PostIntLicenseCmd) {\n return this.api.create(EndPoint.INT_lICENSE, cmd).toPromise();\n }\n\n get(id: string) {\n return this.api.get(EndPoint.INT_lICENSE, id).toPromise();\n }\n\n getByHashedSerial(key: string){\n return this.api.get(EndPoint.INT_lICENSE_GET_BY_HASHED_SERIAL, key).toPromise();\n }\n\n getLicenses(pagination: PaginationQuery, query: string = '') {\n return this.api.get(EndPoint.INT_lICENSE, null, { ...pagination, query });\n }\n\n\n search(pagination: PaginationQuery, query: IntLicensesSearchQuery) {\n return this.api.get(EndPoint.INT_lICENSE_SEARCH, null, { ...pagination, ...query });\n }\n\n print(cmd: PrintIntLicenseCmd) {\n return this.api.create(EndPoint.INT_lICENSE_PRINT, cmd).toPromise();\n }\n\n // tryRevoke(cmd: PrintIntLicenseCmd) {\n // return this.api.create(EndPoint.INT_lICENSE_REVOKE_TRY, cmd).toPromise();\n // }\n}\n\n","import { Component, OnInit, ElementRef } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { TripTikDetailsDto } from '../../models/trip-tik';\n\n@Component({\n selector: 'mac-receipt-print',\n templateUrl: './receipt-print.component.html',\n styleUrls: ['./receipt-print.component.scss']\n})\nexport class ReceiptPrintComponent implements OnInit {\n dto: TripTikDetailsDto;\n issueDate: Date;\n\n constructor(private elRef: ElementRef, public translate: TranslateService) { }\n\n ngOnInit(): void {\n }\n\n async print(dto: TripTikDetailsDto) {\n this.dto = dto;\n this.issueDate = this.dto.issued ? this.dto.issued : new Date();\n\n setTimeout(() => {\n const printHtmlContent = this.elRef.nativeElement.innerHTML;\n Utils.printHtml(printHtmlContent);\n }, 500);\n }\n}\n","import { Component, OnInit, ElementRef } from '@angular/core';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { Gender } from 'src/app/core/models/enums/gender';\nimport { PrintObject } from 'src/app/core/models/enums/print-object';\nimport { TripTikDetailsDto } from '../../models/trip-tik';\nimport { StaticConfig } from 'src/app/features/lookups/services/config';\nimport { ConfigObject } from 'src/app/core/models/enums/config-object';\nimport * as moment from 'moment';\nimport { LookupDto } from 'src/app/features/lookups/models/lookup';\nimport { StringJoinPipe } from 'src/app/shared/pipes/string-join.pipe';\nimport { AuthService } from 'src/app/core/auth/auth.service';\n\n@Component({\n selector: 'mac-trip-tik-print',\n templateUrl: './trip-tik-print.component.html',\n styleUrls: ['./trip-tik-print.component.scss']\n})\nexport class TripTikPrintComponent {\n\n dto: TripTikDetailsDto;\n qRCodeUrl: string;\n printObject: PrintObject;\n empty: string;\n drivers: string[];\n vOptions: LookupDto[];\n vUpholsteryType: string[];\n cOwnerInfo: string[];\n\n _colors: string[] = [];\n _makeModel: string[] = [];\n _options: string[] = [];\n\n get Language() { return Language; };\n get PrintObject() { return PrintObject; };\n get joinByDash() { return Utils.joinByDash; };\n\n constructor(private elRef: ElementRef, private stringJoin: StringJoinPipe, public auth: AuthService ) {\n }\n\n async print(dto: TripTikDetailsDto, printObject: PrintObject) {\n this.dto = dto;\n this.printObject = printObject;\n this.empty = '';// StaticConfig.getConfigKeyValuePairs(ConfigObject.TripTikPrintEmptyValue)[0].value.toString();\n\n\n this.vOptions = [];\n if (this.dto.vehicle.options)\n this.dto.vehicle.options.forEach(opt => {\n //this.vOptions.push(StaticConfig.getConfigValue(ConfigObject.VehicleOptions, opt).toString())\n this.vOptions.push({ id: opt, titles: <[]>StaticConfig.getConfigValue(ConfigObject.VehicleOptions, opt/*, this.lang*/) });\n });\n\n\n this._colors = this.dto.vehicle.colors ? this.dto.vehicle.colors.map(d => this.stringJoin.transform(d.titles)) : [];\n this._options = this.vOptions ? this.vOptions.map(d => this.stringJoin.transform(d.titles)) : [];\n\n\n if (this.dto.vehicle.model) {\n this._makeModel = [];\n this._makeModel.push(this.stringJoin.transform([this.dto.vehicle.model.titles[0], this.dto.vehicle.make.titles[0]]));\n this._makeModel.push(this.stringJoin.transform([this.dto.vehicle.model.titles[1], this.dto.vehicle.make.titles[1]]));\n\n // console.log(this._makeModel);\n }\n\n this.drivers = this.dto.customer.drivers.map(d => d.name);\n this.cOwnerInfo = [dto.customer.owner.name, dto.customer.owner.address.item1, dto.customer.owner.address.item2]\n .filter(d => d);\n\n if (this.dto.vehicle.upholsteryType)\n this.vUpholsteryType = <[]>StaticConfig.getConfigValue(ConfigObject.VehicleUpholsteryTypes, this.dto.vehicle.upholsteryType);\n\n\n\n this.dto.issued = this.dto.issued ? this.dto.issued : new Date();\n this.dto.expiryDate = this.dto.expiryDate; //moment(this.dto.issued).add(1, 'year').subtract(1, 'day').toDate();\n this.qRCodeUrl = Utils.generateQrCodeUrl(this.dto.hashedSerial); //todo: fill db with hashs\n\n setTimeout(() => {\n const printHtmlContent = this.elRef.nativeElement.innerHTML;\n Utils.printHtml(printHtmlContent);\n }, 500);\n }\n}\n\n// export function joinByDash(arr: string[]) {\n// return [...arr].reverse().join(' - ');\n// }\n\n// interface String {\n// // toAddPrefix(prefix: string): string;\n// joinByDash(): String;\n// }\n// interface Array {\n// joinByDash(): Array;\n// }\n\n\n\n\n// Array.prototype.joinByDash = function () {\n// const _self = this;\n// return [..._self].reverse().join(' - ');\n// };\n\n\n// const joinByDash = function (arr: string[]) {\n// return [...arr].reverse().join(' - ');\n// }","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { FormGroup, FormBuilder, Validators, FormArray, FormControl, AbstractControl } from '@angular/forms';\nimport { CountryDto } from 'src/app/features/lookups/models/country';\nimport { CountriesService } from 'src/app/features/lookups/services/countries';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { TranslateService } from '@ngx-translate/core';\nimport { StocksService } from 'src/app/features/stock/services/stocks.service';\n//import { StockType } from 'src/app/core/models/enums/stock-type';\nimport * as moment from 'moment';\nimport { Utils } from 'src/app/shared/services/utils';\n// import { isArray } from 'util';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { FileLoaderService } from 'src/app/shared/services/file-loader.service';\nimport * as _ from 'lodash';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { DefaultAlertAction } from 'src/app/shared/models/default-alert-action';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { StockTypesService } from 'src/app/features/lookups/services/stock-types';\nimport { StockTypeDto } from 'src/app/features/lookups/models/stock-type';\nimport { LookupDto } from 'src/app/features/lookups/models/lookup';\nimport { CurrenciesService } from 'src/app/features/lookups/services/currencies';\nimport { VehicleColorsService } from 'src/app/features/lookups/services/vehicle-colors';\nimport { VehicleModelsService } from 'src/app/features/lookups/services/vehicle-models';\nimport { VehicleMakesService } from 'src/app/features/lookups/services/vehicle-makes';\nimport { VehicleTypesService } from 'src/app/features/lookups/services/vehicle-types';\nimport { CurrencyDto } from 'src/app/features/lookups/models/currency';\nimport { VehicleModelDto } from 'src/app/features/lookups/models/vehicle-model';\nimport { ConfigObject } from 'src/app/core/models/enums/config-object';\nimport { TripTiksService } from '../../services/trip-tiks.service';\nimport { PostTripTikCmd } from '../../models/create.cmd';\nimport { StaticConfig } from 'src/app/features/lookups/services/config';\nimport { ConigKeyValuePair } from 'src/app/features/lookups/models/config';\nimport { TripTikDetailsDto } from '../../models/trip-tik';\nimport { MatStepper } from '@angular/material/stepper';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { threadId } from 'worker_threads';\nimport { numbersOnlyValidator, nonArabicCharactersValidator, passportIdOrIdentityIdValidator, nonEnglishCharactersValidator, addressValidator, phoneNumberValidator, vehicleSeatsCountRangeValidator, vehicleManufactureYearRangeValidator, vehicleWeightInKGRangeValidator, vehicleCylindersCountRangeValidator, vehicleHorsePowerRangeValidator, vehicleValueRangeValidator, comparePasswords, _passportIdOrIdentityIdValidator } from 'src/app/shared/services/custom-validators';\nimport { _DocumentType } from 'src/app/core/models/enums/document-type';\n\n@Component({\n selector: 'mac-manage-trip-tik',\n templateUrl: './manage-trip-tik.component.html',\n styleUrls: ['./manage-trip-tik.component.scss'],\n providers: [\n CountriesService,\n StocksService,\n TripTiksService,\n FileLoaderService,\n StockTypesService,\n CurrenciesService,\n VehicleColorsService,\n VehicleMakesService,\n VehicleModelsService,\n VehicleTypesService\n ]\n})\nexport class ManageTripTikComponent implements OnInit {\n lang: Language;\n countries: CountryDto[] = [];\n vehicleRegistrationCountries: CountryDto[] = [];\n stockTypes: StockTypeDto[] = [];\n currencies: CurrencyDto[] = [];\n vehicleColors: LookupDto[] = [];\n vehicleModels: VehicleModelDto[] = [];\n vehicleMakes: LookupDto[] = [];\n vehicleTypes: LookupDto[] = [];\n vehicleUpholsteryTypes: ConigKeyValuePair[] = [];\n vehicleSpareTiresCountOptions: number[] = [];\n vehicleCylindersCountRange: number[] = [];\n vehicleManufactureYearRange: number[] = [];\n vehicleSeatsCountRange: number[] = [];\n vehicleOptions: ConigKeyValuePair[] = [];\n form: FormGroup;\n availableSerials: number[];\n updateMode: boolean;\n //_loadingGif: string = 'assets/images/Ring-Preloader.gif';\n dateFormat = 'L';\n dto: TripTikDetailsDto = new TripTikDetailsDto();\n mode: 'ADD' | 'UPDATE' | 'CLONE';\n objectId: string;\n key: string;\n\n @ViewChild(MatStepper, { static: true }) stepper: MatStepper;\n\n get moment() { return moment };\n get Object() { return Object };\n get ConfigObject() { return ConfigObject; };\n\n get steps() { return this.form.get('steps') as FormArray };\n get step1() { return this.steps.get([0]) };\n get step2() { return this.steps.get([1]) };\n get step3() { return this.steps.get([2]) };\n\n //doc - global\n get serial() { return this.form.get('serial') };\n get stockType() { return this.form.get('stockTypeId') };\n //get value() { return this.form.get('value') };\n //get currency() { return this.form.get('currencyId') };\n\n //cust - step1\n get cName() { return this.step1.get('name') };\n get cResidenceCountry() { return this.step1.get('residenceCountryId') };\n get cNationality() { return this.step1.get('nationalityId') };\n get cIdentityID() { return this.step1.get('identityID') };\n get cPassportID() { return this.step1.get('passportID') };\n get cLocalAddress() { return this.step1.get('localAddress') };\n get cLocalPhoneNumber() { return this.step1.get('localPhoneNumber') };\n get cIntAddress() { return this.step1.get('intAddress') };\n get cIntPhoneNumber() { return this.step1.get('intPhoneNumber') };\n get drivers() { return (this.step1 as FormGroup).get('drivers') as FormArray };\n\n //vehc - step2\n get vPlateID() { return this.step2.get('plateID') };\n get vRegistrationCountry() { return this.step2.get('registrationCountryId') };\n get vMake() { return this.step2.get('makeId') };\n get vModel() { return this.step2.get('modelId') };\n get vType() { return this.step2.get('typeId') };\n get vSeatsCount() { return this.step2.get('seatsCount') };\n get vManufactureYear() { return this.step2.get('manufactureYear') };\n get vWeightInKG() { return this.step2.get('weightInKG') };\n get vCylindersCount() { return this.step2.get('cylindersCount') };\n get vHorsePower() { return this.step2.get('horsePower') };\n get vColors() { return this.step2.get('colors') };\n get vUpholsteryType() { return this.step2.get('upholsteryType') };\n get vEngineID() { return this.step2.get('engineID') };\n get vChassisID() { return this.step2.get('chassisID') };\n get vOptions() { return this.step2.get('options') as FormArray };\n get vSpareTiresCount() { return this.step2.get('spareTiresCount') };\n get vEquipments() { return this.step2.get('equipments') };\n get vExtras() { return this.step2.get('extras') };\n get vValue() { return this.step2.get('value') };\n get vCurrency() { return this.step2.get('currencyId') };\n\n //att - step3\n get attachments() { return this.step3.get('attachments') as FormArray };\n\n constructor(private loader: LoadingService,\n private fb: FormBuilder,\n private countriesService: CountriesService,\n private stocksService: StocksService,\n public translate: TranslateService,\n private tripTiksService: TripTiksService,\n private stockTypesService: StockTypesService,\n private currenciesService: CurrenciesService,\n private vehicleColorsService: VehicleColorsService,\n private vehicleMakesService: VehicleMakesService,\n private vehicleModelsService: VehicleModelsService,\n private vehicleTypesService: VehicleTypesService,\n private route: ActivatedRoute,\n public fileLoader: FileLoaderService,\n private alert: AlertService,\n private router: Router,\n private auth: AuthService) { }\n\n async ngOnInit() {\n this.loader.load(LoaderType.Nav);\n\n moment.locale('en-gb');\n document.querySelector('mat-card').classList.remove('overflow-hidden');\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n this.mode = this.route.snapshot.data.mode;\n\n this.formInit();\n\n //disable form initially\n this.form.disable();\n //this.drivers.controls.forEach(g => {g.disable()});\n\n\n // console.log(this.form);\n // console.log(this.form.enabled, this.form.disabled);\n\n this.stockType.enable();\n // console.log(this.form);\n // console.log(this.form.enabled, this.form.disabled);\n\n // console.log(this.stockType.value);\n\n const startYearConfig = StaticConfig.getConfigKeyValuePairs(ConfigObject.VehicleManufactureYearRange);\n this.vehicleManufactureYearRange = Utils.spreadRange([Number(startYearConfig[0].value), (new Date().getUTCFullYear() + 1)], true);\n this.vehicleUpholsteryTypes = StaticConfig.getConfigKeyValuePairs(ConfigObject.VehicleUpholsteryTypes, this.lang);\n this.vehicleSpareTiresCountOptions = Utils.spreadRange(StaticConfig.getConfigKeyValuePairs(ConfigObject.VehicleSpareTiresCountOptions).map(d => Number(d.value)));\n this.vehicleCylindersCountRange = Utils.spreadRange(StaticConfig.getConfigKeyValuePairs(ConfigObject.VehicleCylindersCountRange).map(d => Number(d.value)));\n this.vehicleSeatsCountRange = Utils.spreadRange(StaticConfig.getConfigKeyValuePairs(ConfigObject.VehicleSeatsCountRange).map(d => Number(d.value)));\n this.vehicleOptions = StaticConfig.getConfigKeyValuePairs(ConfigObject.VehicleOptions, this.lang);\n\n this.vehicleOptions.forEach(_ => this.vOptions.push(new FormControl(true)));\n\n await Promise.all([\n this.stockTypesService.getAllowed()\n .then(result => this.stockTypes = result.list.filter(x => x.documentType == _DocumentType.TripTikDocument)),\n this.countriesService.get(this.lang)\n .then(result => this.countries = this.vehicleRegistrationCountries = result.list),\n this.currenciesService.get(this.lang)\n .then(result => {\n this.currencies = result.list;\n if (this.currencies)\n this.vCurrency.setValue(this.currencies[0].id);\n }),\n this.vehicleColorsService.get(this.lang)\n .then(result => this.vehicleColors = result.list),\n this.vehicleMakesService.get(this.lang)\n .then(result => this.vehicleMakes = result.list),\n this.vehicleTypesService.get(this.lang)\n .then(result => this.vehicleTypes = result.list)\n ]);\n\n this.stepper._stepHeader.forEach(h => h._getHostElement().addEventListener('click', (ev) => {\n this.navigateAttempt();\n }));\n\n this.objectId = this.route.snapshot.paramMap.get('id');\n this.key = this.route.snapshot.paramMap.get('key');\n\n //const _stockTypeId = this.stockTypes[0].id;\n\n // this.form.patchValue({ stockTypeId: _stockTypeId });\n //this.availableSerials = Utils.spreadRanges((await this.stocksService.getAvailableStocks(_stockTypeId)).stockTypesAvailableStocks[0].availableStock);\n\n\n if (this.objectId || this.key) {\n this.updateMode = this.mode == 'UPDATE';\n\n if (this.mode == 'CLONE') {\n this.dto = await (await this.tripTiksService.getByHashedSerial(this.key)).item;\n } else\n this.dto = await (await this.tripTiksService.get(this.objectId)).item;\n\n //console.log(this.dto);\n\n if (!this.dto || (this.updateMode && this.dto.issued)) { //will ignore if cloning\n this.router.navigate([`/${this.translate.currentLang}/not-found`]);\n return;\n }\n if (this.updateMode) {\n this.availableSerials = [this.dto.serial];\n this.form.patchValue({ stockTypeId: this.dto.stockType.id });\n this.onSelectStockType();\n }\n //this.availableSerials.unshift(this.dto.serial);\n // else {\n // if (this.availableSerials.length > 0)\n // this.form.patchValue({ serial: this.availableSerials[0] });\n // else {\n // this.alert.failure(\"TRP_ALERT_NO_STOCK_AVAILABLE\", false);\n // // this.form.disable();\n // return;\n // }\n // }\n\n //if (this.updateMode && this.dto.stockType.id != _stockTypeId) {\n\n //}\n\n if (this.dto.customer.drivers)\n this.dto.customer.drivers.forEach((driver, i) => {\n this.driverFormInit(driver);\n });\n\n this.form.patchValue({\n stockTypeId: this.updateMode ? this.dto.stockType.id : null,\n serial: this.updateMode ? this.dto.serial : null,// this.availableSerials[0],\n //value: this.dto.value,\n steps: [\n {\n name: this.dto.customer.owner.name,\n residenceCountryId: this.dto.customer.owner.residenceCountryId,\n nationalityId: this.dto.customer.owner.nationalityId ? this.dto.customer.owner.nationalityId : null,\n identityID: this.dto.customer.owner.identityID,\n passportID: this.dto.customer.owner.passportID,\n localAddress: this.dto.customer.owner.address.item1,\n intAddress: this.dto.customer.owner.address.item2,\n localPhoneNumber: this.dto.customer.owner.phoneNumber.item1,\n intPhoneNumber: this.dto.customer.owner.phoneNumber.item2,\n drivers: this.dto.customer.drivers\n },\n {\n registrationCountryId: this.dto.vehicle.registrationCountryId,\n plateID: this.dto.vehicle.plateID,\n makeId: this.dto.vehicle.make ? this.dto.vehicle.make.id : '',\n modelId: this.dto.vehicle.model ? this.dto.vehicle.model.id : '',\n typeId: this.dto.vehicle.type ? this.dto.vehicle.type.id : '',\n seatsCount: this.dto.vehicle.seatsCount,\n manufactureYear: this.dto.vehicle.manufactureYear,\n weightInKG: this.dto.vehicle.weightInKG,\n cylindersCount: this.dto.vehicle.cylindersCount,\n horsePower: this.dto.vehicle.horsePower,\n colors: this.dto.vehicle.colors ? this.dto.vehicle.colors.map(d => d.id) : '',\n upholsteryType: this.dto.vehicle.upholsteryType,\n engineID: this.dto.vehicle.engineID,\n chassisID: this.dto.vehicle.chassisID,\n options: this.dto.vehicle.options,\n spareTiresCount: this.dto.vehicle.spareTiresCount,\n equipments: this.dto.vehicle.equipments,\n extras: this.dto.vehicle.extras,\n value: this.dto.vehicle.value,\n currencyId: this.dto.vehicle.currency ? this.dto.vehicle.currency.id : ''\n },\n {\n attachments: [\n {\n identityOrPassport: this.dto.customer.owner.attachments[0],\n drivingLicense: this.dto.customer.owner.attachments[1],\n vehicleRegistration: this.dto.customer.owner.attachments[2]\n }\n ]\n }\n ]\n });\n\n this.attachments.controls.forEach(async (group: FormGroup, i) => {\n for (let c in group.controls) {\n let path = group.controls[c].value;\n if (this.key)\n path = `${path}?key=${this.key}`;\n //console.log(path);\n group.controls[c].setValue(await this.fileLoader.loadAsync(path));\n }\n });\n\n } /*else {\n if (this.availableSerials.length > 0)\n this.form.patchValue({ serial: this.availableSerials[0] });\n else {\n this.alert.failure(\"TRP_ALERT_NO_STOCK_AVAILABLE\", false);\n //this.form.disable();\n }\n }*/\n\n if (!this.updateMode) {\n this.form.disable();\n this.stockType.enable();\n }\n //this.drivers.controls.forEach(g => {g.disable()});\n\n\n // console.log(this.form);\n // console.log(this.form.enabled, this.form.disabled);\n\n\n\n this.loader.load(LoaderType.Nav, false);\n }\n\n isExpired(expiryDate) {\n return moment(expiryDate).isBefore(Date.now());\n }\n\n addDriver() {\n if (this.availableSerials && this.availableSerials.length > 0)\n this.driverFormInit();\n }\n\n removeDriver(i) {\n if (this.availableSerials && this.availableSerials.length > 0) {\n this.drivers.removeAt(i);\n this.attachments.removeAt(i + 1);\n }\n }\n\n fetchModels(makeId) {\n this.vModel.reset();\n this.vehicleModelsService.get(makeId, this.stockType.value, this.lang)\n .then(result => {\n this.vehicleModels = result.list;\n });\n }\n\n async onSelectStockType() {\n //console.log(this.stockType.value);\n this.loader.load(LoaderType.Body);\n this.availableSerials = Utils.spreadRanges((await this.stocksService.getAvailableStocks(this.stockType.value)).stockTypesAvailableStocks[0].availableStock);\n if (this.availableSerials.length > 0 || (this.updateMode && Number(this.stockType.value) == this.dto.stockType.id)) {\n if (this.updateMode && Number(this.stockType.value) == this.dto.stockType.id)\n this.availableSerials.unshift(this.dto.serial);\n this.form.patchValue({ serial: this.availableSerials[0] });\n this.form.enable();\n this.form.markAsUntouched();\n\n //if تربتيك يمن لوحات سعودية\n if (Number(this.stockType.value) == 3) { //temp //todo: refactor (many-to-many join)\n\n this.vehicleRegistrationCountries = [...this.countries.filter(x => x.abbreviation == \"SA\")];\n this.vRegistrationCountry.setValue(this.vehicleRegistrationCountries[0].id);\n\n\n //this.vRegistrationCountry.disable();\n } else {\n this.vehicleRegistrationCountries = [...this.countries];\n //todo: check value after swapping\n if (!this.updateMode)\n this.vRegistrationCountry.reset();\n }\n\n } else {\n this.alert.failure(\"TRP_ALERT_NO_STOCK_AVAILABLE\", false);\n this.availableSerials = [];\n this.serial.reset();\n \n this.form.disable();\n\n if (this.stockTypes.length > 1)\n this.stockType.enable();\n\n this.stepper.selectedIndex = 0;\n }\n this.loader.load(LoaderType.Body, false);\n }\n\n navigateAttempt(i: number = null) {\n\n //console.log('nav', this.stepper.selected);\n //if (this.stockType.value) {\n // console.log('test');\n const ctrl = (i != null ? this.steps.controls[i] : this.stepper.selected.stepControl) as FormGroup;\n //console.warn('attempt', i, ctrl);\n // console.log(ctrl);\n // if (!this.stockType.value) {\n // ctrl.setErrors({ required: true });\n // ctrl.markAsDirty();\n // ctrl.markAsTouched();\n // }\n\n if (!ctrl.valid)\n Utils.validateAllFormFields(ctrl);\n // }\n\n }\n\n //attachments\n preview($event, control: FormControl | AbstractControl) {\n const tgt = $event.target || window.event.srcElement,\n files = Array.isArray($event) ? $event : tgt.files;\n\n if (FileReader && files && files.length) {\n const fr = new FileReader();\n fr.onload = () => {\n if (fr.result.toString().length <= 2 * 2 ** 20)\n control.setValue(fr.result.toString());\n else\n alert('file limit is 2 MB.');\n };\n fr.readAsDataURL(files[0]);\n }\n else {\n //console.error('not supported!');\n }\n }\n\n fileDropped(file, control: FormControl | AbstractControl): void {\n control.setValue(file.url);\n }\n\n removeImage(control: FormControl | AbstractControl) {\n control.reset();\n control.markAsTouched();\n }\n\n onSubmit() {\n //console.log(this.form.value);\n\n if (!this.availableSerials || this.availableSerials.length == 0)\n return;\n\n if (!this.form.valid)\n return Utils.validateAllFormFields(this.form);\n\n this.loader.load(LoaderType.Body);\n\n\n this.attachments.controls.forEach((grp, i) => {\n const _attachments = this.attachments.controls[i];\n for (let ctrl of Object.keys((grp).controls))\n if (this.attachments.controls[i].get(ctrl).value instanceof Object)\n this.attachments.controls[i].get(ctrl).setValue(this.attachments.controls[i].get(ctrl).value.changingThisBreaksApplicationSecurity)\n });\n // console.log(this.attachments);\n\n //update checkboxes value\n this.vOptions.controls.forEach((ctrl, i) => {\n ctrl.setValue(this.vehicleOptions[i].key);\n });\n\n const cmd = new PostTripTikCmd(this.form.value);\n //console.log(cmd);\n\n if (!this.updateMode) {\n cmd.id = null;\n if (this.auth.currentUser.isInRole(Role.TRIPTIKS_CREATE))\n this.tripTiksService.create(cmd)\n .then(id => {\n if (id) {\n this.alert.success(DefaultAlertAction.ADDING);\n setTimeout(() => {\n this.router.navigate(['/', this.translate.currentLang, 'issuing', 'trip-tiks', 'view', id])\n }, 1000);\n } else this.alert.failure(DefaultAlertAction.ADDING);\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n else {\n cmd.id = this.dto.id;\n if (this.auth.currentUser.isInRole(Role.TRIPTIKS_UPDATE))\n this.tripTiksService.update(cmd)\n .then(result => {\n if (result) {\n this.alert.success(DefaultAlertAction.UPDATING);\n\n setTimeout(() => {\n this.router.navigate(['/', this.translate.currentLang, 'issuing', 'trip-tiks', 'view', cmd.id])\n }, 1000);\n\n } else this.alert.failure(DefaultAlertAction.UPDATING);\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n }\n\n private formInit() {\n this.form = this.fb.group({\n stockTypeId: ['', [Validators.required]],\n serial: ['', [Validators.required]],\n steps: this.fb.array([\n this.fb.group({\n name: ['', [Validators.required, Validators.maxLength(35)]],\n residenceCountryId: [null, [Validators.required]],\n nationalityId: [null, [Validators.required]],\n identityID: ['', [Validators.required, passportIdOrIdentityIdValidator, Validators.minLength(6), Validators.maxLength(15)]],\n // _identityID: [''],\n passportID: ['', [Validators.required, passportIdOrIdentityIdValidator, Validators.minLength(6), Validators.maxLength(15)]],\n // _passportID: [''],\n localAddress: ['', [Validators.required, addressValidator]],\n localPhoneNumber: ['', [Validators.required, phoneNumberValidator]],\n intAddress: ['', [Validators.required, addressValidator]],\n intPhoneNumber: ['', [Validators.required, phoneNumberValidator]],\n drivers: this.fb.array([])\n }),\n this.fb.group({\n registrationCountryId: [null, [Validators.required]],\n plateID: ['', [Validators.required, Validators.maxLength(12)]],\n makeId: [null, [Validators.required]],\n modelId: [null, [Validators.required]],\n typeId: ['', [Validators.required]],\n seatsCount: ['', [Validators.required, vehicleSeatsCountRangeValidator]],\n manufactureYear: ['', [Validators.required, vehicleManufactureYearRangeValidator]],\n weightInKG: ['', [Validators.required, vehicleWeightInKGRangeValidator]],\n cylindersCount: ['', [Validators.required, vehicleCylindersCountRangeValidator]],\n horsePower: ['', [/*Validators.required, */vehicleHorsePowerRangeValidator]],\n //colorId: ['', [Validators.required]],\n colors: ['', [Validators.required]],\n upholsteryType: ['', [/*Validators.required*/]],\n engineID: ['', [nonArabicCharactersValidator]], //todo: regex\n chassisID: ['', [Validators.required, nonArabicCharactersValidator]], //todo: regex\n options: this.fb.array([]),\n spareTiresCount: [0],\n equipments: [''],\n extras: [''],\n value: ['', [Validators.required, vehicleValueRangeValidator]],\n currencyId: ['', [Validators.required]]\n }),\n this.fb.group({\n attachments: this.fb.array([\n this.fb.group({\n identityOrPassport: ['', [Validators.required]],\n drivingLicense: ['', [Validators.required]],\n vehicleRegistration: ['', [Validators.required]]\n })\n ])\n })\n ])\n })\n }\n\n private driverFormInit(data?: DriverForm) {\n this.drivers.push(this.fb.group({\n name: [data ? data.name : '', [Validators.required, Validators.maxLength(35)]],\n // _passportIDorIdentityID: this.fb.group({\n // ownerID: ['', [Validators.required, Validators.minLength(6)]], //todo: regex for password pattern\n // passwordConfirm: ['']\n // }, { validator: comparePasswords }),\n // passportIDorIdentityID: [data ? data.passportIDorIdentityID : '', [Validators.required, passportIdOrIdentityIdValidator, Validators.minLength(6), Validators.maxLength(15)]],\n passportIDorIdentityID: [data ? data.passportIDorIdentityID : '', [Validators.required, passportIdOrIdentityIdValidator, _passportIdOrIdentityIdValidator.bind(this, this.cPassportID, this.cIdentityID), Validators.minLength(6), Validators.maxLength(15)]],\n address: [data ? data.address : '', [Validators.required, addressValidator]],\n phoneNumber: [data ? data.phoneNumber : '', [Validators.required, phoneNumberValidator]]\n }));\n this.attachments.push(this.fb.group({\n identityOrPassport: [data && data.attachments ? data.attachments[0] : '', [Validators.required]],\n authorization: [data && data.attachments ? data.attachments[1] : '', [Validators.required]]\n }));\n }\n}\n\ninterface DriverForm {\n name: string,\n passportIDorIdentityID: string,\n address: string,\n phoneNumber: string,\n attachments: string[]\n}","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { merge, fromEvent } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport * as moment from 'moment';\nimport * as _ from 'lodash';\n\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { exportToExcel } from 'src/app/shared/helpers/export-to-excel';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { Gender } from 'src/app/core/models/enums/gender';\nimport { PrintObject } from 'src/app/core/models/enums/print-object';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { DeleteModal, UpdateModal } from 'src/app/shared/models/modal';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { DefaultAlertAction } from 'src/app/shared/models/default-alert-action';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { CountriesService } from 'src/app/features/lookups/services/countries';\nimport { CountryDto } from 'src/app/features/lookups/models/country';\nimport { populateAccountsSelect } from 'src/app/shared/helpers/populate-accounts-select';\nimport { LookupDto } from 'src/app/features/lookups/models/lookup';\nimport { AccountsService } from 'src/app/features/accounts/services/accounts.service';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { TripTiksDataSource } from '../../services/trip-tiks.datasource';\nimport { TripTiksService } from '../../services/trip-tiks.service';\nimport { TripTikDto } from '../../models/trip-tik';\nimport { PrintLogDto, PaginationQuery, TryRevokeDocumentCommand } from '../../../_shared/models/issuing.models';\nimport { StaticConfig } from 'src/app/features/lookups/services/config';\nimport { ConfigObject } from 'src/app/core/models/enums/config-object';\nimport { Utils } from 'src/app/shared/services/utils';\n//import { StockType } from 'src/app/core/models/enums/stock-type';\nimport { StockTypesService } from 'src/app/features/lookups/services/stock-types';\nimport { VehicleTypesService } from 'src/app/features/lookups/services/vehicle-types';\nimport { VehicleMakesService } from 'src/app/features/lookups/services/vehicle-makes';\nimport { StockTypeDto } from 'src/app/features/lookups/models/stock-type';\nimport { IssuingService } from '../../../_shared/services/issuing.service';\nimport { ThemeService } from 'ng2-charts';\nimport { _DocumentType } from 'src/app/core/models/enums/document-type';\nimport { AccountType } from 'src/app/core/models/enums/account-type';\nimport { VehicleModelsService } from 'src/app/features/lookups/services/vehicle-models';\n\n@Component({\n selector: 'mac-trip-tiks',\n templateUrl: './trip-tiks.component.html',\n styleUrls: ['./trip-tiks.component.scss'],\n providers: [\n TripTiksService,\n IssuingService,\n CountriesService,\n AccountsService,\n StockTypesService,\n VehicleMakesService,\n VehicleModelsService,\n VehicleTypesService\n ]\n})\nexport class TripTiksComponent implements OnInit {\n moment = moment;\n displayedColumns: string[] = ['serial', 'cName', 'cPhoneNumber', 'vPlateID', 'stockType', 'accountTitles', 'issueDate'/*, 'printings'*/, 'tools'];\n dataSource: TripTiksDataSource;\n lang: Language;\n advancedSearchMode: boolean;\n countries: CountryDto[] = [];\n accounts: LookupDto[] = [];\n searchForm: FormGroup;\n activeFilters: boolean;\n vehicleManufactureYearRange: number[] = [];\n vehicleMakes: LookupDto[] = [];\n vehicleModels: LookupDto[] = [];\n vehicleTypes: LookupDto[] = [];\n stockTypes: StockTypeDto[] = [];\n query: any = null;\n\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild('filter', { static: true }) filter: ElementRef;\n @ViewChild('filterBtn') filterBtn: ElementRef;\n\n get Role() { return Role; };\n get Gender() { return Gender; };\n get PrintObject() { return PrintObject; };\n get Object() { return Object; };\n get fromDate() { return this.searchForm.get('fromDate'); };\n get toDate() { return this.searchForm.get('toDate'); };\n get Math() { return Math; };\n\n constructor(private loader: LoadingService,\n private tripTiksService: TripTiksService,\n private issuingService: IssuingService,\n public translate: TranslateService,\n private confirmService: ConfirmService,\n private alert: AlertService,\n public auth: AuthService,\n private fb: FormBuilder,\n private countriesService: CountriesService,\n private accountsService: AccountsService,\n private stockTypesService: StockTypesService,\n private vehicleMakesService: VehicleMakesService,\n private vehicleModelsService: VehicleModelsService,\n private vehicleTypesService: VehicleTypesService,\n private router: Router,\n private route: ActivatedRoute) { }\n\n async ngOnInit() {\n document.querySelector('mat-card').classList.remove('overflow-hidden');\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n this.loader.load(LoaderType.Nav);\n this.formInit();\n\n //accounts\n //if system account, accounts will be fetched from server, otherwise current account details will be fetched from local auth service\n\n if (this.auth.currentUser.isSystemAccount || this.auth.currentUser.accountTypeId == AccountType.ReleaseCenter) {\n this.accountsService.getChildrenAccountsLookup(!this.auth.currentUser.isSystemAccount ? this.auth.currentUser.accountId : 0, false)\n .then(result => {\n this.accounts = result.list;//populateAccountsSelect(result.list);\n }).catch(e => this.searchForm.get('accountId').disable());\n } else {\n this.accounts = [{ id: this.auth.currentUser.accountId, titles: [this.auth.currentUser.accountTitles[this.lang]] }];\n this.searchForm.patchValue({ accountId: this.auth.currentUser.accountId });\n this.searchForm.get('accountId').disable();\n }\n\n const startYearConfig = StaticConfig.getConfigKeyValuePairs(ConfigObject.VehicleManufactureYearRange);\n this.vehicleManufactureYearRange = Utils.spreadRange([Number(startYearConfig[0].value), (new Date().getUTCFullYear() + 1)], true);\n\n //console.warn(this.route.snapshot.queryParams);\n this.route.queryParamMap.subscribe(p => {\n //console.warn(p);\n\n if (!p.has('pageIndex')) {\n //console.warn('ready to reload!');\n this.advancedSearchMode = false;\n this.activeFilters = false;\n this.filter.nativeElement.value = '';\n this.paginator.page.emit({ pageIndex: 0, pageSize: this.paginator.pageIndex, length: this.paginator.length });\n }\n });\n\n //let query = null;\n if (this.route.snapshot.queryParams.query) {\n this.query = this.route.snapshot.queryParams.query;\n this.filter.nativeElement.value = this.query;\n }\n else if (this.route.snapshot.queryParams.accountId\n || this.route.snapshot.queryParams.fromDate\n || this.route.snapshot.queryParams.toDate\n || this.route.snapshot.queryParams.stockTypeId\n || this.route.snapshot.queryParams.cResidenceCountryId\n || this.route.snapshot.queryParams.cIdentityOrPassportID\n || this.route.snapshot.queryParams.cPhoneNumber\n || this.route.snapshot.queryParams.vPlateID\n || this.route.snapshot.queryParams.vTypeId\n || this.route.snapshot.queryParams.vMakeId\n || this.route.snapshot.queryParams.vModelId\n || this.route.snapshot.queryParams.vChassisID\n || this.route.snapshot.queryParams.vManufactureYear\n || this.route.snapshot.queryParams.cName\n || this.route.snapshot.queryParams.vRegistrationCountryId\n || this.route.snapshot.queryParams.serial\n || this.route.snapshot.queryParams.isIssued\n || this.route.snapshot.queryParams.isDamaged) {\n this.activeFilters = true;\n this.searchForm.patchValue(this.route.snapshot.queryParams);\n\n //fix int for ng-select\n this.searchForm.patchValue({ accountId: !isNaN(this.route.snapshot.queryParams.accountId) ? parseInt(this.route.snapshot.queryParams.accountId) : null });\n this.searchForm.patchValue({ cResidenceCountryId: !isNaN(this.route.snapshot.queryParams.cResidenceCountryId) ? parseInt(this.route.snapshot.queryParams.cResidenceCountryId) : null });\n this.searchForm.patchValue({ vMakeId: !isNaN(this.route.snapshot.queryParams.vMakeId) ? parseInt(this.route.snapshot.queryParams.vMakeId) : null });\n this.searchForm.patchValue({ vModelId: !isNaN(this.route.snapshot.queryParams.vModelId) ? parseInt(this.route.snapshot.queryParams.vModelId) : null });\n // this.searchForm.patchValue({ vRegistrationCountryId: !isNaN(this.route.snapshot.queryParams.vRegistrationCountryId) ? parseInt(this.route.snapshot.queryParams.vRegistrationCountryId) : null });\n\n //multi-select\n let _vRegistrationCountryId;\n if (this.route.snapshot.queryParams.vRegistrationCountryId && this.route.snapshot.queryParams.vRegistrationCountryId.indexOf(',') > -1)\n _vRegistrationCountryId = this.route.snapshot.queryParams.vRegistrationCountryId.split(',');\n else if (this.route.snapshot.queryParams.vRegistrationCountryId)\n _vRegistrationCountryId = [this.route.snapshot.queryParams.vRegistrationCountryId];\n\n if (_vRegistrationCountryId)\n this.searchForm.patchValue({ vRegistrationCountryId: _vRegistrationCountryId.map(x => parseInt(x)) });\n\n this.query = this.searchForm.value;\n }\n\n this.fetchData(this.query);\n\n await Promise.all([\n this.stockTypesService.getAllowed()\n .then(result => this.stockTypes = result.list.filter(x => x.documentType == _DocumentType.TripTikDocument)),\n this.countriesService.get(this.lang)\n .then(result => this.countries = result.list),\n this.vehicleMakesService.get(this.lang)\n .then(result => this.vehicleMakes = result.list),\n this.onSelectVehicleMake(this.searchForm.get('vMakeId').value),\n this.vehicleTypesService.get(this.lang)\n .then(result => this.vehicleTypes = result.list)\n ]);\n }\n\n ngAfterViewInit() {\n this.dataSource.counter$\n .pipe(\n tap((count) => {\n this.paginator.length = count;\n })\n ).subscribe();\n\n merge(this.paginator.page, this.sort.sortChange)\n .pipe(\n tap(() => {\n this.dataSource.load({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction },\n this.advancedSearchMode || this.activeFilters ? this.searchForm.value : this.filter.nativeElement.value.trim())\n })\n ).subscribe(() => this.loader.load(LoaderType.Body));\n\n merge(fromEvent(this.filter.nativeElement, 'search'), fromEvent(this.filterBtn.nativeElement, 'click'))\n .pipe(\n tap(() => {\n this.advancedSearchMode = false;\n this.activeFilters = false;\n this.searchForm.reset();\n this.paginator.pageIndex = 0;\n this.dataSource.load({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction }, this.filter.nativeElement.value.trim())\n })\n ).subscribe(() => this.loader.load(LoaderType.Body));\n\n this.dataSource.connect()\n .subscribe(() => {\n let pagination: PaginationQuery = { pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction };\n let query = this.activeFilters ? this.searchForm.value : this.filter.nativeElement.value.trim();\n this.query = query;\n\n if (typeof query == 'object') {\n query.vRegistrationCountryId = query.vRegistrationCountryId ? query.vRegistrationCountryId.toString() : null;\n }\n\n if (this.activeFilters)\n this.router.navigate(['.'], { relativeTo: this.route, queryParams: { ...pagination, ...query }, replaceUrl: true });\n else\n this.router.navigate(['.'], { relativeTo: this.route, queryParams: { ...pagination, query }, replaceUrl: true });\n });\n }\n\n fetchData(query) {\n this.paginator.pageIndex = this.route.snapshot.queryParams.pageIndex ? this.route.snapshot.queryParams.pageIndex : 0;\n this.paginator.pageSize = this.route.snapshot.queryParams.pageSize ? this.route.snapshot.queryParams.pageSize : 25;\n this.sort.active = this.route.snapshot.queryParams.sort ? this.route.snapshot.queryParams.sort : 'created';\n this.sort.direction = this.route.snapshot.queryParams.dir ? this.route.snapshot.queryParams.dir : 'desc';\n this.dataSource = new TripTiksDataSource(this.tripTiksService, this.loader);\n this.dataSource.load({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction }, query);\n }\n\n toggleAdvancedSearch() {\n this.advancedSearchMode = !this.advancedSearchMode;\n this.filter.nativeElement.value = '';\n }\n\n filterList(list: PrintLogDto[], printObject: PrintObject) {\n return list.filter(l => l.printObject == printObject)\n }\n\n printObjectsCount(list: PrintLogDto[], printObject: PrintObject) {\n return list.filter(l => l.printObject == printObject).length;\n }\n\n delete(dto: TripTikDto) {\n if (dto.accountId != this.auth.currentUser.accountId\n || !this.auth.currentUser.isInRole(Role.TRIPTIKS_DELETE))\n return;\n\n //confirm if not yet issued\n if (!dto.issued) {\n let modal = this.confirmService.confirm(new DeleteModal({\n type: 'TRP_TITLE_TRIPTIK',\n title: `${dto.serial.toString()}/${dto.cName}`,\n note: 'TRP_CONFIRM_DELETE_NOTE'\n }));\n\n modal.then(async m => {\n if (m.indexOf('CONFIRMED') > -1)\n this._delete(dto.id);\n });\n }\n }\n\n tryRevoke(dto: TripTikDto) {\n if (dto.accountId != this.auth.currentUser.accountId\n || !this.auth.currentUser.isInRole(Role.TRIPTIKS_REVOKE_REQUESTS_CREATE))\n return;\n\n let modal;\n //try-revoke\n //try-revoke confirm if issued && permited to try-revoke\n if (!dto.revokeRequestId) {\n modal = this.confirmService.confirm(new DeleteModal({\n type: 'ISS_TITLE_DOCUMENT_REVOKE_REQUEST',\n title: `${dto.stockType.titles[0]} / ${dto.serial.toString()}`,\n action: '_ACTION_REQUEST2',\n submitText: '_ACTION_REQUEST2',\n confirmQuestion: 'ISS_DOCUMENT_REVOKE_REQUEST_CONFIRM_REQUEST_CONFIRMATION_QUESTION',\n note: 'ISS_DOCUMENT_REVOKE_REQUEST_CONFIRM_REQUEST_NOTE',\n dangerNote: ' ',\n inputNote: 'ISS_TITLE_DOCUMENT_REVOKE_REQUEST_REASON',\n requestType: true,\n attachment: '_TITLE_ATTACHMENTS'\n }));\n } else {\n //cancel\n modal = this.confirmService.confirm(new UpdateModal({\n type: 'ISS_TITLE_DOCUMENT_REVOKE_REQUEST',\n title: `${dto.stockType.titles[0]} / ${dto.serial.toString()}`,\n action: '_ACTION_REVOKE_REQUEST_CANCEL',\n submitText: '_ACTION_REVOKE_REQUEST_CANCEL',\n confirmQuestion: 'ISS_DOCUMENT_REVOKE_REQUEST_CONFIRM_REQUEST_CANCEL_CONFIRMATION_QUESTION',\n note: 'ISS_DOCUMENT_REVOKE_REQUEST_CONFIRM_REQUEST_CANCEL_NOTE',\n dangerNote: ' '\n }));\n }\n modal.then(async m => {\n if (m.indexOf('CONFIRMED') > -1) {\n (!dto.revokeRequestId) ?\n this._tryRevoke(dto.id, dto.stockType.id, m[1])\n : this._cancelTryRevoke(dto.revokeRequestId)\n }\n });\n }\n\n async onSelectVehicleMake(id?: number) {\n // console.log(id);\n this.searchForm.get('vModelId').disable();\n const obj: LookupDto = { id: 0, titles: [this.translate.instant(\"_LABEL_ALL\")] };\n const arr = id ? await (await this.vehicleModelsService.get(id, null, this.lang)).list\n : [];\n this.vehicleModels = [obj, ...arr];\n this.searchForm.get('vModelId').enable();\n if (!this.searchForm.get('vModelId').value)\n this.searchForm.get('vModelId').setValue(this.vehicleModels[0].id);\n }\n\n private _tryRevoke(objectId: string, stockTypeId: number, attributes: any/*, reason: string*/) {\n const reason = attributes.inputNote,\n isDamaged = attributes.isDamaged == \"true\",\n attachment = attributes.attachment;\n\n const cmd: TryRevokeDocumentCommand = { id: objectId, stockTypeId, reason, isDamaged, attachment }\n ////console.log(cmd);\n this.loader.load(LoaderType.Body);\n this.issuingService.tryRevokeDocument(cmd)\n .then(result => {\n if (result) {\n this.alert.success(DefaultAlertAction.REQUESTING);\n const i = this.dataSource.TripTiksSubject.value.findIndex(i => i.id == objectId);\n this.dataSource.TripTiksSubject.value[i].revokeRequestId = result;\n this.dataSource.TripTiksSubject.next(this.dataSource.TripTiksSubject.value);\n\n } else this.alert.failure(DefaultAlertAction.REQUESTING);\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n\n private _cancelTryRevoke(id: number) {\n this.loader.load(LoaderType.Body);\n this.issuingService.cancelTryRevokeDocument(id)\n .then(result => {\n if (result) {\n this.alert.success(DefaultAlertAction.REVOKE_REQUESTING_CANCEL);\n const i = this.dataSource.TripTiksSubject.value.findIndex(i => i.revokeRequestId == id);\n this.dataSource.TripTiksSubject.value[i].revokeRequestId = null;\n this.dataSource.TripTiksSubject.next(this.dataSource.TripTiksSubject.value);\n\n } else this.alert.failure(DefaultAlertAction.REVOKE_REQUESTING_CANCEL);\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n\n private _delete(id: string) {\n this.loader.load(LoaderType.Body);\n this.tripTiksService.delete(id)\n .then(result => {\n if (result) {\n this.alert.success(DefaultAlertAction.DELETING);\n this.dataSource.TripTiksSubject.next(this.dataSource.TripTiksSubject.value.filter(d => d.id != id));\n this.dataSource.countSubject.next(this.dataSource.countSubject.value - 1);\n\n } else this.alert.failure(DefaultAlertAction.DELETING);\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n\n onExportToExcel(all: boolean = true) {\n this.loader.load(LoaderType.Body);\n if (all)\n this.tripTiksService[(this.query == null || typeof this.query == 'string') ? 'getAll' : 'search']({ pageIndex: 0, pageSize: this.paginator.length, sort: this.sort.active, dir: this.sort.direction }, this.query)\n .toPromise()\n .then(data => {\n this.exportToExcel(data.list);\n }).finally(() => this.loader.load(LoaderType.Body, false));\n else\n this.dataSource.connect().subscribe(data => {\n this.exportToExcel(data);\n this.loader.load(LoaderType.Body, false);\n }).unsubscribe();\n }\n\n private exportToExcel(data: TripTikDto[]) {\n const wscols = [\n { width: 12 },\n { width: 28 },\n { width: 12 },\n { width: 18 },\n { width: 24 },\n { width: 28 },\n { width: 18 },\n { width: 18 },\n { width: 18 },\n { width: 18 }\n ];\n const autofilter = { ref: 'A1:J1' };\n const rows: string[][] = [];\n\n const headers = [\n this.translate.instant('_LABEL_SERIAL'),\n this.translate.instant('_FIELD_NAME'),\n this.translate.instant('_FIELD_PHONE_NO'),\n this.translate.instant('TRP_FIELD_PLATE_ID'),\n this.translate.instant('TRP_FIELD_TRIPTIK_TYPE'),\n this.translate.instant('ACC_FIELD_ACCOUNT_TITLE'),\n this.translate.instant('ISS_LABEL_ISSUE_DATE'),\n this.translate.instant('ISS_LABEL_PRINT_OBJECT_PRINTED_COUNT', { param: this.translate.instant('TRP_LABEL_PRINT_OBJECT_FRONT_COVER') }),\n this.translate.instant('ISS_LABEL_PRINT_OBJECT_PRINTED_COUNT', { param: this.translate.instant('TRP_LABEL_PRINT_OBJECT_INNER_PAGES') }),\n this.translate.instant('ISS_LABEL_PRINT_OBJECT_PRINTED_COUNT', { param: this.translate.instant('TRP_LABEL_PRINT_OBJECT_BACK_COVER') })\n ];\n\n rows.push(headers);\n for (let row of data) {\n rows.push([\n row.serial.toString(),\n row.cName ? row.cName : 'N/A',\n row.cPhoneNumber ? row.cPhoneNumber : 'N/A',\n row.vPlateID ? row.vPlateID : 'N/A',\n row.stockType.titles[0],\n row.accountTitles[0],\n row.issued ? moment(row.issued).format('DD/MM/YYYY') : '',\n this.printObjectsCount(row.printLogs, PrintObject.TripTikFrontCover).toString(),\n this.printObjectsCount(row.printLogs, PrintObject.TripTikInnerPages).toString(),\n this.printObjectsCount(row.printLogs, PrintObject.TripTikBackCover).toString()\n ]);\n }\n ////console.log(rows);\n setTimeout(() => {\n exportToExcel(rows, wscols, autofilter, this.translate.currentLang == 'ar', 'Trip-Tiks');\n\n }, 1000);\n\n\n }\n\n onSubmit() {\n if (this.fromDate.value && typeof this.fromDate.value == 'object')\n this.fromDate.setValue(Utils.convertToServerDateTimeString(this.fromDate.value));\n\n if (this.toDate.value && typeof this.toDate.value == 'object')\n this.toDate.setValue(Utils.convertToServerDateTimeString(this.toDate.value));\n\n //swap dates\n if (this.fromDate.value && this.toDate.value && new Date(this.fromDate.value) > new Date(this.toDate.value)) {\n let _temp = this.fromDate.value;\n this.fromDate.setValue(this.toDate.value);\n this.toDate.setValue(_temp);\n }\n\n this.activeFilters = true;\n this.paginator.pageIndex = 0;\n this.paginator.page.emit({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, length: this.paginator.length });\n }\n\n resetSearch() {\n this.advancedSearchMode = false;\n if (this.activeFilters) {\n this.activeFilters = false;\n this.paginator.pageIndex = 0;\n this.paginator.page.emit({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, length: this.paginator.length });\n }\n\n this.activeFilters = false;\n\n setTimeout(() => {\n this.searchForm.reset();\n this.query = null;\n }, 500);\n }\n\n private formInit() {\n this.searchForm = this.fb.group({\n cName: [''], //regex to match english letters only\n cPhoneNumber: [''], //regex to match numbers only\n accountId: [null],\n serial: [''], //regex to match numbers only\n fromDate: [''],\n toDate: [''],\n stockTypeId: [''],\n cResidenceCountryId: [null],\n cIdentityOrPassportID: [''],\n vPlateID: [''],\n vRegistrationCountryId: [null],\n vTypeId: [''],\n vMakeId: [null],\n vModelId: [null],\n vChassisID: [''],\n vManufactureYear: [''],\n isIssued: [''],\n isDamaged: ['']\n });\n }\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FormBuilder, FormGroup ,Validators} from '@angular/forms';\n\n\nimport * as moment from 'moment';\nimport * as _ from 'lodash';\nimport { TripTikVm, TripTikDetailsDto } from '../../models/trip-tik';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { FileLoaderService } from 'src/app/shared/services/file-loader.service';\nimport { TripTiksService } from '../../services/trip-tiks.service';\nimport { PrintObject } from 'src/app/core/models/enums/print-object';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { UpdateModal } from 'src/app/shared/models/modal';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { TripTikPrintComponent } from '../../components/trip-tik-print/trip-tik-print.component';\nimport { ConfigObject } from 'src/app/core/models/enums/config-object';\nimport { ReceiptPrintComponent } from '../../components/receipt-print/receipt-print.component';\nimport { StaticConfig } from 'src/app/features/lookups/services/config';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { PrintLogDto } from '../../../_shared/models/issuing.models';\nimport { StringJoinPipe } from 'src/app/shared/pipes/string-join.pipe';\nimport { LookupDto } from 'src/app/features/lookups/models/lookup';\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\n\n@Component({\n selector: 'mac-view-trip-tik',\n templateUrl: './view-trip-tik.component.html',\n styleUrls: ['./view-trip-tik.component.scss'],\n providers: [TripTiksService, FileLoaderService]\n})\nexport class ViewTripTikComponent implements OnInit {\n cashedVm: TripTikVm;\n dto: TripTikDetailsDto = new TripTikDetailsDto();\n moment = moment;\n lang: Language;\n dateFormat = 'L';\n qRCodeImg: string = 'assets/images/qr.png';\n qRCodeUrl: string = '';\n maxPrintLimit: number;\n empty: string;\n drivers = [];\n vUpholsteryType: string[];\n vOptions: LookupDto[] = [];\n attachments: { title: string, parent: string, src: string }[] = [];\n confirmed: boolean;\n defaultImage = 'assets/images/default.jpg';\n form: FormGroup;\n\n @ViewChild('printElm') printElm: TripTikPrintComponent;\n @ViewChild('receiptPrintElm') receiptPrintElm: ReceiptPrintComponent;\n\n get PrintObject() { return PrintObject; };\n get Role() { return Role; };\n get Language() { return Language; };\n get ConfigObject() { return ConfigObject; };\n get Math() { return Math; };\n get issueDatePicker() { return this.form.get('issueDatePicker') };\n get expireDatePicker() { return this.form.get('expireDatePicker') };\n constructor(private route: ActivatedRoute,\n private tripTiksService: TripTiksService,\n private loader: LoadingService,\n public translate: TranslateService,\n private fileLoader: FileLoaderService,\n private confirmService: ConfirmService,\n private stringJoin: StringJoinPipe,\n public auth: AuthService,\n private router: Router,\n private fb: FormBuilder) { }\n \n async ngOnInit() {\n moment.locale('en-gb');\n document.querySelector('mat-card').classList.remove('overflow-hidden');\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n this.loader.load(LoaderType.Nav);\n this.maxPrintLimit = Number(StaticConfig.getConfigKeyValuePairs(ConfigObject.TripTikMaxPrintLimit)[0].value);\n this.empty = '';//StaticConfig.getConfigKeyValuePairs(ConfigObject.TripTikPrintEmptyValue)[0].value.toString();\n this.initForm();\n const tripTikId = this.route.snapshot.paramMap.get('id');\n if (tripTikId) {\n this.tripTiksService.get(tripTikId)\n .then(async result => {\n //console.log(result);\n if (result.item) {\n this.dto = result.item;\n this.drivers = this.dto.customer.drivers.map(d => d.name);\n\n if (this.dto.vehicle.upholsteryType)\n this.vUpholsteryType = <[]>StaticConfig.getConfigValue(ConfigObject.VehicleUpholsteryTypes, this.dto.vehicle.upholsteryType);\n\n if (this.dto.vehicle.options) {\n this.vOptions = [];\n this.dto.vehicle.options.forEach(opt => {\n this.vOptions.push({ id: opt, titles: <[]>StaticConfig.getConfigValue(ConfigObject.VehicleOptions, opt/*, this.lang*/) });\n });\n }\n\n //console.log(this.vUpholsteryType, this.vOptions);\n\n //console.log(this.dto);\n this.fetchAttachments();\n\n if (this.dto.issued && this.dto.hashedSerial) {\n this.qRCodeUrl = Utils.generateQrCodeUrl(this.dto.hashedSerial);\n setTimeout(() => {\n this.qRCodeImg = document.getElementsByTagName('ngx-kjua')[0]\n .getElementsByTagName('div')[0]\n //.getElementsByTagName('img')[0].src;\n .getElementsByTagName('canvas')[0].toDataURL(\"image/png\");\n\n //console.log(this.qRCodeImg);\n });\n\n //console.log(this.qRCodeUrl);\n }\n\n if (this.isPrintable())\n this.displayPreview();\n } else this.router.navigate([`/${this.translate.currentLang}/not-found`]);\n })\n .finally(() => this.loader.load(LoaderType.Nav, false));\n }\n }\n private initForm() {\n \n this.form = this.fb.group({\n \n issueDatePicker: ['', [Validators.required]],\n expireDatePicker: ['', [Validators.required]]\n });\n\n }\n isPrintable() {\n return !this.dto.isMigratedData && (!this.dto.issued\n || this.printObjectsCount(this.dto.printLogs, PrintObject.TripTikFrontCover) < this.maxPrintLimit\n || this.printObjectsCount(this.dto.printLogs, PrintObject.TripTikBackCover) < this.maxPrintLimit\n || this.printObjectsCount(this.dto.printLogs, PrintObject.TripTikInnerPages) < this.maxPrintLimit)\n }\n onDateChange(event: MatDatepickerInputEvent): void {\n const date = event.target.value ? new Date(event.target.value) : null;\n this.form.get('issueDatePicker').setValue(date);\n console.log(this.form.value);\n \n }\n onDateChangeExpiry(event: MatDatepickerInputEvent): void {\n const date = event.target.value ? new Date(event.target.value) : null;\n this.form.get('expireDatePicker').setValue(date);\n console.log(this.form.value);\n \n }\n\n\n isExpired(expiryDate) {\n return moment(expiryDate).isBefore(Date.now());\n }\n\n printObjectsCount(list: PrintLogDto[], printObject: PrintObject) {\n if (list)\n return list.filter(l => l.printObject == printObject).length;\n }\n\n print(printObject: PrintObject) {\n if (printObject == PrintObject.TriptikReceipt) {\n\n this.receiptPrintElm.print(this.dto);\n return;\n }\n\n if (this.dto.accountId != this.auth.currentUser.accountId\n || !this.auth.currentUser.isInRole(Role.TRIPTIKS_UPDATE)\n || this.dto.serial < 0)\n return;\n\n //confirm if not yet issued\n if (!this.dto.issued) {\n \n let modal = this.confirmService.confirm(new UpdateModal({\n title: this.dto.serial.toString(),\n type: 'TRP_TITLE_TRIPTIK',\n action: '_ACTION_ISSUE',\n confirmQuestion: 'TRP_CONFIRM_ISSUE_CONFIRMATION_QUESTION',\n note: 'TRP_CONFIRM_ISSUE_NOTE',\n dangerNote: 'TRP_CONFIRM_ISSUE_DANGER_NOTE',\n submitText: '_ACTION_ISSUE'\n }));\n\n modal.then(async m => {\n //console.log(m);\n if (m.indexOf('CONFIRMED') > -1)\n await this._print(printObject);\n });\n } else this._print(printObject);\n }\n\n private fetchAttachments() {\n console.log('Hello',this.dto.stockType.id);\n this.dto.customer.owner.attachments.forEach((att, i) => {\n const _title = i == 0 ? 'TRP_FIELD_PASSPORT_COPY'\n : i == 1 ? 'TRP_FIELD_IDENTITY_COPY' : 'TRP_FIELD_VREGISTRATION_COPY';\n this.attachments.push({ title: _title, parent: 'TRP_LABEL_OWNER', src: att });\n });\n\n this.dto.customer.drivers.forEach((driver, i) => {\n driver.attachments.forEach((att, _i) => {\n const _title = _i == 0 ? 'TRP_FIELD_PASSPORT_COPY' : 'TRP_FIELD_DRIVING_LICENSE_COPY';\n this.attachments.push({ title: _title, parent: `${this.translate.instant('TRP_LABEL_ADDITIONAL_DRIVER')} ${i + 1}`, src: att });\n });\n });\n\n this.attachments.forEach(async att => {\n const file = await this.fileLoader.loadAsync(att.src);\n att.src = file ? file as string : this.defaultImage;\n });\n }\n private zeroPad = (num, places) => String(num).padStart(places, '0');\n\n toISODate(date) {\n return `${date.getFullYear()}-${this.zeroPad(date.getMonth() + 1, 2)}-${this.zeroPad(date.getDate(), 2)}T00:00:00.000Z`;\n }\nasync _print(printObject: PrintObject) {\n if (this.printObjectsCount(this.dto.printLogs, printObject) < this.maxPrintLimit) {\n this.loader.load(LoaderType.Body);\n\n let issueDate;\n let expiryDate;\n // Check if `issued` is not set\n if (!this.dto.issued) {\n // Handle 'issueDatePicker' value\n if (this.form.get('issueDatePicker').value && this.form.get('issueDatePicker').value !== '') {\n const isoDate = this.toISODate(new Date(this.form.get('issueDatePicker').value));\n issueDate = isoDate ? isoDate : new Date(); // Use the converted date or current date if invalid\n } else {\n issueDate = new Date(); // Apply default date if input is empty\n }\n \n // Handle 'expireDatePicker' value\n if (this.dto.stockType.id === 11) {\n expiryDate = moment(issueDate).add(1, 'month').toDate(); // Set expiryDate to 1 month from issueDate\n } \n else if ( this.dto.stockType.id === 12) {\n expiryDate = moment(issueDate).add(6, 'month').toDate(); // Set expiryDate to 1 month from issueDate\n } \n else if (this.form.get('expireDatePicker').value && this.form.get('expireDatePicker').value !== '') {\n const isoDate = this.toISODate(new Date(this.form.get('expireDatePicker').value));\n expiryDate = isoDate ? isoDate : moment(issueDate).add(1, 'year').subtract(1, 'day').toDate(); // Use the converted date or calculate from issueDate if invalid\n}else {\n expiryDate = moment(issueDate).add(1, 'year').subtract(1, 'day').toDate(); // Calculate from issueDate if input is empty\n}\n\n }\n console.log('Form Values:', this.form.value);\n\n console.log('Issue Date:', issueDate);\n console.log('Expire Date:', expiryDate);\n const payload = {\n id: this.dto.id,\n printObject: printObject,\n issueDate: issueDate, // Use the processed date here\n expiryDate: expiryDate // Assuming this.dto.expiryDate contains the expiry date\n };\n // Request to server print with dates\n this.tripTiksService.print(payload)\n .then(async (hash) => {\n if (hash && hash.value) {\n this.dto.hashedSerial = hash.value;\n this.qRCodeUrl = Utils.generateQrCodeUrl(this.dto.hashedSerial);\n setTimeout(() => {\n this.qRCodeImg = document.getElementsByTagName('ngx-kjua')[0]\n .getElementsByTagName('div')[0]\n .getElementsByTagName('canvas')[0].toDataURL(\"image/png\");\n });\n\n // Just issued: update issue and expiry dates if not previously set\n if (!this.dto.issued) {\n this.dto.issued = issueDate; // Set issue date to now if not set\n this.dto.expiryDate = expiryDate; // Set expiry date based on issue date\n console.log('Issue Date Empty:', issueDate);\n console.log('Expire Date Empty:', expiryDate);\n }\n }\n\n // Increment print objects\n this.dto.printLogs.push({ created: new Date(), printObject: printObject });\n\n // Update UI\n await this.displayPreview();\n\n // Open printing object\n await this.printElm.print(this.dto, printObject);\n })\n .finally(() => {\n this.loader.load(LoaderType.Body, false);\n });\n }\n}\n\n //get stringJoin.transform() { return Utils.stringJoin.transform; };\n\n private async displayPreview() {\n const _expiryDate = this.dto.issued\n ? moment(this.dto.expiryDate).format(this.dateFormat)\n : ( this.dto.stockType.id === 11)\n ? moment(new Date()).add(1, 'month').format(this.dateFormat) // Set _expiryDate to 1 month from the current date\n : (this.dto.stockType.id === 12)\n ? moment(new Date()).add(6, 'months').format(this.dateFormat) // Set _expiryDate to 6 months from the current date\n : moment(new Date()).add(1, 'year').subtract(1, 'day').format(this.dateFormat); // Default to 1 year minus 1 day if conditions are not met\n\n const cOwnerInfo = [this.dto.customer.owner.name, this.dto.customer.owner.address.item1, this.dto.customer.owner.address.item2]\n .filter(d => d);\n\n //front-cover\n let fcCanvas = document.getElementById('trip-fc-canvas') as HTMLCanvasElement;\n if (fcCanvas.getContext) {\n let ctx = fcCanvas.getContext('2d');\n\n const fcImage = new Image();\n\n fcImage.onload = () => {\n ctx.textAlign = 'end';\n ctx.font = `bold ${Utils.convertToPixel(4)}px arial`;\n ctx.drawImage(fcImage, 0, 0);\n\n let x = Utils.convertToPixel(100), y = Utils.convertToPixel(26);\n const rh = Utils.convertToPixel(6);\n\n ctx.fillText(this.dto.customer.owner.name ? this.dto.customer.owner.name : 'N/A', x, y);\n // ctx.fillText(this.dto.customer.owner.address.item1 ? this.dto.customer.owner.address.item1 : 'N/A', x, y += rh);\n // ctx.fillText(this.dto.customer.owner.address.item2 ? this.dto.customer.owner.address.item2 : 'N/A', x, y += rh);\n if (this.dto.customer.drivers && this.dto.customer.drivers.length > 0) {\n this.dto.customer.drivers.forEach(driver => {\n ctx.fillText(`سائق إضافي: ${driver.name}`, x, y += rh);\n });\n }\n\n\n //todo: check second line margin, even with align-right\n\n ctx.textAlign = 'center';\n ctx.fillText('12 Months', Utils.convertToPixel(160), Utils.convertToPixel(18));\n ctx.fillText(_expiryDate, Utils.convertToPixel(160), Utils.convertToPixel(26));\n console.log(_expiryDate)\n ctx.fillText(this.dto.vehicle.registrationCountryTitles ? this.stringJoin.transform(this.dto.vehicle.registrationCountryTitles) : 'N/A', Utils.convertToPixel(70), Utils.convertToPixel(112));\n ctx.fillText(this.dto.vehicle.plateID ? this.dto.vehicle.plateID : 'N/A', Utils.convertToPixel(170), Utils.convertToPixel(112));\n\n const qr = new Image();\n qr.onload = () => {\n ctx.drawImage(qr, Utils.convertToPixel(8), Utils.convertToPixel(66), 88, 88);\n }\n qr.src = this.dto.issued ? this.qRCodeImg : 'assets/images/qr.png';\n\n const ptt = new Image();\n ptt.onload = () => {\n ctx.save();\n ctx.globalAlpha = 0.15;\n const ptrn = ctx.createPattern(ptt, 'repeat');\n ctx.fillStyle = ptrn;\n ctx.fillRect(0, 0, Utils.convertToPixel(210), Utils.convertToPixel(297));\n ctx.restore();\n\n //draw thumb\n let fcCanvasThumb = document.getElementById('trip-fc-canvas-thumb') as HTMLCanvasElement;\n if (fcCanvasThumb.getContext) {\n let bcThumbCtx = fcCanvasThumb.getContext('2d');\n bcThumbCtx.drawImage(ctx.canvas, 0, 0);\n }\n }\n ptt.src = 'assets/images/sample-stamp.png';\n }\n fcImage.src = 'assets/images/trip-front-cover-preview.jpg';\n }\n\n //inner-page\n let ipCanvas = document.getElementById('trip-ip-canvas') as HTMLCanvasElement;\n if (ipCanvas.getContext) {\n let ctx = ipCanvas.getContext('2d');\n\n const ipImage = new Image();\n\n ipImage.onload = () => {\n ctx.textAlign = 'center';\n ctx.font = `bold ${Utils.convertToPixel(4)}px arial`;\n ctx.drawImage(ipImage, 0, 0);\n\n let x = Utils.convertToPixel(65), y = Utils.convertToPixel(26);\n const rh = Utils.convertToPixel(5.5);\n\n ctx.fillText(this.dto.vehicle.registrationCountryTitles ? this.stringJoin.transform(this.dto.vehicle.registrationCountryTitles) : 'N/A', x, y);\n\n\n // ctx.fillText(this.dto.vehicle.make ? this.stringJoin.transform(this.dto.vehicle.make.titles) : 'N/A', x, y += rh);\n\n\n if (this.dto.vehicle.model) {\n let makeModel: string[][] = [];\n makeModel[0] = [this.dto.vehicle.model.titles[0], this.dto.vehicle.make.titles[0]];\n makeModel[1] = [this.dto.vehicle.model.titles[1], this.dto.vehicle.make.titles[1]];\n\n ctx.fillText(this.dto.vehicle.make ? this.stringJoin.transform(makeModel.map(d => this.stringJoin.transform(d)), '/') : 'N/A', x, y += rh);\n }\n else\n ctx.fillText(this.dto.vehicle.make ? this.stringJoin.transform(this.dto.vehicle.make.titles) : 'N/A', x, y += rh);\n\n\n\n ctx.fillText(this.dto.vehicle.manufactureYear ? this.dto.vehicle.manufactureYear.toString() : 'N/A', x, y += rh);\n ctx.fillText(this.dto.vehicle.chassisID ? this.dto.vehicle.chassisID : 'N/A', x, y += rh);\n ctx.fillText(this.dto.vehicle.engineID ? this.dto.vehicle.engineID : this.empty, x, y += rh);\n ctx.fillText(this.dto.vehicle.cylindersCount ? this.dto.vehicle.cylindersCount.toString() : 'N/A', x, y += rh);\n //ctx.fillText(this.dto.vehicle.color ? this.stringJoin.transform(this.dto.vehicle.color.titles) : 'N/A', x, y += rh);\n ctx.fillText(this.dto.vehicle.colors ? this.stringJoin.transform(this.dto.vehicle.colors.map(d => this.stringJoin.transform(d.titles)), '+') : 'N/A', x, y += rh);\n\n ctx.fillText(this.dto.vehicle.type ? this.stringJoin.transform(this.dto.vehicle.type.titles) : this.empty, x, y += rh);\n ctx.fillText(this.dto.vehicle.horsePower ? this.dto.vehicle.horsePower.toString() : this.empty, x, y += rh);\n\n x = Utils.convertToPixel(160);\n y = Utils.convertToPixel(26);\n\n ctx.fillText(this.dto.vehicle.plateID ? this.dto.vehicle.plateID : 'N/A', x, y);\n ctx.fillText(this.dto.vehicle.seatsCount ? this.dto.vehicle.seatsCount.toString() : 'N/A', x, y += rh);\n ctx.fillText(this.dto.vehicle.spareTiresCount.toString(), x, y += rh);\n //ctx.fillText(this.vOptions ? this.vOptions.join(' + ') : this.empty, x, y += rh);\n ctx.fillText(this.vOptions ? this.stringJoin.transform(this.vOptions.map(d => this.stringJoin.transform(d.titles)), '+') : this.empty, x, y += rh);\n\n ctx.fillText(this.vUpholsteryType ? this.stringJoin.transform(this.vUpholsteryType) : this.empty, x, y += rh);\n ctx.fillText(this.dto.vehicle.equipments ? this.dto.vehicle.equipments : this.empty, x, y += rh);\n ctx.fillText(this.dto.vehicle.extras ? this.dto.vehicle.extras : this.empty, x, y += rh);\n ctx.fillText(this.dto.vehicle.weightInKG ? this.dto.vehicle.weightInKG.toString() : 'N/A', x, y += rh);\n ctx.fillText(`${this.dto.vehicle.currency ? this.dto.vehicle.currency.abbreviation : ''} ${this.dto.vehicle.value ? this.dto.vehicle.value.toString() : 'N/A'}`, x, y += rh); //todo: include currency\n\n ctx.fillText(cOwnerInfo.join(', '), Utils.convertToPixel(65), Utils.convertToPixel(15));\n ctx.fillText(this.drivers.join(', '), Utils.convertToPixel(160), Utils.convertToPixel(15));\n\n ctx.textAlign = 'left';\n ctx.font = `bold ${Utils.convertToPixel(6)}px consolas`;\n ctx.fillText(Math.abs(this.dto.serial).toString(), Utils.convertToPixel(138), Utils.convertToPixel(81.5));\n ctx.font = `bold ${Utils.convertToPixel(3)}px arial`;\n ctx.fillText(_expiryDate, Utils.convertToPixel(180), Utils.convertToPixel(83));\n\n const ptt = new Image();\n ptt.onload = () => {\n ctx.save();\n ctx.globalAlpha = 0.15;\n const ptrn = ctx.createPattern(ptt, 'repeat');\n ctx.fillStyle = ptrn;\n ctx.fillRect(0, 0, Utils.convertToPixel(210), Utils.convertToPixel(297));\n ctx.restore();\n\n //draw thumb\n let bcCanvasThumb = document.getElementById('trip-ip-canvas-thumb') as HTMLCanvasElement;\n if (bcCanvasThumb.getContext) {\n let bcThumbCtx = bcCanvasThumb.getContext('2d');\n bcThumbCtx.drawImage(ctx.canvas, 0, 0);\n }\n //thumbCtx.scale(0.2, 0.2);\n }\n ptt.src = 'assets/images/sample-stamp.png';\n }\n ipImage.src = \"assets/images/trip-inner-page-preview.jpg\";\n }\n\n //back-cover\n let bcCanvas = document.getElementById('trip-bc-canvas') as HTMLCanvasElement;\n if (bcCanvas.getContext) {\n let ctx = bcCanvas.getContext('2d');\n\n const bcImage = new Image();\n\n bcImage.onload = () => {\n ctx.textAlign = 'center';\n ctx.font = `bold ${Utils.convertToPixel(4)}px arial`;\n ctx.drawImage(bcImage, 0, 0);\n\n let x = Utils.convertToPixel(55), y = Utils.convertToPixel(37);\n const rh = Utils.convertToPixel(6.85);\n\n\n\n ctx.fillText(this.dto.vehicle.registrationCountryTitles ? this.stringJoin.transform(this.dto.vehicle.registrationCountryTitles) : 'N/A', x, y);\n\n if (this.dto.vehicle.model) {\n let makeModel: string[][] = [];\n makeModel[0] = [this.dto.vehicle.model.titles[0], this.dto.vehicle.make.titles[0]];\n makeModel[1] = [this.dto.vehicle.model.titles[1], this.dto.vehicle.make.titles[1]];\n\n ctx.fillText(this.dto.vehicle.make ? this.stringJoin.transform(makeModel.map(d => this.stringJoin.transform(d)), '/') : 'N/A', x, y += rh);\n }\n else\n ctx.fillText(this.dto.vehicle.make ? this.stringJoin.transform(this.dto.vehicle.make.titles) : 'N/A', x, y += rh);\n\n\n\n ctx.fillText(this.dto.vehicle.manufactureYear ? this.dto.vehicle.manufactureYear.toString() : 'N/A', x, y += rh);\n ctx.fillText(this.dto.vehicle.chassisID ? this.dto.vehicle.chassisID : 'N/A', x, y += rh);\n ctx.fillText(this.dto.vehicle.engineID ? this.dto.vehicle.engineID : this.empty, x, y += rh);\n ctx.fillText(this.dto.vehicle.cylindersCount ? this.dto.vehicle.cylindersCount.toString() : 'N/A', x, y += rh);\n // ctx.fillText(this.dto.vehicle.color ? this.stringJoin.transform(this.dto.vehicle.color.titles) : 'N/A', x, y += rh);\n ctx.fillText(this.dto.vehicle.colors ? this.stringJoin.transform(this.dto.vehicle.colors.map(d => this.stringJoin.transform(d.titles)), '+') : 'N/A', x, y += rh);\n ctx.fillText(this.dto.vehicle.type ? this.stringJoin.transform(this.dto.vehicle.type.titles) : this.empty, x, y += rh);\n ctx.fillText(this.dto.vehicle.horsePower ? this.dto.vehicle.horsePower.toString() : this.empty, x, y += rh);\n\n x = Utils.convertToPixel(160);\n y = Utils.convertToPixel(37);\n\n ctx.fillText(this.dto.vehicle.plateID ? this.dto.vehicle.plateID : 'N/A', x, y);\n ctx.fillText(this.dto.vehicle.seatsCount ? this.dto.vehicle.seatsCount.toString() : 'N/A', x, y += rh);\n ctx.fillText(this.dto.vehicle.spareTiresCount.toString(), x, y += rh);\n //ctx.fillText(this.vOptions ? this.vOptions.join(' + ') : this.empty, x, y += rh);\n //ctx.fillText(this.vOptions ? this.stringJoin.transform(this.vOptions.map(d => d.titles.toString()), '+') : this.empty, x, y += rh);\n ctx.fillText(this.vOptions ? this.stringJoin.transform(this.vOptions.map(d => this.stringJoin.transform(d.titles)), '+') : this.empty, x, y += rh);\n ctx.fillText(this.vUpholsteryType ? this.stringJoin.transform(this.vUpholsteryType) : this.empty, x, y += rh);\n\n ctx.fillText(this.dto.vehicle.equipments ? this.dto.vehicle.equipments : this.empty, x, y += rh);\n ctx.fillText(this.dto.vehicle.extras ? this.dto.vehicle.extras : this.empty, x, y += rh);\n ctx.fillText(this.dto.vehicle.weightInKG ? this.dto.vehicle.weightInKG.toString() : 'N/A', x, y += rh);\n ctx.fillText(`${this.dto.vehicle.currency ? this.dto.vehicle.currency.abbreviation : ''} ${this.dto.vehicle.value ? this.dto.vehicle.value.toString() : 'N/A'}`, x, y += rh);\n\n const ptt = new Image();\n ptt.onload = () => {\n ctx.save();\n ctx.globalAlpha = 0.15;\n const ptrn = ctx.createPattern(ptt, 'repeat');\n ctx.fillStyle = ptrn;\n ctx.fillRect(0, 0, Utils.convertToPixel(210), Utils.convertToPixel(297));\n ctx.restore();\n\n //draw thumb\n let bcCanvasThumb = document.getElementById('trip-bc-canvas-thumb') as HTMLCanvasElement;\n if (bcCanvasThumb.getContext) {\n let bcThumbCtx = bcCanvasThumb.getContext('2d');\n bcThumbCtx.drawImage(ctx.canvas, 0, 0);\n }\n }\n ptt.src = 'assets/images/sample-stamp.png';\n }\n bcImage.src = \"assets/images/trip-back-cover-preview.jpg\";\n }\n }\n}\n","\nexport class PostTripTikCmd {\n constructor(form) {\n this.serial = form.serial;\n this.stockTypeId = form.stockTypeId;\n //this.value = form.value;\n //this.currencyId = form.currencyId;\n\n this.cName = form.steps[0].name;\n this.cResidenceCountryId = form.steps[0].residenceCountryId;\n this.cNationalityId = form.steps[0].nationalityId;\n this.cLocalAddress = form.steps[0].localAddress;\n this.cIdentityID = form.steps[0].identityID;\n this.cPassportID = form.steps[0].passportID;\n this.cLocalPhoneNumber = form.steps[0].localPhoneNumber;\n this.cIntPhoneNumber = form.steps[0].intPhoneNumber;\n this.cIntAddress = form.steps[0].intAddress;\n //drivers?\n this.cDrivers = form.steps[0].drivers;\n this.cDrivers.forEach((d, i) => {\n d.attachments =\n Object.keys(form.steps[2].attachments[i + 1])\n .map(function (key) {\n return form.steps[2].attachments[i + 1][key];\n })\n });\n\n this.cAttachments = Object.keys(form.steps[2].attachments[0])\n .map(function (key) {\n return form.steps[2].attachments[0][key];\n });\n\n this.vPlateID = form.steps[1].plateID;\n this.vRegistrationCountryId = form.steps[1].registrationCountryId;\n this.vSeatsCount = form.steps[1].seatsCount;\n this.vSpareTiresCount = form.steps[1].spareTiresCount;\n\n this.vEquipments = form.steps[1].equipments;\n this.vValue = form.steps[1].value;\n this.vCurrencyId = form.steps[1].currencyId;\n\n this.vWeightInKG = form.steps[1].weightInKG;\n this.vHorsePower = form.steps[1].horsePower;\n //this.vColorId = form.steps[1].colorId;\n this.vColors = form.steps[1].colors;\n this.vCylindersCount = form.steps[1].cylindersCount;\n this.vEngineID = form.steps[1].engineID;\n this.vChassisID = form.steps[1].chassisID;\n this.vManufactureYear = form.steps[1].manufactureYear;\n this.vTypeId = form.steps[1].typeId;\n this.vMakeId = form.steps[1].makeId;\n this.vModelId = form.steps[1].modelId;\n this.vExtras = form.steps[1].extras;\n this.vUpholsteryType = form.steps[1].upholsteryType;\n this.vOptions = form.steps[1].options;\n\n\n //this.vCurrencyId = 1;\n }\n\n id: string;\n serial: number;\n stockTypeId: number;\n //value: number;\n //currencyId: number;\n\n //cust\n cName: string;\n cResidenceCountryId: number;\n cNationalityId: number;\n cLocalAddress: string;\n cIntAddress: string;\n cIdentityID: string;\n cPassportID: string;\n cLocalPhoneNumber: string;\n cIntPhoneNumber: string;\n cAttachments: string[];\n cDrivers: {\n name: string,\n passportIDorIdentityID: string,\n address: string,\n phoneNumber: string,\n attachments: string[]\n }[];\n //vehicle\n vPlateID: string;\n vRegistrationCountryId: number;\n vSeatsCount: number;\n vSpareTiresCount: number;\n vEquipments: string;\n vValue: number;\n vCurrencyId: number;\n vWeightInKG: number;\n vHorsePower?: number;\n //vColorId: number;\n vColors: number[];\n vCylindersCount: number;\n vEngineID: string;\n vChassisID: string;\n vManufactureYear: number;\n vTypeId: number;\n vMakeId: number;\n vModelId: number;\n vExtras: string;\n\n vUpholsteryType?: number;\n vOptions: number[];\n}\n","import { BloodGroup } from 'src/app/core/models/enums/blood-group';\nimport { Gender } from 'src/app/core/models/enums/gender';\nimport { PrintObject } from 'src/app/core/models/enums/print-object';\nimport { LookupDto } from 'src/app/features/lookups/models/lookup';\nimport { VehicleModelDto } from 'src/app/features/lookups/models/vehicle-model';\nimport { CurrencyDto } from 'src/app/features/lookups/models/currency';\nimport { PrintLogDto } from '../../_shared/models/issuing.models';\n\nexport interface TripTikVm {\n item: TripTikDetailsDto\n}\n\nexport interface TripTiksVm {\n list: TripTikDto[],\n recordsCount: number\n}\n\nexport interface TripTikDto {\n id: string,\n serial: number,\n cName: string,\n vPlateID: string,\n cPhoneNumber: string,\n accountId: number,\n accountTitles: string[],\n stockType: LookupDto,\n issued?: Date,\n printLogs: PrintLogDto[],\n revokeRequestId?: number,\n isMigratedData: boolean,\n parentAccounts: LookupDto;\n accountTypeTitle: string;\n}\n\nexport class TripTikDetailsDto {\n id: string;\n serial: number;\n stockType: LookupDto;\n issued?: Date;\n expiryDate?: Date;\n hashedSerial?: string;\n accountId: number;\n accountTitles: string[];\n printLogs: PrintLogDto[];\n //value: number;\n //currency: CurrencyDto;\n isMigratedData: boolean;\n customer: TripTikCustomerDto = new TripTikCustomerDto();\n vehicle: TripTikVehicleDto = new TripTikVehicleDto();\n documentTemplateVersion: number;\n}\n\nexport class TripTikCustomerDto {\n id: string;\n owner: TripTikOwnerDto = new TripTikOwnerDto();\n drivers: TripTikDriverDto[] = [];\n}\n\nexport class TripTikOwnerDto {\n name: string;\n residenceCountryId: number;\n residenceCountryTitles: string[] = [];\n nationalityId?: number;\n nationalityTitles: string[] = [];\n passportID: string;\n identityID: string;\n address: { item1: string, item2: string } = { item1: null, item2: null };\n phoneNumber: { item1: string, item2: string } = { item1: null, item2: null };\n attachments: string[];\n}\n\nexport interface TripTikDriverDto {\n name: string,\n address: string,\n phoneNumber: string,\n passportIDorIdentityID: string,\n attachments: string[]\n}\n\nexport class TripTikVehicleDto {\n plateID: string;\n registrationCountryId: number;\n registrationCountryTitles: string[] = [];\n seatsCount: number;\n spareTiresCount: number;\n equipments: string;\n value: number;\n currency: CurrencyDto = { id: 0, titles: [], abbreviation: null };\n weightInKG: number;\n horsePower: number\n //color: LookupDto = { id: 0, titles: [] };\n colors: LookupDto[] = [];\n cylindersCount: number;\n engineID: string;\n chassisID: string;\n manufactureYear: number;\n type: LookupDto = { id: 0, titles: [] };\n make: LookupDto = { id: 0, titles: [] };\n model: VehicleModelDto = { id: 0, titles: [], makeId: 0, makeTitles: [], stockTypes: [] };\n extras: string;\n upholsteryType: number;\n options: number[]; //number or string\n}\n\nexport interface TripTiksSearchQuery /* extends PaginationQuery */ {\n accountId?: number,\n serial?: number,\n fromDate?: string,\n toDate?: string,\n stockTypeId?: number,\n cName?: string,\n cResidenceCountryId?: number,\n cIdentityOrPassportID?: string,\n cPhoneNumber?: string,\n vPlateID?: string,\n vRegistrationCountryId?: number[],\n vTypeId?: number,\n vMakeId?: number,\n vChassisID?: string,\n vManufactureYear?: number,\n isIssued?: boolean,\n isDamaged?: boolean\n}\n\n\n","import { CollectionViewer, DataSource } from \"@angular/cdk/collections\";\nimport { Observable, BehaviorSubject, of } from 'rxjs';\nimport { catchError, finalize } from 'rxjs/operators';\nimport { TripTiksService } from './trip-tiks.service';\nimport { TripTikDto, TripTiksVm, TripTiksSearchQuery } from '../models/trip-tik';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { PaginationQuery } from '../../_shared/models/issuing.models';\nimport { populateAccountsSelect } from 'src/app/shared/helpers/populate-accounts-select';\n\n\nexport class TripTiksDataSource implements DataSource {\n public TripTiksSubject = new BehaviorSubject([]);\n\n public countSubject = new BehaviorSubject(0);\n public counter$ = this.countSubject.asObservable();\n\n constructor(private tripTiksService: TripTiksService, private loader: LoadingService) { }\n\n load(pagination: PaginationQuery, query: TripTiksSearchQuery | string = null) {\n //console.warn(query);\n\n this.tripTiksService[(query == null || typeof query == 'string') ? 'getAll' : 'search'](pagination, query)\n .pipe(\n catchError(() => of([])),\n finalize(() => { })\n )\n .subscribe((result: TripTiksVm) => {\n result.list.forEach(document => {\n document.parentAccounts = populateAccountsSelect([document.parentAccounts])[0];\n });\n ////console.log(result);\n this.TripTiksSubject.next(result.list);\n this.countSubject.next(result.recordsCount);\n this.loader.load(LoaderType.Nav, false);\n this.loader.load(LoaderType.Body, false);\n });\n }\n\n connect(): Observable {\n return this.TripTiksSubject.asObservable();\n }\n\n disconnect(collectionViewer: CollectionViewer): void {\n this.TripTiksSubject.complete();\n this.countSubject.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ApiHandler } from 'src/app/core/api-handler';\nimport { PostTripTikCmd } from '../models/create.cmd';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\nimport { TripTikVm, TripTiksVm, TripTiksSearchQuery } from '../models/trip-tik';\nimport { PrintTripTikCmd } from '../models/print.cmd';\nimport { PaginationQuery } from '../../_shared/models/issuing.models';\nimport { SerialHashVm } from '../../int-licenses/models/int-license';\n\n@Injectable()\nexport class TripTiksService {\n constructor(private api: ApiHandler) { }\n\n delete(id: string) {\n return this.api.delete(EndPoint.TRIPTIK, id).toPromise();\n }\n\n update(cmd: PostTripTikCmd) {\n return this.api.update(EndPoint.TRIPTIK, cmd).toPromise();\n }\n\n create(cmd: PostTripTikCmd) {\n return this.api.create(EndPoint.TRIPTIK, cmd).toPromise();\n }\n\n get(id: string) {\n return this.api.get(EndPoint.TRIPTIK, id).toPromise();\n }\n\n getByHashedSerial(key: string){\n return this.api.get(EndPoint.TRIPTIK_GET_BY_HASHED_SERIAL, key).toPromise();\n }\n\n getAll(pagination: PaginationQuery, query: string = '') {\n return this.api.get(EndPoint.TRIPTIK, null, { ...pagination, query });\n }\n\n\n search(pagination: PaginationQuery, query: TripTiksSearchQuery) {\n return this.api.get(EndPoint.TRIPTIK_SEARCH, null, { ...pagination, ...query });\n }\n\n print(cmd: PrintTripTikCmd) {\n return this.api.create(EndPoint.TRIPTIK_PRINT, cmd).toPromise();\n }\n}\n\n","import { DefaultAlertAction } from './../../../../shared/models/default-alert-action';\nimport { FormBuilder, FormGroup, Validators, FormArray } from '@angular/forms';\n//import { AccountStatusDto } from './../../../../core/nswag.api';\nimport { Component, OnInit, ViewChild, HostListener } from '@angular/core';\nimport { AccountStatusesService } from '../../services/account-statuses';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { DeleteModal } from 'src/app/shared/models/modal';\nimport { nonArabicCharactersValidator, nonEnglishCharactersValidator, standardLocalizedControlValidators } from 'src/app/shared/services/custom-validators';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { LookupDto } from '../../models/lookup';\nimport { result } from 'lodash';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Role } from 'src/app/core/models/enums/role';\n\n@Component({\n selector: 'mac-account-statuses',\n templateUrl: './account-statuses.component.html',\n styleUrls: ['./account-statuses.component.scss'],\n providers: [AccountStatusesService]\n})\nexport class AccountStatusesComponent implements OnInit {\n displayedColumns: string[] = ['titles', 'tools'];\n dataSource: MatTableDataSource;\n editingRowId: number = null;\n deletingRowId: number = null;\n model: LookupDto;\n loading: boolean;\n form: FormGroup;\n langIndex: number;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n\n get titles() { return this.form.get('titles') as FormArray; }\n get Role() { return Role; };\n\n constructor(private service: AccountStatusesService,\n public auth: AuthService,\n private alert: AlertService,\n private loader: LoadingService,\n private confirm: ConfirmService,\n private fb: FormBuilder,\n private translate: TranslateService) { }\n\n ngOnInit() {\n this.langIndex = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.langIndex = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n this.loader.load(LoaderType.Nav);\n this.formInit();\n this.service.get(null)\n .then(result => {\n this.dataSource = new MatTableDataSource(result.list);\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n }).catch(e => {\n ////console.log(e);\n //this.alert.error();\n }).finally(() => this.loader.load(LoaderType.Nav, false));\n }\n\n add() {\n if (this.dataSource.data.findIndex(i => i.id == 0) > -1)\n return;\n\n this.model = { id: 0, titles: ['', ''] };\n this.dataSource.data.unshift(this.model);\n\n this.form.patchValue({ titles: ['', ''] });\n\n this.editingRowId = 0;\n\n this.titles.controls.forEach(c => c.reset());\n\n this.deletingRowId = null;\n this.dataSource.filter = \"\";\n\n this.paginator.firstPage();\n }\n\n tryDelete(row: LookupDto) {\n let modal = this.confirm.confirm(new DeleteModal({ type: 'LKP_TITLE_ACCOUNT_STATUS', title: row.titles[this.langIndex] }));\n modal.then(m => {\n if (m.indexOf('CONFIRMED') > -1) {\n //delete handler\n this.delete(row.id);\n }\n });\n }\n\n delete(id) {\n this.loader.load(LoaderType.Body);\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = null;\n this.deletingRowId = id;\n\n this.service.delete(id).then(result => {\n\n if (result) {\n const i = this.dataSource.data.findIndex(o => o.id == id);\n this.dataSource.data.splice(i, 1);\n this.dataSource.filter = \"\";\n this.alert.success(DefaultAlertAction.DELETING);\n } else this.alert.failure(DefaultAlertAction.DELETING);\n }).catch(e => {\n\n ////console.log(e);\n //this.alert.error();\n }).finally(() => {\n this.loader.load(LoaderType.Body, false);\n this.deletingRowId = null;\n });\n }\n\n edit(id) {\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = id;\n this.model = id > 0 ? [...this.dataSource.data].find(c => c.id == id) : null;\n\n this.form.patchValue({\n titles: id > 0 ? this.model.titles : ['', '']\n });\n }\n\n onSubmit() {\n if (!this.form.valid)\n return Utils.validateAllFormFields(this.form);\n\n this.loader.load(LoaderType.Body);\n if (this.deletingRowId == null) {\n if (this.editingRowId == 0) {\n this.service.create(this.form.value).then(id => {\n if (id) {\n this.model.id = id;\n //push new item to array instead\n this.model.titles = this.form.value.titles;\n this.alert.success(DefaultAlertAction.ADDING);\n } else this.alert.failure(DefaultAlertAction.ADDING);\n }).catch(e => this.edit(null))\n .finally(() => {\n this.editingRowId = null;\n this.deletingRowId = null;\n this.dataSource.filter = \"\";\n this.loader.load(LoaderType.Body, false);\n });\n } else {\n const cmd = this.form.value as LookupDto;\n cmd.id = this.editingRowId;\n this.service.update(cmd)\n .then(status => {\n if (status) {\n const i = this.dataSource.data.findIndex(as => as.id == this.editingRowId);\n this.dataSource.data[i].titles = this.form.value.titles;\n this.alert.success(DefaultAlertAction.UPDATING);\n } else this.alert.failure(DefaultAlertAction.UPDATING);\n }).catch(e => {\n ////console.log(e);\n //this.alert.error();\n }).finally(() => {\n this.editingRowId = null;\n this.loader.load(LoaderType.Body, false);\n });\n }\n }\n }\n\n applyFilter(e: any) {\n this.dataSource.filter = e.target.value.trim().toLowerCase();\n\n if (this.dataSource.paginator) {\n this.dataSource.paginator.firstPage();\n }\n }\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n this.edit(null);\n }\n\n private formInit() {\n this.form = this.fb.group({\n titles: this.fb.array([\n ['', standardLocalizedControlValidators(Language.Arabic)],\n ['', standardLocalizedControlValidators(Language.English)]\n ])\n });\n }\n}","//import { AccountTypeDto } from 'src/app/core/nswag.api';\nimport { Component, OnInit, ViewChild, HostListener } from '@angular/core';\nimport { AccountTypesService } from '../../services/account-types';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { DeleteModal } from 'src/app/shared/models/modal';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FormBuilder, FormGroup, Validators, FormArray } from '@angular/forms';\nimport { nonArabicCharactersValidator, nonEnglishCharactersValidator, standardLocalizedControlValidators } from 'src/app/shared/services/custom-validators';\nimport { DefaultAlertAction } from 'src/app/shared/models/default-alert-action';\nimport { AccountTypeDto } from '../../models/account-type';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { Utils } from 'src/app/shared/services/utils';\n\n@Component({\n selector: 'mac-account-types',\n templateUrl: './account-types.component.html',\n styleUrls: ['./account-types.component.scss'],\n providers: [AccountTypesService]\n})\nexport class AccountTypesComponent implements OnInit {\n\n displayedColumns: string[] = ['accountType', 'titles', 'tools'];\n dataSource: MatTableDataSource;\n editingRowId: number = null;\n deletingRowId: number = null;\n model: AccountTypeDto;\n submitted: boolean;\n accountTypes: AccountTypeDto[];\n loading: boolean;\n form: FormGroup;\n langIndex: number = 0;\n\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n\n get titles() { return this.form.get('titles') as FormArray; }\n get parentId() { return this.form.get('parentId'); }\n get Role() { return Role; };\n\n constructor(private service: AccountTypesService,\n public auth: AuthService,\n private alert: AlertService,\n private loader: LoadingService,\n private confirm: ConfirmService,\n private fb: FormBuilder,\n private translate: TranslateService) { }\n\n ngOnInit() {\n this.langIndex = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.langIndex = t.lang == 'ar' ? Language.Arabic : Language.English);\n this.loader.load(LoaderType.Nav);\n this.formInit();\n this.service.get(null)\n .then(result => {\n this.accountTypes = [...result.list];\n ////console.log(this.accountTypes);\n this.dataSource = new MatTableDataSource(result.list);\n\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n })\n .finally(() => this.loader.load(LoaderType.Nav, false));\n }\n\n add() {\n if (this.dataSource.data.findIndex(i => i.id == 0) > -1)\n return;\n\n const maxId = this.accountTypes[this.accountTypes.length - 1].id;\n ////console.log(maxId);\n\n this.model = { id: 0, parentId: maxId, titles: ['', ''] };\n this.dataSource.data.unshift(this.model);\n\n this.form.patchValue({ titles: ['', ''] });\n\n this.editingRowId = 0;\n\n this.parentId.reset();\n this.titles.controls.forEach(c => c.reset());\n\n this.parentId.setValue(maxId);\n\n this.deletingRowId = null;\n this.dataSource.filter = \"\";\n this.paginator.firstPage();\n }\n\n tryDelete(row: AccountTypeDto) {\n let modal = this.confirm.confirm(new DeleteModal({ type: 'LKP_TITLE_ACCOUNT_TYPE', title: row.titles[this.langIndex] }));\n modal.then(m => {\n if (m.indexOf('CONFIRMED') > -1) {\n //delete handler\n this.delete(row.id);\n }\n });\n }\n\n delete(id) {\n this.loader.load(LoaderType.Body);\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = null;\n this.deletingRowId = id;\n\n this.service.delete(id).then(status => {\n if (status) {\n const i = this.dataSource.data.findIndex(o => o.id == id);\n this.dataSource.data.splice(i, 1);\n this.dataSource.filter = \"\";\n this.alert.success(DefaultAlertAction.DELETING);\n } else this.alert.failure(DefaultAlertAction.DELETING);\n }).catch(e => {\n ////console.log(e);\n //this.alert.error();\n }).finally(() => {\n this.deletingRowId = null;\n this.loader.load(LoaderType.Body, false);\n });\n }\n\n edit(id) {\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = id;\n this.model = id > 0 ? [...this.dataSource.data].find(c => c.id == id) : null;\n\n this.form.patchValue({\n titles: id > 0 ? this.model.titles : ['', ''],\n parentId: id > 0 ? this.model.parentId : ''\n });\n }\n\n onSubmit() {\n if (!this.form.valid)\n return Utils.validateAllFormFields(this.form);\n\n this.loader.load(LoaderType.Body);\n if (this.deletingRowId == null) {\n if (this.editingRowId == 0) {\n this.service.create(this.form.value).then(id => {\n if (id) {\n this.model.id = id;\n this.model.parentTitles = this.accountTypes.find(a => a.id == this.model.parentId).parentTitles;\n\n this.dataSource.data[0].titles = this.form.value.titles;\n this.dataSource.data[0].parentTitles = this.accountTypes.find(a => a.id == this.model.parentId).parentTitles;\n\n this.dataSource.filter = \"\";\n this.alert.success(DefaultAlertAction.ADDING);\n } else this.alert.failure(DefaultAlertAction.ADDING);\n }).catch(e => this.edit(null))\n .finally(() => {\n this.editingRowId = null;\n this.deletingRowId = null;\n this.loader.load(LoaderType.Body, false);\n })\n } else {\n const cmd = this.form.value as AccountTypeDto;\n cmd.id = this.editingRowId;\n this.service.update(cmd)\n .then(status => {\n if (status) {\n const i = this.dataSource.data.findIndex(i => i.id == this.editingRowId);\n this.dataSource.data[i].titles = this.form.value.titles;\n this.alert.success(DefaultAlertAction.UPDATING);\n } else this.alert.failure(DefaultAlertAction.UPDATING);\n })\n .finally(() => {\n this.editingRowId = null;\n this.loader.load(LoaderType.Body, false);\n })\n }\n }\n }\n\n applyFilter(e: any) {\n this.dataSource.filter = e.target.value.trim().toLowerCase();\n\n if (this.dataSource.paginator) {\n this.dataSource.paginator.firstPage();\n }\n }\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n this.edit(null);\n }\n\n private formInit() {\n this.form = this.fb.group({\n parentId: ['', [Validators.required]],\n titles: this.fb.array([\n ['', standardLocalizedControlValidators(Language.Arabic)],\n ['', standardLocalizedControlValidators(Language.English)]\n ])\n });\n }\n\n}\n","import { Component, OnInit, ViewChild, ElementRef, HostListener } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { CitiesService } from '../../services/cities';\nimport { FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms';\nimport { CountriesService } from '../../services/countries';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { DeleteModal } from 'src/app/shared/models/modal';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CountryDto } from '../../models/country';\nimport { CityDto } from '../../models/city';\nimport { DefaultAlertAction } from 'src/app/shared/models/default-alert-action';\nimport { standardLocalizedControlValidators } from 'src/app/shared/services/custom-validators';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { Utils } from 'src/app/shared/services/utils';\nimport * as _ from 'lodash';\n\n@Component({\n selector: 'mac-cities',\n templateUrl: './cities.component.html',\n styleUrls: ['./cities.component.scss'],\n providers: [CitiesService, CountriesService]\n})\nexport class CitiesComponent implements OnInit {\n displayedColumns: string[] = ['country', 'titles', 'tools'];\n dataSource: MatTableDataSource;\n editingRowId: number = null;\n deletingRowId: number = null;\n //model: CityDto;\n submitted: boolean;\n validators: ElementRef[] = [];\n countries: CountryDto[];\n _countries: CountryDto[];\n form: FormGroup;\n lang: number = 0;\n\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n\n get titles() { return this.form.get('titles') as FormArray; }\n get countryId() { return this.form.get('countryId'); }\n get Role() { return Role; };\n\n constructor(private service: CitiesService,\n public auth: AuthService,\n private countryServie: CountriesService,\n private alert: AlertService,\n private loader: LoadingService,\n private confirmService: ConfirmService,\n private translate: TranslateService,\n private fb: FormBuilder) { }\n\n ngOnInit() {\n document.querySelector('mat-card').classList.remove('overflow-hidden');\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n this.loader.load(LoaderType.Nav);\n this.formInit();\n Promise.all([this.countryServie.get(null)\n .then(c => {\n this.countries = c.list;\n this._countries = _.cloneDeep(c.list).map(dto => {\n dto.countryTitles = dto.countryTitles[this.lang];\n return dto;\n })\n }),\n this.service.get(0, null)\n .then(result => {\n this.dataSource = new MatTableDataSource(result.list);\n\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n\n })])\n .finally(() => this.loader.load(LoaderType.Nav, false));\n }\n\n add() {\n if (this.dataSource.data.findIndex(i => i.id == 0) > -1)\n return;\n\n const newDto = { id: 0, countryId: this.countries[0].id, titles: ['', ''] };\n\n this.dataSource.data.unshift(newDto);\n\n this.editingRowId = 0;\n this.form.patchValue({ titles: ['', ''] });\n\n this.countryId.reset();\n this.titles.controls.forEach(c => c.reset());\n\n this.deletingRowId = null;\n this.dataSource.filter = \"\";\n this.paginator.firstPage();\n }\n\n tryDelete(row: CityDto) {\n let modal = this.confirmService.confirm(new DeleteModal({ type: 'LKP_TITLE_CITY', title: row.titles[this.lang] }));\n modal.then(m => {\n if (m.indexOf('CONFIRMED') > -1) {\n //delete handler\n this.delete(row.id);\n }\n });\n }\n\n delete(id) {\n this.submitted = true;\n this.loader.load(LoaderType.Body);\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = null;\n this.deletingRowId = id;\n\n this.service.delete(id).then(status => {\n if (status) {\n const i = this.dataSource.data.findIndex(o => o.id == id);\n this.dataSource.data.splice(i, 1);\n this.dataSource.filter = \"\";\n this.alert.success(DefaultAlertAction.DELETING);\n } else this.alert.failure(DefaultAlertAction.DELETING);\n }).catch(e => {\n ////console.log(e);\n //this.alert.error();\n }).finally(() => {\n this.deletingRowId = null;\n this.loader.load(LoaderType.Body, false);\n });\n }\n\n edit(id) {\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = id;\n\n const dto = id > 0 ? [...this.dataSource.data].find(c => c.id == id) : null;\n\n this.form.patchValue({\n titles: id > 0 ? dto.titles : ['', ''],\n countryId: id > 0 ? dto.countryId : ''\n });\n\n\n // this.model = id > 0 ? [...this.dataSource.data].find(c => c.id == id) : null;\n\n // this.form.patchValue({\n // titles: id > 0 ? this.model.titles : ['', ''],\n // countryId: id > 0 ? this.model.countryId : ''\n // });\n }\n\n onSubmit() {\n if (!this.form.valid)\n return Utils.validateAllFormFields(this.form);\n\n this.loader.load(LoaderType.Body);\n\n const cmd = this.form.value as CityDto;\n //console.log(cmd);\n if (this.deletingRowId == null) {\n if (this.editingRowId == 0) {\n this.service.create(cmd).then(id => {\n if (id) {\n cmd.id = id;\n cmd.countryTitles = <[]>this.countries.find(c => c.id == cmd.countryId).countryTitles;\n this.dataSource.data[0] = cmd;\n this.dataSource.filter = \"\";\n this.alert.success(DefaultAlertAction.ADDING);\n } else this.alert.failure(DefaultAlertAction.ADDING);\n\n }).catch(e => this.edit(null))\n .finally(() => {\n this.editingRowId = null;\n this.deletingRowId = null;\n this.loader.load(LoaderType.Body, false);\n })\n } else {\n cmd.id = this.editingRowId;\n this.service.update(cmd).then(status => {\n if (status) {\n const i = this.dataSource.data.findIndex(i => i.id == this.editingRowId);\n this.dataSource.data[i].titles = cmd.titles;\n this.alert.success(DefaultAlertAction.UPDATING);\n } else this.alert.failure(DefaultAlertAction.UPDATING);\n }).catch(e => {\n ////console.log(e);\n //this.alert.error();\n }).finally(() => {\n this.editingRowId = null;\n this.loader.load(LoaderType.Body, false);\n });\n }\n }\n }\n\n applyFilter(e: any) {\n this.dataSource.filter = e.target.value.trim().toLowerCase();\n\n if (this.dataSource.paginator) {\n this.dataSource.paginator.firstPage();\n }\n }\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n this.edit(null);\n }\n\n private formInit() {\n this.form = this.fb.group({\n countryId: ['', [Validators.required]],\n titles: this.fb.array([\n ['', standardLocalizedControlValidators(Language.Arabic)],\n ['', standardLocalizedControlValidators(Language.English)]\n ])\n });\n }\n}\n","import { ActivatedRoute } from '@angular/router';\nimport { Component, OnInit, ViewChild, HostListener } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CountriesService } from '../../services/countries';\nimport { FormBuilder, FormGroup, Validators, FormArray } from '@angular/forms';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { NGXLogger } from 'ngx-logger';\nimport { DeleteModal } from 'src/app/shared/models/modal';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { DefaultAlertAction } from 'src/app/shared/models/default-alert-action';\nimport { numbersOnlyValidator, nonEnglishCharactersValidator, nonArabicCharactersValidator, englishOnlyValidator, standardLocalizedControlValidators } from 'src/app/shared/services/custom-validators';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { CountryDto } from '../../models/country';\n\n@Component({\n selector: 'mac-countries',\n templateUrl: './countries.component.html',\n styleUrls: ['./countries.component.scss'],\n providers: [CountriesService]\n})\nexport class CountriesComponent implements OnInit {\n displayedColumns: string[] = ['abbreviation', 'dialingCode', 'countryTitles', 'nationalityTitles', 'tools'];\n dataSource: MatTableDataSource;\n editingRowId: number = null;\n deletingRowId: number = null;\n model: CountryDto;\n langIndex: number = 0;\n form: FormGroup;\n\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n\n get abbreviation() { return this.form.get('abbreviation'); }\n get dialingCode() { return this.form.get('dialingCode'); }\n get countryTitles() { return this.form.get('countryTitles') as FormArray; }\n get nationalityTitles() { return this.form.get('nationalityTitles') as FormArray; }\n get Role() { return Role; };\n\n constructor(private service: CountriesService,\n private alert: AlertService,\n private loader: LoadingService,\n private confirmService: ConfirmService,\n private route: ActivatedRoute,\n private logger: NGXLogger,\n private translate: TranslateService,\n private fb: FormBuilder,\n public auth: AuthService) { }\n\n ngOnInit() {\n this.langIndex = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.langIndex = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n if (!this.auth.currentUser.isInRole(Role.LOOKUPS_UPDATE)\n && !this.auth.currentUser.isInRole(Role.LOOKUPS_DELETE))\n this.displayedColumns.splice(this.displayedColumns.length - 1, 1);\n\n this.loader.load(LoaderType.Nav);\n this.formInit();\n this.service.get(null)\n .then(result => {\n this.dataSource = new MatTableDataSource(result.list);\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n })\n .finally(() => this.loader.load(LoaderType.Nav, false));\n }\n updateMode: boolean = false; //todo: manage all disabled controls during updating process! \n add() {\n if (this.dataSource.data.findIndex(i => i.id == 0) > -1)\n return;\n\n this.model = { id: 0, abbreviation: '', dialingCode: '', countryTitles: ['', ''], nationalityTitles: ['', ''] };\n this.dataSource.data.unshift(this.model);\n this.editingRowId = 0;\n this.form.patchValue({\n abbreviation: '',\n dialingCode: '',\n countryTitles: ['', ''],\n nationalityTitles: ['', ''],\n });\n\n this.abbreviation.reset();\n this.dialingCode.reset();\n this.countryTitles.controls.forEach(c => c.reset());\n this.nationalityTitles.controls.forEach(c => c.reset());\n\n this.deletingRowId = null;\n this.dataSource.filter = \"\";\n //this.updateMode = false;\n this.paginator.firstPage();\n }\n\n tryDelete(row: CountryDto) {\n let modal = this.confirmService.confirm(new DeleteModal({ type: 'LKP_TITLE_COUNTRY', title: row.countryTitles[this.langIndex] }));\n modal.then(m => {\n if (m.indexOf('CONFIRMED') > -1) {\n //delete handler\n this.delete(row.id);\n }\n });\n }\n\n delete(id) {\n this.loader.load(LoaderType.Body);\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = null;\n this.deletingRowId = id;\n\n this.service.delete(id).then(status => {\n if (status) {\n const i = this.dataSource.data.findIndex(o => o.id == id);\n this.dataSource.data.splice(i, 1);\n this.dataSource.filter = \"\";\n this.alert.success(DefaultAlertAction.DELETING);\n } else this.alert.failure(DefaultAlertAction.DELETING);\n }).catch(e => {\n ////console.log(e);\n //this.alert.error();\n }).finally(() => {\n this.deletingRowId = null;\n this.loader.load(LoaderType.Body, false)\n });\n }\n\n edit(id) {\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = id;\n this.model = id > 0 ? [...this.dataSource.data].find(c => c.id == id) : null;\n\n this.form.patchValue({\n id: id > 0 ? id : 0,\n abbreviation: id > 0 ? this.model.abbreviation : '',\n dialingCode: id > 0 ? this.model.dialingCode : '',\n countryTitles: id > 0 ? this.model.countryTitles : ['', ''],\n nationalityTitles: id > 0 ? this.model.nationalityTitles : ['', '']\n });\n\n //this.updateMode = !id ? true : false;\n }\n\n onSubmit() {\n if (!this.form.valid)\n return Utils.validateAllFormFields(this.form);\n\n this.loader.load(LoaderType.Body);\n if (this.deletingRowId == null) {\n if (this.editingRowId == 0) {\n this.service.create(this.form.value as CountryDto).then(id => {\n if (id) {\n //this.dataSource.data[0] = this.form.value as ICountryDto;\n this.dataSource.data[0].id = id;\n this.dataSource.data[0].abbreviation = this.form.value.abbreviation;\n this.dataSource.data[0].dialingCode = this.form.value.dialingCode;\n this.dataSource.data[0].countryTitles = this.form.value.countryTitles;\n this.dataSource.data[0].nationalityTitles = this.form.value.nationalityTitles;\n this.alert.success(DefaultAlertAction.ADDING);\n } else this.alert.error(DefaultAlertAction.ADDING);\n })\n .catch(e => this.edit(null))\n .finally(() => {\n this.editingRowId = null;\n this.deletingRowId = null;\n this.dataSource.filter = \"\";\n this.loader.load(LoaderType.Body, false);\n })\n } else {\n this.service.update(this.form.value as CountryDto)\n .then(status => {\n if (status) {\n const i = this.dataSource.data.findIndex(as => as.id == this.editingRowId);\n ////console.log(this.dataSource.data[i], this.form.value);\n //this.dataSource.data[i] = this.form.value as ICountryDto;\n\n this.dataSource.data[i].abbreviation = this.form.value.abbreviation;\n this.dataSource.data[i].dialingCode = this.form.value.dialingCode;\n this.dataSource.data[i].countryTitles = this.form.value.countryTitles;\n this.dataSource.data[i].nationalityTitles = this.form.value.nationalityTitles;\n this.alert.success(DefaultAlertAction.UPDATING);\n } else this.alert.failure(DefaultAlertAction.UPDATING);\n }).catch(e => {\n ////console.log(e);\n //this.alert.error();\n }).finally(() => {\n this.editingRowId = null;\n this.loader.load(LoaderType.Body, false)\n });\n }\n }\n }\n\n applyFilter(e: any) {\n this.dataSource.filter = e.target.value.trim().toLowerCase();\n\n if (this.dataSource.paginator) {\n this.dataSource.paginator.firstPage();\n }\n }\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n this.edit(null);\n }\n\n private formInit() {\n this.form = this.fb.group({\n id: [''],\n abbreviation: ['', [Validators.required, englishOnlyValidator, Validators.minLength(2), Validators.maxLength(3)]],\n dialingCode: ['', [Validators.required, numbersOnlyValidator, Validators.maxLength(5)]],\n countryTitles: this.fb.array([\n ['', standardLocalizedControlValidators(Language.Arabic)],\n ['', standardLocalizedControlValidators(Language.English)]\n ]),\n nationalityTitles: this.fb.array([\n ['', standardLocalizedControlValidators(Language.Arabic)],\n ['', standardLocalizedControlValidators(Language.English)]\n ]),\n });\n }\n}\n\n","import { ActivatedRoute } from '@angular/router';\nimport { Component, OnInit, ViewChild, HostListener } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CurrenciesService } from '../../services/currencies';\nimport { FormBuilder, FormGroup, Validators, FormArray } from '@angular/forms';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { NGXLogger } from 'ngx-logger';\nimport { DeleteModal } from 'src/app/shared/models/modal';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { DefaultAlertAction } from 'src/app/shared/models/default-alert-action';\nimport { numbersOnlyValidator, nonEnglishCharactersValidator, nonArabicCharactersValidator, englishOnlyValidator, standardLocalizedControlValidators } from 'src/app/shared/services/custom-validators';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { CurrencyDto } from '../../models/currency';\n\n@Component({\n selector: 'mac-currencies',\n templateUrl: './currencies.component.html',\n styleUrls: ['./currencies.component.scss'],\n providers: [CurrenciesService]\n})\nexport class CurrenciesComponent implements OnInit {\n displayedColumns: string[] = ['abbreviation', 'titles', 'tools'];\n dataSource: MatTableDataSource;\n editingRowId: number = null;\n deletingRowId: number = null;\n model: CurrencyDto;\n lang: Language = 0;\n form: FormGroup;\n\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n\n get abbreviation() { return this.form.get('abbreviation'); }\n get titles() { return this.form.get('titles') as FormArray; }\n get Role() { return Role; };\n\n constructor(private service: CurrenciesService,\n private alert: AlertService,\n private loader: LoadingService,\n private confirmService: ConfirmService,\n private route: ActivatedRoute,\n private logger: NGXLogger,\n private translate: TranslateService,\n private fb: FormBuilder,\n public auth: AuthService) { }\n\n ngOnInit() {\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n if (!this.auth.currentUser.isInRole(Role.LOOKUPS_UPDATE)\n && !this.auth.currentUser.isInRole(Role.LOOKUPS_DELETE))\n this.displayedColumns.splice(this.displayedColumns.length - 1, 1);\n\n this.loader.load(LoaderType.Nav);\n this.formInit();\n this.service.get(null)\n .then(result => {\n this.dataSource = new MatTableDataSource(result.list);\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n })\n .finally(() => this.loader.load(LoaderType.Nav, false));\n }\n updateMode: boolean = false; //todo: manage all disabled controls during updating process! \n add() {\n if (this.dataSource.data.findIndex(i => i.id == 0) > -1)\n return;\n\n this.model = { id: 0, abbreviation: '', titles: ['', ''] };\n this.dataSource.data.unshift(this.model);\n this.editingRowId = 0;\n this.form.patchValue({\n abbreviation: '',\n titles: ['', '']\n });\n\n this.abbreviation.reset();\n this.titles.controls.forEach(c => c.reset());\n\n this.deletingRowId = null;\n this.dataSource.filter = \"\";\n //this.updateMode = false;\n this.paginator.firstPage();\n }\n\n tryDelete(row: CurrencyDto) {\n let modal = this.confirmService.confirm(new DeleteModal({ type: 'LKP_TITLE_CURRENCY', title: row.titles[this.lang] }));\n modal.then(m => {\n if (m.indexOf('CONFIRMED') > -1) {\n //delete handler\n this.delete(row.id);\n }\n });\n }\n\n delete(id) {\n this.loader.load(LoaderType.Body);\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = null;\n this.deletingRowId = id;\n\n this.service.delete(id).then(status => {\n if (status) {\n const i = this.dataSource.data.findIndex(o => o.id == id);\n this.dataSource.data.splice(i, 1);\n this.dataSource.filter = \"\";\n this.alert.success(DefaultAlertAction.DELETING);\n } else this.alert.failure(DefaultAlertAction.DELETING);\n }).catch(e => {\n ////console.log(e);\n //this.alert.error();\n }).finally(() => {\n this.deletingRowId = null;\n this.loader.load(LoaderType.Body, false)\n });\n }\n\n edit(id) {\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = id;\n this.model = id > 0 ? [...this.dataSource.data].find(c => c.id == id) : null;\n\n this.form.patchValue({\n id: id > 0 ? id : 0,\n abbreviation: id > 0 ? this.model.abbreviation : '',\n titles: id > 0 ? this.model.titles : ['', '']\n });\n\n //this.updateMode = !id ? true : false;\n }\n\n onSubmit() {\n if (!this.form.valid)\n return Utils.validateAllFormFields(this.form);\n\n this.loader.load(LoaderType.Body);\n if (this.deletingRowId == null) {\n const cmd = this.form.value as CurrencyDto;\n if (this.editingRowId == 0) {\n this.service.create(cmd).then(id => {\n if (id) {\n //this.dataSource.data[0] = this.form.value as ICountryDto;\n this.dataSource.data[0].id = id;\n this.dataSource.data[0].abbreviation = this.form.value.abbreviation;\n this.dataSource.data[0].titles = this.form.value.titles;\n this.alert.success(DefaultAlertAction.ADDING);\n } else this.alert.error(DefaultAlertAction.ADDING);\n }).catch(e => this.edit(null))\n .finally(() => {\n this.editingRowId = null;\n this.deletingRowId = null;\n this.dataSource.filter = \"\";\n this.loader.load(LoaderType.Body, false);\n })\n } else {\n cmd.id = this.editingRowId;\n this.service.update(cmd)\n .then(status => {\n if (status) {\n const i = this.dataSource.data.findIndex(as => as.id == this.editingRowId);\n ////console.log(this.dataSource.data[i], this.form.value);\n //this.dataSource.data[i] = this.form.value as ICountryDto;\n\n this.dataSource.data[i].abbreviation = this.form.value.abbreviation;\n this.dataSource.data[i].titles = this.form.value.titles;\n this.alert.success(DefaultAlertAction.UPDATING);\n } else this.alert.failure(DefaultAlertAction.UPDATING);\n }).catch(e => {\n ////console.log(e);\n //this.alert.error();\n }).finally(() => {\n this.editingRowId = null;\n this.loader.load(LoaderType.Body, false)\n });\n }\n }\n }\n\n applyFilter(e: any) {\n this.dataSource.filter = e.target.value.trim().toLowerCase();\n\n if (this.dataSource.paginator) {\n this.dataSource.paginator.firstPage();\n }\n }\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n this.edit(null);\n }\n\n private formInit() {\n this.form = this.fb.group({\n id: [''],\n abbreviation: ['', [Validators.required, englishOnlyValidator, Validators.minLength(2), Validators.maxLength(3)]],\n titles: this.fb.array([\n ['', standardLocalizedControlValidators(Language.Arabic)],\n ['', standardLocalizedControlValidators(Language.English)]\n ])\n });\n }\n}\n\n","import { Component, OnInit, ViewChild, ElementRef, HostListener } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms';\nimport { CountriesService } from '../../services/countries';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { DeleteModal } from 'src/app/shared/models/modal';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CountryDto } from '../../models/country';\nimport { CityDto } from '../../models/city';\nimport { DefaultAlertAction } from 'src/app/shared/models/default-alert-action';\nimport { nonArabicCharactersValidator, nonEnglishCharactersValidator, standardLocalizedControlValidators } from 'src/app/shared/services/custom-validators';\nimport { CustomsPortsService } from '../../services/customs-ports.service';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { CustomsPortDto } from '../../models/customs-port';\nimport * as _ from 'lodash';\n\n@Component({\n selector: 'mac-customs-ports',\n templateUrl: './customs-ports.component.html',\n styleUrls: ['./customs-ports.component.scss'],\n providers: [CustomsPortsService, CountriesService]\n})\nexport class CustomsPortsComponent implements OnInit {\n displayedColumns: string[] = ['country', 'titles', 'tools'];\n dataSource: MatTableDataSource;\n editingRowId: number = null;\n deletingRowId: number = null;\n //model: CityDto;\n submitted: boolean;\n validators: ElementRef[] = [];\n countries: CountryDto[];\n _countries: CountryDto[];\n form: FormGroup;\n lang: number = 0;\n\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n\n get titles() { return this.form.get('titles') as FormArray; }\n get countryId() { return this.form.get('countryId'); }\n get Role() { return Role; };\n\n constructor(private service: CustomsPortsService,\n private countryServie: CountriesService,\n public auth: AuthService,\n private alert: AlertService,\n private loader: LoadingService,\n private confirmService: ConfirmService,\n private translate: TranslateService,\n private fb: FormBuilder) { }\n\n ngOnInit() {\n document.querySelector('mat-card').classList.remove('overflow-hidden');\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n this.loader.load(LoaderType.Nav);\n this.formInit();\n Promise.all([this.countryServie.get(null)\n .then(c => {\n this.countries = c.list;\n this._countries = _.cloneDeep(c.list).map(dto => {\n dto.countryTitles = dto.countryTitles[this.lang];\n return dto;\n })\n }),\n this.service.get(0, null)\n .then(result => {\n this.dataSource = new MatTableDataSource(result.list);\n\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n\n })])\n .finally(() => this.loader.load(LoaderType.Nav, false));\n }\n\n add() {\n if (this.dataSource.data.findIndex(i => i.id == 0) > -1)\n return;\n\n const newDto = { id: 0, countryId: 0, titles: ['', ''] };\n\n this.dataSource.data.unshift(newDto);\n\n this.editingRowId = 0;\n this.form.patchValue({ titles: ['', ''] });\n\n this.countryId.reset();\n this.titles.controls.forEach(c => c.reset());\n\n this.deletingRowId = null;\n this.dataSource.filter = \"\";\n this.paginator.firstPage();\n }\n\n tryDelete(row: CityDto) {\n let modal = this.confirmService.confirm(new DeleteModal({ type: 'LKP_TITLE_CUSTOMS_PORT', title: row.titles[this.lang] }));\n modal.then(m => {\n if (m.indexOf('CONFIRMED') > -1) {\n //delete handler\n this.delete(row.id);\n }\n });\n }\n\n delete(id) {\n this.submitted = true;\n this.loader.load(LoaderType.Body);\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = null;\n this.deletingRowId = id;\n\n this.service.delete(id).then(status => {\n if (status) {\n const i = this.dataSource.data.findIndex(o => o.id == id);\n this.dataSource.data.splice(i, 1);\n this.dataSource.filter = \"\";\n this.alert.success(DefaultAlertAction.DELETING);\n } else this.alert.failure(DefaultAlertAction.DELETING);\n }).catch(e => {\n ////console.log(e);\n //this.alert.error();\n }).finally(() => {\n this.deletingRowId = null;\n this.loader.load(LoaderType.Body, false);\n });\n }\n\n edit(id) {\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = id;\n const dto = id > 0 ? [...this.dataSource.data].find(c => c.id == id) : null;\n\n this.form.patchValue({\n titles: id > 0 ? dto.titles : ['', ''],\n countryId: id > 0 ? dto.countryId : ''\n });\n }\n\n onSubmit() {\n if (!this.form.valid)\n return Utils.validateAllFormFields(this.form);\n\n const cmd = this.form.value as CustomsPortDto;\n this.loader.load(LoaderType.Body);\n if (this.deletingRowId == null) {\n if (this.editingRowId == 0) {\n this.service.create(cmd).then(id => {\n if (id) {\n cmd.id = id;\n cmd.countryTitles = <[]>this.countries.find(c => c.id == cmd.countryId).countryTitles;\n this.dataSource.data[0] = cmd;\n this.dataSource.filter = \"\";\n this.alert.success(DefaultAlertAction.ADDING);\n } else this.alert.failure(DefaultAlertAction.ADDING);\n\n }).catch(e => this.edit(null))\n .finally(() => {\n this.editingRowId = null;\n this.deletingRowId = null;\n this.loader.load(LoaderType.Body, false);\n })\n } else {\n cmd.id = this.editingRowId;\n this.service.update(cmd).then(status => {\n if (status) {\n const i = this.dataSource.data.findIndex(i => i.id == this.editingRowId);\n this.dataSource.data[i].titles = this.form.value.titles;\n this.alert.success(DefaultAlertAction.UPDATING);\n } else this.alert.failure(DefaultAlertAction.UPDATING);\n }).catch(e => {\n ////console.log(e);\n //this.alert.error();\n }).finally(() => {\n this.editingRowId = null;\n this.loader.load(LoaderType.Body, false);\n });\n }\n }\n }\n\n applyFilter(e: any) {\n this.dataSource.filter = e.target.value.trim().toLowerCase();\n\n if (this.dataSource.paginator) {\n this.dataSource.paginator.firstPage();\n }\n }\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n this.edit(null);\n }\n\n private formInit() {\n this.form = this.fb.group({\n countryId: ['', [Validators.required]],\n titles: this.fb.array([\n ['', standardLocalizedControlValidators(Language.Arabic)],\n ['', standardLocalizedControlValidators(Language.English)]\n ])\n });\n }\n}\n","import { DefaultAlertAction } from './../../../../shared/models/default-alert-action';\nimport { FormBuilder, FormGroup, Validators, FormArray } from '@angular/forms';\n//import { AccountStatusDto } from './../../../../core/nswag.api';\nimport { Component, OnInit, ViewChild, HostListener } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { DeleteModal } from 'src/app/shared/models/modal';\nimport { nonArabicCharactersValidator, nonEnglishCharactersValidator, standardLocalizedControlValidators } from 'src/app/shared/services/custom-validators';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { LookupDto } from '../../models/lookup';\nimport { PursuingZonesService } from '../../services/pursuing-zones';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Role } from 'src/app/core/models/enums/role';\n\n@Component({\n selector: 'mac-pursuing-zones',\n templateUrl: './pursuing-zones.component.html',\n styleUrls: ['./pursuing-zones.component.scss'],\n providers: [PursuingZonesService]\n})\nexport class PursuingZonesComponent implements OnInit {\n displayedColumns: string[] = ['titles', 'tools'];\n dataSource: MatTableDataSource;\n editingRowId: number = null;\n deletingRowId: number = null;\n model: LookupDto;\n loading: boolean;\n form: FormGroup;\n langIndex: number;\n\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n\n get titles() { return this.form.get('titles') as FormArray; }\n get Role() { return Role; };\n\n constructor(private service: PursuingZonesService,\n public auth: AuthService,\n private alert: AlertService,\n private loader: LoadingService,\n private confirm: ConfirmService,\n private fb: FormBuilder,\n private translate: TranslateService) { }\n\n ngOnInit() {\n this.langIndex = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.langIndex = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n this.loader.load(LoaderType.Nav);\n this.formInit();\n this.service.get(null)\n .then(result => {\n this.dataSource = new MatTableDataSource(result.list);\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n }).catch(e => {\n ////console.log(e);\n //this.alert.error();\n }).finally(() => this.loader.load(LoaderType.Nav, false));\n }\n\n add() {\n if (this.dataSource.data.findIndex(i => i.id == 0) > -1)\n return;\n\n this.model = { id: 0, titles: ['', ''] };\n this.dataSource.data.unshift(this.model);\n\n this.form.patchValue({ titles: ['', ''] });\n\n this.editingRowId = 0;\n\n this.titles.controls.forEach(c => c.reset());\n\n this.deletingRowId = null;\n this.dataSource.filter = \"\";\n this.paginator.firstPage();\n }\n\n tryDelete(row: LookupDto) {\n let modal = this.confirm.confirm(new DeleteModal({ type: 'LKP_TITLE_PURSUING_ZONE', title: row.titles[this.langIndex] }));\n modal.then(m => {\n if (m.indexOf('CONFIRMED') > -1) {\n //delete handler\n this.delete(row.id);\n }\n });\n }\n\n delete(id) {\n this.loader.load(LoaderType.Body);\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = null;\n this.deletingRowId = id;\n\n this.service.delete(id).then(r => {\n if (r) {\n const i = this.dataSource.data.findIndex(o => o.id == id);\n this.dataSource.data.splice(i, 1);\n this.dataSource.filter = \"\";\n this.alert.success(DefaultAlertAction.DELETING);\n } else this.alert.failure(DefaultAlertAction.DELETING);\n }).catch(e => {\n ////console.log(e);\n //this.alert.error();\n }).finally(() => {\n this.loader.load(LoaderType.Body, false);\n this.deletingRowId = null;\n });\n }\n\n edit(id) {\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = id;\n this.model = id > 0 ? [...this.dataSource.data].find(c => c.id == id) : null;\n\n this.form.patchValue({\n titles: id > 0 ? this.model.titles : ['', '']\n });\n }\n\n onSubmit() {\n if (!this.form.valid)\n return Utils.validateAllFormFields(this.form);\n\n this.loader.load(LoaderType.Body);\n if (this.deletingRowId == null) {\n if (this.editingRowId == 0) {\n this.service.create(this.form.value).then(id => {\n if (id) {\n this.model.id = id;\n //push new item to array instead\n this.model.titles = this.form.value.titles;\n this.alert.success(DefaultAlertAction.ADDING);\n } else this.alert.failure(DefaultAlertAction.ADDING);\n }).catch(e => this.edit(null))\n .finally(() => {\n this.editingRowId = null;\n this.deletingRowId = null;\n this.dataSource.filter = \"\";\n this.loader.load(LoaderType.Body, false);\n });\n } else {\n const cmd = this.form.value as LookupDto;\n cmd.id = this.editingRowId;\n this.service.update(cmd)\n .then(status => {\n if (status) {\n const i = this.dataSource.data.findIndex(as => as.id == this.editingRowId);\n this.dataSource.data[i].titles = this.form.value.titles;\n this.alert.success(DefaultAlertAction.UPDATING);\n } else this.alert.failure(DefaultAlertAction.UPDATING);\n }).catch(e => {\n ////console.log(e);\n //this.alert.error();\n }).finally(() => {\n this.editingRowId = null;\n this.loader.load(LoaderType.Body, false);\n });\n }\n }\n }\n\n applyFilter(e: any) {\n this.dataSource.filter = e.target.value.trim().toLowerCase();\n\n if (this.dataSource.paginator) {\n this.dataSource.paginator.firstPage();\n }\n }\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n this.edit(null);\n }\n\n private formInit() {\n this.form = this.fb.group({\n titles: this.fb.array([\n ['', standardLocalizedControlValidators(Language.Arabic)],\n ['', standardLocalizedControlValidators(Language.English)]\n ])\n });\n }\n}","import { StockTypesService } from './../../services/stock-types';\nimport { Component, OnInit, ViewChild, HostListener } from '@angular/core';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { DeleteModal } from 'src/app/shared/models/modal';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FormBuilder, FormGroup, FormArray, Validators } from '@angular/forms';\nimport { nonArabicCharactersValidator, nonEnglishCharactersValidator, standardLocalizedControlValidators } from 'src/app/shared/services/custom-validators';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { DefaultAlertAction } from 'src/app/shared/models/default-alert-action';\nimport { PostStockTypeCmd, StockTypeDto } from '../../models/stock-type';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { threadId } from 'worker_threads';\n\n@Component({\n selector: 'mac-stock-types',\n templateUrl: './stock-types.component.html',\n styleUrls: ['./stock-types.component.scss'],\n providers: [StockTypesService]\n})\nexport class StockTypesComponent implements OnInit {\n\n displayedColumns: string[] = ['titles', 'documentType', 'rangeMin', 'rangeMax', 'isUnifiedRelease', 'hexColor', 'tools'];\n dataSource: MatTableDataSource;\n editingRowId: number = null;\n deletingRowId: number = null;\n model: StockTypeDto;\n submitted: boolean;\n loading: boolean;\n langIndex: number = 0;\n form: FormGroup;\n\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n\n\n get Role() { return Role; };\n\n constructor(private service: StockTypesService,\n public auth: AuthService,\n private alert: AlertService,\n private loader: LoadingService,\n private confirmService: ConfirmService,\n private fb: FormBuilder,\n private translate: TranslateService) { }\n\n ngOnInit() {\n this.langIndex = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.langIndex = t.lang == 'ar' ? Language.Arabic : Language.English);\n this.loader.load(LoaderType.Nav);\n this.formInit();\n this.service.get(null)\n .then(result => {\n this.dataSource = new MatTableDataSource(result.list);\n\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n })\n .finally(() => this.loader.load(LoaderType.Nav, false));\n }\n\n add() {\n if (this.dataSource.data.findIndex(i => i.id == 0) > -1)\n return;\n\n this.model = { id: 0, titles: ['', ''], documentType: null, rangeMin: null, rangeMax: null, isUnifiedRelease: false, hexColor: null };\n this.dataSource.data.unshift(this.model);\n\n this.form.patchValue({ titles: ['', ''], documentType: 0, rangeMin: null, rangeMax: null, isUnifiedRelease: false, hexColor: null });\n\n this.editingRowId = 0;\n\n this.titles.controls.forEach(c => c.reset());\n this.documentType.reset();\n this.rangeMin.reset();\n this.rangeMax.reset();\n this.isUnifiedRelease.reset();\n this.hexColor.reset();\n\n this.deletingRowId = null;\n this.dataSource.filter = \"\";\n this.paginator.firstPage();\n }\n\n tryDelete(row: StockTypeDto) {\n let modal = this.confirmService.confirm(new DeleteModal({ type: 'LKP_TITLE_STOCK_TYPE', title: row.titles[this.langIndex] }));\n modal.then(m => {\n if (m.indexOf('CONFIRMED') > -1)\n this.delete(row.id);\n });\n }\n\n delete(id) {\n this.loader.load(LoaderType.Body);\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = null;\n this.deletingRowId = id;\n\n this.service.delete(id).then(status => {\n if (status) {\n const i = this.dataSource.data.findIndex(o => o.id == id);\n this.dataSource.data.splice(i, 1);\n this.dataSource.filter = \"\";\n this.alert.success(DefaultAlertAction.DELETING);\n } else this.alert.failure(DefaultAlertAction.DELETING);\n })\n .finally(() => {\n this.deletingRowId = null;\n this.loader.load(LoaderType.Body, false);\n });\n }\n\n edit(id) {\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = id;\n this.model = id > 0 ? [...this.dataSource.data].find(c => c.id == id) : null;\n //console.log(this.model);\n\n this.form.patchValue({\n titles: id > 0 ? this.model.titles : ['', ''],\n documentType: id > 0 ? this.model.documentType : '',\n rangeMin: id > 0 ? this.model.rangeMin : '',\n rangeMax: id > 0 ? this.model.rangeMax : '',\n isUnifiedRelease: id > 0 ? this.model.isUnifiedRelease : false,\n hexColor: id > 0 ? this.model.hexColor : ''\n });\n }\n\n onSubmit() {\n if (!this.form.valid)\n return Utils.validateAllFormFields(this.form);\n\n this.loader.load(LoaderType.Body);\n\n const cmd = this.form.value as PostStockTypeCmd;\n //console.log(cmd);\n cmd.isUnifiedRelease = cmd.isUnifiedRelease == true;\n if (this.deletingRowId == null) {\n if (this.editingRowId == 0) {\n this.service.create(cmd).then(id => {\n if (id) {\n this.model.id = id;\n this.model.titles = cmd.titles;\n\n this.model.documentType = cmd.documentType;\n this.model.isUnifiedRelease = cmd.isUnifiedRelease;\n this.model.rangeMin = cmd.rangeMin;\n this.model.rangeMax = cmd.rangeMax;\n this.model.hexColor = cmd.hexColor;\n\n this.alert.success(DefaultAlertAction.ADDING);\n } else this.alert.failure(DefaultAlertAction.ADDING);\n }).catch(e => this.edit(null))\n .finally(() => {\n this.loader.load(LoaderType.Body, false);\n this.editingRowId = null;\n this.deletingRowId = null;\n this.dataSource.filter = \"\";\n });\n } else {\n\n cmd.id = this.editingRowId;\n this.service.update(cmd).then(status => {\n if (status) {\n // console.log(this.model);\n const i = this.dataSource.data.findIndex(i => i.id == this.editingRowId);\n //this.dataSource.data[i].titles = cmd.titles;\n this.dataSource.data[i].titles = cmd.titles;\n this.dataSource.data[i].documentType = cmd.documentType;\n this.dataSource.data[i].isUnifiedRelease = cmd.isUnifiedRelease;\n this.dataSource.data[i].rangeMin = cmd.rangeMin;\n this.dataSource.data[i].rangeMax = cmd.rangeMax;\n this.dataSource.data[i].hexColor = cmd.hexColor;\n // this.hexColor.setValue(cmd.hexColor);\n this.alert.success(DefaultAlertAction.UPDATING);\n } else this.alert.failure(DefaultAlertAction.UPDATING);\n }).finally(() => {\n this.editingRowId = null;\n this.loader.load(LoaderType.Body, false);\n });\n }\n }\n }\n\n applyFilter(e: any) {\n this.dataSource.filter = e.target.value.trim().toLowerCase();\n\n if (this.dataSource.paginator) {\n this.dataSource.paginator.firstPage();\n }\n }\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n this.edit(null);\n }\n\n get titles() { return this.form.get('titles') as FormArray; };\n get documentType() { return this.form.get('documentType'); };\n get isUnifiedRelease() { return this.form.get('isUnifiedRelease'); };\n get hexColor() { return this.form.get('hexColor'); };\n get rangeMin() { return this.form.get('rangeMin'); };\n get rangeMax() { return this.form.get('rangeMax'); };\n\n private formInit() {\n this.form = this.fb.group({\n titles: this.fb.array([\n ['', standardLocalizedControlValidators(Language.Arabic)],\n ['', standardLocalizedControlValidators(Language.English)]\n ]),\n documentType: ['', [Validators.required]],\n isUnifiedRelease: [false],\n hexColor: ['', [Validators.required]],\n rangeMin: ['', [Validators.required]],\n rangeMax: ['', [Validators.required]]\n });\n }\n}","//import { VehicleColorDto } from 'src/app/core/nswag.api';\nimport { Component, OnInit, ViewChild, HostListener } from '@angular/core';\nimport { VehicleColorsService } from '../../services/vehicle-colors';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { DeleteModal } from 'src/app/shared/models/modal';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FormBuilder, FormArray, FormGroup, Validators } from '@angular/forms';\nimport { DefaultAlertAction } from 'src/app/shared/models/default-alert-action';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { nonEnglishCharactersValidator, nonArabicCharactersValidator, standardLocalizedControlValidators } from 'src/app/shared/services/custom-validators';\nimport { LookupDto } from '../../models/lookup';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Role } from 'src/app/core/models/enums/role';\n\n\n@Component({\n selector: 'mac-vehicle-colors',\n templateUrl: './vehicle-colors.component.html',\n styleUrls: ['./vehicle-colors.component.scss'],\n providers: [VehicleColorsService]\n})\nexport class VehicleColorsComponent implements OnInit {\n\n displayedColumns: string[] = ['titles', 'tools'];\n dataSource: MatTableDataSource;\n editingRowId: number = null;\n deletingRowId: number = null;\n model: LookupDto = { id: 0, titles: ['', ''] };\n submitted: boolean;\n loading: boolean;\n langIndex: number = 0;\n form: FormGroup;\n\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n\n get titles() { return this.form.get('titles') as FormArray; }\n get Role() { return Role; };\n\n\n constructor(private service: VehicleColorsService,\n public auth: AuthService,\n private alert: AlertService,\n private loader: LoadingService,\n private confirm: ConfirmService,\n private fb: FormBuilder,\n private translate: TranslateService) { }\n\n ngOnInit() {\n this.langIndex = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.langIndex = t.lang == 'ar' ? Language.Arabic : Language.English);\n this.loader.load(LoaderType.Nav);\n this.formInit();\n this.service.get(null)\n .then(result => {\n this.dataSource = new MatTableDataSource(result.list);\n\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n })\n .finally(() => this.loader.load(LoaderType.Nav, false));\n }\n\n // private _loading(status: boolean = true) {\n // this.loading = status;\n // }\n\n add() {\n if (this.dataSource.data.findIndex(i => i.id == 0) > -1)\n return;\n\n this.model = { id: 0, titles: ['', ''] };\n this.dataSource.data.unshift(this.model);\n\n this.form.patchValue({ titles: ['', ''] });\n\n this.titles.controls.forEach(c => c.reset());\n\n this.editingRowId = 0;\n\n this.deletingRowId = null;\n this.dataSource.filter = \"\";\n this.paginator.firstPage();\n }\n\n tryDelete(row: LookupDto) {\n let modal = this.confirm.confirm(new DeleteModal({ type: 'LKP_TITLE_VEHICLE_COLOR', title: row.titles[0] }));\n modal.then(m => {\n if (m.indexOf('CONFIRMED') > -1) {\n //delete handler\n this.delete(row.id);\n }\n });\n }\n\n delete(id) {\n this.loader.load(LoaderType.Body);\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = null;\n this.deletingRowId = id;\n\n this.service.delete(id).then(r => {\n if (r) {\n const i = this.dataSource.data.findIndex(o => o.id == id);\n this.dataSource.data.splice(i, 1);\n this.dataSource.filter = \"\";\n this.alert.success(DefaultAlertAction.DELETING);\n } else this.alert.failure(DefaultAlertAction.DELETING);\n }).catch(e => {\n ////console.log(e);\n //this.alert.error();\n }).finally(() => {\n this.loader.load(LoaderType.Body, false);\n this.deletingRowId = null;\n });\n }\n\n edit(id) {\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = id;\n this.model = id > 0 ? [...this.dataSource.data].find(c => c.id == id) : null;\n\n this.form.patchValue({\n titles: id > 0 ? this.model.titles : ['', '']\n });\n }\n\n onSubmit() {\n if (!this.form.valid)\n return Utils.validateAllFormFields(this.form);\n\n this.loader.load(LoaderType.Body);\n if (this.deletingRowId == null) {\n if (this.editingRowId == 0) {\n this.service.create(this.form.value).then(id => {\n if (id) {\n this.model.id = id;\n //push new item to array instead\n this.model.titles = this.form.value.titles;\n this.alert.success(DefaultAlertAction.ADDING);\n } else this.alert.failure(DefaultAlertAction.ADDING);\n }).catch(e => this.edit(null))\n .finally(() => {\n this.editingRowId = null;\n this.deletingRowId = null;\n this.dataSource.filter = \"\";\n this.loader.load(LoaderType.Body, false);\n })\n } else {\n const cmd = this.form.value as LookupDto;\n cmd.id = this.editingRowId;\n this.service.update(cmd)\n .then(status => {\n if (status) {\n const i = this.dataSource.data.findIndex(as => as.id == this.editingRowId);\n this.dataSource.data[i].titles = this.form.value.titles;\n this.alert.success(DefaultAlertAction.UPDATING);\n } else this.alert.failure(DefaultAlertAction.UPDATING);\n }).catch(err => {\n // //console.log(err);\n //this.alert.error();\n }).finally(() => {\n this.loader.load(LoaderType.Body, false);\n this.editingRowId = null;\n this.submitted = false;\n });\n }\n }\n }\n\n applyFilter(e: any) {\n this.dataSource.filter = e.target.value.trim().toLowerCase();\n\n if (this.dataSource.paginator) {\n this.dataSource.paginator.firstPage();\n }\n }\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n this.edit(null);\n }\n\n private formInit() {\n this.form = this.fb.group({\n titles: this.fb.array([\n ['', standardLocalizedControlValidators(Language.Arabic)],\n ['', standardLocalizedControlValidators(Language.English)]\n ])\n });\n }\n}\n","import { VehicleMakesService } from '../../services/vehicle-makes';\nimport { Component, OnInit, ViewChild, HostListener } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { DeleteModal } from 'src/app/shared/models/modal';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FormBuilder, FormGroup, FormArray, Validators } from '@angular/forms';\nimport { DefaultAlertAction } from 'src/app/shared/models/default-alert-action';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { nonEnglishCharactersValidator, nonArabicCharactersValidator, standardLocalizedControlValidators } from 'src/app/shared/services/custom-validators';\nimport { LookupDto } from '../../models/lookup';\nimport { CountryDto } from '../../models/country';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Role } from 'src/app/core/models/enums/role';\n\n@Component({\n selector: 'mac-vehicle-makes',\n templateUrl: './vehicle-makes.component.html',\n styleUrls: ['./vehicle-makes.component.scss'],\n providers: [VehicleMakesService]\n})\nexport class VehicleMakesComponent implements OnInit {\n\n displayedColumns: string[] = ['titles', 'tools'];\n dataSource: MatTableDataSource;\n editingRowId: number = null;\n deletingRowId: number = null;\n model: LookupDto = { id: 0, titles: ['', ''] };\n loading: boolean;\n langIndex: number = 0;\n form: FormGroup;\n\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n\n get titles() { return this.form.get('titles') as FormArray; }\n get Role() { return Role; };\n\n\n constructor(private service: VehicleMakesService,\n public auth: AuthService,\n private alert: AlertService,\n private loader: LoadingService,\n private confirm: ConfirmService,\n private fb: FormBuilder,\n private translate: TranslateService) { }\n\n ngOnInit() {\n this.langIndex = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.langIndex = t.lang == 'ar' ? Language.Arabic : Language.English);\n this.loader.load(LoaderType.Nav);\n this.formInit();\n this.service.get(null)\n .then(result => {\n this.dataSource = new MatTableDataSource(result.list);\n\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n })\n .finally(() => this.loader.load(LoaderType.Nav, false));\n }\n\n // private _loading(status: boolean = true) {\n // this.loading = status;\n // }\n\n add() {\n if (this.dataSource.data.findIndex(i => i.id == 0) > -1)\n return;\n\n this.model = { id: 0, titles: ['', ''] };\n this.dataSource.data.unshift(this.model);\n\n this.form.patchValue({ titles: ['', ''] });\n\n this.editingRowId = 0;\n\n this.titles.controls.forEach(c => c.reset());\n\n this.deletingRowId = null;\n this.dataSource.filter = \"\";\n this.paginator.firstPage();\n }\n\n tryDelete(row: LookupDto) {\n let modal = this.confirm.confirm(new DeleteModal({ type: 'LKP_TITLE_VEHICLE_MAKE', title: row.titles[this.langIndex] }));\n modal.then(m => {\n if (m.indexOf('CONFIRMED') > -1) {\n //delete handler\n this.delete(row.id);\n }\n });\n }\n\n delete(id) {\n this.loader.load(LoaderType.Body);\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = null;\n this.deletingRowId = id;\n\n this.service.delete(id).then(r => {\n if (r) {\n const i = this.dataSource.data.findIndex(o => o.id == id);\n this.dataSource.data.splice(i, 1);\n this.dataSource.filter = \"\";\n this.alert.success(DefaultAlertAction.DELETING);\n } else this.alert.failure(DefaultAlertAction.DELETING);\n }).catch(e => {\n ////console.log(e);\n //this.alert.error();\n }).finally(() => {\n this.loader.load(LoaderType.Body, false);\n this.deletingRowId = null;\n });\n }\n\n edit(id) {\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = id;\n this.model = id > 0 ? [...this.dataSource.data].find(c => c.id == id) : null;\n\n this.form.patchValue({\n titles: id > 0 ? this.model.titles : ['', '']\n });\n }\n\n onSubmit() {\n if (!this.form.valid)\n return Utils.validateAllFormFields(this.form);\n\n this.loader.load(LoaderType.Body);\n if (this.deletingRowId == null) {\n if (this.editingRowId == 0) {\n this.service.create(this.form.value)\n .then(id => {\n if (id) {\n this.model.id = id;\n //push new item to array instead\n this.model.titles = this.form.value.titles;\n this.alert.success(DefaultAlertAction.ADDING);\n } else this.alert.failure(DefaultAlertAction.ADDING);\n })\n .catch(e => this.edit(null))\n .finally(() => {\n this.editingRowId = null;\n this.deletingRowId = null;\n this.dataSource.filter = \"\";\n this.loader.load(LoaderType.Body, false);\n })\n } else {\n const cmd = this.form.value as CountryDto;\n cmd.id = this.editingRowId\n this.service.update(cmd)\n .then(status => {\n if (status) {\n const i = this.dataSource.data.findIndex(as => as.id == this.editingRowId);\n this.dataSource.data[i].titles = this.form.value.titles;\n this.alert.success(DefaultAlertAction.UPDATING);\n } else this.alert.failure(DefaultAlertAction.UPDATING);\n })\n .finally(() => {\n this.editingRowId = null;\n this.loader.load(LoaderType.Body, false);\n });\n }\n }\n }\n\n applyFilter(e: any) {\n this.dataSource.filter = e.target.value.trim().toLowerCase();\n\n if (this.dataSource.paginator) {\n this.dataSource.paginator.firstPage();\n }\n }\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n this.edit(null);\n }\n\n private formInit() {\n this.form = this.fb.group({\n titles: this.fb.array([\n ['', [Validators.required, nonEnglishCharactersValidator, Validators.minLength(2), Validators.maxLength(50)]],\n ['', [Validators.required, nonArabicCharactersValidator, Validators.minLength(2), Validators.maxLength(50)]],\n ])\n });\n }\n\n}\n","import { Component, OnInit, ViewChild, ElementRef, HostListener } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { VehicleModelsService } from '../../services/vehicle-models';\nimport { FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { DeleteModal } from 'src/app/shared/models/modal';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CityDto } from '../../models/city';\nimport { DefaultAlertAction } from 'src/app/shared/models/default-alert-action';\nimport { nonArabicCharactersValidator, nonEnglishCharactersValidator, standardLocalizedControlValidators } from 'src/app/shared/services/custom-validators';\nimport { VehicleModelDto } from '../../models/vehicle-model';\nimport { VehicleMakesService } from '../../services/vehicle-makes';\nimport { LookupDto } from '../../models/lookup';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { Utils } from 'src/app/shared/services/utils';\nimport * as _ from 'lodash';\nimport { StockTypeDto } from '../../models/stock-type';\nimport { StockTypesService } from '../../services/stock-types';\nimport { _DocumentType } from 'src/app/core/models/enums/document-type';\n\n@Component({\n selector: 'mac-vehicle-models',\n templateUrl: './vehicle-models.component.html',\n styleUrls: ['./vehicle-models.component.scss'],\n providers: [VehicleModelsService, VehicleMakesService, StockTypesService]\n})\nexport class VehicleModelsComponent implements OnInit {\n displayedColumns: string[] = ['make', 'titles', 'tools'];\n dataSource: MatTableDataSource;\n editingRowId: number = null;\n deletingRowId: number = null;\n //model: VehicleModelDto;\n // validators: ElementRef[] = [];\n makes: LookupDto[];\n _makes: LookupDto[];\n _stockTypes: StockTypeDto[] = [];\n form: FormGroup;\n lang: Language = 0;\n\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n\n get titles() { return this.form.get('titles') as FormArray; }\n get make() { return this.form.get('makeId'); }\n get stockTypes() { return this.form.get('stockTypes'); }\n get Role() { return Role; };\n\n constructor(private service: VehicleModelsService,\n public auth: AuthService,\n private vehicleMakeService: VehicleMakesService,\n private alert: AlertService,\n private loader: LoadingService,\n private confirmService: ConfirmService,\n private stockTypesService: StockTypesService,\n private translate: TranslateService,\n private fb: FormBuilder) { }\n\n ngOnInit() {\n document.querySelector('mat-card').classList.remove('overflow-hidden');\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n this.loader.load(LoaderType.Nav);\n this.formInit();\n Promise.all([this.vehicleMakeService.get(null)\n .then(result => {\n this.makes = result.list;\n this._makes = _.cloneDeep(result.list).map(dto => {\n dto.titles = [dto.titles[this.lang]];\n return dto;\n })\n }),\n this.stockTypesService.get(this.lang)\n .then(result => this._stockTypes = result.list.filter(x => x.documentType == _DocumentType.TripTikDocument)),\n this.service.get(0, null)\n .then(result => {\n // console.log(result.list);\n this.dataSource = new MatTableDataSource(result.list);\n\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n\n })])\n .finally(() => this.loader.load(LoaderType.Nav, false));\n }\n\n add() {\n if (this.dataSource.data.findIndex(i => i.id == 0) > -1)\n return;\n\n this.toggleUpdateMode(true);\n\n const newDto = { id: 0, makeId: this.makes[0].id, titles: ['', ''], stockTypes: this._stockTypes.map(x => x.id) };\n\n this.dataSource.data.unshift(newDto);\n\n this.editingRowId = 0;\n this.form.patchValue({ titles: ['', ''], stockTypes: this._stockTypes.map(x => x.id) });\n\n this.make.reset();\n this.titles.controls.forEach(c => c.reset());\n\n this.deletingRowId = null;\n this.dataSource.filter = \"\";\n this.paginator.firstPage();\n }\n\n tryDelete(row: CityDto) {\n let modal = this.confirmService.confirm(new DeleteModal({ type: 'LKP_TITLE_VEHICLE_MODEL', title: row.titles[this.lang] }));\n modal.then(m => {\n if (m.indexOf('CONFIRMED') > -1) {\n //delete handler\n this.delete(row.id);\n }\n });\n }\n\n delete(id) {\n //this.submitted = true;\n this.loader.load(LoaderType.Body);\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = null;\n this.deletingRowId = id;\n\n this.service.delete(id).then(status => {\n if (status) {\n const i = this.dataSource.data.findIndex(o => o.id == id);\n this.dataSource.data.splice(i, 1);\n this.dataSource.filter = \"\";\n this.alert.success(DefaultAlertAction.DELETING);\n } else this.alert.failure(DefaultAlertAction.DELETING);\n }).catch(e => {\n ////console.log(e);\n //this.alert.error();\n }).finally(() => {\n this.deletingRowId = null;\n this.loader.load(LoaderType.Body, false);\n });\n }\n\n edit(id) {\n this.toggleUpdateMode(id > 0);\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = id;\n const dto = id > 0 ? [...this.dataSource.data].find(c => c.id == id) : null;\n //console.log(dto);\n\n this.form.patchValue({\n titles: id > 0 ? dto.titles : ['', ''],\n makeId: id > 0 ? dto.makeId : '',\n stockTypes: id > 0 ? dto.stockTypes : []\n });\n //console.log(this.form.value);\n }\n\n toggleUpdateMode(mode: boolean) {\n if (mode)\n this.displayedColumns = ['make', 'titles', 'stockTypes', 'tools'];\n else\n this.displayedColumns = ['make', 'titles', 'tools'];\n }\n\n onSubmit() {\n if (!this.form.valid)\n return Utils.validateAllFormFields(this.form);\n\n const cmd = this.form.value as VehicleModelDto;\n this.loader.load(LoaderType.Body);\n if (this.deletingRowId == null) {\n if (this.editingRowId == 0) {\n this.service.create(cmd).then(id => {\n if (id) {\n cmd.id = id;\n cmd.makeTitles = this.makes.find(c => c.id == cmd.makeId).titles;\n cmd.stockTypes = this.stockTypes.value;\n this.dataSource.data[0] = cmd;\n this.dataSource.filter = \"\";\n this.alert.success(DefaultAlertAction.ADDING);\n } else this.alert.failure(DefaultAlertAction.ADDING);\n\n }).catch(e => this.edit(null))\n .finally(() => {\n this.editingRowId = null;\n this.deletingRowId = null;\n this.toggleUpdateMode(false);\n this.loader.load(LoaderType.Body, false);\n })\n } else {\n\n cmd.id = this.editingRowId;\n this.service.update(cmd).then(status => {\n if (status) {\n const i = this.dataSource.data.findIndex(i => i.id == this.editingRowId);\n this.dataSource.data[i].titles = cmd.titles;\n this.dataSource.data[i].stockTypes = cmd.stockTypes;\n this.alert.success(DefaultAlertAction.UPDATING);\n } else this.alert.failure(DefaultAlertAction.UPDATING);\n }).catch(e => {\n ////console.log(e);\n //this.alert.error();\n }).finally(() => {\n this.toggleUpdateMode(false);\n this.editingRowId = null;\n this.loader.load(LoaderType.Body, false);\n });\n }\n }\n }\n\n applyFilter(e: any) {\n this.dataSource.filter = e.target.value.trim().toLowerCase();\n\n if (this.dataSource.paginator) {\n this.dataSource.paginator.firstPage();\n }\n }\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n this.edit(null);\n }\n\n private formInit() {\n this.form = this.fb.group({\n makeId: ['', [Validators.required]],\n titles: this.fb.array([\n ['', [Validators.required, nonEnglishCharactersValidator, Validators.minLength(2), Validators.maxLength(50)]],\n ['', [Validators.required, nonArabicCharactersValidator, Validators.minLength(2), Validators.maxLength(50)]]\n ]),\n stockTypes: ['']\n });\n }\n}\n","//import { VehicleColorDto } from 'src/app/core/nswag.api';\nimport { Component, OnInit, ViewChild, HostListener } from '@angular/core';\nimport { VehicleTypesService } from '../../services/vehicle-types';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { DeleteModal } from 'src/app/shared/models/modal';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FormBuilder, FormArray, FormGroup, Validators } from '@angular/forms';\nimport { DefaultAlertAction } from 'src/app/shared/models/default-alert-action';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { nonEnglishCharactersValidator, nonArabicCharactersValidator, standardLocalizedControlValidators } from 'src/app/shared/services/custom-validators';\nimport { LookupDto } from '../../models/lookup';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Role } from 'src/app/core/models/enums/role';\n\n\n@Component({\n selector: 'mac-vehicle-types',\n templateUrl: './vehicle-types.component.html',\n styleUrls: ['./vehicle-types.component.scss'],\n providers: [VehicleTypesService]\n})\nexport class VehicleTypesComponent implements OnInit {\n\n displayedColumns: string[] = ['titles', 'tools'];\n dataSource: MatTableDataSource;\n editingRowId: number = null;\n deletingRowId: number = null;\n model: LookupDto = { id: 0, titles: ['', ''] };\n //submitted: boolean;\n //loading: boolean;\n lang: Language = 0;\n form: FormGroup;\n\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n\n get titles() { return this.form.get('titles') as FormArray; }\n get Role() { return Role; };\n\n constructor(private service: VehicleTypesService,\n public auth: AuthService,\n private alert: AlertService,\n private loader: LoadingService,\n private confirm: ConfirmService,\n private fb: FormBuilder,\n private translate: TranslateService) { }\n\n ngOnInit() {\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n this.loader.load(LoaderType.Nav);\n this.formInit();\n this.service.get(null)\n .then(result => {\n this.dataSource = new MatTableDataSource(result.list);\n\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n })\n .finally(() => this.loader.load(LoaderType.Nav, false));\n }\n\n add() {\n if (this.dataSource.data.findIndex(i => i.id == 0) > -1)\n return;\n\n this.model = { id: 0, titles: ['', ''] };\n this.dataSource.data.unshift(this.model);\n\n this.form.patchValue({ titles: ['', ''] });\n\n this.titles.controls.forEach(c => c.reset());\n\n this.editingRowId = 0;\n\n this.deletingRowId = null;\n this.dataSource.filter = \"\";\n this.paginator.firstPage();\n }\n\n tryDelete(row: LookupDto) {\n let modal = this.confirm.confirm(new DeleteModal({ type: 'LKP_TITLE_VEHICLE_TYPE', title: row.titles[0] }));\n modal.then(m => {\n if (m.indexOf('CONFIRMED') > -1) {\n //delete handler\n this.delete(row.id);\n }\n });\n }\n\n delete(id) {\n this.loader.load(LoaderType.Body);\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = null;\n this.deletingRowId = id;\n\n this.service.delete(id).then(r => {\n if (r) {\n const i = this.dataSource.data.findIndex(o => o.id == id);\n this.dataSource.data.splice(i, 1);\n this.dataSource.filter = \"\";\n this.alert.success(DefaultAlertAction.DELETING);\n } else this.alert.failure(DefaultAlertAction.DELETING);\n }).catch(e => {\n ////console.log(e);\n //this.alert.error();\n }).finally(() => {\n this.loader.load(LoaderType.Body, false);\n this.deletingRowId = null;\n });\n }\n\n edit(id) {\n if (this.editingRowId == 0) {\n this.dataSource.data.shift();\n this.dataSource.filter = \"\";\n }\n this.editingRowId = id;\n this.model = id > 0 ? [...this.dataSource.data].find(c => c.id == id) : null;\n\n this.form.patchValue({\n titles: id > 0 ? this.model.titles : ['', '']\n });\n }\n\n onSubmit() {\n if (!this.form.valid)\n return Utils.validateAllFormFields(this.form);\n\n this.loader.load(LoaderType.Body);\n if (this.deletingRowId == null) {\n if (this.editingRowId == 0) {\n this.service.create(this.form.value).then(id => {\n if (id) {\n this.model.id = id;\n //push new item to array instead\n this.model.titles = this.form.value.titles;\n this.alert.success(DefaultAlertAction.ADDING);\n } else this.alert.failure(DefaultAlertAction.ADDING);\n }).catch(e => this.edit(null))\n .finally(() => {\n this.editingRowId = null;\n this.deletingRowId = null;\n this.dataSource.filter = \"\";\n this.loader.load(LoaderType.Body, false);\n })\n } else {\n const cmd = this.form.value as LookupDto;\n cmd.id = this.editingRowId;\n this.service.update(cmd)\n .then(status => {\n if (status) {\n const i = this.dataSource.data.findIndex(as => as.id == this.editingRowId);\n this.dataSource.data[i].titles = this.form.value.titles;\n this.alert.success(DefaultAlertAction.UPDATING);\n } else this.alert.failure(DefaultAlertAction.UPDATING);\n }).catch(err => {\n // //console.log(err);\n //this.alert.error();\n }).finally(() => {\n this.loader.load(LoaderType.Body, false);\n this.editingRowId = null;\n //this.submitted = false;\n });\n }\n }\n }\n\n applyFilter(e: any) {\n this.dataSource.filter = e.target.value.trim().toLowerCase();\n\n if (this.dataSource.paginator) {\n this.dataSource.paginator.firstPage();\n }\n }\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n this.edit(null);\n }\n\n private formInit() {\n this.form = this.fb.group({\n titles: this.fb.array([\n ['', standardLocalizedControlValidators(Language.Arabic)],\n ['', standardLocalizedControlValidators(Language.English)]\n ])\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ApiHandler } from 'src/app/core/api-handler';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\nimport { LookupVm, LookupDto } from '../models/lookup';\n\n@Injectable()\nexport class AccountStatusesService {\n constructor(private api: ApiHandler) { }\n\n get(lang: Language = null) {\n return this.api.get(EndPoint.ACCOUNT_STATUSES, null, { lang }).toPromise();\n }\n\n create(dto: LookupDto) {\n return this.api.create(EndPoint.ACCOUNT_STATUSES, dto).toPromise();\n }\n\n update(dto: LookupDto) {\n return this.api.update(EndPoint.ACCOUNT_STATUSES, dto).toPromise();\n }\n\n delete(id: number) { \n return this.api.delete(EndPoint.ACCOUNT_STATUSES, id).toPromise();\n }\n}","import { Injectable } from '@angular/core';\nimport { ApiHandler } from 'src/app/core/api-handler';\n//import { AccountTypeDto, AccountTypesVm } from 'src/app/core/nswag.api';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\nimport { AccountTypesVm, AccountTypeDto } from '../models/account-type';\n\n@Injectable()\nexport class AccountTypesService {\n constructor(private api: ApiHandler) { }\n\n getAllowed() {\n return this.api.get(EndPoint.ACCOUNT_TYPES_ALLOWED).toPromise();\n }\n\n get(lang: Language = null) {\n return this.api.get(EndPoint.ACCOUNT_TYPES, null, { lang }).toPromise();\n }\n\n create(dto: AccountTypeDto) {\n return this.api.create(EndPoint.ACCOUNT_TYPES, dto).toPromise();\n }\n\n update(dto: AccountTypeDto) {\n return this.api.update(EndPoint.ACCOUNT_TYPES, dto).toPromise();\n }\n\n delete(id: number) {\n return this.api.delete(EndPoint.ACCOUNT_TYPES, id).toPromise();\n }\n}","import { Injectable } from '@angular/core';\nimport { ApiHandler } from 'src/app/core/api-handler';\nimport { CityDto, CitiesVm } from '../models/city';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\n\n@Injectable()\nexport class CitiesService {\n constructor(private api: ApiHandler) { }\n\n get(countryId = 0, lang = null) {\n return this.api.get(EndPoint.CITIES, countryId, { lang }).toPromise();\n }\n\n create(dto: CityDto) {\n return this.api.create(EndPoint.CITIES, dto).toPromise();\n }\n\n update(dto: CityDto) {\n return this.api.update(EndPoint.CITIES, dto).toPromise();\n }\n\n delete(id: number) {\n return this.api.delete(EndPoint.CITIES, id).toPromise();\n }\n}","import { Injectable } from '@angular/core';\nimport { ApiHandler } from 'src/app/core/api-handler';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\nimport { ConfigObject } from 'src/app/core/models/enums/config-object';\nimport { ConfigVm, ConfigDto } from '../models/config';\nimport * as _ from 'lodash';\n\n@Injectable({ providedIn: 'root' })\nexport class StaticConfig {\n static config: ConfigDto[] = [];\n get() {\n //const lang = null;\n return this.api.get(EndPoint.CONFIG, null, null, false).toPromise()\n .then(result => StaticConfig.config = result.list);\n }\n\n constructor(private api: ApiHandler) { }\n\n static getConfigKeyValuePairs(configObj: ConfigObject, lang: Language = null) {\n return _.cloneDeep(this.config).find(x => x.id == configObj).keyValuePairs\n .map(pair => {\n pair.value = lang != undefined && lang != null && pair.localized ? pair.value[lang] : pair.value;\n return pair;\n });\n }\n\n static getConfigValue(configObj: ConfigObject, key: number, lang: Language = null) {\n const keyValuePair = _.cloneDeep(this.config).find(x => x.id == configObj).keyValuePairs.find(x => x.key == key);\n return lang != undefined && lang != null && keyValuePair.localized ? keyValuePair.value[lang] : keyValuePair.value;\n }\n}","import { Injectable } from '@angular/core';\nimport { ApiHandler } from 'src/app/core/api-handler';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\nimport { CountriesVm, CountryDto } from '../models/country';\n\n@Injectable()\nexport class CountriesService {\n constructor(private api: ApiHandler) { }\n\n get(lang: Language = null) {\n //console.log(lang);\n return this.api.get(EndPoint.COUNTRIES, null, { lang }).toPromise();\n }\n\n create(dto: CountryDto) {\n return this.api.create(EndPoint.COUNTRIES, dto).toPromise();\n }\n\n update(dto: CountryDto) {\n return this.api.update(EndPoint.COUNTRIES, dto).toPromise();\n }\n\n delete(id: number) {\n return this.api.delete(EndPoint.COUNTRIES, id).toPromise();\n }\n}","import { Injectable } from '@angular/core';\nimport { ApiHandler } from 'src/app/core/api-handler';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\nimport { CurrencyDto, CurrenciesVm } from '../models/currency';\n\n@Injectable()\nexport class CurrenciesService {\n constructor(private api: ApiHandler) { }\n\n get(lang: Language = null) {\n return this.api.get(EndPoint.CURRENCIES, null, { lang }).toPromise();\n }\n\n create(dto: CurrencyDto) {\n return this.api.create(EndPoint.CURRENCIES, dto).toPromise();\n }\n\n update(dto: CurrencyDto) { \n return this.api.update(EndPoint.CURRENCIES, dto).toPromise();\n }\n\n delete(id: number) { \n return this.api.delete(EndPoint.CURRENCIES, id).toPromise();\n }\n}","import { Injectable } from '@angular/core';\nimport { ApiHandler } from 'src/app/core/api-handler';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\nimport { CustomsPortsVm, CustomsPortDto } from '../models/customs-port';\n\n@Injectable()\nexport class CustomsPortsService {\n constructor(private api: ApiHandler) { }\n\n get(countryId = 0, lang = null) {\n return this.api.get(EndPoint.CUSTOMS_PORTS, countryId, { lang }).toPromise();\n }\n\n create(dto: CustomsPortDto) {\n return this.api.create(EndPoint.CUSTOMS_PORTS, dto).toPromise();\n }\n\n update(dto: CustomsPortDto) {\n return this.api.update(EndPoint.CUSTOMS_PORTS, dto).toPromise();\n }\n\n delete(id: number) {\n return this.api.delete(EndPoint.CUSTOMS_PORTS, id).toPromise();\n }\n}","import { Injectable } from '@angular/core';\nimport { ApiHandler } from 'src/app/core/api-handler';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\nimport { LookupVm, LookupDto } from '../models/lookup';\n\n@Injectable()\nexport class PursuingZonesService {\n constructor(private api: ApiHandler) { }\n\n get(lang = null) {\n return this.api.get(EndPoint.TRIPTIK_CLAIMS_PURSUING_ZONES, null, { lang }).toPromise();\n }\n\n create(dto: LookupDto) {\n return this.api.create(EndPoint.TRIPTIK_CLAIMS_PURSUING_ZONES, dto).toPromise();\n }\n\n update(dto: LookupDto) {\n return this.api.update(EndPoint.TRIPTIK_CLAIMS_PURSUING_ZONES, dto).toPromise();\n }\n\n delete(id: number) {\n return this.api.delete(EndPoint.TRIPTIK_CLAIMS_PURSUING_ZONES, id).toPromise();\n }\n}","import { Injectable } from '@angular/core';\nimport { ApiHandler } from 'src/app/core/api-handler';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\nimport { StockTypesVm, StockTypeDto } from '../models/stock-type';\n\n@Injectable()\nexport class StockTypesService {\n constructor(private api: ApiHandler) { }\n\n get(lang: Language = null) {\n //console.log(lang);\n return this.api.get(EndPoint.STOCK_TYPES, null, { lang }).toPromise();\n }\n\n getURO(lang: Language = null) {\n return this.api.get(EndPoint.STOCK_TYPES_URO, null, { lang }).toPromise();\n }\n\n getAllowed(accountId: number = 0, transactAllowedOnly: boolean = false) {\n return this.api.get(EndPoint.STOCK_TYPES_ALLOWED, [accountId ? accountId : 0, transactAllowedOnly]).toPromise();\n }\n\n create(dto: StockTypeDto) {\n return this.api.create(EndPoint.STOCK_TYPES, dto).toPromise();\n }\n\n update(dto: StockTypeDto) {\n return this.api.update(EndPoint.STOCK_TYPES, dto).toPromise();\n }\n\n delete(id: number) {\n return this.api.delete(EndPoint.STOCK_TYPES, id).toPromise();\n }\n}","import { Injectable } from '@angular/core';\nimport { ApiHandler } from 'src/app/core/api-handler';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\nimport { TripTikClaimsStatusesVm, TripTikClaimStatusDto } from '../models/trip-tik-claim-status';\n\n@Injectable()\nexport class TripTikClaimsStatusesService {\n constructor(private api: ApiHandler) { }\n\n get(parentId, lang = null) {\n return this.api.get(EndPoint.TRIPTIK_CLAIMS_STATUSES, [parentId], { lang }).toPromise();\n }\n\n // getBaseStatuses(lang = null) {\n // return this.api.get(EndPoint.TRIPTIK_CLAIMS_STATUSES_BASE, null, { lang }).toPromise();\n // }\n\n // create(dto: TripTikClaimStatusDto) {\n // return this.api.create(EndPoint.TRIPTIK_CLAIMS_STATUSES, dto).toPromise();\n // }\n\n // update(dto: TripTikClaimStatusDto) {\n // return this.api.update(EndPoint.TRIPTIK_CLAIMS_STATUSES, dto).toPromise();\n // }\n\n // delete(id: number) {\n // return this.api.delete(EndPoint.TRIPTIK_CLAIMS_STATUSES, id).toPromise();\n // }\n}","import { Injectable } from '@angular/core';\nimport { ApiHandler } from 'src/app/core/api-handler';\n//import { VehicleColorDto, VehicleColorsVm } from 'src/app/core/nswag.api';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\nimport { LookupVm, LookupDto } from '../models/lookup';\n\n@Injectable()\nexport class VehicleColorsService {\n constructor(private api: ApiHandler) { }\n\n get(lang: Language = null) {\n return this.api.get(EndPoint.VEHICLE_COLORS, null, { lang }).toPromise();\n }\n\n create(dto: LookupDto) {\n return this.api.create(EndPoint.VEHICLE_COLORS, dto).toPromise();\n }\n\n update(dto: LookupDto) { \n return this.api.update(EndPoint.VEHICLE_COLORS, dto).toPromise();\n }\n\n delete(id: number) { \n return this.api.delete(EndPoint.VEHICLE_COLORS, id).toPromise();\n }\n}","import { Injectable } from '@angular/core';\nimport { ApiHandler } from 'src/app/core/api-handler';\n//import { CountryDto, VehicleMakesVm, VehicleMakeDto } from 'src/app/core/nswag.api';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\nimport { LookupVm, LookupDto } from '../models/lookup';\nimport { CountryDto } from '../models/country';\n\n@Injectable()\nexport class VehicleMakesService {\n constructor(private api: ApiHandler) { }\n\n get(lang: Language = null) {\n return this.api.get(EndPoint.VEHICLE_MAKES, null, { lang }).toPromise();\n }\n\n create(dto: LookupDto) {\n return this.api.create(EndPoint.VEHICLE_MAKES, dto).toPromise();\n }\n\n update(dto: CountryDto) {\n return this.api.update(EndPoint.VEHICLE_MAKES, dto).toPromise();\n }\n\n delete(id: number) {\n return this.api.delete(EndPoint.VEHICLE_MAKES, id).toPromise();\n }\n}","import { Injectable } from '@angular/core';\nimport { ApiHandler } from 'src/app/core/api-handler';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\nimport { VehicleModelsVm, VehicleModelDto } from '../models/vehicle-model';\n\n@Injectable()\nexport class VehicleModelsService {\n constructor(private api: ApiHandler) { }\n\n get(makeId = 0, stockTypeId = null, lang = null) {\n // const params = [makeId];\n // if (stockTypeId)\n // params.push(stockTypeId ? stockTypeId : nul);\n\n return this.api.get(EndPoint.VEHICLE_MODELS, [makeId, stockTypeId], { lang }).toPromise();\n }\n\n create(dto: VehicleModelDto) {\n return this.api.create(EndPoint.VEHICLE_MODELS, dto).toPromise();\n }\n\n update(dto: VehicleModelDto) {\n return this.api.update(EndPoint.VEHICLE_MODELS, dto).toPromise();\n }\n\n delete(id: number) {\n return this.api.delete(EndPoint.VEHICLE_MODELS, id).toPromise();\n }\n}","import { Injectable } from '@angular/core';\nimport { ApiHandler } from 'src/app/core/api-handler';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\nimport { LookupVm, LookupDto } from '../models/lookup';\n\n@Injectable()\nexport class VehicleTypesService {\n constructor(private api: ApiHandler) { }\n\n get(lang: Language = null) {\n return this.api.get(EndPoint.VEHICLE_TYPES, null, { lang }).toPromise();\n }\n\n create(dto: LookupDto) {\n return this.api.create(EndPoint.VEHICLE_TYPES, dto).toPromise();\n }\n\n update(dto: LookupDto) { \n return this.api.update(EndPoint.VEHICLE_TYPES, dto).toPromise();\n }\n\n delete(id: number) { \n return this.api.delete(EndPoint.VEHICLE_TYPES, id).toPromise();\n }\n}","import { DefaultAlertAction } from './../../../../shared/models/default-alert-action';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AuthService } from './../../../../core/auth/auth.service';\nimport { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { UsersService } from 'src/app/features/security/services/users.service';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { DeleteModal, UpdateModal } from 'src/app/shared/models/modal';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { UserDto, UsersVm } from '../../models/user';\nimport { AccountMetaDto } from 'src/app/features/accounts/models/account';\nimport { AccountsService } from 'src/app/features/accounts/services/accounts.service';\nimport { LookupDto } from 'src/app/features/lookups/models/lookup';\nimport { populateAccountsSelect } from 'src/app/shared/helpers/populate-accounts-select';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { UsersDataSource } from '../../services/users-datasource';\nimport { tap } from 'rxjs/operators';\nimport { merge } from 'rxjs/internal/observable/merge';\nimport { MatSelect } from '@angular/material/select';\nimport { fromEvent } from 'rxjs';\nimport { Location } from '@angular/common';\n\n@Component({\n selector: 'mac-account-users',\n templateUrl: './account-users.component.html',\n styleUrls: ['./account-users.component.scss'],\n providers: [UsersService, AccountsService]\n})\nexport class AccountUsersComponent implements OnInit {\n displayedColumns: string[] = ['names', 'username', 'email', 'phoneNumber', 'created', 'permissions', 'isActive', 'tools'];\n cashedVm: UsersVm;\n accounts: LookupDto[];\n lang: Language;\n accountId: number = 0;\n dataSource: UsersDataSource;\n parentAccounts: AccountMetaDto[] = [];\n badgeClasses: string[];\n\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild('account', { static: true }) account: ElementRef;\n @ViewChild('filter', { static: true }) filter: ElementRef;\n @ViewChild('filterBtn') filterBtn: ElementRef;\n\n get Role() { return Role; }\n\n constructor(private service: UsersService,\n private confirmService: ConfirmService,\n private loader: LoadingService,\n private alert: AlertService,\n public auth: AuthService,\n public translate: TranslateService,\n public route: ActivatedRoute,\n private accountsService: AccountsService,\n private location: Location,\n private router: Router) { }\n\n ngOnInit() {\n document.querySelector('mat-card').classList.remove('overflow-hidden');\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n this.accountId = Number(this.route.snapshot.paramMap.get('accountId'));\n this.loader.load(LoaderType.Nav);\n\n if (!this.auth.currentUser.isInRole(Role.USERS_SECURITY_GROUPS_READ)) {\n const i = this.displayedColumns.findIndex(c => c == \"permissions\");\n this.displayedColumns.splice(i, 1);\n }\n\n if (!this.auth.currentUser.isInRole(Role.USERS_UPDATE)\n && !this.auth.currentUser.isInRole(Role.USERS_DELETE))\n this.displayedColumns.splice(this.displayedColumns.length - 1, 1);\n\n this.route.params.subscribe(p => {\n if (p.accountId == 0) {\n //console.warn(this.filter.nativeElement.value);\n this.filter.nativeElement.value = \"\";\n this.accountId = 0;\n //this.account.select(0);\n //this.account.nativeElement.value = 0;\n //this.account.valueChange.emit();\n }\n });\n\n this.sort.active = 'names';\n this.sort.direction = 'asc';\n this.paginator.pageSize = 10;\n this.dataSource = new UsersDataSource(this.service, this.loader);\n this.dataSource.loadUsers(this.paginator.pageIndex, this.paginator.pageSize, this.sort.active, this.sort.direction, '', this.accountId);\n\n //this.loader.load(LoaderType.Body);\n // this.accountsService.getChildrenAccountsLookup(!this.auth.isSystemAccount ? this.auth.accountId : 0).then(d => {\n // this.accounts = populateAccountsSelect(d.list);\n // this.accounts.unshift({ id: 0, titles: [[\"الكل\", \"All\"][this.lang]] });\n // }).finally(() => this.loader.load(LoaderType.Body, false));\n }\n\n filterWithAccount(id) {\n //console.log(id);\n this.accountId = id;\n //this.paginator.pageIndex = 0;\n this.paginator.page.emit({ pageIndex: 0, pageSize: this.paginator.pageSize, length: this.paginator.length });\n // this.dataSource.loadUsers(0, this.paginator.pageSize, this.sort.active, this.sort.direction, '', this.accountId);\n\n }\n\n async ngAfterViewInit() {\n this.loader.load(LoaderType.Body);\n this.accounts = /*populateAccountsSelect(*/await (await this.accountsService.getChildrenAccountsLookup(!this.auth.currentUser.isSystemAccount ? this.auth.currentUser.accountId : 0)).list/*)*/;\n this.accounts.unshift({ id: 0, titles: [[\"الكل\", \"All\"][this.lang]] });\n this.loader.load(LoaderType.Body, false);\n\n this.dataSource.counter$\n .pipe(\n tap((count) => {\n this.paginator.length = count;\n })\n ).subscribe();\n\n merge(this.paginator.page, this.sort.sortChange)\n .pipe(\n tap(() => {\n ////console.log(this.account.value);\n this.dataSource.loadUsers(this.paginator.pageIndex, this.paginator.pageSize, this.sort.active, this.sort.direction, this.filter.nativeElement.value.trim(), this.accountId)\n })).subscribe(() => this.loader.load(LoaderType.Body));\n\n merge(fromEvent(this.filter.nativeElement, 'search'), fromEvent(this.filterBtn.nativeElement, 'click'))\n .pipe(\n tap(() => {\n this.paginator.pageIndex = 0;\n this.dataSource.loadUsers(this.paginator.pageIndex, this.paginator.pageSize, this.sort.active, this.sort.direction, this.filter.nativeElement.value.trim(), this.accountId)\n })\n ).subscribe(() => this.loader.load(LoaderType.Body));\n\n this.dataSource.connect().subscribe(() => {\n this.router.navigate([`/${this.translate.currentLang}/security/users/list/${this.accountId}`], { replaceUrl: true });\n //this.location.replaceState(`/${this.translate.currentLang}/security/users/list/${this.accountId}`);\n });\n }\n\n tryDelete(row: UserDto) {\n if (row.id == this.auth.currentUser.userId || (!this.auth.currentUser.isSystemAccount && row.accountId != this.auth.currentUser.accountId) || !this.auth.currentUser.isInRole(Role.USERS_DELETE))\n return;\n\n let modal = this.confirmService.confirm(new DeleteModal({\n type: 'SEC_LINK_USER_ACCOUNT',\n title: row.names ? row.names[0] : row.username, //todo: get with lang index\n note: 'SEC_USER_CONFIRM_DELETE_NOTE'\n }));\n modal.then(m => {\n if (m.indexOf('CONFIRMED') > -1) {\n this.delete(row.id);\n }\n });\n }\n\n tryUpdateStatus(row: UserDto, active) {\n if (row.id == this.auth.currentUser.userId || (!this.auth.currentUser.isSystemAccount && row.accountId != this.auth.currentUser.accountId) || !this.auth.currentUser.isInRole(Role.USERS_UPDATE))\n return;\n\n if (!active) {\n let modal = this.confirmService.confirm(new UpdateModal({\n type: 'SEC_LINK_USER_ACCOUNT',\n confirmQuestion: 'SEC_USER_CONFIRM_DEACTIVATE_CONFIRMATION_QUESTION',\n title: row.names ? row.names[0] : row.username,\n action: '_ACTION_DEACTIVATE',\n submitText: '_ACTION_DEACTIVATE',\n note: 'SEC_USER_CONFIRM_DEACTIVATE_NOTE',\n dangerNote: ' '\n }));\n const _data = this.dataSource.UsersSubject.value;\n const i = _data.findIndex(d => d.id == row.id);\n modal.then(m => {\n if (m.indexOf('CONFIRMED') > -1) {\n this.updateStatus(row.id, active);\n }\n }).catch(e => {\n _data[i].isActive = true;\n });\n } else this.updateStatus(row.id, active);\n }\n\n private delete(id: string) {\n this.loader.load(LoaderType.Body);\n this.service.deleteUser(id)\n .then(r => {\n if (r) {\n this.alert.success(DefaultAlertAction.DELETING);\n this.dataSource.UsersSubject.next(this.dataSource.UsersSubject.value.filter(d => d.id != id));\n this.dataSource.countSubject.next(this.dataSource.countSubject.value - 1);\n } else this.alert.failure(DefaultAlertAction.DELETING);\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n\n private updateStatus(id, active) {\n const _data = this.dataSource.UsersSubject.value;\n const i = _data.findIndex(d => d.id == id);\n this.loader.load(LoaderType.Body);\n this.service.updateUserStatus(id, active)\n .then(r => {\n if (r)\n this.alert.success(active ? '_ACTION_ACTIVATING' : '_ACTION_DEACTIVATING')\n else {\n _data[i].isActive = true;\n this.alert.failure(active ? '_ACTION_ACTIVATING' : '_ACTION_DEACTIVATING');\n }\n })\n .catch(e => {\n _data[i].isActive = true;\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n}","import { DefaultAlertAction } from './../../../../shared/models/default-alert-action';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { UsersService } from 'src/app/features/security/services/users.service';\nimport { SecurityService } from '../../services/security.service';\nimport { SecurityGroupLookupDto } from '../../models/security-groups.model';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { comparePasswords, usernameValidator, numbersOnlyValidator, nonEnglishCharactersValidator, nonArabicCharactersValidator } from 'src/app/shared/services/custom-validators';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { UserDto } from '../../models/user';\nimport { LookupDto } from 'src/app/features/lookups/models/lookup';\nimport { CustomsPortsService } from 'src/app/features/lookups/services/customs-ports.service';\n\n@Component({\n selector: 'mac-manage-user',\n templateUrl: './manage-user.component.html',\n styleUrls: ['./manage-user.component.scss'],\n providers: [UsersService, SecurityService, CustomsPortsService]\n})\nexport class ManageUserComponent implements OnInit {\n\n userForm: FormGroup;\n userId: string;\n cashedUserData: UserDto;\n loading: boolean;\n updateMode: boolean = false;\n changingPassword: boolean = false;\n groups: SecurityGroupLookupDto[] = [];\n _claimsCountries: LookupDto[] = [];\n lang: number = 0;\n isClaimsApplicable: boolean;\n claimsSystemGroupId: string = \"#\";\n isClaimsGroupSelected: boolean;\n\n get names() { return this.userForm.get('names') as FormArray; }\n get username() { return this.userForm.get('username'); }\n get phoneNumber() { return this.userForm.get('phoneNumber'); }\n get email() { return this.userForm.get('email'); }\n get password() { return this.userForm.get('pass.password'); }\n get passwordConfirm() { return this.userForm.get('pass.passwordConfirm'); }\n get securityGroups() { return this.userForm.get('securityGroups'); }\n get claimsCountries() { return this.userForm.get('claimsCountries'); }\n\n\n\n constructor(private fb: FormBuilder,\n private activatedRoute: ActivatedRoute,\n private router: Router,\n private usersService: UsersService,\n private securityService: SecurityService,\n private customsPortsService: CustomsPortsService,\n private loader: LoadingService,\n private alert: AlertService,\n public translate: TranslateService,\n public auth: AuthService) { }\n\n async ngOnInit() {\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n this.userId = this.activatedRoute.snapshot.paramMap.get(\"id\");\n this.updateMode = this.userId ? true : false;\n\n this.loader.load(LoaderType.Nav);\n this.formInit();\n this.groups = await (await this.securityService.getAccountGroupsLookup()).groups;\n\n if (this.auth.currentUser.isAdministrator)\n this.claimsSystemGroupId = this.groups.find(x => x.titles[1] == \"Claims\").id;\n\n const customsPorts = (await this.customsPortsService.get(this.lang)).list;\n\n\n\n this._claimsCountries = [...new Map(customsPorts.map(item =>\n [item['countryId'], item])).values()].map(x => {\n id: x.countryId,\n titles: x.countryTitles\n });\n\n\n\n //console.log(this.groups);\n //todo: filter by lang\n\n\n //console.log(this.claimsCountries);\n // const arrayUniqueByKey \n\n\n if (this.userId) {\n\n //this.isClaimsApplicable = await this.securityService.isClaimsApplicable(this.userId);\n\n this.usersService.getUserData(this.userId)\n .then(result => {\n //console.log(result);\n\n this.isClaimsApplicable = result.isClaimsApplicable;\n\n this.cashedUserData = result.user;\n this.userForm.patchValue(this.cashedUserData);\n this.username.disable();\n this.password.disable();\n\n if (result.user.accountId != this.auth.currentUser.accountId)\n this.securityGroups.disable();\n\n }).catch(e => {\n // //console.log(e);\n // this.alert.error('_MESSAGE_ERROR_LOADING_DATA');\n }).finally(() => this.loader.load(LoaderType.Nav, false));\n } else {\n //this.isClaimsApplicable = this.auth.currentUser.isAdministrator;\n this.loader.load(LoaderType.Nav, false);\n }\n }\n\n onGroupSelectionChange(groups) {\n this.isClaimsGroupSelected = groups.indexOf(this.claimsSystemGroupId) > -1;\n if (!this.isClaimsGroupSelected && !this.isClaimsApplicable)\n this.claimsCountries.reset();\n }\n\n changePassword() {\n this.changingPassword = !this.changingPassword;\n this.changingPassword ?\n this.password.enable() :\n this.password.disable();\n }\n\n onSubmit() {\n console.warn(this.userForm.value);\n\n if (this.updateMode && !this.changingPassword) {\n this.userForm.get('pass').setErrors(null);\n this.password.setErrors(null);\n this.passwordConfirm.setErrors(null);\n }\n\n if (!this.userForm.valid)\n return Utils.validateAllFormFields(this.userForm);\n\n this.loader.load(LoaderType.Body);\n let user = this.userForm.value as UserDto;\n\n if (this.updateMode) {\n\n user.id = this.userId;\n user.password = this.password.value;\n\n this.usersService.updateUserData(user)\n .then(r => {\n r ?\n this.alert.success(DefaultAlertAction.UPDATING)\n : this.alert.failure(DefaultAlertAction.UPDATING);\n })\n .catch(e => {\n // //console.log(e);\n // this.alert.error();\n })\n .finally(() => {\n this.loader.load(LoaderType.Body, false);\n this.router.navigate([this.translate.currentLang, 'security', 'users', 'list', this.auth.currentUser.accountId]);\n });\n } else {\n //new\n user.password = this.password.value;\n\n this.usersService.createUser(user)\n .then(result => {\n //console.log(result)\n result ?\n this.alert.success(DefaultAlertAction.ADDING)\n : this.alert.failure(DefaultAlertAction.ADDING);\n })\n .catch(e => {\n //console.log(e);\n // this.alert.error();\n })\n .finally(() => {\n this.loader.load(LoaderType.Body, false);\n this.router.navigate([this.translate.currentLang, 'security', 'users', 'list', this.auth.currentUser.accountId]);\n });\n }\n }\n\n private formInit() {\n this.userForm = this.fb.group({\n names: this.fb.array([\n ['', [Validators.required, nonEnglishCharactersValidator, Validators.minLength(3), Validators.maxLength(100)]],\n ['', [Validators.required, nonArabicCharactersValidator, Validators.minLength(3), Validators.maxLength(100)]]\n ]),\n username: this.fb.control('',\n [Validators.required, usernameValidator, Validators.minLength(5), Validators.maxLength(50)],\n !this.updateMode ? this.usersService.validateUsernameNotTaken.bind(this) : null),\n phoneNumber: ['', [Validators.required, numbersOnlyValidator]],\n email: ['', [Validators.email]],\n pass: this.fb.group({\n password: ['', [Validators.required, Validators.minLength(6)]], //todo: regex for password pattern\n passwordConfirm: ['']\n }, { validator: comparePasswords }),\n securityGroups: [''],\n claimsCountries: ['']\n });\n }\n}","import { TranslateService } from '@ngx-translate/core';\nimport { DefaultAlertAction } from './../../../../shared/models/default-alert-action';\nimport { nonEnglishCharactersValidator, nonArabicCharactersValidator } from 'src/app/shared/services/custom-validators';\nimport { MatTreeFlatDataSource } from '@angular/material/tree';\nimport { SecurityGroupsVm, SecurityRolesVm } from './../../models/security-groups.model';\n// import { SecurityService } from './../../services/security.service';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { Component, OnInit } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport * as _ from 'lodash';\nimport { FormGroup, FormBuilder, Validators, FormControl, FormArray } from '@angular/forms';\nimport { SecurityAction, ObjectActionDto, SecurityGroupDto } from '../../models/security-groups.model';\nimport { SecurityService } from '../../services/security.service';\nimport { ActivatedRoute, Router, NavigationExtras, Navigation } from '@angular/router';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { Location } from '@angular/common';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { DeleteModal } from 'src/app/shared/models/modal';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Language } from 'src/app/core/models/enums/language';\n\n@Component({\n selector: 'mac-security-groups',\n templateUrl: './security-groups.component.html',\n styleUrls: ['./security-groups.component.scss'],\n providers: [SecurityService]\n})\nexport class SecurityGroupsComponent implements OnInit {\n\n displayedColumns: any[] = []; // 'action-1'];//, 'action-2', 'action-3', 'action-4'];\n securityGroupForm: FormGroup;\n securityActions: SecurityAction[] = [];\n securityGroups: SecurityGroupDto[] = [];\n securityRoles: SecurityRolesVm = new SecurityRolesVm();\n selectedGroup: SecurityGroupDto;\n dataSource: MatTableDataSource;\n selections: SelectionModel[] = [];\n formEnabled: boolean = true;\n objectsCol: {};\n mode: string;\n submitted: boolean;\n loading: boolean;\n navigation: Navigation;\n lang: number = 0;\n\n get titles() { return this.securityGroupForm.get('titles') as FormArray; }\n //get descriptions() { return this.securityGroupForm.get('descriptions') as FormArray; }\n get objectsActions() { return this.securityGroupForm.get('objectsActions') as FormArray; }\n get displayedColumnsTitles() { return this.displayedColumns.map(c => c.titles[this.lang]); }\n get Role() {\n return Role;\n }\n\n constructor(private fb: FormBuilder,\n private route: ActivatedRoute,\n private router: Router,\n private alert: AlertService,\n private loader: LoadingService,\n private securityService: SecurityService,\n private location: Location,\n private confirmService: ConfirmService,\n private translate: TranslateService,\n public auth: AuthService) {\n\n this.navigation = this.router.getCurrentNavigation();\n this.mode = 'LIST';\n this.objectsCol = { id: 0, titles: ['الكائنات', 'Objects'] };\n }\n\n async ngOnInit() {\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n this.formInit();\n this.dataSource = new MatTableDataSource();\n this.loader.load(LoaderType.Nav);\n this.mode = this.route.snapshot.data.mode;\n\n this.securityRoles = await this.securityService.getAccountRoles();\n this.securityGroups = (await this.securityService.getAccountGroups(null)).groups;\n\n if (this.mode == 'LIST' || this.mode == 'UPDATE') {\n //this.securityService.getAccountGroups(null).then(vm => {\n // console.log(vm);\n // this.securityGroups = vm.groups;\n let groupId;\n if (this.mode == 'UPDATE') {\n groupId = this.route.snapshot.paramMap.get('id');\n }\n else if (this.navigation && this.navigation.extras.state) {\n const a = this.navigation.extras.state as { id: string };\n groupId = a.id;\n } else groupId = this.securityGroups[0].id;\n\n this.onSelectGroup(groupId);\n //})\n //.finally(() => this.loader.load(LoaderType.Nav, false));\n } else if (this.mode == 'ADD') {\n // this.securityService.getAccountRoles().then(vm => {\n\n\n let _group = new SecurityGroupDto();\n _group.id = null;\n _group.titles = ['', ''];\n //_group.descriptions = ['', ''];\n _group.availableActions = this.securityRoles.availableActions;\n _group.objectsActions = this.securityRoles.objectsActions;\n _group.isSystemGroup = false;\n\n this.onSelectGroup(_group);\n this.mode = 'ADD';\n //this.location.replaceState(`/${this.translate.currentLang}/security/groups/add`);\n this.securityGroupForm.enable();\n this.formEnabled = true;\n\n\n // this.selectedGroup.objectsActions.filter(x => x.securityObject.id == 1 && x.actions.indexOf(2) > -1)[0].\n //console.log(this.selectedGroup);\n\n // }).catch(e => {\n // // //console.log(e);\n // // this.alert.error('_MESSAGE_ERROR_LOADING_DATA');\n // }).finally(() => this.loader.load(LoaderType.Nav, false));\n } else this.loader.load(LoaderType.Nav, false);\n }\n\n private formInit() {\n this.securityGroupForm = this.fb.group({\n titles: this.fb.array([\n ['', [Validators.required, nonEnglishCharactersValidator, Validators.minLength(3), Validators.maxLength(50)]],\n ['', [Validators.required, nonArabicCharactersValidator, Validators.minLength(3), Validators.maxLength(50)]]\n ]),\n objectsActions: this.fb.array([])\n });\n }\n\n private addCheckboxes(objectsActions: ObjectActionDto[], empty: boolean = false) {\n this.clearSelections();\n let matrixIndex = 0;\n let formArray = (this.securityGroupForm.controls.objectsActions as FormArray);\n formArray.clear();\n objectsActions.forEach((objAct, i) => {\n objAct.actions.forEach((actionId, _i) => {\n const value = !empty && actionId != 0 ? objAct.securityObject.id + \",\" + actionId : null;\n const control = new FormControl(value);\n formArray.push(control);\n\n if (!empty && actionId != 0)\n this.cellToggle(objAct, actionId, matrixIndex, false);\n\n matrixIndex++;\n });\n });\n }\n\n onSelectGroup(group: string | SecurityGroupDto, path: string = null) {\n //console.log(group);\n this.loader.load(LoaderType.Nav);\n this.selectedGroup = group instanceof SecurityGroupDto ?\n group :\n _.cloneDeep(this.securityGroups.find(g => g.id == group));\n\n //console.log(this.selectedGroup);\n\n this.dataSource = new MatTableDataSource(this.selectedGroup.objectsActions);\n this.securityActions = this.selectedGroup.availableActions;\n this.selections = [];\n this.securityActions.forEach(() => this.selections.push(new SelectionModel(true, [])));\n this.displayedColumns = [this.objectsCol];\n this.displayedColumns.push(...this.securityActions);\n\n this.securityGroupForm.patchValue({\n titles: this.selectedGroup.titles,\n //descriptions: ['', '']\n });\n\n this.addCheckboxes(this.selectedGroup.objectsActions, group instanceof SecurityGroupDto && !group.id);\n\n this.securityGroupForm.disable();\n this.formEnabled = false;\n this.mode = 'LIST';\n if (path)\n this.location.replaceState(`/${this.translate.currentLang}/${path}`);\n\n //this.location.replaceState(`/${this.translate.currentLang}/security/groups/`);\n\n\n this.loader.load(LoaderType.Nav, false);\n }\n\n isColSelected(actionId: number) {\n const i = this.getActionIndex(actionId);\n\n const numSelected = this.selections[i].selected.length;\n const numRows = [...this.dataSource.data].filter(d => [...d.actions].map(x => Math.abs(x)).indexOf(actionId) > -1).length;\n\n return numSelected == numRows;\n }\n\n isRowSelected(row: ObjectActionDto, actionId: number) {\n const i = this.getActionIndex(actionId);\n return this.selections[i].isSelected(row.securityObject.id + \",\" + actionId);\n }\n\n colToggle(actionId: number) {\n const i = this.getActionIndex(actionId);\n const colSelected = this.isColSelected(actionId);\n\n this.dataSource.data\n .forEach((row, _i) => {\n ////console.warn(actionId);\n ////console.warn(row);\n if (row.actions[i] != 0) {\n ////console.warn(row.actions[i]);\n const value = row.securityObject.id + \",\" + actionId;\n //const value = row.securityObject.id + \",\" + Math.abs(row.actions[i]);\n const matrixIndex = (this.displayedColumns.length - 1) * _i + i;\n if (!colSelected) {\n if (!this.selections[i].isSelected(value)) {\n this.cellToggle(row, actionId, matrixIndex);\n this.selections[i].select(value);\n }\n } else {\n this.cellToggle(row, actionId, matrixIndex);\n this.selections[i].deselect(value);\n }\n }\n });\n }\n\n cellToggle(row: ObjectActionDto, actionId: number, matrixIndex: number, event: boolean = true) {\n\n const i = this.getActionIndex(actionId);\n const value = row.securityObject.id + \",\" + this.securityActions[i].id;\n //const value = row.securityObject.id + \",\" + actionId;\n let control = (this.securityGroupForm.controls.objectsActions as FormArray).controls[matrixIndex];\n ////console.log(actionId, value);\n if (actionId < 0 && !event) {\n control.reset();\n this.selections[i].deselect(value);\n }\n else {\n if (!this.isRowSelected(row, this.securityActions[i].id)) {\n control.setValue(value);\n this.selections[i].select(value);\n } else {\n control.reset();\n this.selections[i].toggle(value);\n }\n }\n }\n\n getActionIndex(actionId: number) {\n return this.securityActions.findIndex(x => x.id == Math.abs(actionId));\n }\n\n //todo: include confirmation pop-up\n clearSelections() {\n //confirm first\n this.selections.forEach(s => s.clear());\n }\n\n totalSelected() {\n let total = 0;\n this.selections.forEach(s => {\n total += s.selected.length;\n })\n return total;\n }\n\n exit() {\n this.onSelectGroup(this.securityGroups[0].id, 'security/groups');\n }\n\n update() {\n\n\n let _group = new SecurityGroupDto();\n _group.id = this.selectedGroup.id;\n _group.titles = this.selectedGroup.titles;\n //_group.descriptions = ['', ''];\n _group.availableActions = this.securityRoles.availableActions;\n _group.objectsActions = this.securityRoles.objectsActions;\n _group.isSystemGroup = false;\n\n //console.log(this.securityRoles);\n //map\n _group.objectsActions.forEach((oa, i) => {\n // console.log(oa.securityObject.id);\n // console.log(this.selectedGroup.objectsActions[i]);\n if (this.selectedGroup.objectsActions.map(x => x.securityObject.id).indexOf(oa.securityObject.id) > -1)\n oa.actions = this.selectedGroup.objectsActions.filter(x => x.securityObject.id == oa.securityObject.id)[0].actions;\n else oa.actions = oa.actions.map(x => x > 0 ? -x : (x < 0 ? x : 0))\n // if (oa.securityObject.id == this.selectedGroup.objectsActions[i].securityObject.id)\n // oa.actions = [...this.selectedGroup.objectsActions[i].actions];\n\n\n })\n //console.log(this.totalSelected())\n\n this.onSelectGroup(_group, 'security/groups/update/' + this.selectedGroup.id);\n\n //bind all roles,\n //fetch current data\n //this.location.replaceState(`/${this.translate.currentLang}/security/groups/update/${this.selectedGroup.id}`);\n this.mode = 'UPDATE';\n\n //this.objectsActions.controls.forEach(c => { c.enable(); console.log(c); });\n this.securityGroupForm.enable();\n this.formEnabled = true;\n\n }\n\n reset() {\n this.securityGroupForm.reset();\n this.clearSelections()\n // if (this.mode == 'ADD')\n // this.router.navigate(['/', this.translate.currentLang, 'security', 'groups']);\n\n // //reset ?\n // this.location.replaceState(`/${this.translate.currentLang}/security/groups/list`);\n // this.onSelectGroup(this.selectedGroup.id); //to refresh\n }\n\n delete(id: string) {\n //this._loading();\n this.loader.load(LoaderType.Body);\n this.securityService.deleteAccountGroup(id)\n .then(r => {\n // //console.log(r);\n if (r) {\n this.alert.success(DefaultAlertAction.DELETING);\n const groupIndex = this.securityGroups.findIndex(g => g.id == id);\n this.securityGroups.splice(groupIndex, 1);\n\n //display the first group as a default option\n this.onSelectGroup(this.securityGroups[0].id, 'security/groups');\n } else {\n this.alert.failure(DefaultAlertAction.DELETING);\n }\n })\n .finally(() => {\n this.loader.load(LoaderType.Body, false);\n });\n }\n\n tryDelete() {\n let modal = this.confirmService.confirm(new DeleteModal({\n type: 'SEC_TITLE_SECURITY_GROUP',\n title: this.selectedGroup.titles[this.lang],\n note: 'SEC_GROUP_CONFIRM_DELETE_NOTE',\n dangerNote: 'SEC_GROUP_CONFIRM_DELETE_DANGER_NOTE'\n }));\n modal.then(m => {\n if (m.indexOf('CONFIRMED') > -1)\n this.delete(this.selectedGroup.id);\n });\n }\n\n onSubmit() {\n if (!this.securityGroupForm.valid)\n return Utils.validateAllFormFields(this.securityGroupForm);\n\n this.loader.load(LoaderType.Body);\n const [availableActions, objectsActions] = this.mapCheckboxes();\n\n //console.log(this.selectedGroup);\n const _form = _.cloneDeep(this.selectedGroup);\n\n _form.titles = this.securityGroupForm.controls['titles'].value;\n //_form.descriptions = this.securityGroupForm.controls['descriptions'].value;\n _form.availableActions = availableActions;\n _form.objectsActions = objectsActions;\n _form.isSystemGroup = false;\n\n //console.log(_form);\n if (this.mode == 'ADD') {\n _form.id = null;\n this.securityService.createAccountGroup(_form)\n .then(result => {\n //console.log(result)\n if (result != null) {\n this.alert.success(DefaultAlertAction.ADDING);\n const navigationExtras: NavigationExtras = { state: { id: result } };\n this.router.navigate(['/', this.translate.currentLang, 'security', 'groups'], navigationExtras);\n } else this.alert.failure(DefaultAlertAction.ADDING);\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n else if (this.mode == 'UPDATE') {\n const isDelete = this.securityGroupForm.value.objectsActions.filter(oa => oa != null).length == 0;\n if (isDelete) {\n this.tryDelete();\n }\n else {\n //console.log(_form);\n this.securityService.updateAccountGroup(_form)\n .then(r => {\n if (r) {\n\n this.alert.success(DefaultAlertAction.UPDATING);\n const groupIndex = this.securityGroups.findIndex(g => g.id == _form.id);\n\n\n //add recently saved version to cache\n // console.log(this.securityGroups[groupIndex]);\n\n // //map 'n/a' values \n // const __form = _.cloneDeep(_form);;\n\n // __form.objectsActions.forEach(x)\n\n\n this.securityGroups[groupIndex] = _.cloneDeep(_form);\n } else {\n this.alert.failure(DefaultAlertAction.UPDATING);\n }\n })\n .finally(() => {\n this.loader.load(LoaderType.Body, false);\n this.onSelectGroup(this.selectedGroup.id, 'security/groups');\n });\n }\n }\n\n }\n\n private mapCheckboxes(): [SecurityAction[], ObjectActionDto[]] {\n // console.log(this.securityGroupForm.controls.objectsActions);\n const formArr = this.securityGroupForm.controls.objectsActions as FormArray;\n const availableActions = _.cloneDeep(this.selectedGroup.availableActions);\n const objectsActions = _.cloneDeep(this.selectedGroup.objectsActions);\n\n // console.log(formArr);\n // console.log(availableActions);\n // console.log(objectsActions);\n\n let matrixIndex = 0;\n objectsActions.forEach(oa => {\n const _actions = [...oa.actions];\n //console.log(_actions);\n oa.actions = [];\n availableActions.forEach((action, i) => {\n let val = formArr.controls[matrixIndex++].value;\n\n //let _action = _actions[i] == 0 ? 0 : (val ? action.id : -action.id);\n\n // if (action.id == 2 && oa.securityObject.id == 1) {\n // val = 'value';\n // }\n const _action = _actions[i] == 0 ? 0 : (val ? action.id : -action.id);\n //console.log(_action);\n\n oa.actions.push(_action);\n });\n\n });\n return [availableActions, objectsActions];\n }\n\n // private _loading(status: boolean = true) {\n // this.loading = status;\n // }\n\n\n\n add() {\n this.router.navigate(['/', this.translate.currentLang, 'security', 'groups', 'add']);\n this.ngOnInit();\n }\n undo(mode: string) {\n if (mode == 'ADD')\n this.router.navigate(['/', this.translate.currentLang, 'security', 'groups', 'add']);\n }\n}\n","import { AlertService } from 'src/app/shared/services/alert.service';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { Component, OnInit } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { FormGroup, FormBuilder, Validators, FormArray, FormControl } from '@angular/forms';\nimport { UserSecurityGroupsDto, SecurityGroup, UserDto, UsersSecurityGroupsVm } from '../../models/security-groups.model';\nimport { SecurityService } from '../../services/security.service';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport * as _ from 'lodash';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { UpdateModal } from 'src/app/shared/models/modal';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { Language } from 'src/app/core/models/enums/language';\n\n\n@Component({\n selector: 'mac-users-groups',\n templateUrl: './users-groups.component.html',\n styleUrls: ['./users-groups.component.scss'],\n providers: [SecurityService]\n})\nexport class UsersGroupsComponent implements OnInit {\n usersGroupsForm: FormGroup;\n securityGroups: SecurityGroup[];\n cashedVm: UsersSecurityGroupsVm;\n displayedColumns: any[] = [];\n objectsCol: {};\n dataSource = new MatTableDataSource();\n selections: SelectionModel[] = [];\n loading: boolean;\n langIndex: number = 0;\n\n get displayedColumnsTitles() { return this.displayedColumns.map(c => c.titles[0]/*[this.langIndex]*/); }\n get Role(){\n return Role;\n }\n\n constructor(private fb: FormBuilder,\n private securityService: SecurityService,\n private alert: AlertService,\n private loader: LoadingService,\n private confirmService: ConfirmService,\n public auth: AuthService,\n private translate: TranslateService) { }\n\n\n ngOnInit() {\n this.langIndex = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.langIndex = t.lang == 'ar' ? Language.Arabic : Language.English);\n this.dataSource.data = [];\n this.formInit();\n\n this.objectsCol = { id: 0, titles: [this.langIndex == 0 ? 'المستخدمين': 'Users'] };\n this.displayedColumns = [this.objectsCol];\n\n //fetch data from server\n this.loader.load(LoaderType.Nav);\n this.securityService.getUsersSecurityGroups().then(vm => {\n this.cashedVm = vm;\n this.dataSource = new MatTableDataSource(vm.usersGroups);\n this.securityGroups = vm.availableGroups;\n this.securityGroups.forEach(() => this.selections.push(new SelectionModel(true, [])));\n this.displayedColumns.push(...this.securityGroups);\n this.addCheckboxes(vm.usersGroups);\n }).finally(() => this.loader.load(LoaderType.Nav, false));\n }\n\n isColSelected(groupId: string) {\n const i = this.getGroupIndex(groupId);\n const numSelected = this.selections[i].selected.length;\n const numRows = this.dataSource.data.length - 1; //excluding current user\n\n return numSelected == numRows;\n }\n\n isRowSelected(row: UserSecurityGroupsDto, groupId: string) {\n const i = this.getGroupIndex(groupId);\n return this.selections[i].isSelected(row.user.id + \",\" + groupId);\n }\n\n colToggle(groupId: string) {\n const i = this.getGroupIndex(groupId);\n const colSelected = this.isColSelected(groupId);\n\n this.dataSource.data.filter(d => d.user.id != this.auth.currentUser.userId)\n .forEach((row, _i) => {\n const value = row.user.id + \",\" + groupId;\n const matrixIndex = (this.displayedColumns.length - 1) * _i + i;\n if (!colSelected) {\n if (!this.selections[i].isSelected(value))\n this.cellToggle(row, groupId, matrixIndex);\n this.selections[i].select(value);\n } else {\n this.cellToggle(row, groupId, matrixIndex);\n this.selections[i].deselect(value);\n }\n });\n }\n\n cellToggle(row: UserSecurityGroupsDto, groupId: string, matrixIndex: number) {\n const i = this.getGroupIndex(groupId);\n\n const value = row.user.id + \",\" + groupId;\n let control = (this.usersGroupsForm.controls.usersGroups as FormArray).controls[matrixIndex];\n\n if (!control.disabled) {\n !this.isRowSelected(row, groupId) ?\n control.setValue(value) :\n control.reset();\n\n this.selections[i].toggle(value);\n }\n }\n\n getGroupIndex(groupId: string) {\n return this.securityGroups.findIndex(x => x.id == groupId);\n }\n\n //todo: include confirmation pop-up\n clearSelections() {\n //confirm first\n this.selections.forEach(s => s.clear());\n }\n\n\n onSubmit() {\n let modal = this.confirmService.confirm(new UpdateModal({\n title: 'SEC_LINK_USERS', \n type: 'SEC_TITLE_USERS_GROUPS', \n action: '_ACTION_ASSIGN',\n confirmQuestion: 'SEC_USER_GROUPS_CONFIRM_UPDATE_CONFIRMATION_QUESTION',\n note: 'SEC_USER_GROUPS_CONFIRM_UPDATE_NOTE',\n dangerNote: ' ',\n submitText: '_ACTION_ASSIGN'\n }));\n \n modal.then(m => {\n if (m.indexOf('CONFIRMED') > -1)\n this.update();\n });\n }\n\n private update() {\n this.loader.load(LoaderType.Body);\n const dto = this.mapCheckboxes();\n this.securityService.updateUsersSecurityGroups(dto)\n .then(r => {\n if (r)\n this.alert.success('_ACTION_ASSIGNING');\n else\n this.alert.failure('_ACTION_ASSIGNING');\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n\n private mapCheckboxes() {\n const formArr = this.usersGroupsForm.controls.usersGroups as FormArray;\n const result = new UsersSecurityGroupsVm();\n result.availableGroups = _.cloneDeep(this.cashedVm.availableGroups);\n result.usersGroups = _.cloneDeep(this.cashedVm.usersGroups);\n\n let matrixIndex = 0;\n result.usersGroups.forEach(ug => {\n ug.user.names = [];\n ug.securityGroups = [];\n result.availableGroups.forEach(group => {\n group.titles = group.descriptions = [];\n ug.securityGroups.push(formArr.controls[matrixIndex++].value ? group.id : null);\n });\n });\n return result;\n }\n\n // private _loading(status: boolean = true) {\n // this.loading = status;\n // }\n\n private formInit() {\n this.usersGroupsForm = this.fb.group({\n usersGroups: this.fb.array([])\n });\n }\n\n private addCheckboxes(usersGroups: UserSecurityGroupsDto[], empty: boolean = false) {\n this.clearSelections();\n let matrixIndex = 0;\n let formArray = (this.usersGroupsForm.controls.usersGroups as FormArray);\n formArray.clear();\n usersGroups.forEach((ug, i) => {\n ug.securityGroups.forEach((groupId, _i) => {\n const value = !empty && groupId ? ug.user.id + \",\" + groupId : null;\n\n const control = ug.user.id == this.auth.currentUser.userId \n || !this.auth.currentUser.isInRole(Role.USERS_SECURITY_GROUPS_UPDATE) ?\n new FormControl({ value: value, disabled: true })\n : new FormControl(value);\n formArray.push(control);\n\n if (!empty && groupId)\n this.cellToggle(ug, groupId, matrixIndex);\n\n matrixIndex++;\n });\n });\n }\n\n}\n","export class SecurityGroupsVm {\n groups: SecurityGroupDto[];\n}\n\nexport class SecurityGroupsLookupVm {\n groups: SecurityGroupLookupDto[];\n}\n\nexport class SecurityRolesVm {\n availableActions: SecurityAction[];\n objectsActions: ObjectActionDto[];\n}\n\nexport class UsersSecurityGroupsVm {\n availableGroups: SecurityGroup[];\n usersGroups: UserSecurityGroupsDto[];\n}\n\nexport class UserSecurityGroupsDto {\n user: UserDto;\n securityGroups: string[];\n}\n\nexport class UserDto {\n id: string;\n names: string[];\n}\n\nexport class SecurityGroupLookupDto {\n id: string;\n titles: string[];\n}\n\nexport class SecurityGroupDto {\n id: string;\n titles: string[];\n descriptions: string[];\n availableActions: SecurityAction[];\n objectsActions: ObjectActionDto[];\n isSystemGroup: boolean;\n}\n\nexport class ObjectActionDto {\n securityObject: SecurityObject;\n actions: number[];\n}\n\nexport interface SecurityAction {\n id: number;\n titles: string[];\n}\n\nexport interface SecurityObject {\n id: number;\n titles: string[];\n}\n\nexport interface SecurityGroup {\n id: string;\n titles: string[];\n descriptions: string[];\n}","import { SecurityGroupsVm, SecurityRolesVm, SecurityGroupDto, SecurityGroupsLookupVm, UsersSecurityGroupsVm } from './../models/security-groups.model';\nimport { Injectable } from '@angular/core';\nimport { ApiHandler } from '../../../core/api-handler';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\n\n@Injectable()\nexport class SecurityService {\n constructor(private api: ApiHandler) { }\n\n public getAccountGroups(lang: Language = null) {\n return this.api.get(EndPoint.SECURITY_GROUPS, null, lang).toPromise();\n }\n\n public getAccountRoles(lang: Language = null) {\n return this.api.get(EndPoint.SECURITY_ROLES, null, lang).toPromise();\n }\n\n public createAccountGroup(dto: SecurityGroupDto) {\n return this.api.create(EndPoint.SECURITY_GROUPS, dto).toPromise();\n }\n\n public updateAccountGroup(dto: SecurityGroupDto) {\n return this.api.update(EndPoint.SECURITY_GROUPS, dto).toPromise();\n }\n\n public deleteAccountGroup(id: string) {\n return this.api.delete(EndPoint.SECURITY_GROUPS, id).toPromise();\n }\n\n public getAccountGroupsLookup(lang: Language = null) {\n return this.api.get(EndPoint.SECURITY_GROUPS_LOOKUP, null, lang).toPromise();\n }\n\n public getUsersSecurityGroups() {\n return this.api.get(EndPoint.SECURITY_USERS_GROUPS).toPromise();\n }\n\n public updateUsersSecurityGroups(dto: UsersSecurityGroupsVm) {\n return this.api.update(EndPoint.SECURITY_USERS_GROUPS, dto).toPromise();\n }\n\n\n public isClaimsApplicable(id: string) {\n return this.api.get(EndPoint.SECURITY_CLAIMS_APPLICABLE, [id]).toPromise();\n }\n\n\n\n\n // validation\n\n //todo: convert to generic method, change language parameter to be global enum\n public validateGroupTitle(title: string, language: number) {\n //todo: implement async validation generic on one controller\n }\n}","import { CollectionViewer, DataSource } from \"@angular/cdk/collections\";\nimport { Observable, BehaviorSubject, of } from 'rxjs';\nimport { catchError, finalize, filter } from 'rxjs/operators';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { UsersService } from './users.service';\nimport { UserDto, UsersVm } from '../models/user';\nimport { populateAccountsSelect } from 'src/app/shared/helpers/populate-accounts-select';\nimport { AccountMetaDto } from '../../accounts/models/account';\n\n\nexport class UsersDataSource implements DataSource {\n // add variables to hold the data and number of total records retrieved asynchronously\n // BehaviourSubject type is used for this purpose\n public UsersSubject = new BehaviorSubject([]);\n public ParentsSubject = new BehaviorSubject([]);\n\n // to show the total number of records\n public countSubject = new BehaviorSubject(0);\n public counter$ = this.countSubject.asObservable();\n\n constructor(private usersService: UsersService, private loader: LoadingService) {\n\n }\n\n loadUsers(pageIndex: number, pageSize: number, sort: string, direction: string, filter: string = '', accountId: number = 0) {\n this.usersService.getUsers(pageIndex, pageSize, sort, direction, filter, accountId)\n .pipe(\n catchError(() => of([])),\n finalize(() => { })\n )\n .subscribe((result: UsersVm) => {\n result.users.forEach(user => {\n user.parentAccounts = populateAccountsSelect([user.parentAccounts])[0];\n });\n this.UsersSubject.next(result.users);\n this.ParentsSubject.next(result.parentAccounts);\n this.countSubject.next(result.recordsCount);\n this.loader.load(LoaderType.Nav, false);\n this.loader.load(LoaderType.Body, false);\n });\n }\n\n connect(): Observable {\n return this.UsersSubject.asObservable();\n }\n\n disconnect(collectionViewer: CollectionViewer): void {\n this.UsersSubject.complete();\n this.ParentsSubject.complete();\n this.countSubject.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ApiHandler } from 'src/app/core/api-handler';\nimport { AbstractControl } from '@angular/forms';\nimport { map } from 'rxjs/operators';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\nimport { ValidationDto } from 'src/app/core/models/validation';\nimport { SystemObject } from 'src/app/core/models/enums/system-object';\nimport { UserDto, UsersVm, UserProfileVm, UserMetaVm, UserDataVm } from '../models/user';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class UsersService {\n constructor(private api: ApiHandler) { }\n\n public getUserMeta(lang: Language = null) {\n return this.api.get(EndPoint.SECURITY_USER_META, null, lang).toPromise();\n }\n\n public getUserProfile(lang: Language = null): Promise {\n return this.api.get(EndPoint.SECURITY_USER_PROFILE, null, lang).toPromise();\n }\n\n public updateUserProfile(profile: UserProfileVm) {\n return this.api.update(EndPoint.SECURITY_USER_PROFILE, profile).toPromise();\n }\n\n public getAccountUsers(accountId: number = 0, lang: Language = null): Promise {\n return this.api.get(EndPoint.SECURITY_USERS, accountId, { lang }).toPromise();\n }\n\n public getUsers(pageIndex: number, pageSize: number, sort: string, direction: string, filter: string = '', accountId: number = 0): Observable {\n return this.api.get(EndPoint.SECURITY_USERS, accountId, { pageIndex, pageSize, sort, direction, filter });\n }\n\n public getUserData(id: string, lang: Language = null): Promise {\n return this.api.get(EndPoint.SECURITY_USER, id, lang).toPromise();\n }\n\n public updateUserData(user: UserDto) {\n return this.api.update(EndPoint.SECURITY_USER, user).toPromise();\n }\n\n public createUser(user: UserDto) {\n return this.api.create(EndPoint.SECURITY_USER, user).toPromise();\n }\n\n public deleteUser(id: string) {\n return this.api.delete(EndPoint.SECURITY_USER, id).toPromise();\n }\n\n public updateUserStatus(id: string, active: boolean) {\n return this.api.update(EndPoint.SECURITY_USER, null, [id, active]).toPromise();\n }\n\n\n private duplicatedUsername(username: string) {\n const dto = new ValidationDto();\n dto.objectType = SystemObject.USER;\n dto.value = username;\n\n return this.api.validate(dto);\n }\n\n public validateUsernameNotTaken = (control: AbstractControl) => {\n return this.duplicatedUsername(control.value).pipe(\n map(res => {\n return res ? null : { duplicatedUsername: true };\n }));\n }\n}\n\n\n\n\n\n// export class AccountUserDto {\n// id: string;\n// username: string;\n// name: string;\n// email: string;\n// phoneNumber: string;\n// isActive: boolean;\n// avatar: string;\n// securityGroups: string[];\n// }\n\n","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { ChartDataSets, ChartOptions, ChartLayoutOptions, ChartType } from 'chart.js';\nimport { Color, Label } from 'ng2-charts';\nimport { StatisticsService } from '../../services/statistics.service';\n\n@Component({\n selector: 'mac-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss'],\n providers: [StatisticsService]\n})\nexport class DashboardComponent implements OnInit {\n\n lineChartData: ChartDataSets[] = [{ data: [] }];\n // [\n // { data: [133, 59, 280, 81, 56, 55, 40, 59, 280, 81, 120, 552], label: 'رخصة دولية' },\n // { data: [59, 280, 81, 56, 55, 40, 59, 280, 81, 120, 552, 133], label: 'دفتر تربتيك يمني' },\n // { data: [280, 81, 56, 55, 40, 59, 280, 81, 120, 552, 133, 59], label: 'دفتر تربتيك دولي' },\n\n // ];\n lineChartLabels: Label[] = []; //['July-19', 'August-19', 'September-19', 'October-19', 'November-19', 'December-19', 'January 20', 'February-20', 'March-20', 'April-20', 'May-20', 'June-20'];\n lineChartOptions: (ChartOptions & { annotation: any }) = {\n responsive: true,\n annotation: null\n };\n lineChartColors: Color[] = [\n {\n borderColor: '#038fde',\n backgroundColor: '#038fdebf'\n },\n {\n borderColor: '#dc3545'\n },\n {\n borderColor: '#28a745'\n },\n ];\n lineChartLegend = true;\n lineChartType: ChartType = 'bar';\n lineChartPlugins = [];\n\n constructor(private loader: LoadingService,\n private statisticsService: StatisticsService) { }\n\n ngOnInit() {\n this.loader.load(LoaderType.Nav, false);\n // //this.loader.load(LoaderType.Body);\n // this.statisticsService\n // .getIssuingsPerMonth()\n // .then(result => {\n // this.lineChartLabels = result.lineChartLabels.map(d => d.monthLabel);\n // this.lineChartData = result.dataSets.map(d => { return { data: d.issuings, label: d.stockType.titles[0] } });\n // })\n // .finally(() => {\n // //setTimeout(() => {\n // this.loader.load(LoaderType.Nav, false);\n // //document.getElementsByTagName('mac-dashboard')[0].parentElement.parentElement.style.display = 'none';\n // //}, 1000);\n // });\n \n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n document.getElementsByTagName('mac-dashboard')[0].parentElement.parentElement.setAttribute('hidden', 'hidden');\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ApiHandler } from 'src/app/core/api-handler';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\nimport { IssuingsPerMonthVm } from '../models/statistics.model';\n\n@Injectable()\nexport class StatisticsService {\n constructor(private api: ApiHandler) { }\n\n getIssuingsPerMonth() {\n return this.api.get(EndPoint.STATISTICS_ISSUINGS_PER_MONTH).toPromise();\n }\n}\n\n","import { Component, OnInit, ElementRef } from '@angular/core';\nimport { TransactionDto } from '../../models/transactions';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Utils } from 'src/app/shared/services/utils';\n\n@Component({\n selector: 'mac-lic-transactions-print',\n templateUrl: './lic-transactions-print.component.html',\n styleUrls: ['./lic-transactions-print.component.scss']\n})\nexport class LicTransactionsPrintComponent implements OnInit {\n\n transaction: TransactionDto;\n receiptTemplate: string;\n transactionLevel: number;\n\n constructor(private elRef: ElementRef, public translate: TranslateService) { }\n\n ngOnInit(): void {\n }\n\n print(transaction: TransactionDto) {\n this.transaction = transaction;\n this.transactionLevel = transaction.fromAccountId && transaction.toAccountId ? 1 : 0;\n this.receiptTemplate = `/assets/images/StockTransactionsReceipt${this.transactionLevel}-${this.translate.currentLang}.jpeg`;\n\n setTimeout(() => {\n const printHtmlContent = this.elRef.nativeElement.innerHTML;// document.getElementById('stockReceipt').innerHTML;\n Utils.printHtml(printHtmlContent);\n }, 500);\n }\n\n}\n","import { TranslateService } from '@ngx-translate/core';\nimport { Component, OnInit, ViewChild, ElementRef, Input } from '@angular/core';\nimport { LoaderType } from 'src/app/shared/services/loading';\nimport * as noUiSlider from 'nouislider';\nimport * as wNumb from 'wnumb';\nimport { StockRange } from '../../models/stock-range';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { TransactionLabelDetails } from '../../models/transaction-label-details';\n\nexport class Range {\n from: number;\n to: number;\n count: number;\n}\n\n\n\n@Component({\n selector: 'mac-stock-slider',\n templateUrl: './stock-slider.component.html',\n styleUrls: ['./stock-slider.component.scss']\n})\nexport class StockSliderComponent implements OnInit {\n\n transactionDetails: TransactionLabelDetails = {};\n\n count: number = 1;\n startRange = 0;\n fromRange: number;\n toRange: number;\n @Input() selectedStock: number[];\n @ViewChild('slider', { static: true }) slider: ElementRef;\n rangeEnabled: boolean;\n countMin: number = 1;\n countMax: number;\n rangeMin: number;\n rangeMax: number;\n //alertClass: string;\n //operation: string;\n // fromAccount: string = '';\n // toAccount: string = '';\n // stockType: string = '';\n\n _range: number[] = [];// {title: number, value: number}[] = [];\n _rangeCount: number[] = [];\n\n constructor(private translate: TranslateService) { }\n\n ngOnInit() {\n document.querySelector('mat-card').classList.remove('overflow-hidden');\n }\n\n ngAfterViewInit() {\n noUiSlider.create(this.slider.nativeElement, {\n start: [1, 1],\n direction: this.translate.currentLang == 'ar' ? 'rtl' : 'ltr',\n tooltips: [false, false],\n //keyboardSupport: false,\n animate: true,\n animationDuration: 300,\n step: 1,\n connect: true,\n range: {\n 'min': 1,\n 'max': 2\n }\n });\n // disable initially\n //this._rangeEnable(false);\n this.slider.nativeElement.noUiSlider.on('slide', (e) => {\n this.fromRange = parseInt(e[0]);\n this.toRange = parseInt(e[1]);\n this.count = this.toRange - this.fromRange + 1;\n\n this.transactionDetails.fromRange = this.fromRange;\n this.transactionDetails.toRange = this.toRange;\n this.transactionDetails.count = this.count;\n });\n }\n\n resetSlider(value: number = 1) {\n this.slider.nativeElement.noUiSlider.updateOptions({\n start: [value, value],\n tooltips: [false, false],\n range: {\n 'min': value,\n 'max': value + 1\n }\n });\n this._rangeEnable(false);\n }\n\n onSelectRange(range: number[]) {\n\n // console.warn(range);\n // this._range \n this._range = Utils.spreadRange(range);\n this._rangeCount = Utils.spreadRange([1, range[1] - range[0] + 1]);\n\n this.selectedStock = range ? range : this.selectedStock;\n this.fromRange = range[0];\n this.toRange = range.length > 1 ? range[1] : range[0];\n this.count = range.length > 1 ? range[1] - range[0] + 1 : 1;\n this.countMax = this.count;\n this.rangeMin = this.fromRange;\n this.rangeMax = this.toRange;\n\n if (this.count <= 1)\n this.resetSlider(this.fromRange);\n else {\n this._rangeEnable();\n this.slider.nativeElement.noUiSlider.updateOptions({\n start: [this.fromRange, this.toRange],\n //tooltips: [wNumb({ decimal: 0 }), wNumb({ decimal: 0 })],\n range: {\n 'min': this.fromRange,\n 'max': this.toRange\n }\n });\n }\n\n this.transactionDetails.fromRange = this.fromRange;\n this.transactionDetails.toRange = this.toRange;\n this.transactionDetails.count = this.count;\n }\n\n onRangeInput(control: 'from' | 'count' | 'to', value: number) {\n\n this.count = this.count < this.countMin ? this.countMin\n : this.count > this.countMax ? this.countMax\n : this.count;\n\n this.fromRange = this.fromRange < this.rangeMin ? this.rangeMin\n : this.fromRange > this.rangeMax ? this.rangeMax\n : this.fromRange;\n\n this.toRange = this.toRange < this.rangeMin ? this.rangeMin\n : this.toRange > this.rangeMax ? this.rangeMax\n : this.toRange;\n\n if (control == 'from') {\n if ((this.fromRange + this.count - 1) <= this.rangeMax)\n this.toRange = this.fromRange + this.count - 1;\n else {\n this.toRange = this.rangeMax;\n this.count = this.toRange - this.fromRange + 1;\n //this.fromRange -= (this.count - (this.toRange - this.fromRange) - 1);\n }\n } else if (control == 'to') {\n if ((this.toRange - this.count + 1) >= this.rangeMin)\n this.fromRange = this.toRange - this.count;\n else {\n this.fromRange = this.rangeMin;\n this.count = this.toRange - this.fromRange + 1;\n }\n } else {\n //count\n if ((this.fromRange + this.count - 1) <= this.rangeMax)\n this.toRange = this.fromRange + this.count - 1;\n else {\n this.toRange = this.rangeMax;\n this.fromRange -= (this.count - (this.toRange - this.fromRange) - 1);\n }\n }\n\n\n this.transactionDetails.fromRange = this.fromRange;\n this.transactionDetails.toRange = this.toRange;\n this.transactionDetails.count = this.count;\n\n // flush slider\n this.slider.nativeElement.noUiSlider.set([this.fromRange, this.toRange]);\n\n\n // switch (control) {\n // case 'from':\n // // if((this.count + value) <= this.toRange)\n\n\n\n // this.count = this.toRange - this.fromRange + 1;\n // break;\n\n // case 'count':\n // break;\n\n // case 'to':\n\n // this.count = this.toRange - this.fromRange + 1;\n // break;\n // }\n\n // // flush slider\n // this.slider.nativeElement.noUiSlider.set([this.fromRange, this.toRange]);\n }\n\n // onRangeInputChange(event) {\n // console.log('from range: ' + this.fromRange);\n // console.log('to range: ' + this.toRange);\n // console.log('count: ' + this.count);\n\n // this.count = this.count < this.countMin ? this.countMin\n // : this.count > this.countMax ? this.countMax\n // : this.count;\n\n // this.fromRange = this.fromRange < this.rangeMin ? this.rangeMin\n // : this.fromRange > this.rangeMax ? this.rangeMax\n // : this.fromRange;\n\n // this.toRange = this.toRange < this.rangeMin ? this.rangeMin\n // : this.toRange > this.rangeMax ? this.rangeMax\n // : this.toRange;\n\n // if (event == 'from') {\n // if ((this.fromRange + this.count - 1) <= this.rangeMax)\n // this.toRange = this.fromRange + this.count - 1;\n // else {\n // this.toRange = this.rangeMax;\n // this.count = this.toRange - this.fromRange + 1;\n // //this.fromRange -= (this.count - (this.toRange - this.fromRange) - 1);\n // }\n // } else if (event == 'to') {\n // if ((this.toRange - this.count + 1) >= this.rangeMin)\n // this.fromRange = this.toRange - this.count;\n // else {\n // this.fromRange = this.rangeMin;\n // this.count = this.toRange - this.fromRange + 1;\n // }\n // } else {\n // //count\n // if ((this.fromRange + this.count - 1) <= this.rangeMax)\n // this.toRange = this.fromRange + this.count - 1;\n // else {\n // this.toRange = this.rangeMax;\n // this.fromRange -= (this.count - (this.toRange - this.fromRange) - 1);\n // }\n // }\n\n // // flush slider\n // this.slider.nativeElement.noUiSlider.set([this.fromRange, this.toRange]);\n // }\n\n private _rangeEnable(value: boolean = true) {\n if (value)\n this.slider.nativeElement.removeAttribute('disabled');\n else\n this.slider.nativeElement.setAttribute('disabled', true);\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'mac-transaction-details-label',\n templateUrl: './transaction-details-label.component.html',\n styleUrls: ['./transaction-details-label.component.scss']\n})\nexport class TransactionDetailsLabelComponent implements OnInit {\n\n @Input() details: any;\n constructor() { }\n\n ngOnInit(): void {\n //console.log(this.details);\n }\n\n}\n","import { Component, OnInit, ElementRef } from '@angular/core';\nimport { TransactionDto } from '../../models/transactions';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Utils } from 'src/app/shared/services/utils';\n\n@Component({\n selector: 'mac-trp-transactions-print',\n templateUrl: './trp-transactions-print.component.html',\n styleUrls: ['./trp-transactions-print.component.scss']\n})\nexport class TrpTransactionsPrintComponent implements OnInit {\n\n transaction: TransactionDto;\n receiptTemplate: string;\n //transactionLevel: number;\n\n constructor(private elRef: ElementRef, public translate: TranslateService) { }\n\n ngOnInit(): void {\n }\n\n print(transaction: TransactionDto) {\n //console.log(transaction);\n this.transaction = transaction;\n //this.transactionLevel = transaction.fromAccountId && transaction.toAccountId ? 1 : 0;\n this.receiptTemplate = `/assets/images/TripTikStockTransactionsReceipt-ar.jpg`;\n\n setTimeout(() => {\n const printHtmlContent = this.elRef.nativeElement.innerHTML;// document.getElementById('stockReceipt').innerHTML;\n Utils.printHtml(printHtmlContent);\n }, 500);\n }\n\n}","import { Component, OnInit, ViewChild, ElementRef, ɵConsole } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { StockSliderComponent } from './../../components/stock-slider/stock-slider.component';\nimport { AvailableStock, AvailableStocksVm } from './../../models/available-stocks';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { StockTypesService } from 'src/app/features/lookups/services/stock-types';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { StocksService } from '../../services/stocks.service';\nimport { PopulateCmd } from '../../models/populate.cmd';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { LookupDto } from 'src/app/features/lookups/models/lookup';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { DeleteModal, DisplayModal } from 'src/app/shared/models/modal';\nimport { StockTypeDto } from 'src/app/features/lookups/models/stock-type';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { FormBuilder, FormGroup, NgForm, Validators } from '@angular/forms';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { _DocumentType } from 'src/app/core/models/enums/document-type';\nimport { TransactionLabelDetails } from '../../models/transaction-label-details';\nimport { numbersOnlyValidator } from 'src/app/shared/services/custom-validators';\n\n@Component({\n selector: 'mac-populate',\n templateUrl: './populate.component.html',\n styleUrls: ['./populate.component.scss'],\n providers: [StockTypesService, StocksService]\n})\nexport class PopulateComponent implements OnInit {\n populate: boolean;\n selectedStock: number[];\n availableStock: AvailableStock;\n stockTypes: StockTypeDto[];\n documentType: _DocumentType;\n form: FormGroup;\n documentTemplateVersions = [1, 2];\n lang: Language;\n availableStockHTML: string;\n reasons: LookupDto[] = [\n { id: -1, titles: ['حذف نهائي', 'Permanent Delete'] },\n { id: 1, titles: ['آخر', 'Other'] }\n ];\n transactionDetails: TransactionLabelDetails = {};\n\n @ViewChild(StockSliderComponent) slider: StockSliderComponent;\n\n get _DocumentType() { return _DocumentType };\n get customReason() { return this.form.get('customReason') }\n get reason() { return this.form.get('reason') }\n get documentTemplateVersion() { return this.form.get('documentTemplateVersion') }\n get fromRange() { return this.form.get('fromRange') }\n get quantity() { return this.form.get('quantity') }\n get stockType() { return this.form.get('stockTypeId') }\n\n constructor(private loader: LoadingService,\n private alert: AlertService,\n private router: Router,\n private translate: TranslateService,\n private auth: AuthService,\n private route: ActivatedRoute,\n private fb: FormBuilder,\n private stockTypesService: StockTypesService,\n private stocksService: StocksService,\n private confirmation: ConfirmService) { }\n\n ngOnInit() {\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n this.populate = this.route.snapshot.data.mode == 'POPULATE';\n this.loader.load(LoaderType.Nav);\n this.formInit();\n\n this.transactionDetails.alertClass = this.populate ? 'success' : 'danger';\n this.transactionDetails.operation = this.populate ? 'STK_TITLE_POPULATE' : 'STK_TITLE_DEPOPULATE';\n\n this.stockTypesService.get(this.lang)\n .then(result => {\n this.stockTypes = result.list;\n }).finally(() => this.loader.load(LoaderType.Nav, false));\n\n if (!this.auth.currentUser.isSystemAccount)\n console.warn('not allowed!');\n }\n\n viewInfo() {\n this.confirmation.confirm(new DisplayModal({\n type: `${this.translate.instant('STK_TITLE_AVAILABLE_STOCKS')} - (${this.stockTypes.find(x => x.id == this.stockType.value).titles})`,\n innerHTML: this.availableStockHTML,\n note: ' '\n }))\n\n }\n\n onChangeFromRange() {\n this.transactionDetails.fromRange = this.fromRange.value;\n this.transactionDetails.toRange = Number(this.fromRange.value) + Number(this.quantity.value) - 1;\n }\n\n onChangeQuantity() {\n this.transactionDetails.count = this.quantity.value;\n this.transactionDetails.toRange = Number(this.fromRange.value) + Number(this.quantity.value) - 1;\n }\n\n onSelectStockType() {\n this.loadSystemAvailableStock();\n\n const stockType = this.stockTypes.find(x => x.id == this.stockType.value)\n this.transactionDetails.stockType = stockType.titles[0];\n this.documentType = stockType.documentType;\n }\n\n onSubmit() {\n if (this.populate) {\n this.reason.setErrors(null);\n this.customReason.setErrors(null);\n if (this.documentType != _DocumentType.TripTikDocument)\n this.documentTemplateVersion.setErrors(null);\n } else {\n this.documentTemplateVersion.setErrors(null);\n if (this.reason.value == -1)\n this.customReason.setErrors(null);\n }\n\n if (!this.form.valid)\n return Utils.validateAllFormFields(this.form);\n\n const cmd: PopulateCmd = {\n stockTypeId: this.stockType.value,\n fromRange: this.fromRange.value,\n toRange: Number(this.fromRange.value) + Number(this.quantity.value) - 1,\n populate: this.populate,\n reason: !this.populate ? this.reason.value && Number(this.reason.value) > 0 ? this.reasons.find(x => x.id == Number(this.reason.value)).titles[this.lang] : this.customReason.value : null,\n isPermanentDelete: !this.populate && this.reason && Number(this.reason.value) < 0,\n documentTemplateVersion: this.populate ? (this.documentTemplateVersion.value ? this.documentTemplateVersion.value : 1) : 0 //todo: check\n }\n\n if (!this.populate) {\n this.confirmation.confirm(new DeleteModal({\n type: 'STK_TITLE_STOCK',\n confirmQuestion: 'STK_DEPOPULATE_CONFIRM_DELETE_CONFIRMATION_QUESTION',\n title: `${cmd.fromRange} - ${cmd.toRange} (${this.stockTypes.find(x => x.id == this.stockType.value).titles})`, // node.titles[this.lang].toString(),\n note: JSON.stringify(this.availableStock)\n })).then(m => {\n if (m.indexOf('CONFIRMED') > -1) {\n this._populate(cmd);\n }\n });\n } else this._populate(cmd);\n }\n\n private formInit() {\n this.form = this.fb.group({\n stockTypeId: ['', [Validators.required]],\n fromRange: ['', [Validators.required, Validators.min(1), numbersOnlyValidator]],\n quantity: ['', [Validators.required, Validators.min(1), numbersOnlyValidator]],\n documentTemplateVersion: ['', [Validators.required]],\n reason: ['', [Validators.required]],\n customReason: ['', [Validators.required]]\n });\n }\n\n private _populate(cmd: PopulateCmd) {\n this.loader.load(LoaderType.Body);\n this.stocksService.populate(cmd)\n .then(result => {\n result ?\n this.alert.success(this.populate ? 'STK_LABEL_TRANSACTION_TYPE_POPULATE' : 'STK_LABEL_TRANSACTION_TYPE_DEPOPULATE')\n : this.alert.failure(this.populate ? 'STK_LABEL_TRANSACTION_TYPE_POPULATE' : 'STK_LABEL_TRANSACTION_TYPE_DEPOPULATE');\n\n if (result)\n this.router.navigate(['/', this.translate.currentLang, 'stocks', 'transactions']);\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n\n private loadSystemAvailableStock() {\n this.loader.load(LoaderType.Body)\n this.stocksService\n .getSystemAvailableStocks(this.stockType.value, this.populate, false)\n .then(data => {\n this.availableStockHTML = this.renderAvailableStockAsHTML(data);\n }).finally(() => this.loader.load(LoaderType.Body, false))\n }\n\n private renderAvailableStockAsHTML(vm: AvailableStocksVm) {\n let ranges = '', singles = '', html = '';\n\n vm.stockTypesAvailableStocks[0].availableStock.forEach(x => {\n if (x[0] > 0)\n x.length > 1 ? ranges += `
  • ${x[0]} - ${x[1]} (${x[1] - x[0] + 1})
  • `\n : singles += `
  • ${x[0]}
  • `;\n });\n\n if (ranges)\n html += `

    ${this.translate.instant('STK_LABEL_RANGES')}:

      ${ranges}
    `;\n\n if (singles)\n html += `

    ${this.translate.instant('STK_LABEL_SINGLES')}:

      ${singles}
    `;\n\n return html;\n }\n}\n\nexport interface StockGroup {\n group: string, label: string, value: number[]\n}","import { TranslateService } from '@ngx-translate/core';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { StockTypeAvailableStocksDto } from '../../models/available-stocks';\nimport { StocksService } from '../../services/stocks.service';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { exportToExcel } from 'src/app/shared/helpers/export-to-excel';\nimport { ActivatedRoute, Router } from '@angular/router';\n//import { StockType } from 'src/app/core/models/enums/stock-type';\nimport { LookupDto } from 'src/app/features/lookups/models/lookup';\nimport { AccountsService } from 'src/app/features/accounts/services/accounts.service';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport * as _ from 'lodash';\n\n@Component({\n selector: 'mac-stocks-available',\n templateUrl: './stocks-available.component.html',\n styleUrls: ['./stocks-available.component.scss'],\n providers: [StocksService, AccountsService]\n})\nexport class StocksAvailableComponent implements OnInit {\n displayedColumns = ['from', 'to', 'count'];\n availableStocks: StockTypeAvailableStocksDto[];\n systemView: boolean;\n accounts: LookupDto[];\n accountId: number;\n\n @ViewChild('tabGroup') tabGroup;\n\n get Math() {\n return Math;\n }\n\n constructor(private stocksService: StocksService,\n private accountsService: AccountsService,\n private loader: LoadingService,\n private route: ActivatedRoute,\n public auth: AuthService,\n public translate: TranslateService,\n private router: Router) { }\n\n async ngOnInit() {\n this.loader.load(LoaderType.Nav);\n try {\n this.accounts = await (await this.accountsService.getChildrenAccountsLookup(!this.auth.currentUser.isSystemAccount ? this.auth.currentUser.accountId : 0)).list;\n } catch { }\n //this.accounts = this.auth.currentUser.isSystemAccount ? await (await this.accountsService.getChildrenAccountsLookup(0, false)).list : [];\n this.accountId = Number(this.route.snapshot.paramMap.get('accountId'));\n this.accountId = Number(this.accountId != 0 ? this.accountId : this.auth.currentUser.accountId);\n this.systemView = this.route.snapshot.data.mode == 'SYSTEM';\n\n //console.log(Number(this.accountId));\n\n this.displayedColumns = ['from', 'to', 'count'];\n\n if (!this.systemView) {\n\n this.stocksService.getAvailableStocks(0, this.accountId)\n .then(d => this.availableStocks = d.stockTypesAvailableStocks)\n .finally(() => this.loader.load(LoaderType.Nav, false));\n\n } else {\n this.displayedColumns.push('available', 'unavailable');\n this.stocksService.getSystemAvailableStocks(0, false, false)\n .then(d => this.availableStocks = d.stockTypesAvailableStocks)\n .finally(() => this.loader.load(LoaderType.Nav, false));\n }\n }\n\n filterWithAccount(id) {\n this.accountId = id;\n this.loader.load(LoaderType.Body);\n this.stocksService.getAvailableStocks(0, this.accountId)\n .then(d => {\n this.availableStocks = d.stockTypesAvailableStocks;\n this.router.navigate([`/${this.translate.currentLang}/stocks/available/${this.accountId}`], { replaceUrl: true });\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n\n\n sumAvailableStocks(availableStock: number[][], all = true) {\n let total = 0;\n availableStock.forEach(item => {\n if (all || (!all && item[0] > 0))\n total += item.length > 1 ? Math.abs(item[1]) - Math.abs(item[0]) + 1 : 1;\n });\n return total;\n }\n\n //serial status == 1 || -1\n sumAvailableStocksFilter(availableStock: number[][], serialStatus: number) {\n let total = 0;\n availableStock.forEach(item => {\n if ((serialStatus == -1 && item[0] < 0) || (serialStatus == 1 && item[0] > 0))\n total += item.length > 1 ? Math.abs(item[1]) - Math.abs(item[0]) + 1 : 1;\n });\n return total;\n }\n\n onSerialStatusChange(status: number) {\n //console.log($event);\n\n // if(status == 1)\n // this.displayedColumns = this.displayedColumns\n\n this.displayedColumns = ['from', 'to', 'count'];\n\n switch (status) {\n case 1:\n this.displayedColumns.push('available');\n break;\n\n case -1:\n this.displayedColumns.push('unavailable');\n break;\n\n default:\n this.displayedColumns.push('available', 'unavailable');\n break;\n }\n this.serialStatus = status;\n\n }\n\n get Number() { return Number; };\n serialStatus: number;\n\n checkBoxChange($event, obj: StockTypeAvailableStocksDto, available: boolean) {\n console.log($event, obj);\n if ($event.checked) {\n\n const test = [...obj.availableStock.filter(x => x[0] > -1)];\n console.log(test);\n obj.availableStock = test;\n\n\n\n }\n }\n\n onExportToExcel(all: boolean = true) {\n let data = _.cloneDeep(all ? this.availableStocks : [this.availableStocks[this.tabGroup.selectedIndex]]);\n\n //data.forEach(d => d.availableStock)\n\n if (this.serialStatus)\n data = data.map(x => {\n x.availableStock = x.availableStock.filter(y => (this.serialStatus == 1 && y[0] > 0) || (this.serialStatus == -1 && y[0] < 0))\n return x;\n })\n\n console.log(data);\n this.exportToExcel(data);\n }\n\n private exportToExcel(data: StockTypeAvailableStocksDto[]) {\n const rows: string[][] = [];\n\n let wscols = [\n { width: 24 },\n { width: 14 },\n { width: 14 },\n { width: 14 }\n ];\n\n let autofilter = { ref: 'A1:D1' };\n\n const headers = [\n this.translate.instant('LKP_FIELD_STOCK_TYPE'),\n `${this.translate.instant('_LABEL_FROM')} ${this.translate.instant('_LABEL_SERIAL')}`,\n `${this.translate.instant('_LABEL_TO')} ${this.translate.instant('_LABEL_SERIAL')}`,\n this.translate.instant('STK_LABEL_QUANTITY')\n ];\n\n if (this.systemView) {\n wscols.push({ width: 14 });\n autofilter = { ref: 'A1:E1' };\n headers.push(`${this.translate.instant('_FIELD_AVAILABLE')} ${this.translate.currentLang == 'ar' ? '؟' : '?'}`)\n }\n\n rows.push(headers);\n // let _total = 0;\n // let _availableTotal = 0;\n\n for (let row of data) {\n for (let stockTypeData of row.availableStock) {\n const _row = [\n row.stockType.titles[0],\n Math.abs(stockTypeData[0]).toString(),\n Math.abs(stockTypeData.length > 1 ? stockTypeData[1] : stockTypeData[0]).toString(),\n (stockTypeData.length > 1 ? stockTypeData[1] - stockTypeData[0] + 1 : 1).toString()\n ];\n\n if (this.systemView)\n _row.push(this.translate.instant(stockTypeData[0] > 0 ? '_ACTION_YES' : '_ACTION_NO'))\n\n rows.push(_row);\n }\n }\n // rows.push([\n // this.translate.instant('_LABEL_TOTAL'),\n // '',\n // '',\n // _total\n // ])\n\n exportToExcel(rows, wscols, autofilter, this.translate.currentLang == 'ar', 'Available-Stocks');\n }\n}\n","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { merge, fromEvent } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport * as moment from 'moment';\nimport { StockTypesService } from 'src/app/features/lookups/services/stock-types';\nimport { StockTotalsDataSource } from './../../helpers/stocks-totals-datasource';\nimport { StocksService } from '../../services/stocks.service';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { AccountStocksTotalsDto } from '../../models/stocks-totals';\nimport { exportToExcel } from 'src/app/shared/helpers/export-to-excel';\nimport { StockTypeDto } from 'src/app/features/lookups/models/stock-type';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { LookupDto } from 'src/app/features/lookups/models/lookup';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AccountsService } from 'src/app/features/accounts/services/accounts.service';\n//import { StockType } from 'src/app/core/models/enums/stock-type';\n\n@Component({\n selector: 'mac-stocks-totals',\n templateUrl: './stocks-totals.component.html',\n styleUrls: ['./stocks-totals.component.scss'],\n providers: [StocksService, StockTypesService, AccountsService]\n})\nexport class StocksTotalsComponent implements OnInit {\n moment = moment;\n displayedColumns: string[] = ['accountTitles', 'received', 'transferedUndone', 'returned', 'transfered', 'issued', 'remainingStocks'];\n dataSource: StockTotalsDataSource;\n stockTypes: StockTypeDto[];\n accounts: LookupDto[];\n accountId: number;\n\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild('filter', { static: true }) filter: ElementRef;\n @ViewChild('filterBtn') filterBtn: ElementRef;\n\n constructor(private loader: LoadingService,\n private stocksService: StocksService,\n private stockTypesService: StockTypesService,\n public auth: AuthService,\n private accountsService: AccountsService,\n private route: ActivatedRoute,\n private router: Router,\n private translate: TranslateService) { }\n\n ngOnInit() {\n this.loader.load(LoaderType.Nav);\n //this.accounts = this.auth.currentUser.isSystemAccount ? await (await this.accountsService.getChildrenAccountsLookup(0, false)).list : [];\n this.accountId = Number(this.route.snapshot.paramMap.get('accountId'));\n this.accountId = Number(this.accountId != 0 ? this.accountId : this.auth.currentUser.accountId);\n\n this.stockTypesService.getAllowed(this.auth.currentUser.accountId)\n .then(result => /*this.stockTypes = result.list.filter(x => x.id == StockType.License)*/this.stockTypes = result.list);\n\n\n // set paginator page size\n this.sort.active = 'accountTitles'; // pre-defined sort col\n this.sort.direction = 'asc';\n this.paginator.pageSize = 25;\n\n this.dataSource = new StockTotalsDataSource(this.stocksService, this.loader);\n this.dataSource.loadStockTotals(this.paginator.pageIndex, this.paginator.pageSize, this.sort.active, this.sort.direction, '', this.accountId);\n //this.dataSource.counter$.subscribe(counter => this.recordsCount = counter);\n }\n async ngAfterViewInit() {\n try {\n this.accounts = await (await this.accountsService.getChildrenAccountsLookup(!this.auth.currentUser.isSystemAccount ? this.auth.currentUser.accountId : 0)).list;\n } catch { }\n\n this.dataSource.counter$\n .pipe(\n tap((count) => {\n this.paginator.length = count;\n })\n ).subscribe();\n\n // when paginator event is invoked, retrieve the related data\n merge(this.paginator.page, this.sort.sortChange)\n .pipe(\n tap(() => this.dataSource.loadStockTotals(this.paginator.pageIndex, this.paginator.pageSize, this.sort.active, this.sort.direction, this.filter.nativeElement.value.trim(), this.accountId))\n ).subscribe(() => this.loader.load(LoaderType.Body));\n\n merge(fromEvent(this.filter.nativeElement, 'search'), fromEvent(this.filterBtn.nativeElement, 'click'))\n .pipe(\n tap(() => {\n this.paginator.pageIndex = 0;\n this.dataSource.loadStockTotals(this.paginator.pageIndex, this.paginator.pageSize, this.sort.active, this.sort.direction, this.filter.nativeElement.value.trim(), this.accountId)\n })\n ).subscribe(() => this.loader.load(LoaderType.Body));\n\n this.dataSource.connect().subscribe(() => {\n this.router.navigate([`/${this.translate.currentLang}/stocks/totals/${this.accountId}`], { replaceUrl: true });\n //this.location.replaceState(`/${this.translate.currentLang}/security/users/list/${this.accountId}`);\n });\n }\n\n // recordsCount: number;\n\n onExportToExcel(all: boolean = true) {\n this.loader.load(LoaderType.Body);\n if (all)//todo: check params\n this.stocksService.getStockTotals(0, this.paginator.length, this.sort.active, this.sort.direction)\n .toPromise()\n .then(data => {\n this.exportToExcel(data.accountsStocksTotals);\n }).finally(() => this.loader.load(LoaderType.Body, false));\n else\n this.dataSource.connect().subscribe(data => {\n this.exportToExcel(data);\n this.loader.load(LoaderType.Body, false);\n }).unsubscribe();\n }\n\n private exportToExcel(data: AccountStocksTotalsDto[]) {\n const wscols = [\n { width: 24 },\n { width: 16 },\n { width: 14 },\n { width: 14 },\n { width: 14 },\n { width: 14 },\n { width: 14 },\n { width: 14 }\n ];\n const autofilter = { ref: 'A1:H1' };\n const rows: string[][] = [];\n\n const headers = [\n this.translate.instant('ACC_FIELD_ACCOUNT_TITLE'),\n this.translate.instant('LKP_FIELD_STOCK_TYPE'),\n this.translate.instant('STK_LABEL_RECEIVED'),\n this.translate.instant('STK_LABEL_TRANSFERED'),\n this.translate.instant('STK_LABEL_ISSUED'),\n this.translate.instant('STK_LABEL_RETURNED'),\n this.translate.instant('STK_LABEL_TRANSFERED_UNDONE'),\n this.translate.instant('STK_LABEL_REMAINING')\n ];\n\n rows.push(headers);\n for (let row of data) {\n for (let stockTypeData of row.stockTypesStocksTotals) {\n rows.push([\n row.accountTitles[0],\n //this.stockTypes.find(st => st.id == stockTypeData.stockTypeId) ? this.stockTypes.find(st => st.id == stockTypeData.stockTypeId).titles[0] : \"N/A\",\n stockTypeData.stockType.titles[0],\n stockTypeData.received.toString(),\n stockTypeData.transfered.toString(),\n stockTypeData.issued.toString(),\n stockTypeData.returned.toString(),\n stockTypeData.transferedUndone.toString(),\n stockTypeData.remainingStocks.toString()\n ]);\n }\n }\n\n exportToExcel(rows, wscols, autofilter, this.translate.currentLang == 'ar', 'Stock-Totals');\n }\n\n filterWithAccount(id) {\n //console.log(id);\n this.accountId = id;\n //this.paginator.pageIndex = 0;\n this.paginator.page.emit({ pageIndex: 0, pageSize: this.paginator.pageSize, length: this.paginator.length });\n // this.dataSource.loadUsers(0, this.paginator.pageSize, this.sort.active, this.sort.direction, '', this.accountId);\n\n }\n\n}\n\n","import { Router } from '@angular/router';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Component, OnInit, ElementRef, ViewChild } from '@angular/core';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { StockTypesService } from 'src/app/features/lookups/services/stock-types';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AvailableStock, AvailableStocksVm } from '../../models/available-stocks';\nimport { StockSliderComponent } from '../../components/stock-slider/stock-slider.component';\nimport { StocksService } from '../../services/stocks.service';\nimport { AccountDto } from 'src/app/features/accounts/models/account';\nimport { AccountsService } from 'src/app/features/accounts/services/accounts.service';\nimport { TransactCmd } from '../../models/transact.cmd';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { DefaultAlertAction } from 'src/app/shared/models/default-alert-action';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { AccountType } from 'src/app/core/models/enums/account-type';\nimport { StockTypeDto } from 'src/app/features/lookups/models/stock-type';\n//import { StockType } from 'src/app/core/models/enums/stock-type';\nimport { Role } from 'src/app/core/models/enums/role';\n\n@Component({\n selector: 'mac-transact',\n templateUrl: './transact.component.html',\n styleUrls: ['./transact.component.scss'],\n providers: [StockTypesService, StocksService, AccountsService]\n})\nexport class TransactComponent implements OnInit {\n selectedStock: number[];\n availableStock: AvailableStock;\n stockTypes: StockTypeDto[];\n _stockTypes: StockTypeDto[] = [];\n stockType: StockTypeDto = { id: 0, titles: [] };\n fromAccounts: any[] = [];\n toAccounts: AccountDto[];\n lang: number;\n fromAccountId: number;\n toAccountId: number;\n defaultStock: number[] = [0];\n\n @ViewChild(StockSliderComponent) slider: StockSliderComponent;\n\n constructor(private loader: LoadingService,\n private router: Router,\n private alert: AlertService,\n private stockTypesService: StockTypesService,\n private stocksService: StocksService,\n private translate: TranslateService,\n private accountsService: AccountsService,\n private auth: AuthService) { }\n\n async ngOnInit() {\n document.querySelector('mat-card').classList.remove('overflow-hidden');\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n this.loader.load(LoaderType.Nav);\n\n\n if (this.auth.currentUser.isSystemAccount && this.auth.currentUser.isInRole(Role.SYSTEM_STOCKS_CREATE)) {\n this.fromAccounts.push({ id: 0, titles: [this.translate.instant('STK_LABEL_PRIMARY_STOCK')] });\n //this.stockTypes = (await this.stockTypesService.get(this.lang)).list;\n }\n\n\n // this.stockTypes = (await this.stockTypesService.getAllowed(this.auth.currentUser.accountId)).list;\n\n\n // //this.stockTypes = (await this.stockTypesService.getAllowed(this.auth.currentUser.accountId)).list.filter(x => x.id == StockType.License);\n // if (this.stockTypes.length == 1)\n // this.stockType = this.stockTypes[0];\n\n this.fromAccounts.push({ id: this.auth.currentUser.accountId, titles: this.auth.currentUser.accountTitles[this.lang] });\n this.fromAccountId = this.fromAccounts[0].id;\n this.onSelectFromAccount();\n }\n\n reset() {\n this.fromAccountId = this.fromAccounts[0].id;\n this.toAccountId = this.toAccounts && this.toAccounts.length > 0 ? this.toAccounts[0].id : null;\n this.stockType = { id: 0, titles: [] };\n this.selectedStock = null;\n }\n\n async onSelectFromAccount() {\n this.loader.load(LoaderType.Body);\n const func = this.auth.currentUser.accountTypeId != AccountType.ReleaseCenter ?\n 'getChildrenAccounts' : 'getAccounts';\n try {\n this.toAccounts = [];\n const accounts = await (await this.accountsService[func](this.fromAccountId)).accounts;\n // .then(d => {\n\n const _accounts = [...accounts]\n .filter(x => x.isActive)\n .map(x => { //todo: filter by lang on server instead\n x.titles = [x.titles[this.lang]]\n return x;\n });\n\n\n\n\n //load stock-types here \n\n if (this.auth.currentUser.isSystemAccount && this.auth.currentUser.isInRole(Role.SYSTEM_STOCKS_CREATE) && this.fromAccountId == 0) {\n this._stockTypes = (await this.stockTypesService.get(this.lang)).list;\n this.stockTypes = [...this._stockTypes];\n }\n else\n this.stockTypes = (await this.stockTypesService.getAllowed(this.auth.currentUser.accountId, true)).list;\n\n //console.log(this.stockTypes);\n\n\n //this.stockTypes = (await this.stockTypesService.getAllowed(this.auth.currentUser.accountId)).list.filter(x => x.id == StockType.License);\n this.stockType = (this.stockTypes.length == 1) ? this.stockTypes[0] : { id: 0, titles: [] };\n\n this.toAccounts = _accounts;\n this.toAccountId = this.toAccounts && this.toAccounts.length > 0 ? this.toAccounts[0].id : null;\n await this.onSelectToAccount();\n\n\n }\n finally {\n // .finally(() => {\n\n this.loader.load(LoaderType.Nav, false);\n this.loader.load(LoaderType.Body, false);\n\n }\n //});\n\n //this.slider.fromAccount = this.fromAccounts.find(a => a.id == this.fromAccountId).titles;\n\n if (this.stockType.id != 0)\n await this.onSelectStockType();\n\n }\n\n async onSelectToAccount() {\n\n if (this.auth.currentUser.isSystemAccount && this.auth.currentUser.isInRole(Role.SYSTEM_STOCKS_CREATE) && this.fromAccountId == 0) {\n const toAccount = this.toAccounts.find(x => x.id == this.toAccountId);\n //filter stock-types\n this.stockTypes = [...this._stockTypes].filter(x => (toAccount.accountTypeId == AccountType.ReleaseCenter && x.isUnifiedRelease)\n || (toAccount.accountTypeId != AccountType.ReleaseCenter && !x.isUnifiedRelease));\n\n\n }\n else {\n //get destination stock-types\n this.accountsService\n this.stockTypes = (await this.stockTypesService.getAllowed(this.toAccountId, true)).list;\n // console.log(this.stockTypes);\n }\n\n\n this.onSelectStockType();\n\n if (this.slider)\n this.slider.transactionDetails.toAccount = this.toAccounts.find(a => a.id == this.toAccountId).titles[this.lang].toString();\n }\n\n //stockType: string = '';\n async onSelectStockType() {\n //this.loader.load(LoaderType.Nav);\n this.loader.load(LoaderType.Body);\n //this.stockType = this.stockTypes.find(s => s.id == this.stockTypeId).titles;\n this.selectedStock = null;\n\n let stock =\n this.auth.currentUser.isSystemAccount && this.fromAccountId == 0 ?\n await this.loadSystemAvailableStock() :\n await this.loadAvailableStock();\n\n\n this.renderAvailableStock(stock);\n\n this.loader.load(LoaderType.Body, false);\n\n\n }\n\n onSelectRange() {\n setTimeout(() => {\n this.slider.transactionDetails.alertClass = 'primary';\n this.slider.transactionDetails.operation = 'STK_TITLE_TRANSACT';\n this.slider.transactionDetails.stockType = this.stockType.titles[0];\n this.slider.transactionDetails.fromAccount = this.fromAccounts.find(a => a.id == this.fromAccountId).titles;\n this.slider.transactionDetails.toAccount = this.toAccounts.find(a => a.id == this.toAccountId).titles[this.lang].toString();\n this.slider.onSelectRange(this.selectedStock);\n });\n }\n\n onSubmit() {\n this.loader.load(LoaderType.Body);\n const cmd: TransactCmd = {\n stockTypeId: this.stockType.id,\n sourceId: this.fromAccountId,\n targetId: this.toAccountId,\n fromRange: this.slider.fromRange,\n toRange: this.slider.toRange\n }\n this.stocksService.transact(cmd)\n .then(result => {\n result ?\n this.alert.success(DefaultAlertAction.TRANSFERING)\n : this.alert.failure(DefaultAlertAction.TRANSFERING);\n\n if (result)\n this.router.navigate(['/', this.translate.currentLang, 'stocks', 'transactions']);\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n\n private loadAvailableStock() {\n return this.stocksService\n .getAvailableStocks(this.stockType.id);\n // .then(data => this.renderAvailableStock(data))\n // .finally(() => {\n // this.loader.load(LoaderType.Body, false);\n // });\n }\n\n private loadSystemAvailableStock() {\n return this.stocksService\n .getSystemAvailableStocks(this.stockType.id);\n // .then(data => this.renderAvailableStock(data))\n // .finally(() => {\n // this.loader.load(LoaderType.Body, false);\n // //this.selectedStock = [0];// [];// [0];// this.availableStock.ranges[0];\n // });\n }\n\n private renderAvailableStock(vm: AvailableStocksVm) {\n this.availableStock = new AvailableStock();\n this.availableStock.singles = [];\n this.availableStock.ranges = [];\n\n vm.stockTypesAvailableStocks[0].availableStock.forEach(s => {\n if (s[0] > 0)\n s.length > 1 ? this.availableStock.ranges.push(s)\n : this.availableStock.singles.push(s);\n });\n }\n}\n","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSelect } from '@angular/material/select';\nimport { MatSort } from '@angular/material/sort';\nimport { merge, fromEvent } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport * as moment from 'moment';\nimport * as _ from 'lodash';\n\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { transactionTypeLocale } from '../../models/transaction-type.enum';\nimport { TransactionsDataSource } from '../../helpers/transactions-datasource';\nimport { TransactionDto } from '../../models/transactions';\nimport { StockTypeDto } from 'src/app/features/lookups/models/stock-type';\nimport { exportToExcel } from 'src/app/shared/helpers/export-to-excel';\nimport { StocksService } from '../../services/stocks.service';\nimport { StockTypesService } from 'src/app/features/lookups/services/stock-types';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { TransactionType } from 'src/app/core/models/enums/transaction-type';\n//import { StockType } from 'src/app/core/models/enums/stock-type';\nimport { LicTransactionsPrintComponent } from '../../components/lic-transactions-print/lic-transactions-print.component';\nimport { TrpTransactionsPrintComponent } from '../../components/trp-transactions-print/trp-transactions-print.component';\nimport { _DocumentType } from 'src/app/core/models/enums/document-type';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { AccountsService } from 'src/app/features/accounts/services/accounts.service';\nimport { AccountDto } from 'src/app/features/accounts/models/account';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { LookupDto } from 'src/app/features/lookups/models/lookup';\nimport { PaginationQuery } from 'src/app/features/issuing/_shared/models/issuing.models';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { AccountType } from 'src/app/core/models/enums/account-type';\n\n@Component({\n selector: 'mac-transactions',\n templateUrl: './transactions.component.html',\n styleUrls: ['./transactions.component.scss'],\n providers: [StocksService, StockTypesService, AccountsService]\n})\nexport class TransactionsComponent implements OnInit {\n moment = moment;\n transactionTypeLocale = transactionTypeLocale;\n displayedColumns: string[] = ['created', 'fromAccountTitles', 'toAccountTitles', 'fromRange', 'toRange', 'count', 'transactionType', 'stockType', 'action'];\n dataSource: TransactionsDataSource;\n stockTypes: StockTypeDto[];\n accounts: LookupDto[];\n transactionTypes: LookupDto[] = [];\n searchForm: FormGroup;\n lang: Language;\n query: any = null;\n\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild('filter', { static: true }) filter: ElementRef;\n @ViewChild('filterBtn') filterBtn: ElementRef;\n\n @ViewChild(MatSelect, { static: true }) stockType: MatSelect;\n\n @ViewChild('licPrintElm') licPrintElm: LicTransactionsPrintComponent;\n @ViewChild('trpPrintElm') trpPrintElm: TrpTransactionsPrintComponent;\n\n\n get TransactionType() { return TransactionType; };\n get Object() { return Object; };\n //get StockType() { return StockType; };\n\n constructor(private loader: LoadingService,\n private stocksService: StocksService,\n private stockTypesService: StockTypesService,\n private translate: TranslateService,\n public auth: AuthService,\n private fb: FormBuilder,\n private accountsService: AccountsService,\n private router: Router,\n private route: ActivatedRoute\n ) { }\n\n ngOnInit() {\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n this.formInit();\n\n this.loader.load(LoaderType.Nav);\n this.stockTypesService.getAllowed().then(result => {\n this.stockTypes = result.list;\n // \n //this.stockTypes = result.list;\n //this.stockTypes.unshift({ id: 0, titles: [[\"الكل\", \"All\"][this.lang]] });\n });\n\n\n //console.log(Object.keys(TransactionType));\n\n const arr = Object.keys(TransactionType).reduce((arr, key) => {\n if (!arr.includes(key) && isNaN(key)) {\n arr.push(TransactionType[key]);\n }\n return arr;\n }, []);\n\n // const x: LookupDto = {id}\n this.transactionTypes = arr.map(elm => {\n id: elm,\n titles: [this.translate.instant(transactionTypeLocale(elm))]\n }).sort((a, b) => b.id - a.id);\n\n this.transactionTypes = this.transactionTypes.filter(x => x.id != TransactionType.Issue)\n\n if (!this.auth.currentUser.isSystemAccount)\n this.transactionTypes = this.transactionTypes.filter(x => x.id != TransactionType.Populate && x.id != TransactionType.Depopulate)\n\n //console.log(this.transactionTypes);\n\n // arr.forEach(element => {\n\n // console.log(TransactionType[element]);\n // console.log(element);\n // });\n\n // console.log(Object.keys(TransactionType).reduce((arr, key) => {\n // if (!arr.includes(key) && !isNaN(key)) {\n // arr.push(TransactionType[key]);\n // }\n // return arr;\n // }, []));\n\n // console.log(TransactionType.Depopulate);\n // console.log(TransactionType[TransactionType.Depopulate]);\n\n // Object.keys(TransactionType).forEach(x => {\n // console.log(x);\n // console.log(TransactionType[x]);\n // })\n\n //if system account, accounts will be fetched from server, otherwise current account details will be fetched from local auth service\n if (this.auth.currentUser.isSystemAccount) {\n this.accountsService.getChildrenAccountsLookup(0, false)\n .then(result => {\n this.accounts = result.list;// populateAccountsSelect(result.list);\n\n //add system accounts (stock, printing-press)\n this.accounts.unshift({ id: AccountType.PrimaryStock, titles: [this.translate.instant('STK_LABEL_PRIMARY_STOCK')] });\n this.accounts.unshift({ id: AccountType.PrintingPress, titles: [this.translate.instant('STK_LABEL_PRINTING_PRESS')] });\n\n }).catch(e => this.searchForm.get('accountId').disable());\n } else {\n this.accounts = [{ id: this.auth.currentUser.accountId, titles: [this.auth.currentUser.accountTitles[this.lang]] }];\n this.searchForm.patchValue({ accountId: this.auth.currentUser.accountId });\n this.searchForm.get('accountId').disable();\n }\n\n this.route.queryParamMap.subscribe(p => {\n //console.warn(p);\n\n if (!p.has('pageIndex')) {\n //console.warn('ready to reload!');\n this.advancedSearchMode = false;\n this.activeFilters = false;\n this.filter.nativeElement.value = '';\n this.paginator.page.emit({ pageIndex: 0, pageSize: this.paginator.pageIndex, length: this.paginator.length });\n }\n });\n\n //let query = null;\n\n if (this.route.snapshot.queryParams.query) {\n this.query = this.route.snapshot.queryParams.query;\n this.filter.nativeElement.value = this.query;\n }\n else if (this.route.snapshot.queryParams.accountId\n || this.route.snapshot.queryParams.stockTypeId\n || this.route.snapshot.queryParams.transactionType\n || this.route.snapshot.queryParams.fromRange\n || this.route.snapshot.queryParams.toRange\n || this.route.snapshot.queryParams.fromDate\n || this.route.snapshot.queryParams.toDate) {\n this.activeFilters = true;\n this.searchForm.patchValue(this.route.snapshot.queryParams);\n\n //fix int for ng-select\n this.searchForm.patchValue({ accountId: !isNaN(this.route.snapshot.queryParams.accountId) ? parseInt(this.route.snapshot.queryParams.accountId) : null });\n\n // this.searchForm.patchValue({countryId: 2});\n // console.log(this.searchForm.value);\n this.query = this.searchForm.value;\n }\n\n this.fetchData(this.query);\n\n // this.sort.active = 'created';\n // this.sort.direction = 'desc';\n // this.paginator.pageSize = 25;\n // this.dataSource = new TransactionsDataSource(this.stocksService, this.loader);\n // this.dataSource.loadTransactions(this.paginator.pageIndex, this.paginator.pageSize, this.sort.active, this.sort.direction);\n }\n\n\n private fetchData(query) {\n this.paginator.pageIndex = this.route.snapshot.queryParams.pageIndex ? this.route.snapshot.queryParams.pageIndex : 0;\n this.paginator.pageSize = this.route.snapshot.queryParams.pageSize ? this.route.snapshot.queryParams.pageSize : 25;\n this.sort.active = this.route.snapshot.queryParams.sort ? this.route.snapshot.queryParams.sort : 'created';\n this.sort.direction = this.route.snapshot.queryParams.dir ? this.route.snapshot.queryParams.dir : 'desc';\n this.dataSource = new TransactionsDataSource(this.stocksService, this.loader, this.translate);\n this.dataSource.loadTransactions({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction }, query);\n }\n\n ngAfterViewInit() {\n this.dataSource.counter$\n .pipe(\n tap((count) => {\n this.paginator.length = count;\n })\n ).subscribe();\n\n merge(this.paginator.page, this.sort.sortChange/*, this.stockType.valueChange*/)\n .pipe(\n tap(() => {\n this.dataSource.loadTransactions({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction },\n this.advancedSearchMode || this.activeFilters ? this.searchForm.value : this.filter.nativeElement.value.trim())\n })\n\n //this.dataSource.loadTransactions(this.paginator.pageIndex, this.paginator.pageSize, this.sort.active, this.sort.direction, this.filter.nativeElement.value.trim(), this.stockType.value))\n ).subscribe(() => this.loader.load(LoaderType.Body));\n\n\n merge(fromEvent(this.filter.nativeElement, 'search'), fromEvent(this.filterBtn.nativeElement, 'click'))\n .pipe(\n tap(() => {\n this.advancedSearchMode = false;\n this.activeFilters = false;\n this.searchForm.reset();\n this.paginator.pageIndex = 0;\n this.dataSource.loadTransactions({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction }, this.filter.nativeElement.value.trim())\n })\n ).subscribe(() => this.loader.load(LoaderType.Body));\n\n // fromEvent(this.filter.nativeElement, 'change')\n // .pipe(\n // tap(() => {\n // this.paginator.pageIndex = 0;\n // this.dataSource.loadTransactions(this.paginator.pageIndex, this.paginator.pageSize, this.sort.active, this.sort.direction, this.filter.nativeElement.value.trim(), this.stockType.value)\n // })\n // ).subscribe(() => this.loader.load(LoaderType.Body));\n\n this.dataSource.connect()\n .subscribe(() => {\n let pagination: PaginationQuery = { pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction };\n let query = this.activeFilters ? this.searchForm.value : this.filter.nativeElement.value.trim();\n this.query = query;\n\n if (this.activeFilters)\n this.router.navigate(['.'], { relativeTo: this.route, queryParams: { ...pagination, ...query }, replaceUrl: true });\n else\n this.router.navigate(['.'], { relativeTo: this.route, queryParams: { ...pagination, query }, replaceUrl: true });\n });\n }\n\n print(row: TransactionDto) {\n switch (row.stockType.documentType) {\n case _DocumentType.DrivingLicense:\n return this.licPrintElm.print(row);\n\n case _DocumentType.TripTikDocument:\n return this.trpPrintElm.print(row);\n }\n }\n\n onExportToExcel(all: boolean = true) {\n this.loader.load(LoaderType.Body);\n if (all)\n this.stocksService[(this.query == null || typeof this.query == 'string') ? 'getTransactions' : 'searchTransactions']({ pageIndex: 0, pageSize: this.paginator.length, sort: this.sort.active, dir: this.sort.direction }, this.query)\n .toPromise()\n .then(data => {\n this.exportToExcel(data.stockTransactions);\n }).finally(() => this.loader.load(LoaderType.Body, false));\n else\n this.dataSource.connect().subscribe(data => {\n this.exportToExcel(data);\n this.loader.load(LoaderType.Body, false);\n }).unsubscribe();\n }\n\n private exportToExcel(data: TransactionDto[]) {\n const wscols = [\n { width: 14 },\n { width: 24 },\n { width: 24 },\n { width: 14 },\n { width: 14 },\n { width: 14 },\n { width: 18 },\n { width: 18 }\n ];\n const autofilter = { ref: 'A1:H1' };\n const rows: string[][] = [];\n\n const headers = [\n this.translate.instant('_LABEL_DATE'),\n `${this.translate.instant('_LABEL_FROM')} ${this.translate.instant('ACC_LABEL_ACCOUNT')}`,\n `${this.translate.instant('_LABEL_TO')} ${this.translate.instant('ACC_LABEL_ACCOUNT')}`,\n `${this.translate.instant('_LABEL_FROM')} ${this.translate.instant('_LABEL_SERIAL')}`,\n `${this.translate.instant('_LABEL_TO')} ${this.translate.instant('_LABEL_SERIAL')}`,\n this.translate.instant('STK_LABEL_QUANTITY'),\n this.translate.instant('STK_LABEL_TRANSACTION_TYPE'),\n this.translate.instant('LKP_FIELD_STOCK_TYPE')\n ];\n\n rows.push(headers);\n for (let row of data) {\n rows.push([\n moment(row.created).format('DD/MM/YYYY'),\n row.fromAccountTitles ? row.fromAccountTitles[0] :\n this.translate.instant(row.transactionType == TransactionType.Populate ?\n 'STK_LABEL_PRINTING_PRESS' : 'STK_LABEL_PRIMARY_STOCK'),\n row.toAccountTitles ? row.toAccountTitles[0] :\n this.translate.instant(row.transactionType == TransactionType.Depopulate ?\n 'STK_LABEL_PRINTING_PRESS' : 'STK_LABEL_PRIMARY_STOCK'),\n row.fromRange.toString(),\n row.toRange.toString(),\n (row.toRange - row.fromRange + 1).toString(),\n this.translate.instant(transactionTypeLocale(row.transactionType)),\n row.stockType.titles[0]\n ]);\n }\n\n exportToExcel(rows, wscols, autofilter, this.translate.currentLang == 'ar', 'Stock-Transactions');\n }\n\n toggleAdvancedSearch() {\n this.advancedSearchMode = !this.advancedSearchMode;\n this.filter.nativeElement.value = '';\n }\n\n\n onSubmit() {\n if (this.fromDate.value && typeof this.fromDate.value == 'object')\n this.fromDate.setValue(Utils.convertToServerDateTimeString(this.fromDate.value));\n\n if (this.toDate.value && typeof this.toDate.value == 'object')\n this.toDate.setValue(Utils.convertToServerDateTimeString(this.toDate.value));\n\n //swap dates\n if (this.fromDate.value && this.toDate.value && new Date(this.fromDate.value) > new Date(this.toDate.value)) {\n let _temp = this.fromDate.value;\n this.fromDate.setValue(this.toDate.value);\n this.toDate.setValue(_temp);\n }\n\n // console.log(this.searchForm.value);\n\n this.activeFilters = true;\n\n\n this.paginator.pageIndex = 0;\n this.paginator.page.emit({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, length: this.paginator.length });\n }\n\n get fromDate() { return this.searchForm.get('fromDate'); };\n get toDate() { return this.searchForm.get('toDate'); };\n // searchForm: FormGroup;\n activeFilters: boolean;\n advancedSearchMode: boolean;\n\n resetSearch() {\n this.advancedSearchMode = false;\n if (this.activeFilters) {\n this.activeFilters = false;\n this.paginator.pageIndex = 0;\n this.paginator.page.emit({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, length: this.paginator.length });\n }\n\n this.activeFilters = false;\n\n setTimeout(() => {\n this.searchForm.reset();\n this.query = null;\n }, 500);\n }\n\n private formInit() {\n //use same validators to filter inputs values\n this.searchForm = this.fb.group({\n fromRange: [''], //regex to match english letters only\n toRange: [''],\n transactionType: [''],\n stockTypeId: [''],\n accountId: [null],\n fromDate: [''],\n toDate: ['']\n });\n }\n}","import { ConfirmService } from './../../../../shared/services/modal.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ResolveUndoCmd } from './../../models/resolve-undo.cmd';\nimport { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { tap } from 'rxjs/operators';\nimport * as moment from 'moment';\nimport { merge, fromEvent } from 'rxjs';\nimport { StocksService } from '../../services/stocks.service';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { UndoRequestsDataSource } from '../../helpers/undo-requests-datasource';\nimport { undoRequestStatusLocale, UndoRequestStatus, UndoRequestDto } from '../../models/undo-requests';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { exportToExcel } from 'src/app/shared/helpers/export-to-excel';\nimport { UpdateModal } from 'src/app/shared/models/modal';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { StockTypeDto } from 'src/app/features/lookups/models/stock-type';\nimport { StockTypesService } from 'src/app/features/lookups/services/stock-types';\nimport { MatSelect } from '@angular/material/select';\nimport { Language } from 'src/app/core/models/enums/language';\n\n@Component({\n selector: 'mac-undo-requests',\n templateUrl: './undo-requests.component.html',\n styleUrls: ['./undo-requests.component.scss'],\n providers: [StocksService, StockTypesService]\n})\nexport class UndoRequestsComponent implements OnInit {\n moment = moment;\n undoRequestStatusLocale = undoRequestStatusLocale;\n displayedColumns: string[] = ['created', 'fromAccountTitles', 'toAccountTitles', 'username', 'range', 'undoRequestStatus', 'stockType', 'reason', 'tools'];\n dataSource: UndoRequestsDataSource;\n stockTypes: StockTypeDto[] = [];\n lang: Language;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild('filter') filter: ElementRef;\n @ViewChild(MatSelect, { static: true }) stockType: MatSelect;\n\n get UndoRequestStatus() {\n return UndoRequestStatus;\n }\n\n constructor(private loader: LoadingService,\n private stocksService: StocksService,\n private stockTypesService: StockTypesService,\n private alert: AlertService,\n private translate: TranslateService,\n private confirmService: ConfirmService,\n public auth: AuthService) { }\n\n ngOnInit() {\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n if (!this.auth.currentUser.isInRole(Role.STOCKS_UNDO_REQUESTS_UPDATE))\n this.displayedColumns.splice(this.displayedColumns.length - 1, 1);\n\n //bug: will take a second to be loaded\n this.stockTypesService.get(this.lang).then(result => this.stockTypes = result.list);\n\n this.loader.load(LoaderType.Nav);\n this.sort.active = 'created';\n this.sort.direction = 'desc';\n this.paginator.pageSize = 10;\n this.dataSource = new UndoRequestsDataSource(this.stocksService, this.loader);\n this.dataSource.loadUndoRequests(this.paginator.pageIndex, this.paginator.pageSize, this.sort.active, this.sort.direction);\n }\n\n ngAfterViewInit() {\n this.dataSource.counter$\n .pipe(\n tap((count) => {\n this.paginator.length = count;\n })\n ).subscribe();\n\n merge(this.paginator.page, this.sort.sortChange)\n .pipe(\n tap(() => this.dataSource.loadUndoRequests(this.paginator.pageIndex, this.paginator.pageSize, this.sort.active, this.sort.direction, this.stockType.value, this.filter.nativeElement.value ? this.filter.nativeElement.value.trim() : null))\n ).subscribe(() => this.loader.load(LoaderType.Body));\n\n merge(fromEvent(this.filter.nativeElement, 'change'), this.stockType.valueChange)\n .pipe(\n tap(() => {\n this.paginator.pageIndex = 0;\n this.dataSource.loadUndoRequests(this.paginator.pageIndex, this.paginator.pageSize, this.sort.active, this.sort.direction, this.stockType.value, this.filter.nativeElement.value.trim())\n })\n ).subscribe(() => this.loader.load(LoaderType.Body));\n }\n\n getUndoRequestStatusClass(status: UndoRequestStatus) {\n switch (status) {\n case UndoRequestStatus.Rejected:\n return `text-danger`;\n\n case UndoRequestStatus.Approved:\n return `text-success`;\n\n default:\n return '';\n }\n }\n\n tryResolveRequest(row: UndoRequestDto, approve: boolean = false) {\n let modal = this.confirmService.confirm(new UpdateModal({\n type: 'STK_TITLE_UNDO_REQUEST',\n confirmQuestion: approve ? 'STK_UNDO_REQUEST_CONFIRM_UPDATE_STATUS_CONFIRMATION_QUESTION_APPROVE' : 'STK_UNDO_REQUEST_CONFIRM_UPDATE_STATUS_CONFIRMATION_QUESTION_REJECT',\n title: row.fromAccountTitles[0],\n action: approve ? '_ACTION_APPROVE' : '_ACTION_REJECT',\n submitText: approve ? '_ACTION_APPROVE' : '_ACTION_REJECT',\n submitClass: approve ? 'btn-warning' : 'btn-danger',\n note: approve ? 'STK_UNDO_REQUEST_CONFIRM_UPDATE_STATUS_APPROVE_NOTE' : 'STK_UNDO_REQUEST_CONFIRM_UPDATE_STATUS_REJECT_NOTE'\n }));\n modal.then(m => {\n if (m.indexOf('CONFIRMED') > -1)\n this.resolveRequest(row.transactionId, row.stockType.id, approve);\n });\n }\n\n onStockTypeChange(stockTypeId) {\n\n }\n\n onExportToExcel(all: boolean = true) {\n this.loader.load(LoaderType.Body);\n if (all)\n this.stocksService.getUndoRequests(0, this.paginator.length, this.sort.active, this.sort.direction)\n .toPromise()\n .then(data => {\n this.exportToExcel(data.undoRequests);\n }).finally(() => this.loader.load(LoaderType.Body, false));\n else\n this.dataSource.connect().subscribe(data => {\n this.exportToExcel(data);\n this.loader.load(LoaderType.Body, false);\n }).unsubscribe();\n }\n\n private resolveRequest(transactionId: number, stockTypeId: number, approve: boolean) {\n this.loader.load(LoaderType.Body);\n const cmd: ResolveUndoCmd = {\n approve: approve,\n stockTypeId: stockTypeId,\n transactionId: transactionId\n }\n this.stocksService.resolveUndo(cmd)\n .then(result => {\n if (result) {\n this.alert.success(approve ? '_ACTION_APPROVING' : '_ACTION_REJECTING');\n const i = this.dataSource.undoRequestsSubject.value.findIndex(i => i.transactionId == cmd.transactionId);\n this.dataSource.undoRequestsSubject.value[i].undoRequestStatus = approve ? UndoRequestStatus.Approved : UndoRequestStatus.Rejected;\n } else this.alert.failure('_ACTION_APPROVING');\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n\n private exportToExcel(data: UndoRequestDto[]) {\n const wscols = [\n { width: 14 },\n { width: 24 },\n { width: 24 },\n { width: 14 },\n { width: 14 },\n { width: 14 },\n { width: 14 },\n { width: 14 },\n { width: 16 },\n { width: 16 }\n ];\n const autofilter = { ref: 'A1:I1' };\n const rows: string[][] = [];\n\n const headers = [\n this.translate.instant('_LABEL_DATE'),\n `${this.translate.instant('_LABEL_FROM')} ${this.translate.instant('ACC_LABEL_ACCOUNT')}`,\n `${this.translate.instant('_LABEL_TO')} ${this.translate.instant('ACC_LABEL_ACCOUNT')}`,\n this.translate.instant('SEC_FIELD_USERNAME'),\n `${this.translate.instant('_LABEL_FROM')} ${this.translate.instant('_LABEL_SERIAL')}`,\n `${this.translate.instant('_LABEL_TO')} ${this.translate.instant('_LABEL_SERIAL')}`,\n this.translate.instant('STK_LABEL_QUANTITY'),\n this.translate.instant('STK_LABEL_UNDO_REQUEST_STATUS'),\n this.translate.instant('LKP_FIELD_STOCK_TYPE'),\n this.translate.instant('_FIELD_REASON')\n ];\n\n rows.push(headers);\n for (let row of data) {\n rows.push([\n moment(row.created).format('DD/MM/YYYY'),\n row.fromAccountTitles[0],\n row.toAccountTitles ? row.toAccountTitles[0] : this.translate.instant('STK_LABEL_PRIMARY_STOCK'),\n row.username ? row.username : '-',\n row.fromRange.toString(),\n row.toRange.toString(),\n (row.toRange - row.fromRange + 1).toString(),\n this.translate.instant(undoRequestStatusLocale(row.undoRequestStatus)),\n row.stockType.titles[0],\n row.reason ? row.reason : '-'\n ]);\n }\n\n exportToExcel(rows, wscols, autofilter, this.translate.currentLang == 'ar', 'Stock-Return-Requests');\n }\n}","import { Router } from '@angular/router';\nimport { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { AvailableStock, AvailableStocksVm } from '../../models/available-stocks';\nimport { StockSliderComponent } from '../../components/stock-slider/stock-slider.component';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { StockTypesService } from 'src/app/features/lookups/services/stock-types';\nimport { StocksService } from '../../services/stocks.service';\nimport { TryUndoCmd } from '../../models/try-undo.cmd';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { LookupDto } from 'src/app/features/lookups/models/lookup';\nimport { StockTypeDto } from 'src/app/features/lookups/models/stock-type';\nimport { FormBuilder, FormGroup, NgForm, FormArray } from '@angular/forms';\nimport { Utils } from 'src/app/shared/services/utils';\n//import { StockType } from 'src/app/core/models/enums/stock-type';\n\n@Component({\n selector: 'mac-undo-try',\n templateUrl: './undo-try.component.html',\n styleUrls: ['./undo-try.component.scss'],\n providers: [StockTypesService, StocksService]\n})\nexport class UndoTryComponent implements OnInit {\n selectedStock: number[];\n availableStock: AvailableStock;\n stockTypes: StockTypeDto[];\n stockType: StockTypeDto = { id: 0, titles: ['', ''] };\n customReason: any;\n reason: LookupDto;\n reasons: LookupDto[] = [\n { id: 1, titles: ['تالف', 'Destroyed'] },\n { id: 2, titles: ['عيوب طباعة', 'Printing Issues'] },\n { id: 0, titles: ['آخر', 'Other'] }\n ];\n lang: Language;\n\n @ViewChild(StockSliderComponent) slider: StockSliderComponent;\n @ViewChild('f', { static: true }) form: NgForm;\n\n get _customReason() { return this.form.controls.customReason }\n get _reason() { return this.form.controls.reason }\n\n constructor(private loader: LoadingService,\n private alert: AlertService,\n private router: Router,\n private stockTypesService: StockTypesService,\n private translate: TranslateService,\n private stocksService: StocksService,\n public auth: AuthService,\n private fb: FormBuilder) { }\n\n ngOnInit() {\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n this.loader.load(LoaderType.Nav);\n this.stockTypesService.getAllowed(this.auth.currentUser.accountId)\n .then(result => {\n //this.stockTypes = result.list.filter(x => x.id == StockType.License);\n this.stockTypes = result.list;\n if (this.stockTypes.length == 1) {\n this.stockType = this.stockTypes[0];\n this.onSelectStockType()\n }\n } /*this.stockTypes = result.list*/)\n .finally(() => this.loader.load(LoaderType.Nav, false));\n }\n ngAfterViewInit() {\n // setTimeout(() => {\n // //console.log(this.form.controls);\n // //console.log(this.form.form.controls);\n // //console.log(Object.keys(this.form.controls))\n // //console.log(this.form.controls.customReason);\n // }, 500);\n\n\n }\n reset() {\n //this.fromAccountId = this.fromAccounts[0].id;\n //this.toAccountId = this.toAccounts[0].id;\n this.stockType = { id: 0, titles: [] };\n this.selectedStock = null;\n this._reason.reset();\n this._customReason.reset();\n }\n\n onSelectStockType() {\n this.selectedStock = null;\n this.loadAvailableStock();\n }\n\n onSelectRange() {\n setTimeout(() => {\n this.slider.transactionDetails.alertClass = 'primary';\n this.slider.transactionDetails.operation = 'STK_TITLE_UNDO';\n this.slider.transactionDetails.stockType = this.stockType.titles[0];\n this.slider.onSelectRange(this.selectedStock);\n });\n }\n\n onSubmit() {\n if (this.reason && this.reason.id > 0)\n this._customReason.setErrors(null);\n\n if (!this.form.valid)\n return Utils.validateAllFormFields(this.form.form);\n\n this.loader.load(LoaderType.Body);\n const cmd: TryUndoCmd = {\n stockTypeId: this.stockType.id,\n fromRange: this.slider.fromRange,\n toRange: this.slider.toRange,\n reason: this.reason && this.reason.id > 0 ? this.reason.titles[this.lang] : this._customReason.value\n //cancel: false //todo: include an undo try cancel request,\n }\n this.stocksService.tryUndo(cmd)\n .then(result => {\n result ?\n this.alert.success(!this.auth.currentUser.isSystemAccount ? '_ACTION_REQUESTING' : 'STK_TITLE_UNDOING')\n : this.alert.failure(!this.auth.currentUser.isSystemAccount ? '_ACTION_REQUESTING' : 'STK_TITLE_UNDOING');\n\n if (result)\n this.router.navigate(['/', this.translate.currentLang, 'stocks', 'transactions']);\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n\n private loadAvailableStock() {\n this.loader.load(LoaderType.Body);\n this.stocksService\n .getAvailableStocks(this.stockType.id)\n .then(data => this.renderAvailableStock(data))\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n\n private renderAvailableStock(vm: AvailableStocksVm) {\n this.availableStock = new AvailableStock();\n this.availableStock.singles = [];\n this.availableStock.ranges = [];\n\n vm.stockTypesAvailableStocks[0].availableStock.forEach(s => {\n s.length > 1 ? this.availableStock.ranges.push(s)\n : this.availableStock.singles.push(s);\n });\n }\n}\n","import { CollectionViewer, DataSource } from \"@angular/cdk/collections\";\nimport { Observable, BehaviorSubject, of } from 'rxjs';\nimport { StocksService } from '../services/stocks.service';\nimport { StocksTotalsVm, AccountStocksTotalsDto } from '../models/stocks-totals';\nimport { catchError, finalize, filter } from 'rxjs/operators';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { populateAccountsSelect } from 'src/app/shared/helpers/populate-accounts-select';\n\n\nexport class StockTotalsDataSource implements DataSource {\n private StockTotalsSubject = new BehaviorSubject([]);\n\n private countSubject = new BehaviorSubject(0);\n public counter$ = this.countSubject.asObservable();\n\n constructor(private stocksService: StocksService,\n private loader: LoadingService) { }\n\n loadStockTotals(pageIndex: number, pageSize: number, sort: string, direction: string, filter: string = '', accountId: number = 0) {\n this.stocksService.getStockTotals(pageIndex, pageSize, sort, direction, filter, accountId)\n .pipe(\n catchError(() => of([])),\n finalize(() => { })\n )\n .subscribe((result: StocksTotalsVm) => {\n result.accountsStocksTotals.forEach(accountStocksTotals => {\n accountStocksTotals.parentAccounts = populateAccountsSelect([accountStocksTotals.parentAccounts])[0];\n });\n this.StockTotalsSubject.next(result.accountsStocksTotals);\n this.countSubject.next(result.recordsCount);\n this.loader.load(LoaderType.Nav, false);\n this.loader.load(LoaderType.Body, false);\n }\n );\n }\n\n connect(): Observable {\n return this.StockTotalsSubject.asObservable();\n }\n\n disconnect(collectionViewer: CollectionViewer): void {\n this.StockTotalsSubject.complete();\n this.countSubject.complete();\n }\n}\n","import { CollectionViewer, DataSource } from \"@angular/cdk/collections\";\nimport { Observable, BehaviorSubject, of } from 'rxjs';\nimport { StocksService } from '../services/stocks.service';\nimport { TransactionsVm, TransactionDto, StockTransactionsSearchQuery } from '../models/transactions';\nimport { catchError, finalize, filter } from 'rxjs/operators';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { PaginationQuery } from '../../issuing/_shared/models/issuing.models';\nimport { populateAccountsSelect } from 'src/app/shared/helpers/populate-accounts-select';\nimport { lookup } from 'dns';\nimport { LookupDto } from '../../lookups/models/lookup';\nimport { TranslateService } from '@ngx-translate/core';\n\n\nexport class TransactionsDataSource implements DataSource {\n // add variables to hold the data and number of total records retrieved asynchronously\n // BehaviourSubject type is used for this purpose\n private TransactionsSubject = new BehaviorSubject([]);\n\n // to show the total number of records\n private countSubject = new BehaviorSubject(0);\n public counter$ = this.countSubject.asObservable();\n\n constructor(private stocksService: StocksService, private loader: LoadingService, private translate: TranslateService) {\n\n }\n\n //loadTransactions(pageIndex: number, pageSize: number, sort: string, direction: string, filter: string = ''/*, stockTypeId: number = 0*/) {\n loadTransactions(pagination: PaginationQuery, query: StockTransactionsSearchQuery | string = null) {\n //this.stocksService.getTransactions(pageIndex, pageSize, sort, direction, filter/*, stockTypeId*/)\n //console.log(query);\n this.stocksService[(query == null || typeof query == 'string') ? 'getTransactions' : 'searchTransactions'](pagination, query)\n .pipe(\n catchError(() => of([])),\n finalize(() => { })\n )\n .subscribe((result: TransactionsVm) => {\n const systemAccountLabel = this.translate.instant('ACC_SYSTEM_ACCOUNT');\n result.stockTransactions.forEach(transaction => {\n transaction.fromAccountParentAccounts = transaction.fromAccountParentAccounts ?\n populateAccountsSelect([transaction.fromAccountParentAccounts])[0]\n : { id: 0, titles: [systemAccountLabel] };\n transaction.toAccountParentAccounts = transaction.toAccountParentAccounts ?\n populateAccountsSelect([transaction.toAccountParentAccounts])[0]\n : { id: 0, titles: [systemAccountLabel] };\n });\n this.TransactionsSubject.next(result.stockTransactions);\n this.countSubject.next(result.recordsCount);\n this.loader.load(LoaderType.Nav, false);\n this.loader.load(LoaderType.Body, false);\n }\n );\n }\n\n connect(): Observable {\n return this.TransactionsSubject.asObservable();\n }\n\n disconnect(collectionViewer: CollectionViewer): void {\n this.TransactionsSubject.complete();\n this.countSubject.complete();\n }\n}\n","import { CollectionViewer, DataSource } from \"@angular/cdk/collections\";\nimport { Observable, BehaviorSubject, of } from 'rxjs';\nimport { StocksService } from '../services/stocks.service';\nimport { catchError, finalize } from 'rxjs/operators';\nimport { UndoRequestsVm, UndoRequestDto } from '../models/undo-requests';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\n\n\nexport class UndoRequestsDataSource implements DataSource {\n\n // add variables to hold the data and number of total records retrieved asynchronously\n // BehaviourSubject type is used for this purpose\n public undoRequestsSubject = new BehaviorSubject([]);\n\n // to show the total number of records\n private countSubject = new BehaviorSubject(0);\n public counter$ = this.countSubject.asObservable();\n\n constructor(private stocksService: StocksService,\n private loader: LoadingService) {\n }\n\n loadUndoRequests(pageIndex: number, pageSize: number, sort: string, direction: string, stockTypeId: number = 0, filter: string = '') {\n this.stocksService.getUndoRequests(pageIndex, pageSize, sort, direction, stockTypeId, filter)\n .pipe(\n catchError(() => of([])),\n finalize(() => { })\n )\n .subscribe((result: UndoRequestsVm) => {\n this.undoRequestsSubject.next(result.undoRequests);\n this.countSubject.next(result.recordsCount);\n this.loader.load(LoaderType.Nav, false);\n this.loader.load(LoaderType.Body, false);\n });\n }\n\n connect(): Observable {\n return this.undoRequestsSubject.asObservable();\n }\n\n disconnect(collectionViewer: CollectionViewer): void {\n this.undoRequestsSubject.complete();\n this.countSubject.complete();\n }\n}\n","export class AvailableStock {\n constructor() {\n this.singles = [];\n this.ranges = [];\n }\n singles: number[][];\n ranges: number[][];\n}\n\nexport class AvailableStocksVm {\n stockTypesAvailableStocks: StockTypeAvailableStocksDto[]\n}\n\nexport class StockTypeAvailableStocksDto {\n availableStock: number[][];\n //unavailableStock: number[][];\n stockType: {\n id: number;\n titles: string[];\n }\n}","import { TransactionType } from 'src/app/core/models/enums/transaction-type';\n\nexport function transactionTypeLocale(type: TransactionType) {\n switch (type) {\n case TransactionType.Depopulate:\n return `STK_TITLE_DEPOPULATE`;\n\n case TransactionType.Return:\n return `STK_TITLE_UNDO`;\n\n case TransactionType.Issue:\n return `STK_LABEL_TRANSACTION_TYPE_ISSUE`;\n\n case TransactionType.Transfer:\n return `STK_TITLE_TRANSACT`;\n\n case TransactionType.Populate:\n return `STK_TITLE_POPULATE`;\n\n default:\n return \"ERROR\";\n }\n}\n","export class UndoRequestsVm {\n undoRequests: [];\n recordsCount: number;\n}\n\nexport class UndoRequestDto {\n transactionId: number;\n fromAccountId: number;\n fromAccountTitles: string[];\n toAccountId: number;\n toAccountTitles: string[];\n username: string;\n fromRange: number;\n toRange: number;\n undoRequestStatus: UndoRequestStatus\n stockType: {\n id: number;\n titles: string[];\n }\n createdBy: string;\n created: Date;\n reason: string;\n}\n\nexport enum UndoRequestStatus {\n Rejected = -2,\n Removed = -1,\n New = 0,\n Approved = 1,\n}\n\nexport function undoRequestStatusLocale(status: UndoRequestStatus) {\n\n let _key = \"_LABEL_UNDO_REQUEST_STATUS_\";\n\n switch (status) {\n case UndoRequestStatus.Rejected:\n return `${_key}REJECTED`;\n\n case UndoRequestStatus.New:\n return `${_key}NEW`;\n\n case UndoRequestStatus.Approved:\n return `${_key}APPROVED`;\n\n case UndoRequestStatus.Removed:\n return `${_key}REMOVED`;\n\n default:\n return \"ERROR\";\n }\n}","import { Injectable } from '@angular/core';\nimport { StockTransactionsSearchQuery, TransactionsVm } from '../models/transactions';\nimport { StocksTotalsVm } from '../models/stocks-totals';\nimport { AvailableStocksVm } from '../models/available-stocks';\nimport { UndoRequestsVm } from '../models/undo-requests';\nimport { ApiHandler } from 'src/app/core/api-handler';\nimport { TransactCmd } from '../models/transact.cmd';\nimport { PopulateCmd } from '../models/populate.cmd';\nimport { TryUndoCmd } from '../models/try-undo.cmd';\nimport { ResolveUndoCmd } from '../models/resolve-undo.cmd';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\nimport { PaginationQuery } from '../../issuing/_shared/models/issuing.models';\n\n\n\n@Injectable()\nexport class StocksService {\n constructor(private api: ApiHandler) { }\n\n getTransactions(pagination: PaginationQuery, query: string = '') {\n return this.api.get(EndPoint.STOCKS_TRANSACTIONS, null, { ...pagination, query });\n }\n\n searchTransactions(pagination: PaginationQuery, query: StockTransactionsSearchQuery) {\n return this.api.get(EndPoint.STOCKS_TRANSACTIONS_SEARCH, null, { ...pagination, ...query });\n }\n\n getStockTotals(pageIndex: number = 0, pageSize: number, sort: string, direction: string, filter: string = '', accountId: number = 0) {\n return this.api.get(EndPoint.STOCKS_TOTALS, accountId, { pageIndex, pageSize, sort, direction, filter });\n }\n\n getUndoRequests(pageIndex: number = 0, pageSize: number, sort: string, direction: string, stockTypeId: number = 0, filter: string = '') {\n return this.api.get(EndPoint.STOCKS_UNDO_REQUESTS, [stockTypeId], { pageIndex, pageSize, sort, direction, filter });\n }\n\n getAvailableStocks(stockTypeId: number = 0, accountId = 0) {\n return this.api.get(EndPoint.STOCKS_AVAILABLE, [stockTypeId, accountId])\n .toPromise();\n }\n\n getSystemAvailableStocks(stockTypeId: number, gaps: boolean = false, threshold: boolean = true) {\n return this.api.get(EndPoint.STOCKS_SYSTEM_AVAILABLE, [stockTypeId, gaps, threshold])\n .toPromise();\n }\n\n transact(cmd: TransactCmd) {\n return this.api.create(EndPoint.STOCKS_TRANSACT, cmd).toPromise();\n }\n\n populate(cmd: PopulateCmd) {\n return this.api.create(EndPoint.STOCKS_POPULATE, cmd).toPromise();\n }\n\n tryUndo(cmd: TryUndoCmd) {\n return this.api.create(EndPoint.STOCKS_UNDO_TRY, cmd).toPromise();\n }\n\n resolveUndo(cmd: ResolveUndoCmd) {\n return this.api.create(EndPoint.STOCKS_UNDO_RESOLVE, cmd).toPromise();\n }\n\n}\n\n","import { Component, OnInit } from '@angular/core';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { CountryDto } from 'src/app/features/lookups/models/country';\nimport { CountriesService } from 'src/app/features/lookups/services/countries';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BloodGroup } from 'src/app/core/models/enums/blood-group';\nimport { IntLicensePermitClass } from 'src/app/core/models/enums/license-permit-class';\nimport { Gender } from 'src/app/core/models/enums/gender';\nimport { StocksService } from 'src/app/features/stock/services/stocks.service';\nimport * as moment from 'moment';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { FileLoaderService } from 'src/app/shared/services/file-loader.service';\nimport * as _ from 'lodash';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { TripTiksClaimsService } from '../../services/trip-tiks-claims.service';\nimport { StockTypeDto } from 'src/app/features/lookups/models/stock-type';\nimport { LookupDto } from 'src/app/features/lookups/models/lookup';\nimport { CurrencyDto } from 'src/app/features/lookups/models/currency';\n//import { StockType } from 'src/app/core/models/enums/stock-type';\nimport { StockTypesService } from 'src/app/features/lookups/services/stock-types';\nimport { CurrenciesService } from 'src/app/features/lookups/services/currencies';\nimport { CustomsPortsService } from 'src/app/features/lookups/services/customs-ports.service';\nimport { PostTripTikClaimCommand } from '../../models/trip-tik-claim.model';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { Router } from '@angular/router';\nimport { DefaultAlertAction } from 'src/app/shared/models/default-alert-action';\nimport { PursuingZonesService } from 'src/app/features/lookups/services/pursuing-zones';\nimport { _DocumentType } from 'src/app/core/models/enums/document-type';\nimport { addressValidator, phoneNumberValidator, triptikNameValidator } from 'src/app/shared/services/custom-validators';\nimport { CustomsPortDto } from 'src/app/features/lookups/models/customs-port';\n\n@Component({\n selector: 'mac-manage-trip-tik-claim',\n templateUrl: './manage-trip-tik-claim.component.html',\n styleUrls: ['./manage-trip-tik-claim.component.scss'],\n providers: [\n CountriesService,\n PursuingZonesService,\n StockTypesService,\n CurrenciesService,\n CustomsPortsService,\n TripTiksClaimsService,\n FileLoaderService]\n})\nexport class ManageTripTikClaimComponent implements OnInit {\n lang: Language;\n form: FormGroup;\n // countries: CountryDto[] = [];\n pursuingZones: LookupDto[] = [];\n stockTypes: StockTypeDto[] = [];\n customsPorts: CustomsPortDto[] = [];\n _customsPorts: CustomsPortDto[] = [];\n claimsCountries: LookupDto[] = [];\n currencies: CurrencyDto[] = [];\n availableSerials: number[];\n //cashedVm: IntLicenseVm;\n //dto: IntLicenseDetailsDto = new IntLicenseDetailsDto();\n updateMode: boolean;\n _loadingGif: string = 'assets/images/Ring-Preloader.gif';\n dateFormat = 'L';\n mode: 'ADD' | 'UPDATE';\n\n\n get moment() { return moment };\n get Object() { return Object };\n get BloodGroup() { return BloodGroup };\n get IntLicensePermitClass() { return IntLicensePermitClass };\n get Gender() { return Gender };\n\n get entranceID() { return this.form.get('entranceID') };\n get entranceDate() { return this.form.get('entranceDate') };\n get serial() { return this.form.get('serial') };\n get stockType() { return this.form.get('stockTypeId') };\n get country() { return this.form.get('countryId') };\n get customsPort() { return this.form.get('customsPortId') };\n get pursuingZone() { return this.form.get('pursuingZoneId') };\n get value() { return this.form.get('value') };\n get currency() { return this.form.get('currencyId') };\n get holderName() { return this.form.get('holderName') };\n get holderAddress() { return this.form.get('holderAddress') };\n get holderPhone() { return this.form.get('holderPhone') };\n\n constructor(private loader: LoadingService,\n private fb: FormBuilder,\n private countriesService: CountriesService,\n private pursuingZonesService: PursuingZonesService,\n private customsPortsService: CustomsPortsService,\n private stockTypesService: StockTypesService,\n private currenciesService: CurrenciesService,\n private triptiksClaimsService: TripTiksClaimsService,\n public translate: TranslateService,\n private alert: AlertService,\n private router: Router,\n private auth: AuthService) { }\n\n async ngOnInit() {\n moment.locale('en-gb');\n document.querySelector('mat-card').classList.remove('overflow-hidden');\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n this.loader.load(LoaderType.Nav);\n this.formInit();\n\n //const tripTikClaimId = this.route.snapshot.paramMap.get('id');\n // this.countries = await (await this.countriesService.get(this.lang)).list;\n\n\n\n await Promise.all([\n this.stockTypesService.getAllowed()\n .then(result => this.stockTypes = result.list.filter(x => x.documentType == _DocumentType.TripTikDocument)),\n this.customsPortsService.get(this.lang)\n .then(result => {\n this._customsPorts = !this.auth.currentUser.isAdministrator ?\n result.list.filter(x => this.auth.currentUser.claimsCountries.indexOf(x.countryId) > -1)\n : result.list;\n\n this.claimsCountries = [...new Map(this._customsPorts.map(item =>\n [item['countryId'], item])).values()].map(x => {\n id: x.countryId,\n titles: x.countryTitles\n });\n\n\n //bind ports later\n\n\n }),\n // this.countriesService.get(this.lang)\n // .then(result => this.countries = result.list),\n this.pursuingZonesService.get(this.lang)\n .then(result => this.pursuingZones = result.list),\n this.currenciesService.get(this.lang)\n .then(result => {\n this.currencies = result.list;\n this.currency.setValue(this.currencies[0].id);\n })\n ]);\n\n\n // if (tripTikClaimId) {\n // this.updateMode = this.mode == 'UPDATE';\n // this.dto = await (await this.tripTiksClaimsService.get(tripTikClaimId)).intLicense;\n\n // if (!this.dto || (this.updateMode && this.dto.issued)) { //will ignore if cloning\n // this.router.navigate([`/${this.translate.currentLang}/not-found`]);\n // return;\n // }\n // if (this.updateMode) {\n // this.availableSerials.unshift(this.dto.serial);\n // } else {\n // if (this.availableSerials.length > 0)\n // this.form.patchValue({ serial: this.availableSerials[0] });\n // else {\n // this.alert.failure(\"LIC_ALERT_NO_STOCK_AVAILABLE\", false);\n // this.form.disable();\n // return;\n // }\n // }\n\n // this.dto.serial = this.updateMode ? this.dto.serial : this.availableSerials[0];\n // this.form.patchValue(this.dto);\n\n // } else {\n // if (this.availableSerials.length > 0)\n // this.form.patchValue({ serial: this.availableSerials[0] });\n // else {\n // this.alert.failure(\"LIC_ALERT_NO_STOCK_AVAILABLE\", false);\n // this.form.disable();\n //}\n //}\n this.loader.load(LoaderType.Nav, false);\n }\n\n fetchCustomsPorts(countryId) {\n this.customsPort.reset();\n\n this.customsPorts = this._customsPorts.filter(x => countryId == x.countryId)\n // this.customsPortsService.get(countryId, this.lang)\n // .then(result => {\n // this.customsPorts = result.list;\n // });\n }\n\n private formInit() {\n this.form = this.fb.group({\n entranceID: ['', [Validators.required, Validators.maxLength(10)]],\n entranceDate: ['', [Validators.required]],\n serial: ['', [Validators.required, Validators.maxLength(10)]],\n stockTypeId: ['', [Validators.required]],\n countryId: [null, [Validators.required]],\n customsPortId: [null, [Validators.required]],\n pursuingZoneId: ['', [Validators.required]],\n value: [''],\n currencyId: [''],\n holderName: ['', [Validators.required, triptikNameValidator, Validators.minLength(5), Validators.maxLength(30)]],\n holderAddress: ['', [addressValidator]],\n holderPhone: ['', [phoneNumberValidator]]\n });\n }\n\n onSubmit() {\n\n // if (!this.auth.currentUser.isInRole(Role.TRIPTIKS_CLAIMS_CREATE))\n // return;\n\n //console.log(this.form.value);\n\n if (this.entranceDate.value)\n this.entranceDate.setValue(moment(this.entranceDate.value).format());\n\n for (let c in this.form.controls) {\n // console.log(c);\n // console.log(this.form.controls[c].value);\n // console.log(typeof this.form.controls[c].value);\n if (this.form.controls[c].value && typeof this.form.controls[c].value == 'string')\n this.form.controls[c].setValue(this.form.controls[c].value.trim());\n\n }\n\n if (!this.form.valid)\n return Utils.validateAllFormFields(this.form);\n\n this.loader.load(LoaderType.Body);\n\n const cmd = this.form.value as PostTripTikClaimCommand;\n\n this.triptiksClaimsService.create(cmd)\n .then(id => {\n if (id) {\n this.alert.success(DefaultAlertAction.ADDING);\n setTimeout(() => {\n this.router.navigate(['/', this.translate.currentLang, 'trip-tiks-claims']);\n }, 1000);\n } else this.alert.failure(DefaultAlertAction.ADDING);\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n}","import { Component, OnInit } from '@angular/core';\nimport { TripTiksClaimsService } from '../../services/trip-tiks-claims.service';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { ActivatedRoute } from '@angular/router';\nimport { TripTikClaimAttachmentDto } from '../../models/trip-tik-claim.model';\nimport { FileLoaderService } from 'src/app/shared/services/file-loader.service';\n\n@Component({\n selector: 'mac-trip-tik-claim-attachments',\n templateUrl: './trip-tik-claim-attachments.component.html',\n styleUrls: ['./trip-tik-claim-attachments.component.scss'],\n providers: [TripTiksClaimsService, FileLoaderService]\n})\nexport class TripTikClaimAttachmentsComponent implements OnInit {\n\n displayedColumns = ['created', 'createdBy', 'name', 'tools'];\n dataSource: TripTikClaimAttachmentDto[] = [];\n tripTikClaimEntranceID: string;\n\n constructor(private loader: LoadingService,\n private tripTiksClaimsService: TripTiksClaimsService,\n private route: ActivatedRoute,\n private fileLoader: FileLoaderService) { }\n\n ngOnInit(): void {\n this.loader.load(LoaderType.Nav);\n const tripTikClaimId = this.route.snapshot.paramMap.get('id');\n\n this.tripTiksClaimsService.getClaimAttachments(tripTikClaimId)\n .then(result => {\n //console.log(result);\n this.tripTikClaimEntranceID = result.tripTikClaimEntranceID;\n\n\n\n result.list.forEach(async att => {\n const file = await this.fileLoader.loadAsync(att.url as string);\n //console.log(att.url, file);\n att.url = file ? file as string : null;\n this.dataSource.push(att);\n });\n\n // for (let i = 0; i < this.dataSource.length; i++) {\n // this.dataSource[i].url = (await this.fileLoader.loadAsync(this.dto.attachments[0] as string)).changingThisBreaksApplicationSecurity;\n // }\n\n\n // this.dto.attachments[0] = (await this.fileLoader.loadAsync(this.dto.attachments[0] as string)).changingThisBreaksApplicationSecurity;\n // this.dto.attachments[1] = (await this.fileLoader.loadAsync(this.dto.attachments[1] as string)).changingThisBreaksApplicationSecurity;\n // this.dto.attachments[2] = (await this.fileLoader.loadAsync(this.dto.attachments[2] as string)).changingThisBreaksApplicationSecurity;\n\n // this.dataSource.forEach(async (att, i) => {\n // att.url = await this.fileLoader.loadAsync(att.url)\n // });\n })\n .finally(() => this.loader.load(LoaderType.Nav, false));\n }\n}\n","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { merge, fromEvent } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport * as moment from 'moment';\nimport * as _ from 'lodash';\n\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { exportToExcel } from 'src/app/shared/helpers/export-to-excel';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { TripTiksClaimsService } from '../../services/trip-tiks-claims.service';\nimport { Gender } from 'src/app/core/models/enums/gender';\nimport { PrintObject } from 'src/app/core/models/enums/print-object';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { DeleteModal, UpdateModal } from 'src/app/shared/models/modal';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { DefaultAlertAction } from 'src/app/shared/models/default-alert-action';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { CountriesService } from 'src/app/features/lookups/services/countries';\nimport { CountryDto } from 'src/app/features/lookups/models/country';\nimport { IntLicensePermitClass } from 'src/app/core/models/enums/license-permit-class';\nimport { populateAccountsSelect } from 'src/app/shared/helpers/populate-accounts-select';\nimport { LookupDto } from 'src/app/features/lookups/models/lookup';\nimport { AccountsService } from 'src/app/features/accounts/services/accounts.service';\nimport { Router, ActivatedRoute } from '@angular/router';\n//import { StockType } from 'src/app/core/models/enums/stock-type';\nimport { TripTiksClaimsDataSource } from '../../services/trip-tiks-claims.datasource';\nimport { PaginationQuery } from 'src/app/features/issuing/_shared/models/issuing.models';\nimport { TripTikClaimDto, TripTikClaimLogDto } from '../../models/trip-tik-claim.model';\nimport { TripTiksClaimsLogsDataSource } from '../../services/trip-tiks-claims-logs.datasource';\nimport { CustomsPortDto } from 'src/app/features/lookups/models/customs-port';\nimport { StockTypeDto } from 'src/app/features/lookups/models/stock-type';\nimport { StockTypesService } from 'src/app/features/lookups/services/stock-types';\nimport { CustomsPortsService } from 'src/app/features/lookups/services/customs-ports.service';\nimport { PursuingZonesService } from 'src/app/features/lookups/services/pursuing-zones';\nimport { TripTikClaimsStatusesService } from 'src/app/features/lookups/services/trip-tik-claims-statuses.service';\nimport { _DocumentType } from 'src/app/core/models/enums/document-type';\nimport { QRCodeErrorCorrectionLevel } from 'angularx-qrcode';\nimport { Utils } from 'src/app/shared/services/utils';\n\n@Component({\n selector: 'mac-trip-tiks-claims-logs',\n templateUrl: './trip-tiks-claims-logs.component.html',\n styleUrls: ['./trip-tiks-claims-logs.component.scss'],\n providers: [\n TripTiksClaimsService,\n TripTikClaimsStatusesService,\n PursuingZonesService,\n AccountsService,\n StockTypesService,\n CustomsPortsService\n ]\n})\nexport class TripTiksClaimsLogsComponent implements OnInit {\n moment = moment;\n //displayedColumns: string[] = ['entranceID', 'created', 'entranceDate', 'name', 'accountTitles', 'serial', 'plateID', 'portTitles', 'followUpCity', 'latestStatus', 'tools'];\n displayedColumns: string[] = ['created', 'createdBy', 'holderName', 'serial', 'stockType', 'issued', 'customsPort', 'latestStatus', 'note'];\n dataSource: TripTiksClaimsLogsDataSource;\n lang: Language;\n advancedSearchMode: boolean;\n pursuingZones: LookupDto[] = [];\n accounts: LookupDto[] = [];\n customsPorts: CustomsPortDto[] = [];\n cities: LookupDto[] = [];\n statuses: LookupDto[] = [];\n stockTypes: StockTypeDto[] = [];\n query: any = null;\n\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild('filter', { static: true }) filter: ElementRef;\n @ViewChild('filterBtn') filterBtn: ElementRef;\n\n get Role() { return Role; };\n get Gender() { return Gender; };\n get PrintObject() { return PrintObject; };\n get IntLicensePermitClass() { return IntLicensePermitClass };\n get Object() { return Object; };\n\n constructor(private loader: LoadingService,\n private tripTiksClaimsService: TripTiksClaimsService,\n private tripTikClaimsStatusesService: TripTikClaimsStatusesService,\n private pursuingZonesService: PursuingZonesService,\n public translate: TranslateService,\n private stockTypesService: StockTypesService,\n private customsPortsService: CustomsPortsService,\n private accountsService: AccountsService,\n public auth: AuthService,\n private fb: FormBuilder,\n private router: Router,\n private route: ActivatedRoute) { }\n\n ngOnInit() {\n document.querySelector('mat-card').classList.remove('overflow-hidden');\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n this.loader.load(LoaderType.Nav);\n this.formInit();\n\n Promise.all([\n this.stockTypesService.get(this.lang)\n .then(result => this.stockTypes = result.list.filter(x => x.documentType == _DocumentType.TripTikDocument)),\n // this.pursuingZonesService.get(this.lang)\n // .then(result => this.pursuingZones = result.list),\n this.pursuingZonesService.get(this.lang)\n .then(result => {\n this.pursuingZones = !this.auth.currentUser.isAdministrator ?\n result.list.filter(x => this.auth.currentUser.claimsCountries.map(y => Number(y)).indexOf(x.id) > -1)\n : result.list;\n }),\n this.tripTikClaimsStatusesService.get(0, this.lang)\n .then(result => {\n this.statuses = result.list.filter(x => x.parentId).map(item => {\n item.titles = [`${item.parentTitles} - ${item.titles}`];\n return item;\n })\n }),\n this.customsPortsService.get(this.lang)\n .then(result => this.customsPorts = result.list)\n ]);\n\n //if system account, accounts will be fetched from server, otherwise current account details will be fetched from local auth service\n if (this.auth.currentUser.isSystemAccount) {\n this.accountsService.getChildrenAccountsLookup(0, false)\n .then(result => {\n this.accounts = result.list;\n }).catch(e => this.searchForm.get('accountId').disable());\n } else {\n this.accounts = [{ id: this.auth.currentUser.accountId, titles: [this.auth.currentUser.accountTitles[this.lang]] }];\n this.searchForm.patchValue({ accountId: this.auth.currentUser.accountId });\n this.searchForm.get('accountId').disable();\n }\n\n this.route.queryParamMap.subscribe(p => {\n //console.warn(p);\n\n if (!p.has('pageIndex')) {\n //console.warn('ready to reload!');\n this.advancedSearchMode = false;\n this.activeFilters = false;\n this.filter.nativeElement.value = '';\n this.paginator.page.emit({ pageIndex: 0, pageSize: this.paginator.pageIndex, length: this.paginator.length });\n }\n });\n\n //let query = null;\n\n if (this.route.snapshot.queryParams.query) {\n this.query = this.route.snapshot.queryParams.query;\n this.filter.nativeElement.value = this.query;\n }\n else if (this.route.snapshot.queryParams.accountId\n || this.route.snapshot.queryParams.countryId\n || this.route.snapshot.queryParams.stockTypeId\n || this.route.snapshot.queryParams.created\n || this.route.snapshot.queryParams.entranceDate\n || this.route.snapshot.queryParams.entranceID\n || this.route.snapshot.queryParams.holderName\n || this.route.snapshot.queryParams.vehiclePlateID\n || this.route.snapshot.queryParams.customsPortId\n || this.route.snapshot.queryParams.pursuingZoneId\n || this.route.snapshot.queryParams.latestStatusId\n || this.route.snapshot.queryParams.serial) {\n this.activeFilters = true;\n this.searchForm.patchValue(this.route.snapshot.queryParams);\n\n //fix int for ng-select\n this.searchForm.patchValue({ accountId: !isNaN(this.route.snapshot.queryParams.accountId) ? parseInt(this.route.snapshot.queryParams.accountId) : null });\n\n this.query = this.searchForm.value;\n }\n\n this.fetchData(this.query);\n }\n\n ngAfterViewInit() {\n this.dataSource.counter$\n .pipe(\n tap((count) => {\n this.paginator.length = count;\n })\n ).subscribe();\n\n merge(this.paginator.page, this.sort.sortChange)\n .pipe(\n tap(() => {\n this.dataSource.loadTripTiksClaimsLogs({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction },\n this.advancedSearchMode || this.activeFilters ? this.searchForm.value : this.filter.nativeElement.value.trim())\n })\n ).subscribe(() => this.loader.load(LoaderType.Body));\n\n merge(fromEvent(this.filter.nativeElement, 'search'), fromEvent(this.filterBtn.nativeElement, 'click'))\n .pipe(\n tap(() => {\n this.advancedSearchMode = false;\n this.activeFilters = false;\n this.searchForm.reset();\n this.paginator.pageIndex = 0;\n this.dataSource.loadTripTiksClaimsLogs({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction }, this.filter.nativeElement.value.trim())\n })\n ).subscribe(() => this.loader.load(LoaderType.Body));\n\n this.dataSource.connect()\n .subscribe(() => {\n let pagination: PaginationQuery = { pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction };\n let query = this.activeFilters ? this.searchForm.value : this.filter.nativeElement.value.trim();\n this.query = query;\n\n if (this.activeFilters)\n this.router.navigate(['.'], { relativeTo: this.route, queryParams: { ...pagination, ...query }, replaceUrl: true });\n else\n this.router.navigate(['.'], { relativeTo: this.route, queryParams: { ...pagination, query }, replaceUrl: true });\n });\n }\n\n fetchData(query) {\n this.paginator.pageIndex = this.route.snapshot.queryParams.pageIndex ? this.route.snapshot.queryParams.pageIndex : 0;\n this.paginator.pageSize = this.route.snapshot.queryParams.pageSize ? this.route.snapshot.queryParams.pageSize : 25;\n this.sort.active = this.route.snapshot.queryParams.sort ? this.route.snapshot.queryParams.sort : 'created';\n this.sort.direction = this.route.snapshot.queryParams.dir ? this.route.snapshot.queryParams.dir : 'desc';\n this.dataSource = new TripTiksClaimsLogsDataSource(this.tripTiksClaimsService, this.loader);\n this.dataSource.loadTripTiksClaimsLogs({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction }, query);\n }\n\n toggleAdvancedSearch() {\n this.advancedSearchMode = !this.advancedSearchMode;\n this.filter.nativeElement.value = '';\n }\n\n onExportToExcel(all: boolean = true) {\n this.loader.load(LoaderType.Body);\n if (all)\n this.tripTiksClaimsService[(this.query == null || typeof this.query == 'string') ? 'getClaimsLogs' : 'searchClaimsLogs']({ pageIndex: 0, pageSize: this.paginator.length, sort: this.sort.active, dir: this.sort.direction }, this.query)\n .toPromise()\n .then(data => {\n this.exportToExcel(data.list);\n }).finally(() => this.loader.load(LoaderType.Body, false));\n else\n this.dataSource.connect().subscribe(data => {\n this.exportToExcel(data);\n this.loader.load(LoaderType.Body, false);\n }).unsubscribe();\n }\n\n private exportToExcel(data: TripTikClaimLogDto[]) {\n // const wscols = [\n // { width: 12 },\n // { width: 28 },\n // { width: 12 },\n // { width: 18 },\n // { width: 28 },\n // { width: 18 },\n // { width: 18 },\n // { width: 18 },\n // { width: 18 }\n // ];\n // const autofilter = { ref: 'A1:I1' };\n // const rows: string[][] = [];\n\n // const headers = [\n // this.translate.instant('_LABEL_SERIAL'),\n // this.translate.instant('_FIELD_NAME'),\n // this.translate.instant('_LABEL_GENDER'),\n // this.translate.instant('_FIELD_PHONE_NO'),\n // this.translate.instant('ACC_FIELD_ACCOUNT_TITLE'),\n // this.translate.instant('ISS_FIELD_PASSPORT_NUMBER'),\n // this.translate.instant('ISS_LABEL_ISSUE_DATE'),\n // this.translate.instant('ISS_LABEL_PRINT_OBJECT_PRINTED_COUNT', { param: this.translate.instant('LIC_LABEL_PRINT_OBJECT_LICENSE') }),\n // this.translate.instant('ISS_LABEL_PRINT_OBJECT_PRINTED_COUNT', { param: this.translate.instant('LIC_LABEL_PRINT_OBJECT_STICKER') }),\n // ];\n\n // rows.push(headers);\n // for (let row of data) {\n // rows.push([\n // row.serial,\n // row.name,\n // this.translate.instant(row.gender == Gender.Male ? '_LABEL_MALE' : '_LABEL_FEMALE'),\n // row.phoneNumber,\n // row.accountTitles[0],\n // row.passportID,\n // moment(row.issued).format('DD/MM/YYYY'),\n // this.printObjectsCount(row.printLogs, PrintObject.IntLicenseCard),\n // this.printObjectsCount(row.printLogs, PrintObject.IntLicenseSticker)\n // ]);\n // }\n\n // exportToExcel(rows, wscols, autofilter, this.translate.currentLang == 'ar', 'Int-Licenses');\n }\n\n onSubmit() {\n if (this.created.value)\n this.created.setValue(Utils.convertToServerDateTimeString(this.created.value));\n\n if (this.entranceDate.value)\n this.entranceDate.setValue(Utils.convertToServerDateTimeString(this.entranceDate.value));\n\n this.activeFilters = true;\n\n this.paginator.pageIndex = 0;\n this.paginator.page.emit({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, length: this.paginator.length });\n }\n\n get created() { return this.searchForm.get('created'); };\n get entranceDate() { return this.searchForm.get('entranceDate'); };\n searchForm: FormGroup;\n activeFilters: boolean;\n\n resetSearch() {\n this.advancedSearchMode = false;\n if (this.activeFilters) {\n this.activeFilters = false;\n this.paginator.pageIndex = 0;\n this.paginator.page.emit({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, length: this.paginator.length });\n }\n\n this.activeFilters = false;\n\n setTimeout(() => {\n this.searchForm.reset();\n this.query = null;\n }, 500);\n }\n\n private formInit() {\n this.searchForm = this.fb.group({\n accountId: [null],\n stockTypeId: [''],\n serial: [''],\n created: [''],\n entranceDate: [''],\n entranceID: [''],\n holderName: [''],\n vehiclePlateID: [''],\n customsPortId: [''],\n pursuingZoneId: [''],\n latestStatusId: ['']\n });\n }\n}","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { merge, fromEvent } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport * as moment from 'moment';\nimport * as _ from 'lodash';\n\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { exportToExcel } from 'src/app/shared/helpers/export-to-excel';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { TripTiksClaimsService } from '../../services/trip-tiks-claims.service';\nimport { Gender } from 'src/app/core/models/enums/gender';\nimport { PrintObject } from 'src/app/core/models/enums/print-object';\nimport { ConfirmService } from 'src/app/shared/services/modal.service';\nimport { DeleteModal, UpdateModal } from 'src/app/shared/models/modal';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { DefaultAlertAction } from 'src/app/shared/models/default-alert-action';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Role } from 'src/app/core/models/enums/role';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { CountriesService } from 'src/app/features/lookups/services/countries';\nimport { CountryDto } from 'src/app/features/lookups/models/country';\nimport { IntLicensePermitClass } from 'src/app/core/models/enums/license-permit-class';\nimport { populateAccountsSelect } from 'src/app/shared/helpers/populate-accounts-select';\nimport { LookupDto } from 'src/app/features/lookups/models/lookup';\nimport { AccountsService } from 'src/app/features/accounts/services/accounts.service';\nimport { Router, ActivatedRoute } from '@angular/router';\n//import { StockType } from 'src/app/core/models/enums/stock-type';\nimport { TripTiksClaimsDataSource } from '../../services/trip-tiks-claims.datasource';\nimport { PaginationQuery } from 'src/app/features/issuing/_shared/models/issuing.models';\nimport { TripTikClaimDto } from '../../models/trip-tik-claim.model';\nimport { StockTypeDto } from 'src/app/features/lookups/models/stock-type';\nimport { StockTypesService } from 'src/app/features/lookups/services/stock-types';\nimport { CustomsPortDto } from 'src/app/features/lookups/models/customs-port';\nimport { CustomsPortsService } from 'src/app/features/lookups/services/customs-ports.service';\nimport { PursuingZonesService } from 'src/app/features/lookups/services/pursuing-zones';\nimport { TripTikClaimsStatusesService } from 'src/app/features/lookups/services/trip-tik-claims-statuses.service';\nimport { _DocumentType } from 'src/app/core/models/enums/document-type';\nimport { TripTikClaimStatusDto } from 'src/app/features/lookups/models/trip-tik-claim-status';\nimport { isArray } from 'lodash';\nimport { Utils } from 'src/app/shared/services/utils';\n\n@Component({\n selector: 'mac-trip-tiks-claims',\n templateUrl: './trip-tiks-claims.component.html',\n styleUrls: ['./trip-tiks-claims.component.scss'],\n providers: [\n TripTiksClaimsService,\n TripTikClaimsStatusesService,\n AccountsService,\n StockTypesService,\n CustomsPortsService,\n PursuingZonesService\n ]\n})\nexport class TripTiksClaimsComponent implements OnInit {\n moment = moment;\n displayedColumns: string[] = ['entranceID', /*'created',*/ 'entranceDate', 'holderName', 'accountTitles', 'serial', 'stockType', 'vehiclePlateID', 'country', 'customsPort', 'pursuingZone', 'latestStatus', 'tools'];\n dataSource: TripTiksClaimsDataSource;\n lang: Language;\n advancedSearchMode: boolean;\n pursuingZones: LookupDto[] = [];\n accounts: LookupDto[] = [];\n customsPorts: CustomsPortDto[] = [];\n _customsPorts: CustomsPortDto[] = [];\n claimsCountries: LookupDto[] = [];\n stockTypes: StockTypeDto[] = [];\n query: any = null;\n baseStatuses: TripTikClaimStatusDto[] = [];\n nodeStatuses: TripTikClaimStatusDto[] = [];\n\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild('filter', { static: true }) filter: ElementRef;\n @ViewChild('filterBtn') filterBtn: ElementRef;\n\n get Role() { return Role; };\n get Gender() { return Gender; };\n get PrintObject() { return PrintObject; };\n get IntLicensePermitClass() { return IntLicensePermitClass };\n get Object() { return Object; };\n\n constructor(private loader: LoadingService,\n private tripTiksClaimsService: TripTiksClaimsService,\n public translate: TranslateService,\n private confirmService: ConfirmService,\n private alert: AlertService,\n public auth: AuthService,\n private fb: FormBuilder,\n private stockTypesService: StockTypesService,\n private tripTikClaimsStatusesService: TripTikClaimsStatusesService,\n private pursuingZonesService: PursuingZonesService,\n private customsPortsService: CustomsPortsService,\n private accountsService: AccountsService,\n private router: Router,\n private route: ActivatedRoute) { }\n\n async ngOnInit() {\n document.querySelector('mat-card').classList.remove('overflow-hidden');\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n\n this.loader.load(LoaderType.Nav);\n this.formInit();\n\n //if system account, accounts will be fetched from server, otherwise current account details will be fetched from local auth service\n if (this.auth.currentUser.isAdministrator) {\n this.accountsService.getChildrenAccountsLookup(0, false)\n .then(result => {\n this.accounts = result.list;// populateAccountsSelect(result.list);\n }).catch(e => this.searchForm.get('accountId').disable());\n } else {\n // this.accounts = [{ id: this.auth.currentUser.accountId, titles: [this.auth.currentUser.accountTitles[this.lang]] }];\n // this.searchForm.patchValue({ accountId: this.auth.currentUser.accountId });\n // this.searchForm.get('accountId').disable();\n }\n\n this.route.queryParamMap.subscribe(p => {\n if (!p.has('pageIndex')) {\n this.advancedSearchMode = false;\n this.activeFilters = false;\n this.filter.nativeElement.value = '';\n this.paginator.page.emit({ pageIndex: 0, pageSize: this.paginator.pageIndex, length: this.paginator.length });\n }\n });\n\n if (this.route.snapshot.queryParams.query) {\n this.query = this.route.snapshot.queryParams.query;\n this.filter.nativeElement.value = this.query;\n this.statusId = this.route.snapshot.queryParams.statusId\n this.fetchData(this.query);\n }\n else if (this.route.snapshot.queryParams.accountId\n || this.route.snapshot.queryParams.stockTypeId\n || this.route.snapshot.queryParams.fromEntranceDate\n || this.route.snapshot.queryParams.toEntranceDate\n || this.route.snapshot.queryParams.entranceID\n || this.route.snapshot.queryParams.holderName\n || this.route.snapshot.queryParams.vehiclePlateID\n || this.route.snapshot.queryParams.countryId\n || this.route.snapshot.queryParams.customsPortId\n || this.route.snapshot.queryParams.pursuingZoneId\n || this.route.snapshot.queryParams.baseStatusId\n || this.route.snapshot.queryParams.statusId\n || this.route.snapshot.queryParams.serial) {\n this.activeFilters = true;\n\n this.searchForm.patchValue(this.route.snapshot.queryParams);\n\n const _stockTypeId = this.route.snapshot.queryParams.stockTypeId && this.route.snapshot.queryParams.stockTypeId.indexOf(',') > -1 ?\n this.route.snapshot.queryParams.stockTypeId.split(',') : [this.route.snapshot.queryParams.stockTypeId];\n\n const _countryId = this.route.snapshot.queryParams.countryId && this.route.snapshot.queryParams.countryId.indexOf(',') > -1 ?\n this.route.snapshot.queryParams.countryId.split(',') : [this.route.snapshot.queryParams.countryId];\n\n const _customsPortId = this.route.snapshot.queryParams.customsPortId && this.route.snapshot.queryParams.customsPortId.indexOf(',') > -1 ?\n this.route.snapshot.queryParams.customsPortId.split(',') : [this.route.snapshot.queryParams.customsPortId];\n\n if (_countryId) {\n this.onSelectCountry(_countryId);\n }\n\n this.searchForm.patchValue({ stockTypeId: _stockTypeId, countryId: _countryId, customsPortId: _customsPortId });\n\n //fix int for ng-select\n this.searchForm.patchValue({ accountId: !isNaN(this.route.snapshot.queryParams.accountId) ? parseInt(this.route.snapshot.queryParams.accountId) : null });\n\n this.query = this.searchForm.value;\n this.fetchData(this.query);\n } else this.fetchData(this.query);\n\n await Promise.all([\n this.stockTypesService.get(this.lang)\n .then(result =>\n this.stockTypes = result.list.filter(x => x.documentType == _DocumentType.TripTikDocument)),\n this.tripTikClaimsStatusesService.get(null, this.lang)\n .then(result => this.baseStatuses = result.list),\n this.pursuingZonesService.get(this.lang)\n .then(result => this.pursuingZones = result.list),\n this.customsPortsService.get(0, this.lang)\n .then(result => {\n this._customsPorts = !this.auth.currentUser.isAdministrator ?\n result.list.filter(x => this.auth.currentUser.claimsCountries.indexOf(x.countryId) > -1)\n : result.list;\n\n this.claimsCountries = [...new Map(this._customsPorts.map(item =>\n [item['countryId'], item])).values()].map(x => {\n id: x.countryId,\n titles: x.countryTitles\n });\n })\n ]);\n }\n\n ngAfterViewInit() {\n this.dataSource.counter$\n .pipe(\n tap((count) => {\n this.paginator.length = count;\n })\n ).subscribe();\n\n merge(this.paginator.page, this.sort.sortChange)\n .pipe(\n tap(() => {\n this.dataSource.load({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction },\n this.advancedSearchMode || this.activeFilters ? this.searchForm.value : this.filter.nativeElement.value.trim(), this.statusId, this.pursuingZoneId)\n })\n ).subscribe(() => this.loader.load(LoaderType.Body));\n\n merge(fromEvent(this.filter.nativeElement, 'search'), fromEvent(this.filterBtn.nativeElement, 'click'))\n .pipe(\n tap(() => {\n this.advancedSearchMode = false;\n this.activeFilters = false;\n this.searchForm.reset();\n this.paginator.pageIndex = 0;\n this.dataSource.load({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction }, this.filter.nativeElement.value.trim(), this.statusId, this.pursuingZoneId)\n })\n ).subscribe(() => this.loader.load(LoaderType.Body));\n\n this.dataSource.connect()\n .subscribe(() => {\n let pagination: PaginationQuery = { pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction };\n let query = this.activeFilters ? this.searchForm.value : this.filter.nativeElement.value.trim();\n this.query = query;\n //console.log(this.query);\n if (typeof query == 'object') {\n query.stockTypeId = query.stockTypeId ? query.stockTypeId.toString() : null;\n query.countryId = query.countryId ? query.countryId.toString() : null;\n query.customsPortId = query.customsPortId ? query.customsPortId.toString() : null;\n }\n const statusId = null;//this.status.nativeElement.value;\n this.statusId = statusId;\n const pursuingZoneId = null;// this.pursuingZone.nativeElement.value;\n this.pursuingZoneId = pursuingZoneId;\n\n if (this.activeFilters)\n this.router.navigate(['.'], { relativeTo: this.route, queryParams: { ...pagination, ...query }, replaceUrl: true });\n else\n this.router.navigate(['.'], { relativeTo: this.route, queryParams: { ...pagination, query, statusId, pursuingZoneId }, replaceUrl: true });\n });\n }\n\n statusId?: number;\n pursuingZoneId?: number;\n\n filterWithStatusId(statusId) {\n //console.log(statusId);\n this.statusId = statusId;\n this.paginator.pageIndex = 0;\n this.dataSource.load({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction }, this.filter.nativeElement.value.trim(), this.statusId, this.pursuingZoneId);\n }\n\n filterWithPursuingZoneId(pursuingZoneId) {\n //console.log(pursuingZoneId);\n this.pursuingZoneId = pursuingZoneId;\n this.paginator.pageIndex = 0;\n this.dataSource.load({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction }, this.filter.nativeElement.value.trim(), this.statusId, this.pursuingZoneId);\n }\n\n\n fetchData(query, statusId?: number, pursuingZoneId?: number) {\n // console.log('try fetch')\n this.paginator.pageIndex = this.route.snapshot.queryParams.pageIndex ? this.route.snapshot.queryParams.pageIndex : 0;\n this.paginator.pageSize = this.route.snapshot.queryParams.pageSize ? this.route.snapshot.queryParams.pageSize : 25;\n this.sort.active = this.route.snapshot.queryParams.sort ? this.route.snapshot.queryParams.sort : 'created';\n this.sort.direction = this.route.snapshot.queryParams.dir ? this.route.snapshot.queryParams.dir : 'desc';\n this.dataSource = new TripTiksClaimsDataSource(this.tripTiksClaimsService, this.loader);\n this.dataSource.load({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, sort: this.sort.active, dir: this.sort.direction }, query);\n }\n\n toggleAdvancedSearch() {\n this.advancedSearchMode = !this.advancedSearchMode;\n this.filter.nativeElement.value = '';\n }\n\n delete(dto: TripTikClaimDto) {\n // if (dto.accountId != this.auth.accountId\n // || !this.auth.currentUser.isInRole(Role.INT_LICENSES_DELETE))\n // return;\n\n //delete confirm if not yet issued\n //if (!dto.issued) {\n let modal = this.confirmService.confirm(new DeleteModal({\n type: 'LIC_TITLE_LICENSE',\n title: `${dto.entranceID.toString()}/${dto.holderName}`,\n note: 'LIC_CONFIRM_DELETE_NOTE'\n }));\n\n modal.then(async m => {\n if (m.indexOf('CONFIRMED') > -1)\n this._delete(dto.entranceID);\n });\n // }\n }\n\n private _delete(id: string) {\n this.loader.load(LoaderType.Body);\n this.tripTiksClaimsService.delete(id)\n .then(result => {\n if (result) {\n this.alert.success(DefaultAlertAction.DELETING);\n this.dataSource.TripTiksClaimsSubject.next(this.dataSource.TripTiksClaimsSubject.value.filter(d => d.entranceID != id));\n this.dataSource.countSubject.next(this.dataSource.countSubject.value - 1);\n\n } else this.alert.failure(DefaultAlertAction.DELETING);\n })\n .finally(() => this.loader.load(LoaderType.Body, false));\n }\n\n // onExportToExcel(all: boolean = true) {\n // this.loader.load(LoaderType.Body);\n // if (all)\n // this.tripTiksClaimsService[(this.query == null || typeof this.query == 'string') ? 'getClaims' : 'search']({ pageIndex: 0, pageSize: this.paginator.length, sort: this.sort.active, dir: this.sort.direction }, this.query)\n // .toPromise()\n // .then(data => {\n // this.exportToExcel(data.list);\n // }).finally(() => this.loader.load(LoaderType.Body, false));\n // else\n // this.dataSource.connect().subscribe(data => {\n // this.exportToExcel(data);\n // this.loader.load(LoaderType.Body, false);\n // }).unsubscribe();\n // }\n\n // onSelectNestedStatus(status: number) {\n // console.log(status);\n // if (status == TripTikClaimStatus.Paid) {\n // this.paymentFormInit();\n // } else {\n // Object.keys(this.payment.controls).forEach(ctrl => {\n // this.payment.removeControl(ctrl);\n // });\n // }\n // }\n\n onSelectCountry(countries: number[]) {\n // console.log(countries);\n // console.log(this._customsPorts);\n // console.log(this.customsPorts);\n // if (countries) {\n this.searchForm.get('customsPortId').disable();\n this.customsPorts = this._customsPorts.filter(x => countries.map(y => Number(y)).indexOf(x.countryId) > -1)\n this.searchForm.get('customsPortId').enable();\n\n // console.log(this.searchForm.get('countryId').value);\n\n // }\n }\n\n\n async onSelectStatus(statusId: number) {\n this.searchForm.get('statusId').disable();\n this.nodeStatuses = await (await this.tripTikClaimsStatusesService.get(statusId, this.lang)).list;\n this.searchForm.get('statusId').enable();\n }\n\n\n onExportToExcel(all: boolean = true) {\n this.loader.load(LoaderType.Body);\n if (all)\n this.tripTiksClaimsService[(this.query == null || typeof this.query == 'string') ? 'getClaims' : 'search']({ pageIndex: 0, pageSize: this.paginator.length, sort: this.sort.active, dir: this.sort.direction }, this.query)\n .toPromise()\n .then(data => {\n this.exportToExcel(data.list);\n }).finally(() => this.loader.load(LoaderType.Body, false));\n else\n this.dataSource.connect().subscribe(data => {\n this.exportToExcel(data);\n this.loader.load(LoaderType.Body, false);\n }).unsubscribe();\n }\n\n private exportToExcel(data: TripTikClaimDto[]) {\n const wscols = [\n { width: 12 },\n // { width: 12 },\n { width: 12 },\n { width: 28 },\n { width: 28 },\n { width: 16 },\n { width: 28 },\n { width: 16 },\n { width: 18 },\n { width: 18 },\n { width: 18 },\n { width: 18 },\n ];\n const autofilter = { ref: 'A1:K1' };\n const rows: string[][] = [];\n\n const headers = [\n this.translate.instant('TRP_CLM_FIELD_ENTRANCE_ID'),\n // this.translate.instant('TRP_CLM_FIELD_REGISTRATION_DATE'),\n this.translate.instant('TRP_CLM_FIELD_ENTRANCE_DATE'),\n this.translate.instant('TRP_CLM_FIELD_NAME'),\n this.translate.instant('ACC_FIELD_ACCOUNT_TITLE'),\n this.translate.instant('TRP_FIELD_TRIPTIK_SERIAL'),\n this.translate.instant('TRP_FIELD_TRIPTIK_TYPE'),\n this.translate.instant('TRP_FIELD_PLATE_ID'),\n this.translate.instant('TRP_CLM_LABEL_CLAIM_COUNTRY'),\n this.translate.instant('LKP_FIELD_CUSTOMS_PORT'),\n this.translate.instant('LKP_FIELD_PURSUING_ZONE'),\n this.translate.instant('TRP_CLM_FIELD_LATEST_STATUS')\n ];\n\n rows.push(headers);\n for (let row of data) {\n rows.push([\n row.entranceID,\n moment(row.created).format('DD/MM/YYYY'),\n // moment(row.entranceDate).format('DD/MM/YYYY'),\n row.holderName,\n row.accountTitles ? row.accountTitles[0] : 'N/A',\n row.serial.toString(),\n row.stockType.titles[0],\n row.vehiclePlateID ? row.vehiclePlateID : 'N/A',\n row.country.countryTitles[0],\n row.customsPort ? row.customsPort.titles[0] : 'N/A',\n row.pursuingZone ? row.pursuingZone.titles[0] : 'N/A',\n row.latestStatus ? row.latestStatus.titles[0] : 'N/A'\n ]);\n }\n\n exportToExcel(rows, wscols, autofilter, this.translate.currentLang == 'ar', 'Trip-Tik-Claims');\n }\n\n\n // private exportToExcel(data: TripTikClaimDto[]) {\n // // const wscols = [\n // // { width: 12 },\n // // { width: 28 },\n // // { width: 12 },\n // // { width: 18 },\n // // { width: 28 },\n // // { width: 18 },\n // // { width: 18 },\n // // { width: 18 },\n // // { width: 18 }\n // // ];\n // // const autofilter = { ref: 'A1:I1' };\n // // const rows: string[][] = [];\n\n // // const headers = [\n // // this.translate.instant('_LABEL_SERIAL'),\n // // this.translate.instant('_FIELD_NAME'),\n // // this.translate.instant('_LABEL_GENDER'),\n // // this.translate.instant('_FIELD_PHONE_NO'),\n // // this.translate.instant('ACC_FIELD_ACCOUNT_TITLE'),\n // // this.translate.instant('ISS_FIELD_PASSPORT_NUMBER'),\n // // this.translate.instant('ISS_LABEL_ISSUE_DATE'),\n // // this.translate.instant('ISS_LABEL_PRINT_OBJECT_PRINTED_COUNT', { param: this.translate.instant('LIC_LABEL_PRINT_OBJECT_LICENSE') }),\n // // this.translate.instant('ISS_LABEL_PRINT_OBJECT_PRINTED_COUNT', { param: this.translate.instant('LIC_LABEL_PRINT_OBJECT_STICKER') }),\n // // ];\n\n // // rows.push(headers);\n // // for (let row of data) {\n // // rows.push([\n // // row.serial,\n // // row.name,\n // // this.translate.instant(row.gender == Gender.Male ? '_LABEL_MALE' : '_LABEL_FEMALE'),\n // // row.phoneNumber,\n // // row.accountTitles[0],\n // // row.passportID,\n // // moment(row.issued).format('DD/MM/YYYY'),\n // // this.printObjectsCount(row.printLogs, PrintObject.IntLicenseCard),\n // // this.printObjectsCount(row.printLogs, PrintObject.IntLicenseSticker)\n // // ]);\n // // }\n\n // // exportToExcel(rows, wscols, autofilter, this.translate.currentLang == 'ar', 'Int-Licenses');\n // }\n\n onSubmit() {\n console.warn(this.searchForm.value);\n //console.warn(this.searchForm.pristine);\n\n // if (this.fromEntranceDate.value)\n // this.fromEntranceDate.setValue(this.fromEntranceDate.value.toISOString());\n\n // if (this.toEntranceDate.value)\n // this.toEntranceDate.setValue(this.toEntranceDate.value.toISOString());\n\n if (this.fromEntranceDate.value && typeof this.fromEntranceDate.value == 'object')\n this.fromEntranceDate.setValue(Utils.convertToServerDateTimeString(this.fromEntranceDate.value));\n\n if (this.toEntranceDate.value && typeof this.toEntranceDate.value == 'object')\n this.toEntranceDate.setValue(Utils.convertToServerDateTimeString(this.toEntranceDate.value));\n\n //swap dates\n if (this.fromEntranceDate.value && this.toEntranceDate.value && new Date(this.fromEntranceDate.value) > new Date(this.toEntranceDate.value)) {\n let _temp = this.fromEntranceDate.value;\n this.fromEntranceDate.setValue(this.toEntranceDate.value);\n this.toEntranceDate.setValue(_temp);\n }\n\n\n\n this.activeFilters = true;\n\n this.paginator.pageIndex = 0;\n this.paginator.page.emit({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, length: this.paginator.length });\n }\n\n // get created() { return this.searchForm.get('created'); };\n // get entranceDate() { return this.searchForm.get('entranceDate'); };\n\n get fromEntranceDate() { return this.searchForm.get('fromEntranceDate'); };\n get toEntranceDate() { return this.searchForm.get('toEntranceDate'); };\n\n searchForm: FormGroup;\n activeFilters: boolean;\n\n resetSearch() {\n this.advancedSearchMode = false;\n if (this.activeFilters) {\n this.activeFilters = false;\n this.paginator.pageIndex = 0;\n this.paginator.page.emit({ pageIndex: this.paginator.pageIndex, pageSize: this.paginator.pageSize, length: this.paginator.length });\n }\n\n this.activeFilters = false;\n\n setTimeout(() => {\n this.searchForm.reset();\n this.query = null;\n }, 500);\n }\n\n private formInit() {\n this.searchForm = this.fb.group({\n accountId: [null],\n stockTypeId: [''],\n // stockTypes: [''],\n serial: [''],\n // created: [''],\n // entranceDate: [''],\n fromEntranceDate: [''],\n toEntranceDate: [''],\n entranceID: [''],\n holderName: [''],\n vehiclePlateID: [''],\n countryId: [''],\n customsPortId: [''],\n // customsPorts: [''],\n pursuingZoneId: [''],\n // latestStatusId: [''],\n baseStatusId: [''],\n statusId: ['']\n });\n }\n}\n\n\n\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TripTiksClaimsService } from '../../services/trip-tiks-claims.service';\nimport { TripTikClaimDto, UpdateStatusTripTikClaimCommand } from '../../models/trip-tik-claim.model';\nimport { FormBuilder, FormGroup, FormArray, FormControl, AbstractControl, Validators } from '@angular/forms';\n// import { isArray } from 'util';\nimport { Utils } from 'src/app/shared/services/utils';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { DefaultAlertAction } from 'src/app/shared/models/default-alert-action';\nimport { TranslateService } from '@ngx-translate/core';\nimport { TripTikClaimsStatusesService } from 'src/app/features/lookups/services/trip-tik-claims-statuses.service';\nimport { Language } from 'src/app/core/models/enums/language';\nimport { result } from 'lodash';\nimport { TripTikClaimStatusDto } from 'src/app/features/lookups/models/trip-tik-claim-status';\nimport { stat } from 'fs';\nimport { TripTikClaimStatus } from 'src/app/core/models/enums/triptik-claim-status';\nimport { CurrenciesService } from 'src/app/features/lookups/services/currencies';\nimport { CurrencyDto } from 'src/app/features/lookups/models/currency';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Role } from 'src/app/core/models/enums/role';\n\n@Component({\n selector: 'mac-update-status-trip-tik-claim',\n templateUrl: './update-status-trip-tik-claim.component.html',\n styleUrls: ['./update-status-trip-tik-claim.component.scss'],\n providers: [\n TripTiksClaimsService,\n TripTikClaimsStatusesService,\n CurrenciesService\n ]\n})\nexport class UpdateStatusTripTikClaimComponent implements OnInit {\n lang: Language;\n dto = new TripTikClaimDto();\n form: FormGroup;\n id: string;\n currencies: CurrencyDto[] = [];\n baseStatuses: TripTikClaimStatusDto[] = [];\n nodeStatuses: TripTikClaimStatusDto[] = [];\n\n constructor(private tripTiksClaimsService: TripTiksClaimsService,\n private tripTikClaimsStatusesService: TripTikClaimsStatusesService,\n private currenciesService: CurrenciesService,\n private loader: LoadingService,\n private alert: AlertService,\n private route: ActivatedRoute,\n private router: Router,\n private translate: TranslateService,\n public auth: AuthService,\n private fb: FormBuilder) { }\n\n async ngOnInit() {\n this.lang = this.translate.currentLang == 'ar' ? Language.Arabic : Language.English;\n this.translate.onLangChange.subscribe(t => this.lang = t.lang == 'ar' ? Language.Arabic : Language.English);\n this.id = this.route.snapshot.paramMap.get('id');\n\n this.loader.load(LoaderType.Nav);\n this.formInit();\n\n await Promise.all([\n this.tripTikClaimsStatusesService.get(null, this.lang)\n .then(result => this.baseStatuses = result.list),\n this.currenciesService.get(this.lang)\n .then(result => this.currencies = result.list)\n ]);\n\n this.tripTiksClaimsService.get(this.id)\n .then(async result => {\n this.dto = result.item;\n //console.log(this.dto);\n if (this.dto.latestStatus.parentId)\n await this.onSelectStatus(this.dto.latestStatus.parentId)\n\n this.form.patchValue({\n baseStatusId: this.dto.latestStatus.parentId,\n statusId: this.dto.latestStatus.id\n });\n })\n .finally(() => {\n if (!this.auth.currentUser.isInRole(Role.TRIPTIKS_CLAIMS_STATUS_UPDATE)) {\n this.baseStatus.disable();\n this.status.disable();\n }\n this.loader.load(LoaderType.Nav, false);\n });\n }\n\n get Object() { return Object; };\n get note() { return this.form.get('note'); };\n get attachments() { return this.form.get('attachments') as FormArray; };\n get baseStatus() { return this.form.get('baseStatusId') };\n get status() { return this.form.get('statusId') };\n get payment() { return this.form.get('payment') as FormGroup; };\n get receiptNo() { return this.payment.get('receiptNo'); };\n get currency() { return this.payment.get('currencyId'); };\n get value() { return this.payment.get('value'); };\n\n private formInit() {\n this.form = this.fb.group({\n baseStatusId: ['', [Validators.required]],\n statusId: ['', [Validators.required]],\n payment: this.fb.group({}),\n note: ['', [Validators.required]],\n attachments: this.fb.array([])\n });\n }\n\n private paymentFormInit() {\n this.payment.addControl('currencyId', this.fb.control(this.currencies.length > 0 ? this.currencies[0].id : '', [Validators.required]));\n this.payment.addControl('value', this.fb.control('', [Validators.required]));\n this.payment.addControl('receiptNo', this.fb.control('', [Validators.required]));\n }\n\n private attachmentFormInit() {\n this.attachments.push(this.fb.group({\n name: ['', [Validators.required]],\n file: ['', [Validators.required]],\n fileName: ['']\n }));\n }\n\n onSelectNestedStatus(status: number) {\n //console.log(status);\n if (status == TripTikClaimStatus.Paid) {\n this.paymentFormInit();\n } else {\n Object.keys(this.payment.controls).forEach(ctrl => {\n this.payment.removeControl(ctrl);\n });\n }\n }\n\n async onSelectStatus(statusId: number) {\n //console.log(statusId);\n this.loader.load(LoaderType.Body);\n this.nodeStatuses = await (await this.tripTikClaimsStatusesService.get(statusId, this.lang)).list;\n this.status.reset();\n this.loader.load(LoaderType.Body, false)\n }\n\n addAttachment() {\n this.attachmentFormInit();\n }\n\n removeAttachment(i) {\n this.attachments.removeAt(i);\n }\n\n onSubmit() {\n console.warn(this.form.value);\n\n if (!this.auth.currentUser.isInRole(Role.TRIPTIKS_CLAIMS_UPDATE))\n return;\n\n if (!this.auth.currentUser.isInRole(Role.TRIPTIKS_CLAIMS_STATUS_UPDATE)) {\n //this.baseStatus.setValue(this.dto.latestStatus.parentId);\n this.baseStatus.reset();\n this.baseStatus.setErrors(null);\n this.status.reset();\n this.status.setErrors(null);\n }\n\n if (!this.form.valid)\n return Utils.validateAllFormFields(this.form);\n\n this.loader.load(LoaderType.Body);\n\n const cmd = this.form.value as UpdateStatusTripTikClaimCommand;\n cmd.id = this.id;\n\n this.tripTiksClaimsService.updateStatus(this.form.value as UpdateStatusTripTikClaimCommand)\n .then(result => {\n if (result) {\n this.alert.success(DefaultAlertAction.ADDING);\n setTimeout(() => {\n this.router.navigate(['/', this.translate.currentLang, 'trip-tiks-claims', 'view', this.id])\n }, 1000);\n } else this.alert.failure(DefaultAlertAction.ADDING);\n })\n .finally(() => this.loader.load(LoaderType.Body, false))\n }\n\n //attachments\n preview($event, group: FormGroup) {\n const tgt = $event.target || window.event.srcElement,\n files = Array.isArray($event) ? $event : tgt.files;\n\n if (FileReader && files && files.length) {\n const fr = new FileReader();\n fr.onload = () => {\n //console.log(fr);\n if (fr.result.toString().length <= 2 * 2 ** 20) {\n group.get('file').setValue(fr.result.toString());\n group.get('fileName').setValue(files[0].name);\n }\n else\n alert('file limit is 2 MB.');\n };\n fr.readAsDataURL(files[0]);\n }\n else {\n //console.error('not supported!');\n }\n }\n\n fileDropped(file, group: FormGroup): void {\n //console.log(file);\n group.get('file').setValue(file.url);\n group.get('fileName').setValue(file.name);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { TripTiksClaimsService } from '../../services/trip-tiks-claims.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { TripTikClaimDetailsDto } from '../../models/trip-tik-claim.model';\nimport { FileLoaderService } from 'src/app/shared/services/file-loader.service';\nimport { TripTikClaimStatus } from 'src/app/core/models/enums/triptik-claim-status';\nimport { AuthService } from 'src/app/core/auth/auth.service';\nimport { Role } from 'src/app/core/models/enums/role';\n\n@Component({\n selector: 'mac-view-trip-tik-claim',\n templateUrl: './view-trip-tik-claim.component.html',\n styleUrls: ['./view-trip-tik-claim.component.scss'],\n providers: [TripTiksClaimsService, FileLoaderService]\n})\nexport class ViewTripTikClaimComponent implements OnInit {\n\n dto = new TripTikClaimDetailsDto();\n\n get TripTikClaimStatus() { return TripTikClaimStatus; };\n get Role() { return Role; };\n\n constructor(private loader: LoadingService,\n private tripTiksClaimsService: TripTiksClaimsService,\n private fileLoader: FileLoaderService,\n public auth: AuthService,\n private route: ActivatedRoute) { }\n\n ngOnInit(): void {\n this.loader.load(LoaderType.Nav);\n const tripTikClaimId = this.route.snapshot.paramMap.get('id');\n\n this.tripTiksClaimsService.get(tripTikClaimId)\n .then(result => {\n this.dto = result.item;\n //console.log(this.dto);\n\n this.dto.logs = this.dto.logs.map(log => {\n log.status.titles = log.status.parentId ? [`${log.status.parentTitles} - ${log.status.titles}`] : log.status.titles;\n return log;\n });\n\n // console.log(this.dto);\n\n this.dto.logs.forEach((log, i) => {\n log.attachments.forEach(async (att) => {\n att.url = await this.fileLoader.loadAsync(att.url)\n })\n });\n\n\n })\n .finally(() => this.loader.load(LoaderType.Nav, false))\n\n // this.attachments.forEach(async att => {\n // const file = await this.fileLoader.loadAsync(att.src);\n // att.src = file ? file : this.defaultImage;\n // });\n\n //this.dto.attachments[0] = await this.fileLoader.loadAsync(this.dto.attachments[0]);\n }\n\n}\n","import { StockTypeDto } from '../../lookups/models/stock-type';\nimport { CustomsPortDto } from '../../lookups/models/customs-port';\nimport { CountryDto } from '../../lookups/models/country';\nimport { SafeUrl } from '@angular/platform-browser';\nimport { TripTikClaimStatusDto } from '../../lookups/models/trip-tik-claim-status';\nimport { LookupDto } from '../../lookups/models/lookup';\n\nexport interface TripTikClaimVm {\n item: TripTikClaimDto\n}\n\nexport interface TripTiksClaimsVm {\n list: TripTikClaimDto[],\n recordsCount: number\n}\n\nexport class TripTikClaimDto {\n id: string;\n entranceID: string;\n entranceDate: Date;\n created: Date;\n holderName: string;\n holderAddress: string;\n holderPhone: string;\n accountId: number;\n accountTitles: string[] = [];\n serial: number;\n stockType: StockTypeDto;\n country: CountryDto;\n customsPort: CustomsPortDto;\n pursuingZone: LookupDto;\n latestStatus: TripTikClaimStatusDto;\n vehiclePlateID: string;\n attachmentsCount: number;\n logsCount: number;\n}\n\nexport interface TripTikClaimDetailsVm {\n item: TripTikClaimDetailsDto\n}\n\nexport class TripTikClaimDetailsDto extends TripTikClaimDto {\n logs: TripTikClaimLogDetailsDto[] = [];\n}\n\nexport interface UpdateStatusTripTikClaimCommand {\n id: string,\n statusId: number,\n note: string,\n attachments: { file: string, name: string, fileName: string }[]\n}\n\nexport interface TripTikClaimAttachmentDto {\n name: string,\n url: string | SafeUrl,\n created: Date,\n createdBy: string\n}\n\nexport interface TripTikClaimLogDetailsDto {\n created: Date,\n createdBy: string,\n note: string,\n status: TripTikClaimStatusDto,\n attachments: TripTikClaimAttachmentDto[]\n}\n\nexport interface TripTiksClaimsLogsVm {\n list: TripTikClaimLogDto[],\n recordsCount: number\n}\n\nexport interface TripTikClaimLogDto {\n created: Date,\n createdBy: string,\n holderName: string,\n serial: number,\n stockType: StockTypeDto,\n issued: Date,\n customPort: CustomsPortDto,\n status: TripTikClaimStatusDto\n note: string\n}\n\nexport interface TripTiksClaimsSearchQuery {\n accountId?: number,\n serial?: number,\n stockTypeId?: number[],\n // stockTypes?: number[],\n fromEntranceDate?: string,\n toEntranceDate?: string,\n entranceID?: string,\n holderName?: string,\n vehiclePlateID?: number,\n countryId?: number[],\n customsPortId?: number[],\n // customsPorts?: number[],\n pursuingZoneId?: number,\n // latestStatusId?: number,\n baseStatusId?: number\n statusId?: number\n}\n\nexport interface PostTripTikClaimCommand {\n entranceID: string,\n EntranceDate: Date,\n serial: number,\n stockTypeId: number,\n countryId: number,\n customsPortId?: number,\n pursuingZoneId: number\n value: number,\n currencyId: number,\n holderName: string,\n holderAddress: string,\n holderPhone: string,\n}\n\nexport interface TripTikClaimAttachmentsVm {\n tripTikClaimEntranceID: string,\n list: TripTikClaimAttachmentDto[],\n recordsCount: number\n}","import { CollectionViewer, DataSource } from \"@angular/cdk/collections\";\nimport { Observable, BehaviorSubject, of } from 'rxjs';\nimport { catchError, finalize } from 'rxjs/operators';\nimport { TripTiksClaimsService } from './trip-tiks-claims.service';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { PaginationQuery } from '../../issuing/_shared/models/issuing.models';\nimport { TripTiksClaimsLogsVm, TripTiksClaimsSearchQuery, TripTikClaimLogDto } from '../models/trip-tik-claim.model';\n\n\nexport class TripTiksClaimsLogsDataSource implements DataSource {\n public TripTiksClaimsLogsSubject = new BehaviorSubject([]);\n public countSubject = new BehaviorSubject(0);\n public counter$ = this.countSubject.asObservable();\n\n constructor(private tripTiksClaimsService: TripTiksClaimsService, private loader: LoadingService) { }\n\n loadTripTiksClaimsLogs(pagination: PaginationQuery, query: TripTiksClaimsSearchQuery | string = null) {\n this.tripTiksClaimsService[(query == null || typeof query == 'string') ? 'getClaimsLogs' : 'searchClaimsLogs'](pagination, query)\n .pipe(\n catchError(() => of([])),\n finalize(() => { })\n )\n .subscribe((result: any) => {\n //console.log(result);\n this.TripTiksClaimsLogsSubject.next(result.list);\n this.countSubject.next(result.recordsCount);\n this.loader.load(LoaderType.Nav, false);\n this.loader.load(LoaderType.Body, false);\n });\n }\n\n connect(): Observable {\n return this.TripTiksClaimsLogsSubject.asObservable();\n }\n\n disconnect(collectionViewer: CollectionViewer): void {\n this.TripTiksClaimsLogsSubject.complete();\n this.countSubject.complete();\n }\n}\n","import { CollectionViewer, DataSource } from \"@angular/cdk/collections\";\nimport { Observable, BehaviorSubject, of } from 'rxjs';\nimport { catchError, finalize } from 'rxjs/operators';\nimport { TripTiksClaimsService } from './trip-tiks-claims.service';\nimport { LoadingService, LoaderType } from 'src/app/shared/services/loading';\nimport { PaginationQuery } from '../../issuing/_shared/models/issuing.models';\nimport { TripTiksClaimsVm, TripTiksClaimsSearchQuery, TripTikClaimDto } from '../models/trip-tik-claim.model';\n\n\nexport class TripTiksClaimsDataSource implements DataSource {\n public TripTiksClaimsSubject = new BehaviorSubject([]);\n public countSubject = new BehaviorSubject(0);\n public counter$ = this.countSubject.asObservable();\n\n constructor(private tripTiksClaimsService: TripTiksClaimsService, private loader: LoadingService) { }\n\n load(pagination: PaginationQuery, query: TripTiksClaimsSearchQuery | string = null, statusId?: number, pursuingZoneId?: number) {\n this.tripTiksClaimsService[(query == null || typeof query == 'string') ? 'getClaims' : 'search'](pagination, query, statusId, pursuingZoneId)\n .pipe(\n catchError(() => of([])),\n finalize(() => { })\n )\n .subscribe((result: TripTiksClaimsVm) => {\n // console.log(result);\n this.TripTiksClaimsSubject.next(result.list);\n this.countSubject.next(result.recordsCount);\n this.loader.load(LoaderType.Nav, false);\n this.loader.load(LoaderType.Body, false);\n });\n }\n\n connect(): Observable {\n return this.TripTiksClaimsSubject.asObservable();\n }\n\n disconnect(collectionViewer: CollectionViewer): void {\n this.TripTiksClaimsSubject.complete();\n this.countSubject.complete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ApiHandler } from 'src/app/core/api-handler';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\nimport { PaginationQuery } from '../../issuing/_shared/models/issuing.models';\nimport { TripTiksClaimsVm, PostTripTikClaimCommand, TripTiksClaimsSearchQuery, TripTikClaimVm, UpdateStatusTripTikClaimCommand, TripTiksClaimsLogsVm, TripTikClaimDetailsVm, TripTikClaimAttachmentsVm } from '../models/trip-tik-claim.model';\n\n@Injectable()\nexport class TripTiksClaimsService {\n constructor(private api: ApiHandler) { }\n\n delete(id: string) {\n return this.api.delete(EndPoint.INT_lICENSE, id).toPromise();\n }\n\n updateStatus(cmd: UpdateStatusTripTikClaimCommand) {\n return this.api.update(EndPoint.TRIPTIK_CLAIMS, cmd).toPromise();\n }\n\n create(cmd: PostTripTikClaimCommand) {\n return this.api.create(EndPoint.TRIPTIK_CLAIMS, cmd).toPromise();\n }\n\n get(id: string) {\n return this.api.get(EndPoint.TRIPTIK_CLAIMS, id).toPromise();\n }\n\n getClaims(pagination: PaginationQuery, query: string = '', statusId?: number, pursuingZoneId?: number) {\n return this.api.get(EndPoint.TRIPTIK_CLAIMS, null, { ...pagination, query, statusId, pursuingZoneId });\n }\n\n search(pagination: PaginationQuery, query: TripTiksClaimsSearchQuery, statusId?: number, pursuingZoneId?: number) {\n return this.api.get(EndPoint.TRIPTIK_CLAIMS_SEARCH, null, { ...pagination, ...query });\n }\n\n getClaimsLogs(pagination: PaginationQuery, query: string = '') {\n return this.api.get(EndPoint.TRIPTIK_CLAIMS_LOGS, null, { ...pagination, query });\n }\n\n searchClaimsLogs(pagination: PaginationQuery, query: TripTiksClaimsSearchQuery) {\n return this.api.get(EndPoint.TRIPTIK_CLAIMS_LOGS_SEARCH, null, { ...pagination, ...query });\n }\n\n getClaimAttachments(tripTikClaimId: string) {\n return this.api.get(EndPoint.TRIPTIK_CLAIMS_ATTACHMENTS, tripTikClaimId).toPromise();\n }\n}\n\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {MAT_SNACK_BAR_DATA} from '@angular/material/snack-bar';\n\n@Component({\n selector: 'mac-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss']\n})\nexport class AlertComponent implements OnInit {\n\n constructor(@Inject(MAT_SNACK_BAR_DATA) public data: any) { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'mac-body-loader',\n templateUrl: './body-loader.component.html',\n styleUrls: ['./body-loader.component.scss']\n})\nexport class BodyLoaderComponent implements OnInit {\n\n constructor() { }\n ngOnInit(): void {\n }\n\n}\n","import { Component } from '@angular/core';\nimport { BreadcrumbService } from '../../services/breadcrumb.service';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'mac-breadcrumb',\n templateUrl: './breadcrumb.component.html',\n styleUrls: ['./breadcrumb.component.scss']\n})\nexport class BreadcrumbComponent {\n\n constructor(public service: BreadcrumbService, public translate: TranslateService) { \n \n }\n}\n","import { Component } from '@angular/core';\n\n\n@Component({\n selector: 'mac-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss']\n})\nexport class DialogComponent {\n\n constructor() {}\n\n}","import { Component } from '@angular/core';\nimport { ConfirmState, IModalOptions } from '../../models/modal';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';\nimport { Utils } from '../../services/utils';\n\n@Component({\n selector: 'mac-modal',\n templateUrl: './modal.component.html'\n})\nexport class ConfirmModalComponent {\n options: IModalOptions;\n form: FormGroup;\n\n get attachment() { return this.form.get('attachment'); };\n get inputNote() { return this.form.get('inputNote'); };\n get isDamaged() { return this.form.get('isDamaged'); };\n\n constructor(private state: ConfirmState,\n private fb: FormBuilder,\n public translate: TranslateService) {\n this.options = state.options;\n }\n\n ngOnInit() {\n this.form = this.fb.group({\n inputNote: ['', [Validators.required]],\n isDamaged: ['', [Validators.required]],\n attachment: ['']\n });\n }\n\n onSubmit() {\n if ((this.options.requestType || this.options.inputNote) && this.form.invalid) {\n\n if (!this.options.requestType)\n this.isDamaged.setErrors(null);\n\n if (!this.options.inputNote)\n this.inputNote.setErrors(null);\n\n if (this.form.invalid)\n return Utils.validateAllFormFields(this.form);\n }\n\n //console.log(this.form.value);\n this.confirm(this.form.value);\n //this.confirm(this.options.inputNote ? this.inputNote.value : null);\n }\n\n confirm(data = null) {\n const result = ['CONFIRMED'];\n data ? result.push(data) : undefined;\n this.state.modal.close(result);\n }\n\n discard() {\n this.state.modal.dismiss('ignored');\n }\n\n \n //attachments\n preview($event, control: FormControl) {\n const tgt = $event.target || window.event.srcElement,\n files = Array.isArray($event) ? $event : tgt.files;\n\n if (FileReader && files && files.length) {\n const fr = new FileReader();\n fr.onload = (readerEvt) => {\n //console.log(readerEvt.target.fileName);\n if (fr.result.toString().length <= 2 * 2 ** 20) {\n control.setValue(fr.result.toString());\n console.log(fr)\n this.fileName = $event.target.files[0].name;\n }\n else\n alert('file limit is 2 MB.');\n };\n fr.readAsDataURL(files[0]);\n }\n else {\n //console.error('not supported!');\n }\n }\n\n fileName;\n fileDropped(file, control: FormControl): void {\n console.log(file);\n control.setValue(file.url);\n this.fileName = file.name;\n }\n\n removeAttachment() {\n console.log('try remove att!');\n this.fileName = null;\n this.attachment.setValue(null);\n }\n}","import { Component, OnInit } from '@angular/core';\nimport { LoadingService, LoaderType } from '../../services/loading';\n\n@Component({\n selector: 'mac-not-found',\n templateUrl: './not-found.component.html',\n styleUrls: ['./not-found.component.scss']\n})\nexport class NotFoundComponent implements OnInit {\n\n constructor(private loader: LoadingService) { }\n\n ngOnInit() {\n // this.loader.load(LoaderType.Nav, false);\n }\n ngAfterViewInit() {\n //todo: check why loader keep loading ?\n setTimeout(() => {\n this.loader.load(LoaderType.Nav);\n this.loader.load(LoaderType.Nav, false);\n }, 1000);\n\n\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'mac-under-construction',\n templateUrl: './under-construction.component.html',\n styleUrls: ['./under-construction.component.scss']\n})\nexport class UnderConstructionComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { FormControl, AbstractControl } from '@angular/forms';\nimport { Component, Input } from '@angular/core';\nimport {\n trigger,\n style,\n animate,\n transition,\n keyframes,\n\n} from '@angular/animations';\n\nimport { ValidationService } from '../../services/validation.service';\n\n@Component({\n selector: 'mac-validation-error',\n templateUrl: './validation-error.component.html',\n styleUrls: ['./validation-error.component.scss'],\n animations: [\n trigger('bgImgTrigger', [\n transition('void => *', [\n animate('.25s', keyframes([\n style({ transform: 'translateY(-5px)', offset: 0 }),\n style({ transform: 'translateY(5px)', offset: 0.25 }),\n style({ transform: 'translateY(0px)', offset: 1 })\n ]))])\n ])\n ]\n})\nexport class ValidationErrorComponent {\n @Input() control: FormControl | AbstractControl;\n @Input() fieldLocale: string;\n isOpen = false;\n state: string = 'none';\n\n\n animationState = true;\n loading = true;\n\n constructor(private validation: ValidationService) { }\n\n get errorMessage() {\n if (this.control) {\n this.animationState = true;\n this.loading = true;\n this.state = 'maximum';\n for (let propertyName in this.control.errors) {\n if (\n this.control.errors.hasOwnProperty(propertyName) &&\n this.control.touched\n ) {\n return this.validation.getValidatorErrorMessage(\n propertyName,\n this.control.errors[propertyName]\n );\n }\n }\n }\n\n else {\n this.animationState = false;\n this.loading = false;\n return null;\n }\n\n }\n\n isArray(obj: any) {\n return Array.isArray(obj)\n }\n}\n","import {\n Directive,\n HostBinding,\n HostListener,\n Output,\n EventEmitter,\n ElementRef\n} from \"@angular/core\";\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\n\nexport interface FileHandle {\n url: string,\n name: string,\n // url: SafeUrl,\n container: any\n}\n\n@Directive({\n selector: \"[macDrag]\"\n})\nexport class DragDirective {\n // @Output() files: EventEmitter = new EventEmitter();\n @Output() file: EventEmitter = new EventEmitter();\n\n\n\n @HostBinding(\"style.background\") private background = \"#eee\";\n @HostBinding(\"style.border\") private border = \"none\";\n\n constructor(private sanitizer: DomSanitizer) { }\n\n @HostListener(\"dragover\", [\"$event\"]) public onDragOver(evt: DragEvent) {\n ////console.warn(evt);\n evt.preventDefault();\n //evt.stopPropagation();\n\n // //console.warn('dragover', this.border);\n ////console.log(this.border);\n if (this.border == \"none\") {\n this.border = \"2px dashed #82c8ef\";\n ////console.warn('dragover', 'style applied')\n }\n //this.b\n //this.sanitizer.bypassSecurityTrustStyle('border: 5px dashed #82c8ef');\n // this.background = \"#999\";\n }\n\n @HostListener(\"dragleave\", [\"$event\"]) public onDragLeave(evt: DragEvent) {\n ////console.warn(evt);\n evt.preventDefault();\n //evt.stopPropagation();\n ////console.warn('dragleave', this.border);\n ////console.log(this.border);\n if (this.border != \"none\") {\n this.border = \"none\";\n ////console.warn('dragleave', 'style applied')\n }\n //this.background = \"#eee\";\n //this.sanitizer.bypassSecurityTrustStyle('border: none');\n }\n\n @HostListener('drop', ['$event']) public onDrop(evt: DragEvent) {\n ////console.warn(evt);\n evt.preventDefault();\n //evt.stopPropagation();\n //this.background = '#eee';\n // //console.warn('drop', this.border);\n ////console.log(this.border);\n if (this.border != \"none\") {\n this.border = \"none\";\n ////console.warn('drop', 'style applied');\n }\n\n ////console.log(evt);\n ////console.log(evt.currentTarget);\n // //console.log(evt.target)\n\n // const elm = evt.currentTarget;\n // //console.warn(elm.nativeElement);\n\n // const _index = 0;// (evt.currentTarget).tabindex;\n ////console.log(evt.target);\n // this.file.emit({ file: null, url: 'assets/images/Ring-Preloader.gif', container: evt.currentTarget });\n\n const currentTarget = evt.currentTarget;\n //console.log(evt);\n //this.file.emit({ url: 'assets/images/Ring-Preloader.gif', name: null, container: currentTarget });\n\n // if (evt.dataTransfer.files.length) {\n // this.file.emit({\n // file: evt.dataTransfer.files[0],\n // // url: this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(evt.dataTransfer.files[0])),\n // container: evt.currentTarget\n // });\n // }\n\n if (FileReader && evt.dataTransfer.files.length) {\n const fr = new FileReader();\n // console.log(evt.dataTransfer.files.item(0))\n const _name = evt.dataTransfer.files.item(0).name;\n fr.onload = () => {\n if (fr.result.toString().length <= 2 * 2 ** 20)\n this.file.emit({\n url: fr.result.toString(),\n name: _name,\n //url: this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(evt.dataTransfer.files[0])),\n container: currentTarget\n });\n else\n alert('file limit is 2 MB.');\n // this[`_${this.images[index]}`] = fr.result.toString();\n //(this[this.images[index]]).setValue(fr.result.toString());\n //img.setAttribute(\"src\", fr.result.toString());\n\n // this.licensePhoto.setValue()\n // this.form.patchValue({\n // [this.images[index]]: fr.result.toString()\n // })\n };\n fr.readAsDataURL(evt.dataTransfer.files.item(0));\n }\n // Not supported\n else {\n //console.error('not supported!');\n //this[`_${this.images[index]}`] = oldValue;\n //(this[this.images[index]]).setValue(oldValue);\n }\n }\n}\n","import { Directive, TemplateRef } from '@angular/core';\nimport { ConfirmState } from '../models/modal';\n\n\n// @Directive({\n// selector: \"[deleteConfirm]\"\n// })\n// export class DeleteConfirmTemplateDirective {\n// constructor(confirmTemplate: TemplateRef, state: ConfirmState) {\n// state.deleteTemplate = confirmTemplate;\n// }\n// }\n\n// @Directive({\n// selector: \"[updateConfirm]\"\n// })\n// export class UpdateConfirmTemplateDirective {\n// constructor(confirmTemplate: TemplateRef, state: ConfirmState) {\n// state.updateTemplate = confirmTemplate;\n// }\n// }\n\n@Directive({\n selector: \"[confirm]\"\n})\nexport class ConfirmTemplateDirective {\n constructor(template: TemplateRef, state: ConfirmState) {\n state.template = template;\n }\n}","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { StaticConfig } from 'src/app/features/lookups/services/config';\n\n@Injectable()\nexport class ConfigResolver {\n constructor(private config: StaticConfig){\n }\n\n async resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise{\n return this.config.get(); \n }\n}","import { formatDate } from '@angular/common';\nimport { NativeDateAdapter } from '@angular/material/core';\n\nexport const PICK_FORMATS = {\n parse: { dateInput: { month: 'short', year: 'numeric', day: 'numeric' } },\n display: {\n dateInput: 'input',\n monthYearLabel: { year: 'numeric', month: 'short' },\n dateA11yLabel: { year: 'numeric', month: 'long', day: 'numeric' },\n monthYearA11yLabel: { year: 'numeric', month: 'long' }\n }\n};\n\nexport class CustomDateAdapter extends NativeDateAdapter {\n // format(date: Date, displayFormat: Object): string {\n // if (displayFormat === 'input') {\n // return formatDate(date, 'dd/MM/yyyy', this.locale);;\n // } else {\n // return date.toDateString();\n // }\n // }\n parse(value: any): Date | null {\n\n if ((typeof value === 'string') && (value.indexOf('/') > -1)) {\n const str = value.split('/');\n\n const year = Number(str[2]);\n const month = Number(str[1]) - 1;\n const date = Number(str[0]);\n\n return new Date(year, month, date);\n }\n const timestamp = typeof value === 'number' ? value : Date.parse(value);\n return isNaN(timestamp) ? null : new Date(timestamp);\n }\n\n format(date: Date, displayFormat: Object): string {\n date = new Date(Date.UTC(\n date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(),\n date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n displayFormat = Object.assign({}, displayFormat, { timeZone: 'utc' });\n\n const dtf = new Intl.DateTimeFormat(this.locale, displayFormat);\n return dtf.format(date).replace(/[\\u200e\\u200f]/g, '');\n }\n\n}","import { TransactionsVm, TransactionDto } from './../../features/stock/models/transactions';\nimport { TranslateService } from \"@ngx-translate/core\";\nimport * as moment from 'moment';\nimport * as XLSX from 'xlsx';\nimport { transactionTypeLocale } from 'src/app/features/stock/models/transaction-type.enum';\n\nexport function exportToExcel(rows: string[][], wscols: any, autofilter: any, rtl: boolean, type: string) {\n\n //const [formatted, wscols] = _transactions(data, translate);\n\n const ws: XLSX.WorkSheet = XLSX.utils.aoa_to_sheet(rows);\n ws[\"!cols\"] = wscols;\n ws[\"!autofilter\"] = autofilter;// { ref: 'A1:G1' };\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n if (!wb.Workbook) wb.Workbook = {};\n if (!wb.Workbook.Views) wb.Workbook.Views = [];\n if (!wb.Workbook.Views[0]) wb.Workbook.Views[0] = {};\n wb.Workbook.Views[0].RTL = rtl;\n\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, `MAC_${type}_Export_${moment(new Date()).format('DD_MM_YYYY')}.xlsx`);\n}\n\n// function _transactions(data: TransactionDto[], translate: TranslateService) {\n// let result: [string[][], any[]] = [[], []];\n// const headers = [\n// translate.instant('_LABEL_DATE'),\n// `${translate.instant('_LABEL_FROM')} ${translate.instant('ACC_LABEL_ACCOUNT')}`,\n// `${translate.instant('_LABEL_TO')} ${translate.instant('ACC_LABEL_ACCOUNT')}`,\n// `${translate.instant('_LABEL_FROM')} ${translate.instant('STK_LABEL_QUANTITY')}`,\n// `${translate.instant('_LABEL_TO')} ${translate.instant('STK_LABEL_QUANTITY')}`,\n// translate.instant('STK_LABEL_TRANSACTION_TYPE'),\n// translate.instant('LKP_FIELD_STOCK_TYPE')\n// ];\n\n// result[0].push(headers);\n// for (let row of data) {\n// result[0].push([\n// moment(row.created).format('DD/MM/YYYY'),\n// row.fromAccountTitles ? row.fromAccountTitles[0] : '',\n// row.toAccountTitles ? row.toAccountTitles[0] : '',\n// row.fromRange.toString(),\n// row.toRange.toString(),\n// translate.instant(transactionTypeLocale(row.transactionType)),\n// row.stockType.titles[0]\n// ]);\n// }\n\n// var wscols = [\n// { width: 14 },\n// { width: 16 },\n// { width: 16 },\n// { width: 14 },\n// { width: 14 },\n// { width: 18 },\n// { width: 18 }\n// ];\n\n// result[1] = wscols;\n\n// { ref: 'A1:G1' };\n// return result;\n// }\n","import { MatPaginatorIntl } from '@angular/material/paginator';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class LangMatPaginatorIntl extends MatPaginatorIntl {\n\n constructor(private translate: TranslateService) {\n super();\n\n this.translate.onLangChange.subscribe((e: Event) => {\n this.getAndInitTranslations();\n });\n\n this.getAndInitTranslations();\n }\n\n\n\n getAndInitTranslations() {\n this.translate.get(['_PAGINATOR_ITEMS_PER_PAGE',\n '_PAGINATOR_NEXT_PAGE',\n '_PAGINATOR_PREVIOUS_PAGE',\n '_PAGINATOR_OF_LABEL',\n '_PAGINATOR_FIRST_PAGE',\n '_PAGINATOR_LAST_PAGE'])\n .subscribe(translation => {\n this.itemsPerPageLabel = translation['_PAGINATOR_ITEMS_PER_PAGE'];\n this.nextPageLabel = translation['_PAGINATOR_NEXT_PAGE'];\n this.previousPageLabel = translation['_PAGINATOR_PREVIOUS_PAGE'];\n this.firstPageLabel = translation['_PAGINATOR_FIRST_PAGE'];\n this.lastPageLabel = translation['_PAGINATOR_LAST_PAGE'];\n\n this.changes.next();\n });\n }\n\n getRangeLabel = (page: number, pageSize: number, length: number) => {\n if (length === 0 || pageSize === 0) {\n return `0 ${this.translate.instant('_PAGINATOR_OF_LABEL')} ${length}`;\n }\n length = Math.max(length, 0);\n const startIndex = page * pageSize;\n const endIndex = startIndex < length ? Math.min(startIndex + pageSize, length) : startIndex + pageSize;\n return `${startIndex + 1} - ${endIndex} ${this.translate.instant('_PAGINATOR_OF_LABEL')} ${length}`;\n }\n}\n\n\n\n\n\n// const arabicRangeLabel = (page: number, pageSize: number, length: number) => {\n// if (length == 0 || pageSize == 0) { return `0 من ${length}`; }\n\n// length = Math.max(length, 0);\n\n// const startIndex = page * pageSize;\n\n// // If the start index exceeds the list length, do not try and fix the end index to the end.\n// const endIndex = startIndex < length ?\n// Math.min(startIndex + pageSize, length) :\n// startIndex + pageSize;\n\n// return `${startIndex + 1} - ${endIndex} من ${length}`;\n// }\n\n\n// export function getLangPaginatorIntl() {\n\n// const paginatorIntl = new MatPaginatorIntl();\n\n// paginatorIntl.itemsPerPageLabel = 'عدد العناصر بالصفحة: ';\n// paginatorIntl.nextPageLabel = 'الصفحة التالية';\n// paginatorIntl.previousPageLabel = 'الصفحة السابقة';\n// paginatorIntl.firstPageLabel = 'الصفحة الأولى';\n// paginatorIntl.lastPageLabel = 'الصفحة الأخيرة';\n// paginatorIntl.getRangeLabel = arabicRangeLabel;\n\n// return paginatorIntl;\n// }","import { LookupDto } from 'src/app/features/lookups/models/lookup';\nimport * as _ from 'lodash';\n\nexport function populateAccountsSelect(list: LookupDto[]) {\n //return list;\n //console.log(list);\n\n return list.map(dto => {\n let _titles = [];\n dto.titles.forEach((t, i) => {\n _titles.push(`${t}`);\n });\n dto.titles = [_titles.join(' // ')];\n return dto;\n });\n}\n","import { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\n\n@Injectable()\nexport class TranslationResolver {\n\n constructor(private translate: TranslateService){\n }\n\n async resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise{\n return this.translate.get(\"last.dummy\").toPromise(); \n }\n}","export enum DefaultAlertAction {\n ADDING = '_ACTION_ADDING',\n UPDATING = '_ACTION_UPDATING',\n DELETING = '_ACTION_DELETING',\n TRANSFERING = '_ACTION_TRANSFERRING',\n\n REVOKE_REQUESTING_CANCEL = '_ACTION_REVOKE_REQUESTING_CANCEL',\n REQUESTING = '_ACTION_REQUESTING',\n APPROVING = '_ACTION_APPROVING',\n REJECTING = '_ACTION_REJECTING'\n\n}","import { Injectable, TemplateRef } from '@angular/core';\nimport { NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\n\nexport interface ConfirmOptions {\n confirmType?: 'update' | 'delete' | 'form' | 'display',// string, //delete, update\n type: string,\n title: string\n content?: string;\n}\n\nexport interface IModalOptions {\n action?: string,\n type: string,\n confirmQuestion?: string,\n title?: string,\n note?: string,\n dangerNote?: string,\n submitClass?: string,\n submitText?: string,\n cancelText?: string,\n inputNote? : string,\n requestType?: boolean,\n innerHTML?: string,\n attachment?: string,\n \n}\n\nexport class DeleteModal implements IModalOptions {\n constructor(data: IModalOptions) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n\n this.action = this.action ? this.action : '_ACTION_DELETE';\n this.confirmQuestion = this.confirmQuestion ? this.confirmQuestion : '_CONFIRM_DELETE_CONFIRMATION_QUESTION';\n this.note = this.note ? this.note : '_CONFIRM_DELETE_NOTE';\n this.dangerNote = this.dangerNote ? this.dangerNote : '_CONFIRM_DELETE_DANGER_NOTE';\n this.submitClass = this.submitClass ? this.submitClass : 'btn-danger';\n this.submitText = this.submitText ? this.submitText : '_ACTION_DELETE';\n this.cancelText = this.cancelText ? this.cancelText : '_ACTION_CANCEL';\n }\n action?: string;\n type: string;\n confirmQuestion?: string;\n title: string;\n note?: string;\n dangerNote?: string;\n submitClass?: string;\n submitText?: string;\n cancelText?: string;\n inputNote? : string;\n attachment?: string;\n requestType?: boolean;\n innerHTML?: string;\n}\n\n// export interface IModal {\n// header: { action: string; type?: string; };\n// body: { confirmQuestion: string; title?: string; note: string; dangerNote: string; };\n// footer: { submitClass: string; submitText: string; cancelText: string; };\n// }\n\n\nexport class UpdateModal implements IModalOptions {\n constructor(data: IModalOptions) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n\n this.action = this.action ? this.action : '_ACTION_UPDATE';\n this.confirmQuestion = this.confirmQuestion ? this.confirmQuestion : '_CONFIRM_UPDATE_CONFIRMATION_QUESTION';\n this.note = this.note ? this.note : '_CONFIRM_UPDATE_NOTE';\n this.dangerNote = this.dangerNote ? this.dangerNote : '_CONFIRM_UPDATE_DANGER_NOTE';\n this.submitClass = this.submitClass ? this.submitClass : 'btn-warning';\n this.submitText = this.submitText ? this.submitText : '_ACTION_UPDATE';\n this.cancelText = this.cancelText ? this.cancelText : '_ACTION_CANCEL';\n \n \n }\n action?: string;\n type: string;\n confirmQuestion?: string;\n title: string;\n note?: string;\n dangerNote?: string;\n submitClass?: string;\n submitText?: string;\n cancelText?: string;\n inputNote? : string;\n innerHTML?: string;\n \n \n \n}\n\n\nexport class DisplayModal implements IModalOptions {\n constructor(data: IModalOptions) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n\n this.action = this.action ? this.action : '_ACTION_VIEW';\n //this.confirmQuestion = this.confirmQuestion ? this.confirmQuestion : '_CONFIRM_UPDATE_CONFIRMATION_QUESTION';\n this.note = this.note ? this.note : '_CONFIRM_UPDATE_NOTE';\n //this.dangerNote = this.dangerNote ? this.dangerNote : '_CONFIRM_UPDATE_DANGER_NOTE';\n //this.submitClass = this.submitClass ? this.submitClass : 'btn-warning';\n //this.submitText = this.submitText ? this.submitText : '_ACTION_UPDATE';\n this.cancelText = this.cancelText ? this.cancelText : '_ACTION_CANCEL';\n }\n action?: string;\n type: string;\n confirmQuestion?: string;\n title?: string;\n note?: string;\n innerHTML?: string;\n //dangerNote?: string;\n //submitClass?: string;\n //submitText?: string;\n cancelText?: string;\n //inputNote? : string;\n}\n\n\n\n\n// export class FormModal implements IModalOptions {\n// constructor(data: IModalOptions) {\n// for (var property in data) {\n// if (data.hasOwnProperty(property))\n// (this)[property] = (data)[property];\n// }\n\n// this.action = this.action ? this.action : '_ACTION_UPDATE';\n// this.confirmQuestion = this.confirmQuestion ? this.confirmQuestion : '_CONFIRM_UPDATE_CONFIRMATION_QUESTION';\n// this.note = this.note ? this.note : '_CONFIRM_UPDATE_NOTE';\n// this.dangerNote = this.dangerNote ? this.dangerNote : '_CONFIRM_UPDATE_DANGER_NOTE';\n// this.submitClass = this.submitClass ? this.submitClass : 'btn-warning';\n// this.submitText = this.submitText ? this.submitText : '_ACTION_UPDATE';\n// this.cancelText = this.cancelText ? this.cancelText : '_ACTION_CANCEL';\n// this.inputNote = this.inputNote ? this.inputNote : '';\n// }\n// action?: string;\n// type: string;\n// confirmQuestion?: string;\n// title: string;\n// note?: string;\n// dangerNote?: string;\n// submitClass?: string;\n// submitText?: string;\n// cancelText?: string;\n// inputNote?: string;\n// }\n\n\n\n@Injectable()\nexport class ConfirmState {\n options: IModalOptions;\n modal: NgbModalRef;\n template: TemplateRef;\n // updateTemplate: TemplateRef;\n // deleteTemplate: TemplateRef;\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'arrayMap' })\nexport class ArrayMapPipe implements PipeTransform {\n transform(input: any[], key: string, index: number = null): any {\n //console.log(input, key, index);\n return input.map(value => { return index != null ? value[key][index] : value[key] });\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { map, first } from 'rxjs/operators';\n\n@Pipe({\n name: 'ParamsTranslate'\n})\nexport class ParamsTranslatePipe implements PipeTransform {\n constructor(private translate: TranslateService) { }\n\n transform(obj: Object): Object {\n const newObject = Object.assign({}, obj);\n Object.keys(obj).forEach(\n key =>\n obj[key].length\n ? this.translate\n .get(obj[key])\n .pipe(first(), map(value => value))\n .subscribe(value => (newObject[key] = value))\n : undefined\n );\n return newObject;\n }\n}","import { PipeTransform, Pipe } from '@angular/core';\n\n@Pipe({name: 'stringJoin'})\nexport class StringJoinPipe implements PipeTransform {\n transform (input: string[], key: string = '-'): string {\n //return input.map(value => value[key]);\n return [...input].reverse().join(` ${key} `);\n }\n}","import { TranslateService } from '@ngx-translate/core';\nimport { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { AlertComponent } from '../components/alert/alert.component';\nimport { isArray } from 'util';\n\n@Injectable()\nexport class AlertService {\n\n constructor(private _snackBar: MatSnackBar, private translate: TranslateService) { }\n\n success(message: string, part: boolean = true) {\n const param = this.translate.instant(message);\n\n const _message = part ? this.translate.instant('_MESSAGE_ALERT_SUCCESS', { param: param }) : param;\n this._snackBar.open(_message, null, {\n duration: 5000,\n panelClass: 'success',\n verticalPosition: 'top'\n });\n }\n\n failure(message: string, part: boolean = true) {\n const param = this.translate.instant(message);\n const _message = part ? this.translate.instant('_MESSAGE_ALERT_FAILURE', { param: param }) : param;\n this._snackBar.open(_message, null, {\n duration: 5000,\n panelClass: 'error',\n verticalPosition: 'top'\n });\n }\n\n _error(messages: string []) {\n //const _message = this.translate.instant(message ? message : '_MESSAGE_ALERT_ERROR');\n\n const duration = messages.length * 5000;\n\n // let content = '';\n // let duration = 5000;\n // if (!isArray(message) && message.length > 1) {\n // content += '
      ';\n\n // // Item 1\n // // Item 2\n // // Item 3\n\n // for (let i = 0; i < message.length; i++) {\n // content += `
    • ${message[i]}
    • `;\n // duration = 5000 * (i + 1);\n // }\n // content += '
    ';\n // } else {\n // content = `${message}`;\n // }\n\n // //console.log(content);\n this._snackBar.openFromComponent(AlertComponent, {\n panelClass: 'mat-snack-bar-failure',\n verticalPosition: 'top',\n data: messages,\n\n duration: duration\n });\n\n // this._snackBar.open(_message, null, {\n // duration: 5000,\n // panelClass: 'mat-snack-bar-failure',\n // verticalPosition: 'top'\n // });\n\n }\n\n error(message: string | any[] = null) {\n const _message = this.translate.instant(message ? message : '_MESSAGE_ALERT_ERROR');\n\n // if (!isArray(message))\n // message = [message];\n\n if (typeof message == 'string')\n message = [message];\n \n const duration = (message.length + 1) * 5000;\n\n // let content = '';\n // let duration = 5000;\n // if (!isArray(message) && message.length > 1) {\n // content += '
      ';\n\n // // Item 1\n // // Item 2\n // // Item 3\n\n // for (let i = 0; i < message.length; i++) {\n // content += `
    • ${message[i]}
    • `;\n // duration = 5000 * (i + 1);\n // }\n // content += '
    ';\n // } else {\n // content = `${message}`;\n // }\n\n // //console.log(content);\n this._snackBar.openFromComponent(AlertComponent, {\n panelClass: 'mat-snack-bar-failure',\n verticalPosition: 'top',\n data: message,\n\n duration: duration\n });\n\n // this._snackBar.open(_message, null, {\n // duration: 5000,\n // panelClass: 'mat-snack-bar-failure',\n // verticalPosition: 'top'\n // });\n\n }\n}\n","import { Injectable, EventEmitter } from '@angular/core';\n\nInjectable()\nexport class BreadcrumbService {\n _links: EventEmitter;\n links: string[][];\n\n constructor(){\n this._links = new EventEmitter();\n this._links.subscribe(l => this.links = l);\n }\n\n public setLinks(links: string[][]){\n this._links.emit(links);\n }\n}","import { AbstractControl, FormGroup, ValidatorFn, Validators } from '@angular/forms';\nimport { Language } from 'src/app/core/models/enums/language';\n\nconst NON_ENGLISH_REGEX = /^[\\u0621-\\u064A0-9-_., ]*$/;\nconst NON_ARABIC_REGEX = /^[a-zA-Z0-9-_., ]*$/;\nconst ENGLISH_ONLY_REGEX = /^[a-zA-Z]*$/;\nconst ENGLISH_AND_SPACES_REGEX = /^[a-zA-Z. ]*$/;\nconst NUMBERS_ONLY_REGEX = /^\\d*$/;\nconst USERNAME_REGEX = /^[A-Za-z0-9]+(?:[_][A-Za-z0-9]+)*$/; //letters, numbers, and underscores (inside, not in a row), no spaces\n//const PASSPORT_ID_OR_IDENTITY_ID_REGEX = /^[A-Za-z0-9]*$/; //letters, numbers\n\n\nclass RangeValidation {\n constructor(public min: number, public max: number) { }\n}\n\n\n//todo: fetch from db config\n\nconst vehicleWeightInKG = new RangeValidation(1, 100000);//\"_ERR_OUT_OF_RANGE_VEHICLE_WEIGHT_IN_KG\");\nconst vehicleHorsePower = new RangeValidation(1, 10000);//, //\"_ERR_OUT_OF_RANGE_VEHICLE_HORSE_POWER\");\nconst vehicleCylindersCount = new RangeValidation(1, 100);//, //\"_ERR_OUT_OF_RANGE_VEHICLE_CYLINDERS_COUNT\");\nconst vehicleManufactureYear = new RangeValidation(1900, 2100);//, //\"_ERR_OUT_OF_RANGE_VEHICLE_MANUFACTURE_YEAR\");\nconst vehicleSeatsCount = new RangeValidation(1, 100);//, //\"_ERR_OUT_OF_RANGE_VEHICLE_SEATS_COUNT\");\nconst vehicleSpareTiresCount = new RangeValidation(1, 2);//, //\"_ERR_OUT_OF_RANGE_VEHICLE_SPARE_TIRES_COUNT\");\nconst vehicleValue = new RangeValidation(1, 10000000);//,// \"_ERR_OUT_OF_RANGE_VEHICLE_VALUE\");\n\nconst ADDRESS_REGEX = /^$|^[\\u0621-\\u064A0-9 ]{3,100}$/\nconst PASSPORT_ID_OR_IDENTITY_ID_REGEX = /^[a-zA-Z0-9]+$/; //letters, numbers\nconst EMAIL_REGEX = /^$|^.*@.*\\..*$/;\nconst PHONE_NO_REGEX = /^$|^[0-9]{7,15}$/;\nconst TRIPTIK_NAME_REGEX = /^$|^[\\u0621-\\u064Aa-zA-Z0-9. ]+$/;\n\nexport function vehicleWeightInKGRangeValidator(control: AbstractControl) {\n return control.value >= vehicleWeightInKG.min && control.value <= vehicleWeightInKG.max ? null : { invalidVehicleWeightInKGRange: true };\n}\n\nexport function vehicleHorsePowerRangeValidator(control: AbstractControl) {\n //enable null \n return !control.value || (control.value >= vehicleHorsePower.min && control.value <= vehicleHorsePower.max) ? null : { invalidVehicleHorsePowerRange: true };\n}\n\nexport function vehicleCylindersCountRangeValidator(control: AbstractControl) {\n return control.value >= vehicleCylindersCount.min && control.value <= vehicleCylindersCount.max ? null : { invalidVehicleCylindersCountRange: true };\n}\n\nexport function vehicleManufactureYearRangeValidator(control: AbstractControl) {\n return control.value >= vehicleManufactureYear.min && control.value <= vehicleManufactureYear.max ? null : { invalidVehicleManufactureYearRange: true };\n}\n\nexport function vehicleSeatsCountRangeValidator(control: AbstractControl) {\n return control.value >= vehicleSeatsCount.min && control.value <= vehicleSeatsCount.max ? null : { invalidVehicleSeatsCountRange: true };\n}\n\nexport function vehicleSpareTiresCountRangeValidator(control: AbstractControl) {\n return control.value >= vehicleSpareTiresCount.min && control.value <= vehicleSpareTiresCount.max ? null : { invalidVehicleSpareTiresCountRange: true };\n}\n\nexport function vehicleValueRangeValidator(control: AbstractControl) {\n return control.value >= vehicleValue.min && control.value <= vehicleValue.max ? null : { invalidVehicleValueRange: true };\n}\n\n\nexport function nonEnglishCharactersValidator(control: AbstractControl) {\n return NON_ENGLISH_REGEX.test(control.value) ? null : { nonEnglishOnly: true };\n}\n\nexport function nonArabicCharactersValidator(control: AbstractControl) {\n return NON_ARABIC_REGEX.test(control.value) ? null : { nonArabicOnly: true };\n}\n\nexport function englishOnlyValidator(control: AbstractControl) {\n return ENGLISH_ONLY_REGEX.test(control.value) ? null : { englishOnly: true };\n}\n\nexport function englishAndSpacesValidator(control: AbstractControl) {\n return ENGLISH_AND_SPACES_REGEX.test(control.value) ? null : { englishAndSpacesOnly: true };\n}\n\nexport function numbersOnlyValidator(control: AbstractControl) {\n return NUMBERS_ONLY_REGEX.test(control.value) ? null : { invalidNumbersOnly: true };\n}\n\nexport function phoneNumberValidator(control: AbstractControl) {\n return PHONE_NO_REGEX.test(control.value) ? null : { invalidPhoneNumber: true };\n}\n\nexport function emailValidator(control: AbstractControl) {\n return EMAIL_REGEX.test(control.value) ? null : { invalidEmail: true };\n}\n\nexport function usernameValidator(control: AbstractControl) {\n return USERNAME_REGEX.test(control.value) ? null : { invalidUsername: true };\n}\n\nexport function passportIdOrIdentityIdValidator(control: AbstractControl) {\n return PASSPORT_ID_OR_IDENTITY_ID_REGEX.test(control.value) ? null : { invalidPassportIdOrIdentityId: true };\n}\n\nexport function _passportIdOrIdentityIdValidator(ctrl1: any, ctrl2: any, control: AbstractControl) {\n // console.log(control, ctrl1, ctrl2);\n return control.value != ctrl1.value && control.value != ctrl2.value ? null : { _invalidPassportIdOrIdentityId: true };\n}\n\nexport function addressValidator(control: AbstractControl) {\n return ADDRESS_REGEX.test(control.value) ? null : { invalidAddress: true };\n}\n\nexport function triptikNameValidator(control: AbstractControl) {\n return TRIPTIK_NAME_REGEX.test(control.value) ? null : { invalidTriptikName: true };\n}\n\nexport function standardLocalizedControlValidators(lang: Language): ValidatorFn[] {\n return [\n Validators.required,\n Validators.minLength(3),\n Validators.maxLength(50),\n lang == Language.Arabic ? nonEnglishCharactersValidator : nonArabicCharactersValidator];\n}\n\nexport function comparePasswords(group: FormGroup) { // here we have the 'passwords' group\n let pass = group.get('password').value;\n let confirmPassword = group.get('passwordConfirm').value;\n\n return pass === confirmPassword ? null : { passwordMismatch: true }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\n//import * as AppConfig from '../../../assets/config.json';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\nimport { environment } from 'src/environments/environment';\n\n@Injectable()\nexport class FileLoaderService {\n unavailableFile: string = 'assets/images/default.jpg';\n constructor(private http: HttpClient, private sanitizer: DomSanitizer) { }\n\n\n private sanitize(url: string) {\n return this.sanitizer.bypassSecurityTrustUrl(url);\n }\n\n async loadAsync(url: string) {\n const _url = environment.apiBaseUrl + url;\n //const _url = 'http://api.dev.mac.org.sa' + url;\n\n try {\n const file = await this.http.get(_url, { responseType: 'blob' })\n .pipe(map(blob => { return this.convertToByteArray(blob) }))\n .toPromise();\n\n //if (file)\n return file;\n\n //throw new Error();\n } catch (error) {\n return null;\n // return this.unavailableFile;\n }\n }\n\n private convertToByteArray(file: Blob) {\n return new Promise((resolve, reject) => {\n const fr = new FileReader();\n fr.onload = () => {\n const src = this.sanitize(fr.result.toString());\n resolve(src);\n };\n fr.readAsDataURL(file);\n });\n }\n}","import { Subject } from 'rxjs';\nimport { Injectable, EventEmitter } from \"@angular/core\";\n\n@Injectable()\nexport class LoadingService{\n public navLoading: EventEmitter;\n public bodyLoading: EventEmitter;\n public styleLoading: EventEmitter;\n\n constructor(){\n this.navLoading = new EventEmitter();\n this.bodyLoading = new EventEmitter();\n this.styleLoading = new EventEmitter();\n }\n\n static style: Subject = new Subject();\n\n public load(type: LoaderType = null, loading: boolean = true){\n switch(type){\n case LoaderType.Nav:\n this.navLoading.emit(loading);\n break;\n case LoaderType.Body:\n this.bodyLoading.emit(loading);\n break;\n\n default:\n this.styleLoading.emit(loading);\n break;\n }\n }\n}\n\nexport enum LoaderType {\n Nav,\n Body\n}","import { Component, Injectable, Directive, TemplateRef } from '@angular/core';\nimport { NgbModal, NgbModalRef, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\nimport { ConfirmState, ConfirmOptions, IModalOptions } from '../models/modal';\n\n@Injectable()\nexport class ConfirmService {\n\n constructor(private modalService: NgbModal, private state: ConfirmState) {}\n\n /**\n * Opens a confirmation modal\n * @param options the options for the modal (title and message)\n * @returns {Promise} a promise that is fulfilled when the user chooses to confirm, and rejected when\n * the user chooses not to confirm, or closes the modal\n */\n confirm(options: IModalOptions): Promise {\n this.state.options = options;\n //delete is the default modal\n //this.state.modal = this.modalService.open(options.confirmType == 'update' ? this.state.updateTemplate : this.state.deleteTemplate);\n this.state.modal = this.modalService.open(this.state.template);\n return this.state.modal.result;\n }\n}\n","import { TranslateService } from '@ngx-translate/core';\nimport { FormGroup, FormArray, FormControl, AbstractControl } from '@angular/forms';\nimport * as moment from 'moment';\nimport * as XLSX from 'xlsx';\nimport { EndPoint } from 'src/app/core/models/enums/end-point';\n\nexport class Utils {\n\n public static joinByDash(arr: string[]) {\n return [...arr].reverse().join(' - ');\n }\n\n public static validateAllFormFields(formGroup: /*AbstractControl | */FormGroup | FormArray) {\n ((formGroup instanceof FormArray) ? formGroup.controls :\n Object.keys((formGroup).controls)).forEach((field, i) => {\n const control = formGroup instanceof FormArray ?\n formGroup.controls[i]\n : formGroup.get(field);\n if (control instanceof FormControl) {\n control.markAsTouched({ onlySelf: true });\n } else if (control instanceof FormGroup\n || control instanceof FormArray) {\n this.validateAllFormFields(control);\n }\n });\n }\n\n\n public static _printHTML(content) {\n const html = `\n \n \n \n \n ${content}\n `;\n\n //var contents = document.getElementById(\"dvContents\").innerHTML;\n var frame1 = document.createElement('iframe');\n frame1.name = \"frame1\";\n frame1.style.position = \"absolute\";\n frame1.style.top = \"-1000000px\";\n document.body.appendChild(frame1);\n var frameDoc = (frame1.contentWindow) ? frame1.contentWindow : ((frame1.contentDocument).document) ? (frame1.contentDocument).document : frame1.contentDocument;\n frameDoc.document.open();\n //frameDoc.document.write('DIV Contents');\n //frameDoc.document.write('');\n frameDoc.document.write(html);\n //frameDoc.document.write('');\n frameDoc.document.close();\n setTimeout(function () {\n window.frames[\"frame1\"].focus();\n window.frames[\"frame1\"].print();\n document.body.removeChild(frame1);\n }, 500);\n return false;\n }\n\n public static printHtml(content) {\n\n try {\n this._printHTML(content);\n // const html = `\n // \n // \n // \n // \n // ${content}\n // `;\n\n // // const printContent = document.createElement(\"div\");\n // // const WindowPrt = window.open('', '', 'left=0,top=0,width=900,height=900,toolbar=0,scrollbars=0,status=0');\n // // WindowPrt.document.write(html);\n // // //WindowPrt.document.close();\n // // WindowPrt.focus();\n // // WindowPrt.print();\n // // //WindowPrt.close();\n\n // const frame1 = document.createElement('iframe');\n // frame1.name = \"frame1\";\n\n // frame1.style.position = \"absolute\";\n // frame1.style.top = \"-1000000px\";\n // document.body.appendChild(frame1);\n\n // // if (window.navigator.userAgent.toLowerCase().indexOf(\"chrome\") > -1) {\n // // frame1.contentWindow.focus();\n // // frame1.contentWindow.print();\n // // }\n\n // const frameDoc = frame1.contentDocument;\n // frameDoc.write(html);\n // setTimeout(function () {\n // window.frames[\"frame1\"].focus();\n // window.frames[\"frame1\"].print();\n // document.body.removeChild(frame1);\n // }, 1000);\n\n\n // var is_chrome = function () { return navigator.userAgent.toLowerCase().indexOf('chrome') > -1; }\n // window.onload = function () {\n // if (is_chrome) {\n // /*\n // * These 2 lines are here because as usual, for other browsers,\n // * the window is a tiny 100x100 box that the user will barely see.\n // * On Chrome, it needs to be big enough for the dialogue to be read\n // * (NB, it also includes a page preview).\n // */\n // window.moveTo(0, 0);\n // window.resizeTo(640, 480);\n\n // // This line causes the print dialogue to appear, as usual:\n // window.print();\n\n // /*\n // * This setTimeout isn't fired until after .print() has finished\n // * or the dialogue is closed/cancelled.\n // * It doesn't need to be a big pause, 500ms seems OK.\n // */\n // setTimeout(function () {\n // window.close();\n // }, 500);\n // } else {\n // // For other browsers we can do things more briefly:\n // window.print();\n // window.close();\n // }\n // }\n return false;\n }\n catch (e) {\n\n console.error(e);\n }\n }\n\n public static spreadRange(range: number[], reverse: boolean = false) {\n let start = range[0], end = range[1];\n const result: number[] = [];\n while (start <= end)\n result.push(start++);\n\n return !reverse ?\n result : result.reverse();\n }\n\n\n public static convertToServerDateTimeString(str) {\n const date = new Date(str);\n return new Date(date.setHours(date.getHours() + 3)).toISOString()\n }\n\n public static spreadRanges(ranges: number[][]) {\n const result = [];\n\n ranges.forEach(s => {\n if (s.length > 1) {\n let _start = s[0];\n const _end = s[1];\n while (_start <= _end)\n result.push(_start++);\n }\n else\n result.push(s[0]);\n });\n return result;\n }\n\n public static convertToMillimeter(px: number) {\n return px * 0.2645833333;\n }\n\n public static convertToPixel(mm: number) {\n return mm / 0.2645833333;\n }\n\n public static generateQrCodeUrl(hash: string) {\n //return `https://idl.mac.org.sa/verify-license/${hash}`;\n return `${window.location.origin}/verify/${hash}`;\n }\n\n public static exportToExcel(data: any, translate: TranslateService) {\n\n var output = data.map(function (obj) {\n return Object.keys(obj).map(function (key) {\n return obj[key];\n });\n });\n\n var wscols = [\n { width: 10 }, // first column\n { width: 10 },\n { width: 12.5 },\n { width: 30 },\n { width: 30 },\n { width: 12.5 },\n { width: 10 },\n { width: 10 },\n { width: 20 },\n { width: 15 },\n { width: 15 },\n { width: 15 },\n { width: 10 },\n { width: 15 },\n { width: 10 },\n { width: 12.5 },\n { width: 12.5 },\n { width: 10 }\n ];\n\n const ws: XLSX.WorkSheet = XLSX.utils.aoa_to_sheet(output);\n ws[\"!cols\"] = wscols;\n ws[\"!autofilter\"] = { ref: 'A1:R1' };\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n if (!wb.Workbook) wb.Workbook = {};\n if (!wb.Workbook.Views) wb.Workbook.Views = [];\n if (!wb.Workbook.Views[0]) wb.Workbook.Views[0] = {};\n wb.Workbook.Views[0].RTL = true;\n\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, `Licenses_Export_${moment(new Date()).format(\"L\")}.xlsx`);\n }\n}","import { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\nInjectable()\nexport class ValidationService {\n constructor(private translate: TranslateService) { }\n\n getValidatorErrorMessage(validatorName: string, validatorValue?: any, locale?: string) {\n let config = {\n required: '_MESSAGE_VALIDATION_REQUIRED',//await this.translate.get('_MESSAGE_VALIDATION_REQUIRED', {field: await this.translate.get(locale).toPromise()}).toPromise(),\n arabicOnly: '_MESSAGE_VALIDATION_ARABIC_ONLY',\n nonEnglishOnly: '_MESSAGE_VALIDATION_NON_ENGLISH_ONLY',\n nonArabicOnly: '_MESSAGE_VALIDATION_NON_ARABIC_ONLY',\n englishAndSpacesOnly: '_MESSAGE_VALIDATION_ENGLISH_AND_SPACES_ONLY',\n englishOnly: '_MESSAGE_VALIDATION_ENGLISH_ONLY',\n invalidNumbersOnly: '_MESSAGE_VALIDATION_NUMBERS_ONLY',\n invalidUsername: '_MESSAGE_VALIDATION_USERNAME_PATTERN',\n duplicatedUsername: '_MESSAGE_VALIDATION_DUPLICATED_USERNAME',\n passwordMismatch: '_MESSAGE_VALIDATION_PASSWORD_MISMATCH',\n invalidPhoneNumber: '_ERR_REGEX_PHONE_NO',\n invalidEmail: '_MESSAGE_VALIDATION_EMAIL_PATTERN',\n email: '_MESSAGE_VALIDATION_EMAIL_PATTERN',\n invalidAddress: '_ERR_REGEX_ADDRESS',\n minlength: ['_MESSAGE_VALIDATION_MIN_CHARACTERS', validatorValue.requiredLength],\n maxlength: ['_MESSAGE_VALIDATION_MAX_CHARACTERS', validatorValue.requiredLength],\n _invalidPassportIdOrIdentityId: '_ERR_OWNER_PASSPORT_OR_IDENTITY_DUPLICATE',\n invalidPassportIdOrIdentityId: '_MESSAGE_VALIDATION_PASSPORT_ID_IDENTITY_ID_PATTERN',\n invalidCreditCard: 'Is invalid credit card number',\n invalidEmailAddress: 'Invalid email address',\n invalidPassword:\n 'Invalid password. Password must be at least 6 characters long, and contain a number.',\n // minlength: `Minimum length ${validatorValue.requiredLength}`\n invalidVehicleWeightInKGRange: '_ERR_OUT_OF_RANGE_VEHICLE_WEIGHT_IN_KG',\n invalidVehicleHorsePowerRange: '_ERR_OUT_OF_RANGE_VEHICLE_HORSE_POWER',\n invalidVehicleCylindersCountRange: '_ERR_OUT_OF_RANGE_VEHICLE_CYLINDERS_COUNT',\n invalidVehicleManufactureYearRange: '_ERR_OUT_OF_RANGE_VEHICLE_MANUFACTURE_YEAR',\n invalidVehicleSeatsCountRange: '_ERR_OUT_OF_RANGE_VEHICLE_SEATS_COUNT',\n invalidVehicleSpareTiresCountRange: '_ERR_OUT_OF_RANGE_VEHICLE_SPARE_TIRES_COUNT',\n invalidVehicleValueRange: '_ERR_OUT_OF_RANGE_VEHICLE_VALUE',\n invalidTriptikName: '_ERR_REGEX_TRIPTIK_NAME'\n };\n\n return config[validatorName];\n }\n\n // static creditCardValidator(control) {\n // // Visa, MasterCard, American Express, Diners Club, Discover, JCB\n // if (\n // control.value.match(\n // /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$/\n // )\n // ) {\n // return null;\n // } else {\n // return { invalidCreditCard: true };\n // }\n // }\n\n // static emailValidator(control) {\n // // RFC 2822 compliant regex\n // if (\n // control.value.match(\n // /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/\n // )\n // ) {\n // return null;\n // } else {\n // return { invalidEmailAddress: true };\n // }\n // }\n\n // static passwordValidator(control) {\n // // {6,100} - Assert password is between 6 and 100 characters\n // // (?=.*[0-9]) - Assert a string has at least one number\n // if (control.value.match(/^(?=.*[0-9])[a-zA-Z0-9!@#$%^&*]{6,100}$/)) {\n // return null;\n // } else {\n // return { invalidPassword: true };\n // }\n // }\n}","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: true,\n //apiBaseUrl: \"https://api-offline.macxbackupxdata.space\",\n //apiBaseUrl: 'https://localhost:5001'\n apiBaseUrl: 'https://api-sys.mac.org.sa'\n};\n\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 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","\nimport { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","var map = {\n\t\"./af\": 26431,\n\t\"./af.js\": 26431,\n\t\"./ar\": 81286,\n\t\"./ar-dz\": 1616,\n\t\"./ar-dz.js\": 1616,\n\t\"./ar-kw\": 9759,\n\t\"./ar-kw.js\": 9759,\n\t\"./ar-ly\": 43160,\n\t\"./ar-ly.js\": 43160,\n\t\"./ar-ma\": 62551,\n\t\"./ar-ma.js\": 62551,\n\t\"./ar-sa\": 79989,\n\t\"./ar-sa.js\": 79989,\n\t\"./ar-tn\": 6962,\n\t\"./ar-tn.js\": 6962,\n\t\"./ar.js\": 81286,\n\t\"./az\": 15887,\n\t\"./az.js\": 15887,\n\t\"./be\": 14572,\n\t\"./be.js\": 14572,\n\t\"./bg\": 3276,\n\t\"./bg.js\": 3276,\n\t\"./bm\": 93344,\n\t\"./bm.js\": 93344,\n\t\"./bn\": 58985,\n\t\"./bn-bd\": 83990,\n\t\"./bn-bd.js\": 83990,\n\t\"./bn.js\": 58985,\n\t\"./bo\": 94391,\n\t\"./bo.js\": 94391,\n\t\"./br\": 46728,\n\t\"./br.js\": 46728,\n\t\"./bs\": 5536,\n\t\"./bs.js\": 5536,\n\t\"./ca\": 41043,\n\t\"./ca.js\": 41043,\n\t\"./cs\": 70420,\n\t\"./cs.js\": 70420,\n\t\"./cv\": 33513,\n\t\"./cv.js\": 33513,\n\t\"./cy\": 6771,\n\t\"./cy.js\": 6771,\n\t\"./da\": 47978,\n\t\"./da.js\": 47978,\n\t\"./de\": 46061,\n\t\"./de-at\": 25204,\n\t\"./de-at.js\": 25204,\n\t\"./de-ch\": 2653,\n\t\"./de-ch.js\": 2653,\n\t\"./de.js\": 46061,\n\t\"./dv\": 85,\n\t\"./dv.js\": 85,\n\t\"./el\": 8579,\n\t\"./el.js\": 8579,\n\t\"./en-au\": 25724,\n\t\"./en-au.js\": 25724,\n\t\"./en-ca\": 10525,\n\t\"./en-ca.js\": 10525,\n\t\"./en-gb\": 52847,\n\t\"./en-gb.js\": 52847,\n\t\"./en-ie\": 67216,\n\t\"./en-ie.js\": 67216,\n\t\"./en-il\": 39305,\n\t\"./en-il.js\": 39305,\n\t\"./en-in\": 73364,\n\t\"./en-in.js\": 73364,\n\t\"./en-nz\": 79130,\n\t\"./en-nz.js\": 79130,\n\t\"./en-sg\": 11161,\n\t\"./en-sg.js\": 11161,\n\t\"./eo\": 50802,\n\t\"./eo.js\": 50802,\n\t\"./es\": 40328,\n\t\"./es-do\": 45551,\n\t\"./es-do.js\": 45551,\n\t\"./es-mx\": 75615,\n\t\"./es-mx.js\": 75615,\n\t\"./es-us\": 64790,\n\t\"./es-us.js\": 64790,\n\t\"./es.js\": 40328,\n\t\"./et\": 96389,\n\t\"./et.js\": 96389,\n\t\"./eu\": 52961,\n\t\"./eu.js\": 52961,\n\t\"./fa\": 26151,\n\t\"./fa.js\": 26151,\n\t\"./fi\": 7997,\n\t\"./fi.js\": 7997,\n\t\"./fil\": 58898,\n\t\"./fil.js\": 58898,\n\t\"./fo\": 37779,\n\t\"./fo.js\": 37779,\n\t\"./fr\": 28174,\n\t\"./fr-ca\": 3287,\n\t\"./fr-ca.js\": 3287,\n\t\"./fr-ch\": 38867,\n\t\"./fr-ch.js\": 38867,\n\t\"./fr.js\": 28174,\n\t\"./fy\": 50452,\n\t\"./fy.js\": 50452,\n\t\"./ga\": 45014,\n\t\"./ga.js\": 45014,\n\t\"./gd\": 74127,\n\t\"./gd.js\": 74127,\n\t\"./gl\": 72124,\n\t\"./gl.js\": 72124,\n\t\"./gom-deva\": 6444,\n\t\"./gom-deva.js\": 6444,\n\t\"./gom-latn\": 37953,\n\t\"./gom-latn.js\": 37953,\n\t\"./gu\": 76604,\n\t\"./gu.js\": 76604,\n\t\"./he\": 1222,\n\t\"./he.js\": 1222,\n\t\"./hi\": 74235,\n\t\"./hi.js\": 74235,\n\t\"./hr\": 622,\n\t\"./hr.js\": 622,\n\t\"./hu\": 37735,\n\t\"./hu.js\": 37735,\n\t\"./hy-am\": 90402,\n\t\"./hy-am.js\": 90402,\n\t\"./id\": 59187,\n\t\"./id.js\": 59187,\n\t\"./is\": 30536,\n\t\"./is.js\": 30536,\n\t\"./it\": 35007,\n\t\"./it-ch\": 94667,\n\t\"./it-ch.js\": 94667,\n\t\"./it.js\": 35007,\n\t\"./ja\": 62093,\n\t\"./ja.js\": 62093,\n\t\"./jv\": 80059,\n\t\"./jv.js\": 80059,\n\t\"./ka\": 66870,\n\t\"./ka.js\": 66870,\n\t\"./kk\": 80880,\n\t\"./kk.js\": 80880,\n\t\"./km\": 1083,\n\t\"./km.js\": 1083,\n\t\"./kn\": 68785,\n\t\"./kn.js\": 68785,\n\t\"./ko\": 21721,\n\t\"./ko.js\": 21721,\n\t\"./ku\": 37851,\n\t\"./ku.js\": 37851,\n\t\"./ky\": 1727,\n\t\"./ky.js\": 1727,\n\t\"./lb\": 40346,\n\t\"./lb.js\": 40346,\n\t\"./lo\": 93002,\n\t\"./lo.js\": 93002,\n\t\"./lt\": 64035,\n\t\"./lt.js\": 64035,\n\t\"./lv\": 56927,\n\t\"./lv.js\": 56927,\n\t\"./me\": 5634,\n\t\"./me.js\": 5634,\n\t\"./mi\": 94173,\n\t\"./mi.js\": 94173,\n\t\"./mk\": 86320,\n\t\"./mk.js\": 86320,\n\t\"./ml\": 11705,\n\t\"./ml.js\": 11705,\n\t\"./mn\": 31062,\n\t\"./mn.js\": 31062,\n\t\"./mr\": 92805,\n\t\"./mr.js\": 92805,\n\t\"./ms\": 11341,\n\t\"./ms-my\": 59900,\n\t\"./ms-my.js\": 59900,\n\t\"./ms.js\": 11341,\n\t\"./mt\": 37734,\n\t\"./mt.js\": 37734,\n\t\"./my\": 19034,\n\t\"./my.js\": 19034,\n\t\"./nb\": 9324,\n\t\"./nb.js\": 9324,\n\t\"./ne\": 46495,\n\t\"./ne.js\": 46495,\n\t\"./nl\": 70673,\n\t\"./nl-be\": 76272,\n\t\"./nl-be.js\": 76272,\n\t\"./nl.js\": 70673,\n\t\"./nn\": 72486,\n\t\"./nn.js\": 72486,\n\t\"./oc-lnc\": 46219,\n\t\"./oc-lnc.js\": 46219,\n\t\"./pa-in\": 2829,\n\t\"./pa-in.js\": 2829,\n\t\"./pl\": 78444,\n\t\"./pl.js\": 78444,\n\t\"./pt\": 53170,\n\t\"./pt-br\": 66117,\n\t\"./pt-br.js\": 66117,\n\t\"./pt.js\": 53170,\n\t\"./ro\": 96587,\n\t\"./ro.js\": 96587,\n\t\"./ru\": 39264,\n\t\"./ru.js\": 39264,\n\t\"./sd\": 42135,\n\t\"./sd.js\": 42135,\n\t\"./se\": 95366,\n\t\"./se.js\": 95366,\n\t\"./si\": 93379,\n\t\"./si.js\": 93379,\n\t\"./sk\": 46143,\n\t\"./sk.js\": 46143,\n\t\"./sl\": 196,\n\t\"./sl.js\": 196,\n\t\"./sq\": 21082,\n\t\"./sq.js\": 21082,\n\t\"./sr\": 91621,\n\t\"./sr-cyrl\": 98963,\n\t\"./sr-cyrl.js\": 98963,\n\t\"./sr.js\": 91621,\n\t\"./ss\": 41404,\n\t\"./ss.js\": 41404,\n\t\"./sv\": 55685,\n\t\"./sv.js\": 55685,\n\t\"./sw\": 3872,\n\t\"./sw.js\": 3872,\n\t\"./ta\": 54106,\n\t\"./ta.js\": 54106,\n\t\"./te\": 39204,\n\t\"./te.js\": 39204,\n\t\"./tet\": 83692,\n\t\"./tet.js\": 83692,\n\t\"./tg\": 86361,\n\t\"./tg.js\": 86361,\n\t\"./th\": 31735,\n\t\"./th.js\": 31735,\n\t\"./tk\": 1568,\n\t\"./tk.js\": 1568,\n\t\"./tl-ph\": 96129,\n\t\"./tl-ph.js\": 96129,\n\t\"./tlh\": 13759,\n\t\"./tlh.js\": 13759,\n\t\"./tr\": 81644,\n\t\"./tr.js\": 81644,\n\t\"./tzl\": 90875,\n\t\"./tzl.js\": 90875,\n\t\"./tzm\": 16878,\n\t\"./tzm-latn\": 11041,\n\t\"./tzm-latn.js\": 11041,\n\t\"./tzm.js\": 16878,\n\t\"./ug-cn\": 74357,\n\t\"./ug-cn.js\": 74357,\n\t\"./uk\": 74810,\n\t\"./uk.js\": 74810,\n\t\"./ur\": 86794,\n\t\"./ur.js\": 86794,\n\t\"./uz\": 28966,\n\t\"./uz-latn\": 77959,\n\t\"./uz-latn.js\": 77959,\n\t\"./uz.js\": 28966,\n\t\"./vi\": 35386,\n\t\"./vi.js\": 35386,\n\t\"./x-pseudo\": 23156,\n\t\"./x-pseudo.js\": 23156,\n\t\"./yo\": 68028,\n\t\"./yo.js\": 68028,\n\t\"./zh-cn\": 9330,\n\t\"./zh-cn.js\": 9330,\n\t\"./zh-hk\": 89380,\n\t\"./zh-hk.js\": 89380,\n\t\"./zh-mo\": 60874,\n\t\"./zh-mo.js\": 60874,\n\t\"./zh-tw\": 96508,\n\t\"./zh-tw.js\": 96508\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","export default \"\\n .full-image {\\n width: 100%;\\n height: auto;\\n }\\n \\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImltYWdlLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtJQUNJO01BQ0UsV0FBVztNQUNYLFlBQVk7SUFDZCIsImZpbGUiOiJpbWFnZS1kaWFsb2cuY29tcG9uZW50LnRzIiwic291cmNlc0NvbnRlbnQiOlsiXG4gICAgLmZ1bGwtaW1hZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICAiXX0= */\";","export default \"table {\\n width: 100%;\\n}\\n\\n.mat-form-field {\\n font-size: 14px;\\n width: 100%;\\n}\\n\\ntd:last-child, th:last-child {\\n width: 20%;\\n}\\n\\n.mat-table {\\n font-family: inherit;\\n}\\n\\n.editing {\\n background-color: #fff9a3 !important;\\n}\\n\\n.adding {\\n background-color: #dcf2ff !important;\\n}\\n\\n.saved {\\n background-color: #b0ff91 !important;\\n}\\n\\n.deleting {\\n background-color: #f8d7da !important;\\n}\\n\\n.pointer {\\n cursor: pointer !important;\\n}\\n\\n/* Hide the tripTikDocumentId column */\\n\\n.hidden-column {\\n display: none;\\n}\\n\\ntable {\\n width: 100%;\\n}\\n\\n.mat-form-field {\\n font-size: 14px;\\n width: 100%;\\n}\\n\\ntd:last-child, th:last-child {\\n width: 20%;\\n}\\n\\n.mat-table {\\n font-family: inherit;\\n}\\n\\n.editing {\\n background-color: #fff9a3 !important;\\n}\\n\\n.adding {\\n background-color: #dcf2ff !important;\\n}\\n\\n.saved {\\n background-color: #b0ff91 !important;\\n}\\n\\n.deleting {\\n background-color: #f8d7da !important;\\n}\\n\\n.pointer {\\n cursor: pointer !important;\\n}\\n\\n/* Style the action buttons */\\n\\n.action-button {\\n padding: 5px;\\n font-size: 12px;\\n margin-right: 5px;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n position: relative;\\n background-color: #007bff;\\n /* Primary button background color */\\n border: none;\\n border-radius: 4px;\\n color: white;\\n height: 36px;\\n /* Make the buttons consistent in height */\\n width: 36px;\\n /* Make the buttons consistent in width */\\n}\\n\\n.action-button.btn-secondary {\\n background-color: #6c757d;\\n /* Secondary button background color */\\n}\\n\\n.action-button .material-icons {\\n font-size: 20px;\\n}\\n\\n/* Tooltip text */\\n\\n.action-button .tooltip-text {\\n visibility: hidden;\\n opacity: 0;\\n white-space: nowrap;\\n background-color: #555;\\n color: #fff;\\n text-align: center;\\n border-radius: 6px;\\n padding: 5px;\\n position: absolute;\\n z-index: 1;\\n top: -40px;\\n /* Adjust this value to position tooltip closer to the button */\\n left: 50%;\\n transform: translateX(-50%);\\n transition: visibility 0s, opacity 0.5s linear;\\n font-size: 12px;\\n}\\n\\n.action-button .tooltip-text::after {\\n content: \\\"\\\";\\n position: absolute;\\n top: 100%;\\n /* At the bottom of the tooltip */\\n left: 50%;\\n transform: translateX(-50%);\\n border-width: 5px;\\n border-style: solid;\\n border-color: #555 transparent transparent transparent;\\n}\\n\\n.action-button:hover .tooltip-text {\\n visibility: visible;\\n opacity: 1;\\n}\\n\\n.custom-dialog-container {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n height: 100vh;\\n /* Ensure full height of the viewport */\\n}\\n\\n.custom-dialog-container .mat-dialog-container {\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n max-width: 100%;\\n /* Adjust as necessary */\\n max-height: 100%;\\n /* Adjust as necessary */\\n overflow: hidden;\\n /* Hide overflow if needed */\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhYmxlLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBQTtBQUNGOztBQUVBO0VBQ0UsZUFBQTtFQUNBLFdBQUE7QUFDRjs7QUFFQTtFQUNFLFVBQUE7QUFDRjs7QUFFQTtFQUNFLG9CQUFBO0FBQ0Y7O0FBRUE7RUFDRSxvQ0FBQTtBQUNGOztBQUVBO0VBQ0Usb0NBQUE7QUFDRjs7QUFFQTtFQUNFLG9DQUFBO0FBQ0Y7O0FBRUE7RUFDRSxvQ0FBQTtBQUNGOztBQUVBO0VBQ0UsMEJBQUE7QUFDRjs7QUFFQSxzQ0FBQTs7QUFDQTtFQUNFLGFBQUE7QUFDRjs7QUFFQTtFQUNFLFdBQUE7QUFDRjs7QUFFQTtFQUNFLGVBQUE7RUFDQSxXQUFBO0FBQ0Y7O0FBRUE7RUFDRSxVQUFBO0FBQ0Y7O0FBRUE7RUFDRSxvQkFBQTtBQUNGOztBQUVBO0VBQ0Usb0NBQUE7QUFDRjs7QUFFQTtFQUNFLG9DQUFBO0FBQ0Y7O0FBRUE7RUFDRSxvQ0FBQTtBQUNGOztBQUVBO0VBQ0Usb0NBQUE7QUFDRjs7QUFFQTtFQUNFLDBCQUFBO0FBQ0Y7O0FBQ0EsNkJBQUE7O0FBQ0E7RUFDRSxZQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0Esb0JBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QkFBQTtFQUEyQixvQ0FBQTtFQUMzQixZQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUFjLDBDQUFBO0VBQ2QsV0FBQTtFQUFhLHlDQUFBO0FBS2Y7O0FBRkE7RUFDRSx5QkFBQTtFQUEyQixzQ0FBQTtBQU03Qjs7QUFIQTtFQUNFLGVBQUE7QUFNRjs7QUFEQSxpQkFBQTs7QUFDQTtFQUNFLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLG1CQUFBO0VBQ0Esc0JBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxVQUFBO0VBQVksK0RBQUE7RUFDWixTQUFBO0VBQ0EsMkJBQUE7RUFDQSw4Q0FBQTtFQUNBLGVBQUE7QUFLRjs7QUFGQTtFQUNFLFdBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQUE7RUFBVyxpQ0FBQTtFQUNYLFNBQUE7RUFDQSwyQkFBQTtFQUNBLGlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxzREFBQTtBQU1GOztBQUhBO0VBQ0UsbUJBQUE7RUFDQSxVQUFBO0FBTUY7O0FBSkE7RUFDRSxhQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtFQUNBLGFBQUE7RUFBZSx1Q0FBQTtBQVFqQjs7QUFMQTtFQUNFLGFBQUE7RUFDQSxzQkFBQTtFQUNBLHVCQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0VBQWlCLHdCQUFBO0VBQ2pCLGdCQUFBO0VBQWtCLHdCQUFBO0VBQ2xCLGdCQUFBO0VBQWtCLDRCQUFBO0FBV3BCIiwiZmlsZSI6InRhYmxlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsidGFibGUge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ubWF0LWZvcm0tZmllbGQge1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxudGQ6bGFzdC1jaGlsZCwgdGg6bGFzdC1jaGlsZCB7XHJcbiAgd2lkdGg6IDIwJTtcclxufVxyXG5cclxuLm1hdC10YWJsZSB7XHJcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbn1cclxuXHJcbi5lZGl0aW5nIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOWEzICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5hZGRpbmcge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2YyZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnNhdmVkIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjBmZjkxICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kZWxldGluZyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZDdkYSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucG9pbnRlciB7XHJcbiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIEhpZGUgdGhlIHRyaXBUaWtEb2N1bWVudElkIGNvbHVtbiAqL1xyXG4uaGlkZGVuLWNvbHVtbiB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxudGFibGUge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ubWF0LWZvcm0tZmllbGQge1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxudGQ6bGFzdC1jaGlsZCwgdGg6bGFzdC1jaGlsZCB7XHJcbiAgd2lkdGg6IDIwJTtcclxufVxyXG5cclxuLm1hdC10YWJsZSB7XHJcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbn1cclxuXHJcbi5lZGl0aW5nIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOWEzICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5hZGRpbmcge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2YyZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnNhdmVkIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjBmZjkxICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kZWxldGluZyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZDdkYSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucG9pbnRlciB7XHJcbiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XHJcbn1cclxuLyogU3R5bGUgdGhlIGFjdGlvbiBidXR0b25zICovXHJcbi5hY3Rpb24tYnV0dG9uIHtcclxuICBwYWRkaW5nOiA1cHg7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7IC8qIFByaW1hcnkgYnV0dG9uIGJhY2tncm91bmQgY29sb3IgKi9cclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICBoZWlnaHQ6IDM2cHg7IC8qIE1ha2UgdGhlIGJ1dHRvbnMgY29uc2lzdGVudCBpbiBoZWlnaHQgKi9cclxuICB3aWR0aDogMzZweDsgLyogTWFrZSB0aGUgYnV0dG9ucyBjb25zaXN0ZW50IGluIHdpZHRoICovXHJcbn1cclxuXHJcbi5hY3Rpb24tYnV0dG9uLmJ0bi1zZWNvbmRhcnkge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2Q7IC8qIFNlY29uZGFyeSBidXR0b24gYmFja2dyb3VuZCBjb2xvciAqL1xyXG59XHJcblxyXG4uYWN0aW9uLWJ1dHRvbiAubWF0ZXJpYWwtaWNvbnMge1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxufVxyXG5cclxuXHJcblxyXG4vKiBUb29sdGlwIHRleHQgKi9cclxuLmFjdGlvbi1idXR0b24gLnRvb2x0aXAtdGV4dCB7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgcGFkZGluZzogNXB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAxO1xyXG4gIHRvcDogLTQwcHg7IC8qIEFkanVzdCB0aGlzIHZhbHVlIHRvIHBvc2l0aW9uIHRvb2x0aXAgY2xvc2VyIHRvIHRoZSBidXR0b24gKi9cclxuICBsZWZ0OiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMHMsIG9wYWNpdHkgMC41cyBsaW5lYXI7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG59XHJcblxyXG4uYWN0aW9uLWJ1dHRvbiAudG9vbHRpcC10ZXh0OjphZnRlciB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAxMDAlOyAvKiBBdCB0aGUgYm90dG9tIG9mIHRoZSB0b29sdGlwICovXHJcbiAgbGVmdDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICBib3JkZXItd2lkdGg6IDVweDtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci1jb2xvcjogIzU1NSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLmFjdGlvbi1idXR0b246aG92ZXIgLnRvb2x0aXAtdGV4dCB7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICBvcGFjaXR5OiAxO1xyXG59XHJcbi5jdXN0b20tZGlhbG9nLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGhlaWdodDogMTAwdmg7IC8qIEVuc3VyZSBmdWxsIGhlaWdodCBvZiB0aGUgdmlld3BvcnQgKi9cclxufVxyXG5cclxuLmN1c3RvbS1kaWFsb2ctY29udGFpbmVyIC5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiBBZGp1c3QgYXMgbmVjZXNzYXJ5ICovXHJcbiAgbWF4LWhlaWdodDogMTAwJTsgLyogQWRqdXN0IGFzIG5lY2Vzc2FyeSAqL1xyXG4gIG92ZXJmbG93OiBoaWRkZW47IC8qIEhpZGUgb3ZlcmZsb3cgaWYgbmVlZGVkICovXHJcbn1cclxuIl19 */\";","export default \".upload-dialog {\\n padding: 20px;\\n}\\n\\n.upload-drop-zone {\\n border: 2px dashed #ccc;\\n border-radius: 4px;\\n padding: 20px;\\n text-align: center;\\n cursor: pointer;\\n margin-bottom: 15px;\\n}\\n\\n.upload-drop-zone p {\\n margin: 0;\\n font-size: 16px;\\n color: #ccc;\\n}\\n\\n.file-list {\\n margin-top: 15px;\\n}\\n\\n.mat-dialog-actions {\\n display: flex;\\n justify-content: flex-end;\\n padding: 8px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVwbG9hZC1kaWFsb2cuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFBO0FBQ0Y7O0FBRUE7RUFDRSx1QkFBQTtFQUNBLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLG1CQUFBO0FBQ0Y7O0FBRUE7RUFDRSxTQUFBO0VBQ0EsZUFBQTtFQUNBLFdBQUE7QUFDRjs7QUFFQTtFQUNFLGdCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxhQUFBO0VBQ0EseUJBQUE7RUFDQSxZQUFBO0FBQ0YiLCJmaWxlIjoidXBsb2FkLWRpYWxvZy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi51cGxvYWQtZGlhbG9nIHtcclxuICBwYWRkaW5nOiAyMHB4O1xyXG59XHJcblxyXG4udXBsb2FkLWRyb3Atem9uZSB7XHJcbiAgYm9yZGVyOiAycHggZGFzaGVkICNjY2M7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIHBhZGRpbmc6IDIwcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4udXBsb2FkLWRyb3Atem9uZSBwIHtcclxuICBtYXJnaW46IDA7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGNvbG9yOiAjY2NjO1xyXG59XHJcblxyXG4uZmlsZS1saXN0IHtcclxuICBtYXJnaW4tdG9wOiAxNXB4O1xyXG59XHJcblxyXG4ubWF0LWRpYWxvZy1hY3Rpb25zIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgcGFkZGluZzogOHB4O1xyXG59XHJcbiJdfQ== */\";","export default \".gallery {\\n display: flex;\\n flex-wrap: wrap;\\n grid-gap: 15px;\\n gap: 15px;\\n justify-content: center;\\n}\\n\\n.gallery-item {\\n position: relative;\\n width: 150px;\\n height: 100px;\\n overflow: hidden;\\n border-radius: 8px;\\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\\n transition: transform 0.2s;\\n cursor: pointer;\\n}\\n\\n.gallery-item:hover {\\n transform: scale(1.05);\\n}\\n\\n.gallery-image {\\n width: 100%;\\n height: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.icon-container {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n display: flex;\\n flex-direction: row;\\n grid-gap: 10px;\\n gap: 10px;\\n padding: 5px;\\n background: rgba(0, 0, 0, 0.3);\\n border-radius: 8px;\\n}\\n\\n.icon-container a, .icon-container button {\\n background: rgba(255, 255, 255, 0.7);\\n border: none;\\n padding: 5px;\\n border-radius: 50%;\\n color: #000;\\n text-decoration: none;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n transition: background 0.3s;\\n}\\n\\n.icon-container a:hover, .icon-container button:hover {\\n background: white;\\n}\\n\\n.icon-container i {\\n font-size: 20px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZpZXctZmlsZXMtZGlhbG9nLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBQTtFQUNBLGVBQUE7RUFDQSxjQUFBO0VBQUEsU0FBQTtFQUNBLHVCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxrQkFBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLHdDQUFBO0VBQ0EsMEJBQUE7RUFDQSxlQUFBO0FBQ0Y7O0FBRUE7RUFDRSxzQkFBQTtBQUNGOztBQUVBO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxvQkFBQTtLQUFBLGlCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsZ0NBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxjQUFBO0VBQUEsU0FBQTtFQUNBLFlBQUE7RUFDQSw4QkFBQTtFQUNBLGtCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxvQ0FBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EscUJBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLDJCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxpQkFBQTtBQUNGOztBQUVBO0VBQ0UsZUFBQTtBQUNGIiwiZmlsZSI6InZpZXctZmlsZXMtZGlhbG9nLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmdhbGxlcnkge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGdhcDogMTVweDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLmdhbGxlcnktaXRlbSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxNTBweDtcclxuICBoZWlnaHQ6IDEwMHB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnM7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uZ2FsbGVyeS1pdGVtOmhvdmVyIHtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xyXG59XHJcblxyXG4uZ2FsbGVyeS1pbWFnZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIG9iamVjdC1maXQ6IGNvdmVyO1xyXG59XHJcblxyXG4uaWNvbi1jb250YWluZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGdhcDogMTBweDtcclxuICBwYWRkaW5nOiA1cHg7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcclxufVxyXG5cclxuLmljb24tY29udGFpbmVyIGEsIC5pY29uLWNvbnRhaW5lciBidXR0b24ge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgcGFkZGluZzogNXB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBjb2xvcjogIzAwMDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcztcclxufVxyXG5cclxuLmljb24tY29udGFpbmVyIGE6aG92ZXIsIC5pY29uLWNvbnRhaW5lciBidXR0b246aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XHJcbn1cclxuXHJcbi5pY29uLWNvbnRhaW5lciBpIHtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbn1cclxuIl19 */\";","export default \"mac-footer {\\n z-index: 11;\\n}\\n\\nmat-progress-bar {\\n z-index: 99;\\n position: fixed;\\n top: 0;\\n right: 0;\\n width: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFdBQUE7QUFDRjs7QUFFQTtFQUNFLFdBQUE7RUFDQSxlQUFBO0VBQ0EsTUFBQTtFQUNBLFFBQUE7RUFDQSxXQUFBO0FBQ0YiLCJmaWxlIjoiYXBwLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsibWFjLWZvb3RlciB7XG4gIHotaW5kZXg6IDExO1xufVxuXG5tYXQtcHJvZ3Jlc3MtYmFye1xuICB6LWluZGV4OiA5OTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbn0iXX0= */\";","export default \"footer {\\n padding: 2rem 0;\\n flex-shrink: 0;\\n font-size: 0.88rem;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZvb3Rlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGVBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7QUFDRiIsImZpbGUiOiJmb290ZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJmb290ZXIge1xuICBwYWRkaW5nOiAycmVtIDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBmb250LXNpemU6Ljg4cmVtO1xufVxuXG4iXX0= */\";","export default \"nav {\\n z-index: 10;\\n min-height: 4.375rem;\\n}\\nnav .navbar-brand {\\n font-size: 1rem;\\n /*background-color: rgba(0, 0, 0, .25);*/\\n /*box-shadow: inset -1px 0 0 rgba(0, 0, 0, .25);*/\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhlYWRlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFdBQUE7RUFDQSxvQkFBQTtBQUNGO0FBQ0U7RUFDRSxlQUFBO0VBQ0Esd0NBQUE7RUFDQSxpREFBQTtBQUNKIiwiZmlsZSI6ImhlYWRlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIm5hdiB7XG4gIHotaW5kZXg6IDEwO1xuICBtaW4taGVpZ2h0OiA0LjM3NXJlbTtcblxuICAubmF2YmFyLWJyYW5kIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgLypiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4yNSk7Ki9cbiAgICAvKmJveC1zaGFkb3c6IGluc2V0IC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgLjI1KTsqL1xuICB9XG5cbiAgXG59XG5cbi8vIG1hdC1wcm9ncmVzcy1iYXJ7XG4vLyAgIHotaW5kZXg6IDk5O1xuLy8gICBwb3NpdGlvbjogZml4ZWQ7XG4vLyAgIHRvcDogMDtcbi8vICAgcmlnaHQ6IDA7XG4vLyAgIHdpZHRoOiAxMDAlO1xuLy8gfVxuXG4iXX0= */\";","export default \".card {\\n border-radius: 1rem;\\n}\\n\\n.btn-primary {\\n background-color: #038FDE !important;\\n}\\n\\ninput {\\n height: calc(1.5em + .75rem + 10px);\\n}\\n\\ninput[type=checkbox], input[type=radio] {\\n height: auto;\\n}\\n\\na {\\n color: #0A4B8F;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvZ2luLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBR0UsbUJBQUE7QUFERjs7QUFHQTtFQUNFLG9DQUFBO0FBQUY7O0FBRUE7RUFDRSxtQ0FBQTtBQUNGOztBQUNBO0VBQ0UsWUFBQTtBQUVGOztBQUFBO0VBQ0UsY0FBQTtBQUdGIiwiZmlsZSI6ImxvZ2luLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNhcmQge1xuICAvLyBtYXJnaW4tdG9wOiA3cmVtO1xuICAvLyBtYXJnaW4tYm90dG9tOiA3cmVtO1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xufVxuLmJ0bi1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzOEZERSFpbXBvcnRhbnQ7XG59XG5pbnB1dCB7XG4gIGhlaWdodDogY2FsYygxLjVlbSArIC43NXJlbSArIDEwcHgpO1xufVxuaW5wdXRbdHlwZT1jaGVja2JveF0sIGlucHV0W3R5cGU9cmFkaW9de1xuICBoZWlnaHQ6YXV0bztcbn1cbmEge1xuICBjb2xvcjogIzBBNEI4Rjtcbn1cblxuIl19 */\";","export default \".mat-button {\\n z-index: 12;\\n position: absolute;\\n top: 15px;\\n outline: none;\\n}\\n\\n@media screen and (min-width: 1200px) {\\n mat-sidenav {\\n transform: translate3d(0, 0, 0);\\n }\\n\\n mat-sidenav-content.mat-drawer-opened {\\n margin-right: 240px;\\n }\\n mat-sidenav-content:not(.mat-drawer-opened) {\\n margin-right: 64px;\\n }\\n}\\n\\nmat-sidenav-container {\\n position: absolute;\\n top: 70px;\\n bottom: 45px;\\n left: 0;\\n right: 0;\\n background-color: #f1f1f1 !important;\\n}\\n\\nmat-sidenav-container mat-sidenav {\\n font-size: 0.95rem;\\n width: 64px;\\n visibility: visible !important;\\n overflow: visible;\\n transition: width 400ms;\\n}\\n\\nmat-sidenav-container mat-sidenav.mat-drawer-opened {\\n width: 240px;\\n transition: width 400ms;\\n}\\n\\nmat-sidenav-container mat-sidenav-content mac-breadcrumb {\\n font-size: 0.88rem;\\n}\\n\\nmat-sidenav-container mat-sidenav-content mat-card {\\n font-size: 0.95rem;\\n}\\n\\n@media screen and (max-width: 600px) {\\n .mat-drawer {\\n transform: translate3d(100%, 0, 0);\\n }\\n\\n .mat-drawer-opened {\\n transform: translate3d(0, 0, 0);\\n }\\n\\n .mat-drawer-content {\\n margin-right: 0 !important;\\n }\\n}\\n\\n.menu-icon.open {\\n transform: rotateY(180deg);\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxTQUFBO0VBQ0EsYUFBQTtBQUNGOztBQUNBO0VBQ0U7SUFDRSwrQkFBQTtFQUVGOztFQUNFO0lBQ0UsbUJBQUE7RUFFSjtFQUNFO0lBQ0Usa0JBQUE7RUFDSjtBQUNGOztBQUdBO0VBQ0Usa0JBQUE7RUFDQSxTQUFBO0VBQ0EsWUFBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0Esb0NBQUE7QUFERjs7QUFHRTtFQUNFLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLDhCQUFBO0VBRUEsaUJBQUE7RUFDQSx1QkFBQTtBQUZKOztBQUlJO0VBQ0UsWUFBQTtFQUNBLHVCQUFBO0FBRk47O0FBUUk7RUFDRSxrQkFBQTtBQU5OOztBQVNJO0VBQ0Usa0JBQUE7QUFQTjs7QUFZRTtFQUNFO0lBQ0Usa0NBQUE7RUFUSjs7RUFZRTtJQUNFLCtCQUFBO0VBVEo7O0VBWUU7SUFDRSwwQkFBQTtFQVRKO0FBQ0Y7O0FBNEJJO0VBQ0UsMEJBQUE7QUExQk4iLCJmaWxlIjoibWFpbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tYXQtYnV0dG9uIHtcbiAgei1pbmRleDogMTI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNXB4O1xuICBvdXRsaW5lOiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIG1hdC1zaWRlbmF2IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIG1hdC1zaWRlbmF2LWNvbnRlbnQge1xuICAgICYubWF0LWRyYXdlci1vcGVuZWQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNDBweDtcbiAgICB9XG5cbiAgICAmOm5vdCgubWF0LWRyYXdlci1vcGVuZWQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNjRweDtcbiAgICB9XG4gIH1cbiAgfVxuXG5tYXQtc2lkZW5hdi1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNzBweDtcbiAgYm90dG9tOiA0NXB4O1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMSAhaW1wb3J0YW50O1xuXG4gIG1hdC1zaWRlbmF2IHtcbiAgICBmb250LXNpemU6IC45NXJlbTtcbiAgICB3aWR0aDogNjRweDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggNDAwbXM7XG5cbiAgICAmLm1hdC1kcmF3ZXItb3BlbmVkIHtcbiAgICAgIHdpZHRoOiAyNDBweDtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDQwMG1zO1xuICAgIH1cbiAgfVxuXG5cbiAgbWF0LXNpZGVuYXYtY29udGVudCB7XG4gICAgbWFjLWJyZWFkY3J1bWIge1xuICAgICAgZm9udC1zaXplOiAuODhyZW07XG4gICAgfVxuXG4gICAgbWF0LWNhcmQge1xuICAgICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIH1cbiAgfVxufVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLm1hdC1kcmF3ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLDAsMCk7XG4gICAgfVxuXG4gICAgLm1hdC1kcmF3ZXItb3BlbmVkIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIH1cblxuICAgIC5tYXQtZHJhd2VyLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyAubWF0LWRyYXdlci1pbm5lci1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgLy8gICAtLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwwLDAsMC4zKTtcbiAgLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xuICAvLyB9XG5cbiAgLy8gLm1hdC1kcmF3ZXItaW5uZXItY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIC8vICAgd2lkdGg6IDRweDtcbiAgLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xuICAvLyB9XG5cbiAgLy8gLm1hdC1kcmF3ZXItaW5uZXItY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIC8vICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbiAgLy8gICBib3JkZXI6IDFweCBzb2xpZCAjMDAzNzcxO1xuICAvLyB9XG5cbiAgLm1lbnUtaWNvbiB7XG4gICAgJi5vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpO1xuICAgIH1cbiAgfVxuXG4iXX0= */\";","export default \".card {\\n border-radius: 1rem;\\n}\\n\\n.btn-primary {\\n background-color: #038FDE !important;\\n}\\n\\ninput {\\n height: calc(1.5em + .75rem + 10px);\\n}\\n\\ninput[type=checkbox], input[type=radio] {\\n height: auto;\\n}\\n\\na {\\n color: #0A4B8F;\\n}\\n\\nmac-validation-error {\\n text-align: right;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlY292ZXItcGFzc3dvcmQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFHSSxtQkFBQTtBQURKOztBQUdFO0VBQ0Usb0NBQUE7QUFBSjs7QUFFRTtFQUNFLG1DQUFBO0FBQ0o7O0FBQ0U7RUFDRSxZQUFBO0FBRUo7O0FBQUU7RUFDRSxjQUFBO0FBR0o7O0FBQUU7RUFDRSxpQkFBQTtBQUdKIiwiZmlsZSI6InJlY292ZXItcGFzc3dvcmQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2FyZCB7XG4gICAgLy8gbWFyZ2luLXRvcDogN3JlbTtcbiAgICAvLyBtYXJnaW4tYm90dG9tOiA3cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gIH1cbiAgLmJ0bi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM4RkRFIWltcG9ydGFudDtcbiAgfVxuICBpbnB1dCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEuNWVtICsgLjc1cmVtICsgMTBweCk7XG4gIH1cbiAgaW5wdXRbdHlwZT1jaGVja2JveF0sIGlucHV0W3R5cGU9cmFkaW9de1xuICAgIGhlaWdodDphdXRvO1xuICB9XG4gIGEge1xuICAgIGNvbG9yOiAjMEE0QjhGO1xuICB9XG5cbiAgbWFjLXZhbGlkYXRpb24tZXJyb3J7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgXG4gICJdfQ== */\";","export default \"@charset \\\"UTF-8\\\";\\nnav {\\n z-index: 10;\\n}\\nnav .nav-item {\\n position: relative;\\n max-width: 100%;\\n}\\nnav .nav-item .nav-link {\\n font-weight: 500;\\n color: inherit;\\n padding: 0.657rem 1.3rem;\\n}\\nnav .nav-item .nav-link[data-toggle=collapse]:after {\\n content: \\\"\\\";\\n -moz-osx-font-smoothing: grayscale;\\n -webkit-font-smoothing: antialiased;\\n display: inline-block;\\n font-style: normal;\\n font-feature-settings: normal;\\n font-variant: normal;\\n text-rendering: auto;\\n line-height: 1;\\n font-family: \\\"Line Awesome Free\\\";\\n font-weight: 900;\\n position: absolute;\\n left: 15px;\\n}\\nnav .nav-item .nav-link.collapsed:after {\\n content: \\\"\\\";\\n}\\nnav .nav-item .nav-link[aria-expanded=true] {\\n background-color: #ebebeb;\\n}\\nnav .nav-item .nav-link + .collapse, nav .nav-item .nav-link + .collapsing {\\n background-color: #f1f1f1;\\n}\\nnav .nav-item:hover, nav .nav-item.active {\\n color: #038fde;\\n background-color: #038fde2b;\\n}\\nnav .nav-item .nav {\\n color: #000;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNpZGVuYXYuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FBRWhCO0VBQ0UsV0FBQTtBQUFGO0FBRUU7RUFDRSxrQkFBQTtFQUNBLGVBQUE7QUFBSjtBQUVJO0VBQ0UsZ0JBQUE7RUFDQSxjQUFBO0VBQ0Esd0JBQUE7QUFBTjtBQUVNO0VBQ0UsWUFBQTtFQUNBLGtDQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQkFBQTtFQUNBLGtCQUFBO0VBQ0EsNkJBQUE7RUFBQSxvQkFBQTtFQUNBLG9CQUFBO0VBQ0EsY0FBQTtFQUNBLGdDQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLFVBQUE7QUFBUjtBQUdNO0VBQ0UsWUFBQTtBQURSO0FBSU07RUFDRSx5QkFBQTtBQUZSO0FBS007RUFDRSx5QkFBQTtBQUhSO0FBT0k7RUFDRSxjQTNDTztFQTRDUCwyQkFBQTtBQUxOO0FBU0k7RUFDRSxXQUFBO0FBUE4iLCJmaWxlIjoic2lkZW5hdi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbm5hdiB7XG4gIHotaW5kZXg6IDEwO1xufVxubmF2IC5uYXYtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxubmF2IC5uYXYtaXRlbSAubmF2LWxpbmsge1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgcGFkZGluZzogMC42NTdyZW0gMS4zcmVtO1xufVxubmF2IC5uYXYtaXRlbSAubmF2LWxpbmtbZGF0YS10b2dnbGU9Y29sbGFwc2VdOmFmdGVyIHtcbiAgY29udGVudDogXCLvhIZcIjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LWZhbWlseTogXCJMaW5lIEF3ZXNvbWUgRnJlZVwiO1xuICBmb250LXdlaWdodDogOTAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDE1cHg7XG59XG5uYXYgLm5hdi1pdGVtIC5uYXYtbGluay5jb2xsYXBzZWQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+Eh1wiO1xufVxubmF2IC5uYXYtaXRlbSAubmF2LWxpbmtbYXJpYS1leHBhbmRlZD10cnVlXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG59XG5uYXYgLm5hdi1pdGVtIC5uYXYtbGluayArIC5jb2xsYXBzZSwgbmF2IC5uYXYtaXRlbSAubmF2LWxpbmsgKyAuY29sbGFwc2luZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG59XG5uYXYgLm5hdi1pdGVtOmhvdmVyLCBuYXYgLm5hdi1pdGVtLmFjdGl2ZSB7XG4gIGNvbG9yOiAjMDM4ZmRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM4ZmRlMmI7XG59XG5uYXYgLm5hdi1pdGVtIC5uYXYge1xuICBjb2xvcjogIzAwMDtcbn0iXX0= */\";","export default \".example-tree-invisible {\\n display: none;\\n}\\n\\n.example-tree ul,\\n.example-tree li {\\n margin-top: 0;\\n margin-bottom: 0;\\n list-style-type: none;\\n}\\n\\n.status {\\n width: 12px;\\n height: 12px;\\n display: inline-block;\\n}\\n\\n.mat-tree-node .action {\\n left: 0;\\n}\\n\\nli.mat-tree-node:hover {\\n background: rgba(0, 0, 0, 0.07);\\n}\\n\\n@media screen and (max-width: 600px) {\\n .mat-tree-node {\\n padding-right: 0 !important;\\n }\\n}\\n\\n.mat-icon-button {\\n width: auto;\\n height: auto;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFjY291bnRzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBQTtBQUNGOztBQUVBOztFQUVFLGFBQUE7RUFDQSxnQkFBQTtFQUNBLHFCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHFCQUFBO0FBQ0Y7O0FBTUU7RUFDRSxPQUFBO0FBSEo7O0FBT0U7RUFDRSwrQkFBQTtBQUpKOztBQVFBO0VBQ0U7SUFDRSwyQkFBQTtFQUxGO0FBQ0Y7O0FBUUE7RUFDRSxXQUFBO0VBQ0EsWUFBQTtBQU5GIiwiZmlsZSI6ImFjY291bnRzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmV4YW1wbGUtdHJlZS1pbnZpc2libGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZXhhbXBsZS10cmVlIHVsLFxuLmV4YW1wbGUtdHJlZSBsaSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLnN0YXR1cyB7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmV4YW1wbGUtdHJlZS1wcm9ncmVzcy1iYXIge1xufVxuXG4ubWF0LXRyZWUtbm9kZSB7XG4gIC5hY3Rpb24ge1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cbmxpLm1hdC10cmVlLW5vZGUge1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5tYXQtdHJlZS1ub2RlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLm1hdC1pY29uLWJ1dHRvbiB7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG59XG4iXX0= */\";","export default \".box {\\n font-size: 0.9rem;\\n background-color: #fbfbfb;\\n position: relative;\\n border: 1px dashed #e1e1e1;\\n height: calc(2.25rem + 2px);\\n}\\n\\n.box__button {\\n font-weight: 700;\\n color: #e5edf1;\\n background-color: #39bfd3;\\n display: none;\\n padding: 8px 16px;\\n margin: 40px auto 0;\\n}\\n\\n.box__file {\\n display: none;\\n}\\n\\n.box__dragndrop {\\n width: 60px;\\n height: 26px;\\n border: 1px dashed #038fde;\\n}\\n\\n.box__input label {\\n cursor: pointer;\\n}\\n\\n.box__input label .delete-icon {\\n left: -35px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1hbmFnZS1hY2NvdW50LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBO0VBQ0UsaUJBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBRUEsMEJBQUE7RUFDQSwyQkFBQTtBQUxGOztBQU9BO0VBQ0UsZ0JBQUE7RUFDQSxjQUFBO0VBQ0EseUJBQUE7RUFDQSxhQUFBO0VBQ0EsaUJBQUE7RUFDQSxtQkFBQTtBQUpGOztBQU1BO0VBQ0UsYUFBQTtBQUhGOztBQUtBO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSwwQkFBQTtBQUZGOztBQUlBO0VBQ0UsZUFBQTtBQURGOztBQUVFO0VBQ0UsV0FBQTtBQUFKIiwiZmlsZSI6Im1hbmFnZS1hY2NvdW50LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gOmhvc3QtY29udGV4dChtYXQtY2FyZC5vdmVyZmxvdy1oaWRkZW4pIHtcbi8vICAgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93ICFpbXBvcnRhbnQ7XG4vLyAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4vLyB9XG5cbi5ib3gge1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZmJmYjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBwYWRkaW5nOiAzMHB4IDIwcHggMjBweDtcbiAgYm9yZGVyOiAxcHggZGFzaGVkICNlMWUxZTE7XG4gIGhlaWdodDogY2FsYygyLjI1cmVtICsgMnB4KTtcbn1cbi5ib3hfX2J1dHRvbiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjZTVlZGYxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzliZmQzO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiA4cHggMTZweDtcbiAgbWFyZ2luOiA0MHB4IGF1dG8gMDtcbn1cbi5ib3hfX2ZpbGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmJveF9fZHJhZ25kcm9wIHtcbiAgd2lkdGg6IDYwcHg7XG4gIGhlaWdodDogMjZweDtcbiAgYm9yZGVyOiAxcHggZGFzaGVkICMwMzhmZGU7XG59XG4uYm94X19pbnB1dCBsYWJlbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLmRlbGV0ZS1pY29uIHtcbiAgICBsZWZ0OiAtMzVweDtcbiAgfVxufVxuIl19 */\";","export default \".file-field span {\\n cursor: pointer;\\n}\\n\\n.file-field input[type=file] {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n width: 100%;\\n padding: 0;\\n margin: 0;\\n cursor: pointer;\\n filter: alpha(opacity=0);\\n opacity: 0;\\n}\\n\\ninput[type=file],\\ninput[type=file]::-webkit-file-upload-button {\\n /* chromes and blink button */\\n cursor: pointer;\\n}\\n\\n.avatar {\\n width: 130px;\\n height: 130px;\\n border-style: dashed !important;\\n}\\n\\n.avatar i {\\n font-size: 3rem;\\n}\\n\\nmat-error span {\\n display: none;\\n}\\n\\nmat-error span:first-child {\\n display: block;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVzZXItcHJvZmlsZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGVBQUE7QUFDSjs7QUFDRTtFQUNFLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsT0FBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0VBQ0EsU0FBQTtFQUNBLGVBQUE7RUFDQSx3QkFBQTtFQUNBLFVBQUE7QUFFSjs7QUFBRTs7RUFDK0MsNkJBQUE7RUFDN0MsZUFBQTtBQUlKOztBQUZFO0VBQ0UsWUFBQTtFQUNBLGFBQUE7RUFDQSwrQkFBQTtBQUtKOztBQUpJO0VBQ0UsZUFBQTtBQU1OOztBQUZFO0VBRUUsYUFBQTtBQUlKOztBQURFO0VBQ0UsY0FBQTtBQUlKIiwiZmlsZSI6InVzZXItcHJvZmlsZS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5maWxlLWZpZWxkIHNwYW4ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICAuZmlsZS1maWVsZCBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgaW5wdXRbdHlwZT1maWxlXSwgLyogRkYsIElFNyssIGNocm9tZSAoZXhjZXB0IGJ1dHRvbikgKi9cbiAgaW5wdXRbdHlwZT1maWxlXTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24geyAvKiBjaHJvbWVzIGFuZCBibGluayBidXR0b24gKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgLmF2YXRhciB7XG4gICAgd2lkdGg6IDEzMHB4O1xuICAgIGhlaWdodDogMTMwcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBkYXNoZWQhaW1wb3J0YW50O1xuICAgIGl7XG4gICAgICBmb250LXNpemU6M3JlbTtcbiAgICB9XG4gIH1cblxuICBtYXQtZXJyb3Igc3BhbiB7XG4gICAgLy8gSGlkZGVuIGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIFxuICBtYXQtZXJyb3Igc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgXG4gICJdfQ== */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJ2aWV3LWFjY291bnQuY29tcG9uZW50LnNjc3MifQ== */\";","export default \"button {\\n cursor: pointer;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRvY3VtZW50cy1yZXZva2UtcmVxdWVzdHMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxlQUFBO0FBQ0YiLCJmaWxlIjoiZG9jdW1lbnRzLXJldm9rZS1yZXF1ZXN0cy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbImJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiJdfQ== */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJleHBpcmVkLWRvY3VtZW50cy1xdWVyeS5jb21wb25lbnQuc2NzcyJ9 */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJpc3N1ZWQtZG9jdW1lbnRzLXF1ZXJ5LmNvbXBvbmVudC5zY3NzIn0= */\";","export default \":host {\\n margin: 25px 0 auto;\\n}\\n\\n.h3 {\\n margin: auto;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlcmlmaWNhdGlvbi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUVFLG1CQUFBO0FBQUY7O0FBR0E7RUFDRSxZQUFBO0FBQUYiLCJmaWxlIjoidmVyaWZpY2F0aW9uLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xuICAvL21hcmdpbjogYXV0byAwO1xuICBtYXJnaW46IDI1cHggMCBhdXRvO1xufVxuXG4uaDMge1xuICBtYXJnaW46IGF1dG87XG59XG4iXX0= */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJjb21taXRtZW50LXByaW50LmNvbXBvbmVudC5zY3NzIn0= */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJpbnQtbGljZW5zZS1wcmludC5jb21wb25lbnQuc2NzcyJ9 */\";","export default \"mat-expansion-panel.mat-expanded {\\n background: #f0f0f0;\\n margin-bottom: 1.2rem;\\n /*padding:1.2rem 0;*/\\n}\\nmat-expansion-panel .mat-form-field-appearance-legacy .mat-form-field-infix {\\n padding: 0.6rem 0;\\n}\\n.mat-select-trigger {\\n height: 1.125em;\\n}\\n.print-counts-cont div:hover {\\n cursor: pointer;\\n font-weight: bold;\\n}\\n.expansion-btn:not(.collapsed) i {\\n color: #038fde;\\n font-weight: bold;\\n}\\ni.open {\\n color: #038fde;\\n font-weight: bold;\\n}\\nbutton.open {\\n background-color: #dae0e5 !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImludC1saWNlbnNlcy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDRTtFQUNFLG1CQUFBO0VBQ0EscUJBQUE7RUFDQSxvQkFBQTtBQUFKO0FBR0U7RUFDRSxpQkFBQTtBQURKO0FBSUE7RUFDRSxlQUFBO0FBREY7QUFJQTtFQUNFLGVBQUE7RUFDQSxpQkFBQTtBQURGO0FBR0E7RUFDRSxjQUFBO0VBQ0EsaUJBQUE7QUFBRjtBQUdBO0VBQ0UsY0FBQTtFQUNBLGlCQUFBO0FBQUY7QUFHQTtFQUNFLG9DQUFBO0FBQUYiLCJmaWxlIjoiaW50LWxpY2Vuc2VzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsibWF0LWV4cGFuc2lvbi1wYW5lbCB7XG4gICYubWF0LWV4cGFuZGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbiAgICAvKnBhZGRpbmc6MS4ycmVtIDA7Ki9cbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtaW5maXgge1xuICAgIHBhZGRpbmc6IDAuNnJlbSAwO1xuICB9XG59XG4ubWF0LXNlbGVjdC10cmlnZ2VyIHtcbiAgaGVpZ2h0OiAxLjEyNWVtO1xufVxuXG4ucHJpbnQtY291bnRzLWNvbnQgZGl2OmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5leHBhbnNpb24tYnRuOm5vdCguY29sbGFwc2VkKSBpIHtcbiAgY29sb3I6ICMwMzhmZGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5pLm9wZW4ge1xuICBjb2xvcjogIzAzOGZkZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmJ1dHRvbi5vcGVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhZTBlNSFpbXBvcnRhbnQ7XG59XG5cbiJdfQ== */\";","export default \"@charset \\\"UTF-8\\\";\\n.box {\\n font-size: 0.9rem;\\n background-color: #fbfbfb;\\n position: relative;\\n padding: 30px 20px 20px;\\n border: 1px dashed #e1e1e1;\\n height: 200px;\\n}\\n.box__button {\\n font-weight: 700;\\n color: #e5edf1;\\n background-color: #39bfd3;\\n display: none;\\n padding: 8px 16px;\\n margin: 40px auto 0;\\n}\\n.box__file {\\n display: none;\\n}\\n.box__dragndrop {\\n width: 80px;\\n height: 36px;\\n border: 1px dashed #038fde;\\n}\\n.box__input label {\\n cursor: pointer;\\n}\\n.tag-label {\\n height: 30px;\\n padding: 0 15px 0 10px;\\n position: relative;\\n background: red;\\n border-radius: 4px 0 0 4px;\\n}\\n.tag-label:before {\\n content: \\\"●\\\";\\n line-height: 10px;\\n text-indent: 10px;\\n position: absolute;\\n right: -11px;\\n width: 22px;\\n height: 20px;\\n transform: rotate(-45deg);\\n -ms-transform: rotate(-45deg);\\n -moz-transform: rotate(-45deg);\\n -webkit-transform: rotate(-45deg);\\n -o-transform: rotate(-45deg);\\n border-radius: 0 0 6px;\\n background: inherit;\\n}\\n.qr-code {\\n width: 80px;\\n height: 80px;\\n margin-top: -50px;\\n z-index: 5;\\n}\\n.mat-button-toggle {\\n font-family: inherit;\\n}\\n.video {\\n width: 100%;\\n height: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n.hide {\\n display: none !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1hbmFnZS1pbnQtbGljZW5zZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUFBaEI7RUFDRSxpQkFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7RUFDQSx1QkFBQTtFQUNBLDBCQUFBO0VBQ0EsYUFBQTtBQUVGO0FBQUE7RUFDRSxnQkFBQTtFQUNBLGNBQUE7RUFDQSx5QkFBQTtFQUNBLGFBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0FBR0Y7QUFEQTtFQUNFLGFBQUE7QUFJRjtBQUZBO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSwwQkFBQTtBQUtGO0FBSEE7RUFDRSxlQUFBO0FBTUY7QUFKQTtFQUNFLFlBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLDBCQUFBO0FBT0Y7QUFKQTtFQUNFLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLDZCQUFBO0VBQ0EsOEJBQUE7RUFDQSxpQ0FBQTtFQUNBLDRCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBQTtBQU9GO0FBSkE7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EsVUFBQTtBQU9GO0FBTEE7RUFDRSxvQkFBQTtBQVFGO0FBREE7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLG9CQUFBO0tBQUEsaUJBQUE7QUFJRjtBQURBO0VBQ0Usd0JBQUE7QUFJRiIsImZpbGUiOiJtYW5hZ2UtaW50LWxpY2Vuc2UuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4uYm94IHtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYmZiZmI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMzBweCAyMHB4IDIwcHg7XG4gIGJvcmRlcjogMXB4IGRhc2hlZCAjZTFlMWUxO1xuICBoZWlnaHQ6IDIwMHB4O1xufVxuXG4uYm94X19idXR0b24ge1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2U1ZWRmMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM5YmZkMztcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIG1hcmdpbjogNDBweCBhdXRvIDA7XG59XG5cbi5ib3hfX2ZpbGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYm94X19kcmFnbmRyb3Age1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBib3JkZXI6IDFweCBkYXNoZWQgIzAzOGZkZTtcbn1cblxuLmJveF9faW5wdXQgbGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50YWctbGFiZWwge1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDAgMTVweCAwIDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogcmVkO1xuICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDtcbn1cblxuLnRhZy1sYWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIuKXj1wiO1xuICBsaW5lLWhlaWdodDogMTBweDtcbiAgdGV4dC1pbmRlbnQ6IDEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC0xMXB4O1xuICB3aWR0aDogMjJweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA2cHg7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG59XG5cbi5xci1jb2RlIHtcbiAgd2lkdGg6IDgwcHg7XG4gIGhlaWdodDogODBweDtcbiAgbWFyZ2luLXRvcDogLTUwcHg7XG4gIHotaW5kZXg6IDU7XG59XG5cbi5tYXQtYnV0dG9uLXRvZ2dsZSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG4udmlkZW8ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59Il19 */\";","export default \".qr-code {\\n width: 80px;\\n height: 80px;\\n margin-top: -50px;\\n z-index: 5;\\n}\\n\\n.carousel-thumbnails .carousel-indicators {\\n margin-top: 2rem;\\n position: relative;\\n}\\n\\n.carousel-item {\\n height: 410px;\\n}\\n\\n.carousel-item canvas {\\n zoom: 100%;\\n}\\n\\n.carousel-item canvas#stk-canvas {\\n zoom: 67%;\\n}\\n\\n@media screen and (max-width: 600px) {\\n .carousel-item canvas {\\n zoom: 84%;\\n }\\n}\\n\\n.carousel-thumbnails .carousel-indicators li {\\n height: 45px;\\n width: 66px;\\n border: none;\\n overflow: hidden;\\n}\\n\\n.carousel-thumbnails .carousel-indicators li canvas {\\n width: 100%;\\n height: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.img-box {\\n position: relative;\\n height: 100px;\\n overflow: hidden;\\n}\\n\\n.img-box img {\\n width: 100%;\\n height: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.nav-icon {\\n color: gray;\\n font-size: 4rem;\\n}\\n\\n.carousel-control-prev-icon {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23808080' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\\\");\\n}\\n\\n.carousel-control-next-icon {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23808080' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\\\");\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZpZXctaW50LWxpY2Vuc2UuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EsVUFBQTtBQUNGOztBQUNBO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtBQUVGOztBQUFBO0VBQ0UsYUFBQTtBQUdGOztBQURFO0VBQ0UsVUFBQTtBQUdKOztBQUZJO0VBQ0UsU0FBQTtBQUlOOztBQUFBO0VBRUk7SUFDRSxTQUFBO0VBRUo7QUFDRjs7QUFDQTtFQUNFLFlBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0FBQ0Y7O0FBQ0U7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QUFDSjs7QUFFQTtFQUNFLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLGdCQUFBO0FBQ0Y7O0FBQ0U7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QUFDSjs7QUFJQTtFQUNFLFdBQUE7RUFDQSxlQUFBO0FBREY7O0FBSUE7RUFDRSxzTUFBQTtBQURGOztBQUlBO0VBQ0Usc01BQUE7QUFERiIsImZpbGUiOiJ2aWV3LWludC1saWNlbnNlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnFyLWNvZGUge1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBtYXJnaW4tdG9wOiAtNTBweDtcbiAgei1pbmRleDogNTtcbn1cbi5jYXJvdXNlbC10aHVtYm5haWxzIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmNhcm91c2VsLWl0ZW0ge1xuICBoZWlnaHQ6IDQxMHB4O1xuXG4gIGNhbnZhcyB7XG4gICAgem9vbTogMTAwJTtcbiAgICAmI3N0ay1jYW52YXN7XG4gICAgICB6b29tOiA2NyU7XG4gICAgfVxuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgY2FudmFzIHtcbiAgICAgIHpvb206IDg0JTtcbiAgICB9XG4gIH1cbn1cbi5jYXJvdXNlbC10aHVtYm5haWxzIC5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpIHtcbiAgaGVpZ2h0OiA0NXB4O1xuICB3aWR0aDogNjZweDtcbiAgYm9yZGVyOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGNhbnZhcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC1vLW9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG59XG4uaW1nLWJveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgb3ZlcmZsb3c6aGlkZGVuO1xuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC1vLW9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG59XG5cblxuLm5hdi1pY29ue1xuICBjb2xvcjogZ3JheTtcbiAgZm9udC1zaXplOiA0cmVtO1xufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzODA4MDgwJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZD0nTTIuNzUgMGwtMS41IDEuNSAyLjUgMi41LTIuNSAyLjUgMS41IDEuNSA0LTQtNC00eicvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cblxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyMzgwODA4MCcgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNS0yLjUtMi41IDIuNS0yLjUtMS41LTEuNXonLyUzZSUzYy9zdmclM2VcIik7XG59XG4iXX0= */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJyZWNlaXB0LXByaW50LmNvbXBvbmVudC5zY3NzIn0= */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJ0cmlwLXRpay1wcmludC5jb21wb25lbnQuc2NzcyJ9 */\";","export default \".box {\\n font-size: 0.9rem;\\n background-color: #FBFBFB;\\n position: relative;\\n padding: 30px 20px 20px;\\n border: 1px dashed #E1E1E1;\\n height: 200px;\\n}\\n\\n.box__button {\\n font-weight: 700;\\n color: #e5edf1;\\n background-color: #39bfd3;\\n display: none;\\n padding: 8px 16px;\\n margin: 40px auto 0;\\n}\\n\\n.box__file {\\n display: none;\\n}\\n\\n.box__dragndrop {\\n width: 80px;\\n height: 36px;\\n border: 1px dashed #038fde;\\n}\\n\\n.box__input label {\\n cursor: pointer;\\n}\\n\\n.driver-container {\\n border-radius: 5px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1hbmFnZS10cmlwLXRpay5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTtFQUNJLGlCQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFQUNBLHVCQUFBO0VBQ0EsMEJBQUE7RUFDQSxhQUFBO0FBQUo7O0FBRUU7RUFDRSxnQkFBQTtFQUNBLGNBQUE7RUFDQSx5QkFBQTtFQUNBLGFBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0FBQ0o7O0FBQ0U7RUFDRSxhQUFBO0FBRUo7O0FBQUU7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLDBCQUFBO0FBR0o7O0FBREU7RUFDRSxlQUFBO0FBSUo7O0FBREU7RUFDRSxrQkFBQTtBQUlKIiwiZmlsZSI6Im1hbmFnZS10cmlwLXRpay5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIlxuLmJveCB7XG4gICAgZm9udC1zaXplOiAuOXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJGQkZCO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHggMjBweDtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgI0UxRTFFMTtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICB9XG4gIC5ib3hfX2J1dHRvbiB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogI2U1ZWRmMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzliZmQzO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgbWFyZ2luOiA0MHB4IGF1dG8gMDtcbiAgfVxuICAuYm94X19maWxle1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgfVxuICAuYm94X19kcmFnbmRyb3Age1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgIzAzOGZkZTtcbiAgfVxuICAuYm94X19pbnB1dCBsYWJlbCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLmRyaXZlci1jb250YWluZXJ7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICB9Il19 */\";","export default \"mat-expansion-panel.mat-expanded {\\n background: #f0f0f0;\\n margin-bottom: 1.2rem;\\n /*padding:1.2rem 0;*/\\n}\\nmat-expansion-panel .mat-form-field-appearance-legacy .mat-form-field-infix {\\n padding: 0.6rem 0;\\n}\\n.mat-select-trigger {\\n height: 1.125em;\\n}\\n.print-counts-cont div:hover {\\n cursor: pointer;\\n font-weight: bold;\\n}\\n.expansion-btn:not(.collapsed) i {\\n color: #038fde;\\n font-weight: bold;\\n}\\ni.open {\\n color: #038fde;\\n font-weight: bold;\\n}\\nbutton.open {\\n background-color: #dae0e5 !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRyaXAtdGlrcy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDSTtFQUNFLG1CQUFBO0VBQ0EscUJBQUE7RUFDQSxvQkFBQTtBQUFOO0FBR0k7RUFDRSxpQkFBQTtBQUROO0FBSUU7RUFDRSxlQUFBO0FBREo7QUFJRTtFQUNFLGVBQUE7RUFDQSxpQkFBQTtBQURKO0FBR0U7RUFDRSxjQUFBO0VBQ0EsaUJBQUE7QUFBSjtBQUdFO0VBQ0UsY0FBQTtFQUNBLGlCQUFBO0FBQUo7QUFHRTtFQUNFLG9DQUFBO0FBQUoiLCJmaWxlIjoidHJpcC10aWtzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsibWF0LWV4cGFuc2lvbi1wYW5lbCB7XG4gICAgJi5tYXQtZXhwYW5kZWQge1xuICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbiAgICAgIC8qcGFkZGluZzoxLjJyZW0gMDsqL1xuICAgIH1cbiAgXG4gICAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgICBwYWRkaW5nOiAwLjZyZW0gMDtcbiAgICB9XG4gIH1cbiAgLm1hdC1zZWxlY3QtdHJpZ2dlciB7XG4gICAgaGVpZ2h0OiAxLjEyNWVtO1xuICB9XG4gIFxuICAucHJpbnQtY291bnRzLWNvbnQgZGl2OmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgLmV4cGFuc2lvbi1idG46bm90KC5jb2xsYXBzZWQpIGkge1xuICAgIGNvbG9yOiAjMDM4ZmRlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIFxuICBpLm9wZW4ge1xuICAgIGNvbG9yOiAjMDM4ZmRlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIFxuICBidXR0b24ub3BlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZTBlNSFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gICJdfQ== */\";","export default \"ul.dashed > li {\\n text-indent: -10px;\\n}\\n\\nul.dashed > li:before {\\n content: \\\"-\\\";\\n margin: 0 5px;\\n}\\n\\n.img-box {\\n position: relative;\\n height: 100px;\\n overflow: hidden;\\n}\\n\\n.img-box img {\\n width: 100%;\\n height: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.carousel-thumbnails .carousel-indicators {\\n margin-top: 2rem;\\n position: relative;\\n}\\n\\n.carousel-item {\\n height: 410px;\\n}\\n\\n.carousel-item canvas {\\n zoom: 100%;\\n}\\n\\n.carousel-item canvas#stk-canvas {\\n zoom: 67%;\\n}\\n\\n@media screen and (max-width: 600px) {\\n .carousel-item canvas {\\n zoom: 84%;\\n }\\n}\\n\\n.carousel-thumbnails .carousel-indicators li {\\n height: 45px;\\n width: 66px;\\n border: none;\\n overflow: hidden;\\n}\\n\\n.carousel-thumbnails .carousel-indicators li canvas {\\n width: 100%;\\n height: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.img-box {\\n position: relative;\\n height: 100px;\\n overflow: hidden;\\n}\\n\\n.img-box img {\\n width: 100%;\\n height: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.nav-icon {\\n color: gray;\\n font-size: 4rem;\\n}\\n\\n.carousel-control-prev-icon {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23808080' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\\\");\\n}\\n\\n.carousel-control-next-icon {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23808080' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\\\");\\n}\\n\\n.qr-code {\\n width: 80px;\\n height: 80px;\\n margin-top: -50px;\\n z-index: 5;\\n}\\n\\n.carousel-control-next, .carousel-control-prev {\\n top: 36px;\\n height: 77%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZpZXctdHJpcC10aWsuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxrQkFBQTtBQUNGOztBQUVBO0VBQ0UsWUFBQTtFQUNBLGFBQUE7QUFDRjs7QUFFQTtFQUNFLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLGdCQUFBO0FBQ0Y7O0FBQUU7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7QUFFSjs7QUFFQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7QUFDRjs7QUFFQTtFQUNFLGFBQUE7QUFDRjs7QUFBRTtFQUNFLFVBQUE7QUFFSjs7QUFESTtFQUNFLFNBQUE7QUFHTjs7QUFFQTtFQUVJO0lBQ0UsU0FBQTtFQUFKO0FBQ0Y7O0FBSUE7RUFDRSxZQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtBQUZGOztBQUdFO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxvQkFBQTtFQUNBLGlCQUFBO0FBREo7O0FBS0E7RUFDRSxrQkFBQTtFQUNBLGFBQUE7RUFDQSxnQkFBQTtBQUZGOztBQUdFO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxvQkFBQTtFQUNBLGlCQUFBO0FBREo7O0FBS0E7RUFDRSxXQUFBO0VBQ0EsZUFBQTtBQUZGOztBQUtBO0VBQ0Usc01BQUE7QUFGRjs7QUFLQTtFQUNFLHNNQUFBO0FBRkY7O0FBS0E7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EsVUFBQTtBQUZGOztBQU1BO0VBQ0UsU0FBQTtFQUNBLFdBQUE7QUFIRiIsImZpbGUiOiJ2aWV3LXRyaXAtdGlrLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsidWwuZGFzaGVkID4gbGkge1xuICB0ZXh0LWluZGVudDogLTEwcHg7XG59XG5cbnVsLmRhc2hlZCA+IGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiLVwiO1xuICBtYXJnaW46IDAgNXB4O1xufVxuXG4uaW1nLWJveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLW8tb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cbn1cblxuLmNhcm91c2VsLXRodW1ibmFpbHMgLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBtYXJnaW4tdG9wOiAycmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC1pdGVtIHtcbiAgaGVpZ2h0OiA0MTBweDtcbiAgY2FudmFzIHtcbiAgICB6b29tOiAxMDAlO1xuICAgICYjc3RrLWNhbnZhcyB7XG4gICAgICB6b29tOiA2NyU7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBjYW52YXMge1xuICAgICAgem9vbTogODQlO1xuICAgIH1cbiAgfVxufVxuXG4uY2Fyb3VzZWwtdGh1bWJuYWlscyAuY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaSB7XG4gIGhlaWdodDogNDVweDtcbiAgd2lkdGg6IDY2cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2FudmFzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLW8tb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cbn1cblxuLmltZy1ib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC1vLW9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG59XG5cbi5uYXYtaWNvbiB7XG4gIGNvbG9yOiBncmF5O1xuICBmb250LXNpemU6IDRyZW07XG59XG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSclMjM4MDgwODAnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBkPSdNMi43NSAwbC0xLjUgMS41IDIuNSAyLjUtMi41IDIuNSAxLjUgMS41IDQtNC00LTR6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzODA4MDgwJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41LTIuNS0yLjUgMi41LTIuNS0xLjUtMS41eicvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cblxuLnFyLWNvZGUge1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBtYXJnaW4tdG9wOiAtNTBweDtcbiAgei1pbmRleDogNTtcbn1cblxuXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LCAuY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgdG9wOiAzNnB4O1xuICBoZWlnaHQ6IDc3JTtcbn0iXX0= */\";","export default \"table {\\n width: 100%;\\n}\\n\\n.mat-form-field {\\n font-size: 14px;\\n width: 100%;\\n}\\n\\ntd:last-child, th:last-child {\\n width: 10%;\\n}\\n\\n.mat-row:nth-child(even), .mat-header-row {\\n background-color: #f4f4f4;\\n}\\n\\n.mat-table {\\n font-family: inherit;\\n}\\n\\n.editing {\\n background-color: #fff9a3 !important;\\n}\\n\\n.adding {\\n background-color: #dcf2ff !important;\\n}\\n\\n.saved {\\n background-color: #b0ff91 !important;\\n}\\n\\n.deleting {\\n background-color: #f8d7da !important;\\n}\\n\\n.pointer {\\n cursor: pointer !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFjY291bnQtc3RhdHVzZXMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxXQUFBO0FBQ0o7O0FBRUU7RUFDRSxlQUFBO0VBQ0EsV0FBQTtBQUNKOztBQUVFO0VBQ0UsVUFBQTtBQUNKOztBQUNBO0VBQ0UseUJBQUE7QUFFRjs7QUFHQTtFQUNFLG9CQUFBO0FBQUY7O0FBRUE7RUFDRSxvQ0FBQTtBQUNGOztBQUNBO0VBQ0Usb0NBQUE7QUFFRjs7QUFBQTtFQUNFLG9DQUFBO0FBR0Y7O0FBREE7RUFDRSxvQ0FBQTtBQUlGOztBQUZBO0VBQ0UsMEJBQUE7QUFLRiIsImZpbGUiOiJhY2NvdW50LXN0YXR1c2VzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsidGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFxuICAubWF0LWZvcm0tZmllbGQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBcbiAgdGQ6bGFzdC1jaGlsZCwgdGg6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDEwJTtcbiAgfVxuLm1hdC1yb3c6bnRoLWNoaWxkKGV2ZW4pLCAubWF0LWhlYWRlci1yb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xufVxuLy8gLm1hdC1oZWFkZXItY2VsbCB7XG4vLyAgIGZvbnQtc2l6ZTogMXJlbTtcbi8vIH1cbi5tYXQtdGFibGUge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cbi5lZGl0aW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjlhMyAhaW1wb3J0YW50O1xufVxuLmFkZGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2YyZmYgIWltcG9ydGFudDtcbn1cbi5zYXZlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMGZmOTEgIWltcG9ydGFudDtcbn1cbi5kZWxldGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGQ3ZGEgIWltcG9ydGFudDtcbn1cbi5wb2ludGVye1xuICBjdXJzb3I6ICBwb2ludGVyICFpbXBvcnRhbnQ7XG59Il19 */\";","export default \"table {\\n width: 100%;\\n}\\n\\n.mat-form-field {\\n font-size: 14px;\\n width: 100%;\\n}\\n\\ntd:last-child, th:last-child {\\n width: 10%;\\n}\\n\\n.mat-row:nth-child(even), .mat-header-row {\\n background-color: #f4f4f4;\\n}\\n\\n.mat-table {\\n font-family: inherit;\\n}\\n\\n.editing {\\n background-color: #fff9a3 !important;\\n}\\n\\n.adding {\\n background-color: #dcf2ff !important;\\n}\\n\\n.saved {\\n background-color: #b0ff91 !important;\\n}\\n\\n.deleting {\\n background-color: #f8d7da !important;\\n}\\n\\n.pointer {\\n cursor: pointer !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFjY291bnQtdHlwZXMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxXQUFBO0FBQ0o7O0FBRUU7RUFDRSxlQUFBO0VBQ0EsV0FBQTtBQUNKOztBQUVFO0VBQ0UsVUFBQTtBQUNKOztBQUNBO0VBQ0UseUJBQUE7QUFFRjs7QUFHQTtFQUNFLG9CQUFBO0FBQUY7O0FBRUE7RUFDRSxvQ0FBQTtBQUNGOztBQUNBO0VBQ0Usb0NBQUE7QUFFRjs7QUFBQTtFQUNFLG9DQUFBO0FBR0Y7O0FBREE7RUFDRSxvQ0FBQTtBQUlGOztBQUZBO0VBQ0UsMEJBQUE7QUFLRiIsImZpbGUiOiJhY2NvdW50LXR5cGVzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsidGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFxuICAubWF0LWZvcm0tZmllbGQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBcbiAgdGQ6bGFzdC1jaGlsZCwgdGg6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDEwJTtcbiAgfVxuLm1hdC1yb3c6bnRoLWNoaWxkKGV2ZW4pLCAubWF0LWhlYWRlci1yb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xufVxuLy8gLm1hdC1oZWFkZXItY2VsbCB7XG4vLyAgIGZvbnQtc2l6ZTogMXJlbTtcbi8vIH1cbi5tYXQtdGFibGUge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cbi5lZGl0aW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjlhMyAhaW1wb3J0YW50O1xufVxuLmFkZGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2YyZmYgIWltcG9ydGFudDtcbn1cbi5zYXZlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMGZmOTEgIWltcG9ydGFudDtcbn1cbi5kZWxldGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGQ3ZGEgIWltcG9ydGFudDtcbn1cbi5wb2ludGVye1xuICBjdXJzb3I6ICBwb2ludGVyICFpbXBvcnRhbnQ7XG59Il19 */\";","export default \"table {\\n width: 100%;\\n}\\n\\n.mat-form-field {\\n font-size: 14px;\\n width: 100%;\\n}\\n\\ntd:last-child, th:last-child {\\n width: 10%;\\n}\\n\\n.mat-table {\\n font-family: inherit;\\n}\\n\\n.editing {\\n background-color: #fff9a3 !important;\\n}\\n\\n.adding {\\n background-color: #dcf2ff !important;\\n}\\n\\n.saved {\\n background-color: #b0ff91 !important;\\n}\\n\\n.deleting {\\n background-color: #f8d7da !important;\\n}\\n\\n.pointer {\\n cursor: pointer !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNpdGllcy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFdBQUE7QUFDSjs7QUFFRTtFQUNFLGVBQUE7RUFDQSxXQUFBO0FBQ0o7O0FBRUU7RUFDRSxVQUFBO0FBQ0o7O0FBSUE7RUFDRSxvQkFBQTtBQURGOztBQUdBO0VBQ0Usb0NBQUE7QUFBRjs7QUFFQTtFQUNFLG9DQUFBO0FBQ0Y7O0FBQ0E7RUFDRSxvQ0FBQTtBQUVGOztBQUFBO0VBQ0Usb0NBQUE7QUFHRjs7QUFEQTtFQUNFLDBCQUFBO0FBSUYiLCJmaWxlIjoiY2l0aWVzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsidGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFxuICAubWF0LWZvcm0tZmllbGQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBcbiAgdGQ6bGFzdC1jaGlsZCwgdGg6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDEwJTtcbiAgfVxuLy8gLm1hdC1oZWFkZXItY2VsbCB7XG4vLyAgIGZvbnQtc2l6ZTogMXJlbTtcbi8vIH1cbi5tYXQtdGFibGUge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cbi5lZGl0aW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjlhMyAhaW1wb3J0YW50O1xufVxuLmFkZGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2YyZmYgIWltcG9ydGFudDtcbn1cbi5zYXZlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMGZmOTEgIWltcG9ydGFudDtcbn1cbi5kZWxldGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGQ3ZGEgIWltcG9ydGFudDtcbn1cbi5wb2ludGVye1xuICBjdXJzb3I6ICBwb2ludGVyICFpbXBvcnRhbnQ7XG59XG4iXX0= */\";","export default \"table {\\n width: 100%;\\n}\\n\\n.mat-form-field {\\n font-size: 14px;\\n width: 100%;\\n}\\n\\ntd:last-child, th:last-child {\\n width: 10%;\\n}\\n\\n.mat-table {\\n font-family: inherit;\\n}\\n\\n.editing {\\n background-color: #fff9a3 !important;\\n}\\n\\n.adding {\\n background-color: #dcf2ff !important;\\n}\\n\\n.saved {\\n background-color: #b0ff91 !important;\\n}\\n\\n.deleting {\\n background-color: #f8d7da !important;\\n}\\n\\n.pointer {\\n cursor: pointer !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvdW50cmllcy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFdBQUE7QUFDSjs7QUFFRTtFQUNFLGVBQUE7RUFDQSxXQUFBO0FBQ0o7O0FBRUU7RUFDRSxVQUFBO0FBQ0o7O0FBSUE7RUFDRSxvQkFBQTtBQURGOztBQUdBO0VBQ0Usb0NBQUE7QUFBRjs7QUFFQTtFQUNFLG9DQUFBO0FBQ0Y7O0FBQ0E7RUFDRSxvQ0FBQTtBQUVGOztBQUFBO0VBQ0Usb0NBQUE7QUFHRjs7QUFEQTtFQUNFLDBCQUFBO0FBSUYiLCJmaWxlIjoiY291bnRyaWVzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsidGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFxuICAubWF0LWZvcm0tZmllbGQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBcbiAgdGQ6bGFzdC1jaGlsZCwgdGg6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDEwJTtcbiAgfVxuLy8gLm1hdC1oZWFkZXItY2VsbCB7XG4vLyAgIGZvbnQtc2l6ZTogMXJlbTtcbi8vIH1cbi5tYXQtdGFibGUge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cbi5lZGl0aW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjlhMyAhaW1wb3J0YW50O1xufVxuLmFkZGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2YyZmYgIWltcG9ydGFudDtcbn1cbi5zYXZlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMGZmOTEgIWltcG9ydGFudDtcbn1cbi5kZWxldGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGQ3ZGEgIWltcG9ydGFudDtcbn1cbi5wb2ludGVye1xuICBjdXJzb3I6ICBwb2ludGVyICFpbXBvcnRhbnQ7XG59XG5cblxuIl19 */\";","export default \"table {\\n width: 100%;\\n}\\n\\n.mat-form-field {\\n font-size: 14px;\\n width: 100%;\\n}\\n\\ntd:last-child, th:last-child {\\n width: 10%;\\n}\\n\\n.mat-table {\\n font-family: inherit;\\n}\\n\\n.editing {\\n background-color: #fff9a3 !important;\\n}\\n\\n.adding {\\n background-color: #dcf2ff !important;\\n}\\n\\n.saved {\\n background-color: #b0ff91 !important;\\n}\\n\\n.deleting {\\n background-color: #f8d7da !important;\\n}\\n\\n.pointer {\\n cursor: pointer !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImN1cnJlbmNpZXMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxXQUFBO0FBQ0o7O0FBRUU7RUFDRSxlQUFBO0VBQ0EsV0FBQTtBQUNKOztBQUVFO0VBQ0UsVUFBQTtBQUNKOztBQUlBO0VBQ0Usb0JBQUE7QUFERjs7QUFHQTtFQUNFLG9DQUFBO0FBQUY7O0FBRUE7RUFDRSxvQ0FBQTtBQUNGOztBQUNBO0VBQ0Usb0NBQUE7QUFFRjs7QUFBQTtFQUNFLG9DQUFBO0FBR0Y7O0FBREE7RUFDRSwwQkFBQTtBQUlGIiwiZmlsZSI6ImN1cnJlbmNpZXMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJ0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgXG4gIC5tYXQtZm9ybS1maWVsZCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFxuICB0ZDpsYXN0LWNoaWxkLCB0aDpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogMTAlO1xuICB9XG4vLyAubWF0LWhlYWRlci1jZWxsIHtcbi8vICAgZm9udC1zaXplOiAxcmVtO1xuLy8gfVxuLm1hdC10YWJsZSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuLmVkaXRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOWEzICFpbXBvcnRhbnQ7XG59XG4uYWRkaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZjJmZiAhaW1wb3J0YW50O1xufVxuLnNhdmVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IwZmY5MSAhaW1wb3J0YW50O1xufVxuLmRlbGV0aW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZDdkYSAhaW1wb3J0YW50O1xufVxuLnBvaW50ZXJ7XG4gIGN1cnNvcjogIHBvaW50ZXIgIWltcG9ydGFudDtcbn1cblxuXG4iXX0= */\";","export default \"table {\\n width: 100%;\\n}\\n\\n.mat-form-field {\\n font-size: 14px;\\n width: 100%;\\n}\\n\\ntd:last-child, th:last-child {\\n width: 10%;\\n}\\n\\n.mat-header-cell {\\n font-size: 1rem;\\n}\\n\\n.mat-table {\\n font-family: inherit;\\n}\\n\\n.editing {\\n background-color: #fff9a3 !important;\\n}\\n\\n.adding {\\n background-color: #dcf2ff !important;\\n}\\n\\n.saved {\\n background-color: #b0ff91 !important;\\n}\\n\\n.deleting {\\n background-color: #f8d7da !important;\\n}\\n\\n.pointer {\\n cursor: pointer !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImN1c3RvbXMtcG9ydHMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxXQUFBO0FBQ0o7O0FBRUU7RUFDRSxlQUFBO0VBQ0EsV0FBQTtBQUNKOztBQUVFO0VBQ0UsVUFBQTtBQUNKOztBQUNBO0VBQ0UsZUFBQTtBQUVGOztBQUFBO0VBQ0Usb0JBQUE7QUFHRjs7QUFEQTtFQUNFLG9DQUFBO0FBSUY7O0FBRkE7RUFDRSxvQ0FBQTtBQUtGOztBQUhBO0VBQ0Usb0NBQUE7QUFNRjs7QUFKQTtFQUNFLG9DQUFBO0FBT0Y7O0FBTEE7RUFDRSwwQkFBQTtBQVFGIiwiZmlsZSI6ImN1c3RvbXMtcG9ydHMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJ0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgXG4gIC5tYXQtZm9ybS1maWVsZCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFxuICB0ZDpsYXN0LWNoaWxkLCB0aDpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogMTAlO1xuICB9XG4ubWF0LWhlYWRlci1jZWxsIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLm1hdC10YWJsZSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuLmVkaXRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOWEzICFpbXBvcnRhbnQ7XG59XG4uYWRkaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZjJmZiAhaW1wb3J0YW50O1xufVxuLnNhdmVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IwZmY5MSAhaW1wb3J0YW50O1xufVxuLmRlbGV0aW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZDdkYSAhaW1wb3J0YW50O1xufVxuLnBvaW50ZXJ7XG4gIGN1cnNvcjogIHBvaW50ZXIgIWltcG9ydGFudDtcbn1cbiJdfQ== */\";","export default \"table {\\n width: 100%;\\n}\\n\\n.mat-form-field {\\n font-size: 14px;\\n width: 100%;\\n}\\n\\ntd:last-child, th:last-child {\\n width: 10%;\\n}\\n\\n.mat-row:nth-child(even), .mat-header-row {\\n background-color: #f4f4f4;\\n}\\n\\n.mat-header-cell {\\n font-size: 1rem;\\n}\\n\\n.mat-table {\\n font-family: inherit;\\n}\\n\\n.editing {\\n background-color: #fff9a3 !important;\\n}\\n\\n.adding {\\n background-color: #dcf2ff !important;\\n}\\n\\n.saved {\\n background-color: #b0ff91 !important;\\n}\\n\\n.deleting {\\n background-color: #f8d7da !important;\\n}\\n\\n.pointer {\\n cursor: pointer !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInB1cnN1aW5nLXpvbmVzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksV0FBQTtBQUNKOztBQUVFO0VBQ0UsZUFBQTtFQUNBLFdBQUE7QUFDSjs7QUFFRTtFQUNFLFVBQUE7QUFDSjs7QUFDQTtFQUNFLHlCQUFBO0FBRUY7O0FBQUE7RUFDRSxlQUFBO0FBR0Y7O0FBREE7RUFDRSxvQkFBQTtBQUlGOztBQUZBO0VBQ0Usb0NBQUE7QUFLRjs7QUFIQTtFQUNFLG9DQUFBO0FBTUY7O0FBSkE7RUFDRSxvQ0FBQTtBQU9GOztBQUxBO0VBQ0Usb0NBQUE7QUFRRjs7QUFOQTtFQUNFLDBCQUFBO0FBU0YiLCJmaWxlIjoicHVyc3Vpbmctem9uZXMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJ0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgXG4gIC5tYXQtZm9ybS1maWVsZCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFxuICB0ZDpsYXN0LWNoaWxkLCB0aDpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogMTAlO1xuICB9XG4ubWF0LXJvdzpudGgtY2hpbGQoZXZlbiksIC5tYXQtaGVhZGVyLXJvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG59XG4ubWF0LWhlYWRlci1jZWxsIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLm1hdC10YWJsZSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuLmVkaXRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOWEzICFpbXBvcnRhbnQ7XG59XG4uYWRkaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZjJmZiAhaW1wb3J0YW50O1xufVxuLnNhdmVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IwZmY5MSAhaW1wb3J0YW50O1xufVxuLmRlbGV0aW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZDdkYSAhaW1wb3J0YW50O1xufVxuLnBvaW50ZXJ7XG4gIGN1cnNvcjogIHBvaW50ZXIgIWltcG9ydGFudDtcbn0iXX0= */\";","export default \"table {\\n width: 100%;\\n}\\n\\n.mat-form-field {\\n font-size: 14px;\\n width: 100%;\\n}\\n\\ntd:last-child, th:last-child {\\n width: 10%;\\n}\\n\\n.mat-row:nth-child(even), .mat-header-row {\\n background-color: #f4f4f4;\\n}\\n\\n.mat-table {\\n font-family: inherit;\\n}\\n\\n.editing {\\n background-color: #fff9a3 !important;\\n}\\n\\n.adding {\\n background-color: #dcf2ff !important;\\n}\\n\\n.saved {\\n background-color: #b0ff91 !important;\\n}\\n\\n.deleting {\\n background-color: #f8d7da !important;\\n}\\n\\n.pointer {\\n cursor: pointer !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0b2NrLXR5cGVzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksV0FBQTtBQUNKOztBQUVFO0VBQ0UsZUFBQTtFQUNBLFdBQUE7QUFDSjs7QUFFRTtFQUNFLFVBQUE7QUFDSjs7QUFDQTtFQUNFLHlCQUFBO0FBRUY7O0FBR0E7RUFDRSxvQkFBQTtBQUFGOztBQUVBO0VBQ0Usb0NBQUE7QUFDRjs7QUFDQTtFQUNFLG9DQUFBO0FBRUY7O0FBQUE7RUFDRSxvQ0FBQTtBQUdGOztBQURBO0VBQ0Usb0NBQUE7QUFJRjs7QUFGQTtFQUNFLDBCQUFBO0FBS0YiLCJmaWxlIjoic3RvY2stdHlwZXMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJ0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgXG4gIC5tYXQtZm9ybS1maWVsZCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFxuICB0ZDpsYXN0LWNoaWxkLCB0aDpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogMTAlO1xuICB9XG4ubWF0LXJvdzpudGgtY2hpbGQoZXZlbiksIC5tYXQtaGVhZGVyLXJvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG59XG4vLyAubWF0LWhlYWRlci1jZWxsIHtcbi8vICAgZm9udC1zaXplOiAxcmVtO1xuLy8gfVxuLm1hdC10YWJsZSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuLmVkaXRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOWEzICFpbXBvcnRhbnQ7XG59XG4uYWRkaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZjJmZiAhaW1wb3J0YW50O1xufVxuLnNhdmVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IwZmY5MSAhaW1wb3J0YW50O1xufVxuLmRlbGV0aW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZDdkYSAhaW1wb3J0YW50O1xufVxuLnBvaW50ZXJ7XG4gIGN1cnNvcjogIHBvaW50ZXIgIWltcG9ydGFudDtcbn0iXX0= */\";","export default \"table {\\n width: 100%;\\n}\\n\\n.mat-form-field {\\n font-size: 14px;\\n width: 100%;\\n}\\n\\ntd:last-child, th:last-child {\\n width: 10%;\\n}\\n\\n.mat-row:nth-child(even), .mat-header-row {\\n background-color: #f4f4f4;\\n}\\n\\n.mat-table {\\n font-family: inherit;\\n}\\n\\n.editing {\\n background-color: #fff9a3 !important;\\n}\\n\\n.adding {\\n background-color: #dcf2ff !important;\\n}\\n\\n.saved {\\n background-color: #b0ff91 !important;\\n}\\n\\n.deleting {\\n background-color: #f8d7da !important;\\n}\\n\\n.pointer {\\n cursor: pointer !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlaGljbGUtY29sb3JzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksV0FBQTtBQUNKOztBQUVFO0VBQ0UsZUFBQTtFQUNBLFdBQUE7QUFDSjs7QUFFRTtFQUNFLFVBQUE7QUFDSjs7QUFDQTtFQUNFLHlCQUFBO0FBRUY7O0FBR0E7RUFDRSxvQkFBQTtBQUFGOztBQUVBO0VBQ0Usb0NBQUE7QUFDRjs7QUFDQTtFQUNFLG9DQUFBO0FBRUY7O0FBQUE7RUFDRSxvQ0FBQTtBQUdGOztBQURBO0VBQ0Usb0NBQUE7QUFJRjs7QUFGQTtFQUNFLDBCQUFBO0FBS0YiLCJmaWxlIjoidmVoaWNsZS1jb2xvcnMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJ0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgXG4gIC5tYXQtZm9ybS1maWVsZCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFxuICB0ZDpsYXN0LWNoaWxkLCB0aDpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogMTAlO1xuICB9XG4ubWF0LXJvdzpudGgtY2hpbGQoZXZlbiksIC5tYXQtaGVhZGVyLXJvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG59XG4vLyAubWF0LWhlYWRlci1jZWxsIHtcbi8vICAgZm9udC1zaXplOiAxcmVtO1xuLy8gfVxuLm1hdC10YWJsZSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuLmVkaXRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOWEzICFpbXBvcnRhbnQ7XG59XG4uYWRkaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZjJmZiAhaW1wb3J0YW50O1xufVxuLnNhdmVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IwZmY5MSAhaW1wb3J0YW50O1xufVxuLmRlbGV0aW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZDdkYSAhaW1wb3J0YW50O1xufVxuLnBvaW50ZXJ7XG4gIGN1cnNvcjogIHBvaW50ZXIgIWltcG9ydGFudDtcbn0iXX0= */\";","export default \"table {\\n width: 100%;\\n}\\n\\n.mat-form-field {\\n font-size: 14px;\\n width: 100%;\\n}\\n\\ntd:last-child, th:last-child {\\n width: 10%;\\n}\\n\\n.mat-row:nth-child(even), .mat-header-row {\\n background-color: #f4f4f4;\\n}\\n\\n.mat-table {\\n font-family: inherit;\\n}\\n\\n.editing {\\n background-color: #fff9a3 !important;\\n}\\n\\n.adding {\\n background-color: #dcf2ff !important;\\n}\\n\\n.saved {\\n background-color: #b0ff91 !important;\\n}\\n\\n.deleting {\\n background-color: #f8d7da !important;\\n}\\n\\n.pointer {\\n cursor: pointer !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlaGljbGUtbWFrZXMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxXQUFBO0FBQ0o7O0FBRUU7RUFDRSxlQUFBO0VBQ0EsV0FBQTtBQUNKOztBQUVFO0VBQ0UsVUFBQTtBQUNKOztBQUNBO0VBQ0UseUJBQUE7QUFFRjs7QUFHQTtFQUNFLG9CQUFBO0FBQUY7O0FBRUE7RUFDRSxvQ0FBQTtBQUNGOztBQUNBO0VBQ0Usb0NBQUE7QUFFRjs7QUFBQTtFQUNFLG9DQUFBO0FBR0Y7O0FBREE7RUFDRSxvQ0FBQTtBQUlGOztBQUZBO0VBQ0UsMEJBQUE7QUFLRiIsImZpbGUiOiJ2ZWhpY2xlLW1ha2VzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsidGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFxuICAubWF0LWZvcm0tZmllbGQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBcbiAgdGQ6bGFzdC1jaGlsZCwgdGg6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDEwJTtcbiAgfVxuLm1hdC1yb3c6bnRoLWNoaWxkKGV2ZW4pLCAubWF0LWhlYWRlci1yb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xufVxuLy8gLm1hdC1oZWFkZXItY2VsbCB7XG4vLyAgIGZvbnQtc2l6ZTogMXJlbTtcbi8vIH1cbi5tYXQtdGFibGUge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cbi5lZGl0aW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjlhMyAhaW1wb3J0YW50O1xufVxuLmFkZGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2YyZmYgIWltcG9ydGFudDtcbn1cbi5zYXZlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMGZmOTEgIWltcG9ydGFudDtcbn1cbi5kZWxldGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGQ3ZGEgIWltcG9ydGFudDtcbn1cbi5wb2ludGVye1xuICBjdXJzb3I6ICBwb2ludGVyICFpbXBvcnRhbnQ7XG59Il19 */\";","export default \"table {\\n width: 100%;\\n}\\n\\n.mat-form-field {\\n font-size: 14px;\\n width: 100%;\\n}\\n\\ntd:last-child, th:last-child {\\n width: 10%;\\n}\\n\\n.mat-table {\\n font-family: inherit;\\n}\\n\\n.editing {\\n background-color: #fff9a3 !important;\\n}\\n\\n.adding {\\n background-color: #dcf2ff !important;\\n}\\n\\n.saved {\\n background-color: #b0ff91 !important;\\n}\\n\\n.deleting {\\n background-color: #f8d7da !important;\\n}\\n\\n.pointer {\\n cursor: pointer !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlaGljbGUtbW9kZWxzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksV0FBQTtBQUNKOztBQUVFO0VBQ0UsZUFBQTtFQUNBLFdBQUE7QUFDSjs7QUFFRTtFQUNFLFVBQUE7QUFDSjs7QUFJQTtFQUNFLG9CQUFBO0FBREY7O0FBR0E7RUFDRSxvQ0FBQTtBQUFGOztBQUVBO0VBQ0Usb0NBQUE7QUFDRjs7QUFDQTtFQUNFLG9DQUFBO0FBRUY7O0FBQUE7RUFDRSxvQ0FBQTtBQUdGOztBQURBO0VBQ0UsMEJBQUE7QUFJRiIsImZpbGUiOiJ2ZWhpY2xlLW1vZGVscy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbInRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBcbiAgLm1hdC1mb3JtLWZpZWxkIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgXG4gIHRkOmxhc3QtY2hpbGQsIHRoOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMCU7XG4gIH1cbi8vIC5tYXQtaGVhZGVyLWNlbGwge1xuLy8gICBmb250LXNpemU6IDFyZW07XG4vLyB9XG4ubWF0LXRhYmxlIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG4uZWRpdGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY5YTMgIWltcG9ydGFudDtcbn1cbi5hZGRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNmMmZmICFpbXBvcnRhbnQ7XG59XG4uc2F2ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjBmZjkxICFpbXBvcnRhbnQ7XG59XG4uZGVsZXRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhkN2RhICFpbXBvcnRhbnQ7XG59XG4ucG9pbnRlcntcbiAgY3Vyc29yOiAgcG9pbnRlciAhaW1wb3J0YW50O1xufVxuIl19 */\";","export default \"table {\\n width: 100%;\\n}\\n\\n.mat-form-field {\\n font-size: 14px;\\n width: 100%;\\n}\\n\\ntd:last-child, th:last-child {\\n width: 10%;\\n}\\n\\n.mat-row:nth-child(even), .mat-header-row {\\n background-color: #f4f4f4;\\n}\\n\\n.mat-table {\\n font-family: inherit;\\n}\\n\\n.editing {\\n background-color: #fff9a3 !important;\\n}\\n\\n.adding {\\n background-color: #dcf2ff !important;\\n}\\n\\n.saved {\\n background-color: #b0ff91 !important;\\n}\\n\\n.deleting {\\n background-color: #f8d7da !important;\\n}\\n\\n.pointer {\\n cursor: pointer !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlaGljbGUtdHlwZXMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxXQUFBO0FBQ0o7O0FBRUU7RUFDRSxlQUFBO0VBQ0EsV0FBQTtBQUNKOztBQUVFO0VBQ0UsVUFBQTtBQUNKOztBQUNBO0VBQ0UseUJBQUE7QUFFRjs7QUFHQTtFQUNFLG9CQUFBO0FBQUY7O0FBRUE7RUFDRSxvQ0FBQTtBQUNGOztBQUNBO0VBQ0Usb0NBQUE7QUFFRjs7QUFBQTtFQUNFLG9DQUFBO0FBR0Y7O0FBREE7RUFDRSxvQ0FBQTtBQUlGOztBQUZBO0VBQ0UsMEJBQUE7QUFLRiIsImZpbGUiOiJ2ZWhpY2xlLXR5cGVzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsidGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFxuICAubWF0LWZvcm0tZmllbGQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBcbiAgdGQ6bGFzdC1jaGlsZCwgdGg6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDEwJTtcbiAgfVxuLm1hdC1yb3c6bnRoLWNoaWxkKGV2ZW4pLCAubWF0LWhlYWRlci1yb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xufVxuLy8gLm1hdC1oZWFkZXItY2VsbCB7XG4vLyAgIGZvbnQtc2l6ZTogMXJlbTtcbi8vIH1cbi5tYXQtdGFibGUge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cbi5lZGl0aW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjlhMyAhaW1wb3J0YW50O1xufVxuLmFkZGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2YyZmYgIWltcG9ydGFudDtcbn1cbi5zYXZlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMGZmOTEgIWltcG9ydGFudDtcbn1cbi5kZWxldGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGQ3ZGEgIWltcG9ydGFudDtcbn1cbi5wb2ludGVye1xuICBjdXJzb3I6ICBwb2ludGVyICFpbXBvcnRhbnQ7XG59Il19 */\";","export default \"table {\\n width: 100%;\\n}\\n\\n.mat-form-field {\\n font-size: 14px;\\n width: 100%;\\n}\\n\\ntd:last-child, th:last-child {\\n width: 10%;\\n}\\n\\n.mat-table {\\n font-family: inherit;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFjY291bnQtdXNlcnMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFBO0FBQ0Y7O0FBRUE7RUFDRSxlQUFBO0VBQ0EsV0FBQTtBQUNGOztBQUVBO0VBQ0UsVUFBQTtBQUNGOztBQU1BO0VBQ0Usb0JBQUE7QUFIRiIsImZpbGUiOiJhY2NvdW50LXVzZXJzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsidGFibGUge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm1hdC1mb3JtLWZpZWxkIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxudGQ6bGFzdC1jaGlsZCwgdGg6bGFzdC1jaGlsZCB7XG4gIHdpZHRoOiAxMCU7XG59XG5cbi8vIC5tYXQtaGVhZGVyLWNlbGwge1xuLy8gICBmb250LXNpemU6IDFyZW07XG4vLyB9XG5cbi5tYXQtdGFibGUge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxuICAvLyAuYnJlYWRjcnVtYi1pdGVte1xuICAvLyAgIGNvbG9yOiMwMDMzNjYgIWltcG9ydGFudDtcbiAgLy8gfVxuXG4iXX0= */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJtYW5hZ2UtdXNlci5jb21wb25lbnQuc2NzcyJ9 */\";","export default \".iconme-event {\\n background: url('data:image/svg+xml;utf8,') center center no-repeat;\\n width: 10px;\\n height: 10px;\\n position: relative;\\n top: 0;\\n left: 0;\\n z-index: 1000;\\n background-color: #fff;\\n}\\n\\nhr + .btn {\\n margin-right: 0 !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlY3VyaXR5LWdyb3Vwcy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNHLHNhQUFBO0VBQ0MsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFBTyxPQUFBO0VBQVEsYUFBQTtFQUNmLHNCQUFBO0FBR0o7O0FBREE7RUFDRSwwQkFBQTtBQUlGIiwiZmlsZSI6InNlY3VyaXR5LWdyb3Vwcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5pY29ubWUtZXZlbnQge1xuICAgYmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZD1cIm0gMjAuNCwyMS42IC0xNi44LDAgMCwtMTMuMiAxNi44LDAgTSAxNi44LDAgbCAwLDIuNCAtOS42LDAgMCwtMi40IC0yLjQsMCAwLDIuNCAtMS4yLDAgQyAyLjI2OCwyLjQgMS4yLDMuNDY4IDEuMiw0LjggbCAwLDE2LjggQSAyLjQsMi40IDAgMCAwIDMuNiwyNCBsIDE2LjgsMCBhIDIuNCwyLjQgMCAwIDAgMi40LC0yLjQgbCAwLC0xNi44IGMgMCwtMS4zMzIgLTEuMDgsLTIuNCAtMi40LC0yLjQgbCAtMS4yLDAgMCwtMi40IG0gLTEuMiwxMy4yIC02LDAgMCw2IDYsMCAwLC02IHpcIj48L3BhdGg+PC9zdmc+JykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgd2lkdGg6MTBweDtcbiAgICBoZWlnaHQ6MTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOjA7IGxlZnQ6MDsgei1pbmRleDoxMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6I2ZmZjtcbn1cbmhyICsgLmJ0biB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuIl19 */\";","export default \"table {\\n width: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVzZXJzLWdyb3Vwcy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFdBQUE7QUFDRiIsImZpbGUiOiJ1c2Vycy1ncm91cHMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJ0YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuIl19 */\";","export default \":host > mat-card {\\n display: none !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRhc2hib2FyZC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLHdCQUFBO0FBQ0oiLCJmaWxlIjoiZGFzaGJvYXJkLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3QgPiBtYXQtY2FyZHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59Il19 */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJsaWMtdHJhbnNhY3Rpb25zLXByaW50LmNvbXBvbmVudC5zY3NzIn0= */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzdG9jay1zbGlkZXIuY29tcG9uZW50LnNjc3MifQ== */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJ0cmFuc2FjdGlvbi1kZXRhaWxzLWxhYmVsLmNvbXBvbmVudC5zY3NzIn0= */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJ0cnAtdHJhbnNhY3Rpb25zLXByaW50LmNvbXBvbmVudC5zY3NzIn0= */\";","export default \".mat-accent .mat-slider-thumb, .mat-accent .mat-slider-thumb-label, .mat-accent .mat-slider-track-fill {\\n background-color: #ff0000;\\n}\\n\\n.mat-error {\\n color: gray;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBvcHVsYXRlLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UseUJBQUE7QUFDRjs7QUFFQTtFQUNFLFdBQUE7QUFDRiIsImZpbGUiOiJwb3B1bGF0ZS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tYXQtYWNjZW50IC5tYXQtc2xpZGVyLXRodW1iLCAubWF0LWFjY2VudCAubWF0LXNsaWRlci10aHVtYi1sYWJlbCwgLm1hdC1hY2NlbnQgLm1hdC1zbGlkZXItdHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7XG59XG5cbi5tYXQtZXJyb3Ige1xuICBjb2xvcjogZ3JheTtcbn0iXX0= */\";","export default \".example-container {\\n height: 500px;\\n overflow: auto;\\n}\\n\\ntr.mat-footer-row {\\n font-weight: bold;\\n}\\n\\n.mat-table-sticky {\\n border-top: 1px solid #e0e0e0;\\n}\\n\\nmat-ink-bar {\\n background-color: #1473BD !important;\\n}\\n\\ni.material-icons.disabled {\\n color: darkgray;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0b2Nrcy1hdmFpbGFibGUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFBO0VBQ0EsY0FBQTtBQUNGOztBQUVBO0VBQ0UsaUJBQUE7QUFDRjs7QUFFQTtFQUNFLDZCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxvQ0FBQTtBQUNGOztBQUVBO0VBQ0UsZUFBQTtBQUNGIiwiZmlsZSI6InN0b2Nrcy1hdmFpbGFibGUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXhhbXBsZS1jb250YWluZXIge1xuICBoZWlnaHQ6IDUwMHB4O1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxudHIubWF0LWZvb3Rlci1yb3cge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLm1hdC10YWJsZS1zdGlja3kge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2UwZTBlMDtcbn1cblxubWF0LWluay1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQ3M0JEIWltcG9ydGFudDtcbn1cblxuaS5tYXRlcmlhbC1pY29ucy5kaXNhYmxlZCB7XG4gIGNvbG9yOiBkYXJrZ3JheTtcbn0iXX0= */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzdG9ja3MtdG90YWxzLmNvbXBvbmVudC5zY3NzIn0= */\";","export default \".mat-error {\\n color: gray;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRyYW5zYWN0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksV0FBQTtBQUNKIiwiZmlsZSI6InRyYW5zYWN0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1hdC1lcnJvciB7XG4gICAgY29sb3I6IGdyYXk7XG4gIH0iXX0= */\";","export default \"mat-expansion-panel.mat-expanded {\\n background: #f0f0f0;\\n margin-bottom: 1.2rem;\\n /*padding:1.2rem 0;*/\\n}\\nmat-expansion-panel .mat-form-field-appearance-legacy .mat-form-field-infix {\\n padding: 0.6rem 0;\\n}\\n.mat-select-trigger {\\n height: 1.125em;\\n}\\n.print-counts-cont div:hover {\\n cursor: pointer;\\n font-weight: bold;\\n}\\n.expansion-btn:not(.collapsed) i {\\n color: #038fde;\\n font-weight: bold;\\n}\\ni.open {\\n color: #038fde;\\n font-weight: bold;\\n}\\nbutton.open {\\n background-color: #dae0e5 !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRyYW5zYWN0aW9ucy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDSTtFQUNFLG1CQUFBO0VBQ0EscUJBQUE7RUFDQSxvQkFBQTtBQUFOO0FBR0k7RUFDRSxpQkFBQTtBQUROO0FBSUU7RUFDRSxlQUFBO0FBREo7QUFJRTtFQUNFLGVBQUE7RUFDQSxpQkFBQTtBQURKO0FBR0U7RUFDRSxjQUFBO0VBQ0EsaUJBQUE7QUFBSjtBQUdFO0VBQ0UsY0FBQTtFQUNBLGlCQUFBO0FBQUo7QUFHRTtFQUNFLG9DQUFBO0FBQUoiLCJmaWxlIjoidHJhbnNhY3Rpb25zLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsibWF0LWV4cGFuc2lvbi1wYW5lbCB7XG4gICAgJi5tYXQtZXhwYW5kZWQge1xuICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbiAgICAgIC8qcGFkZGluZzoxLjJyZW0gMDsqL1xuICAgIH1cbiAgXG4gICAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgICBwYWRkaW5nOiAwLjZyZW0gMDtcbiAgICB9XG4gIH1cbiAgLm1hdC1zZWxlY3QtdHJpZ2dlciB7XG4gICAgaGVpZ2h0OiAxLjEyNWVtO1xuICB9XG4gIFxuICAucHJpbnQtY291bnRzLWNvbnQgZGl2OmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgLmV4cGFuc2lvbi1idG46bm90KC5jb2xsYXBzZWQpIGkge1xuICAgIGNvbG9yOiAjMDM4ZmRlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIFxuICBpLm9wZW4ge1xuICAgIGNvbG9yOiAjMDM4ZmRlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIFxuICBidXR0b24ub3BlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZTBlNSFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gICJdfQ== */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJ1bmRvLXJlcXVlc3RzLmNvbXBvbmVudC5zY3NzIn0= */\";","export default \".mat-error {\\n color: gray;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuZG8tdHJ5LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksV0FBQTtBQUNKIiwiZmlsZSI6InVuZG8tdHJ5LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1hdC1lcnJvciB7XG4gICAgY29sb3I6IGdyYXk7XG4gIH0iXX0= */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJtYW5hZ2UtdHJpcC10aWstY2xhaW0uY29tcG9uZW50LnNjc3MifQ== */\";","export default \".no-content {\\n padding: 10px;\\n font-weight: bold;\\n text-align: center;\\n}\\n.no-content p {\\n margin: 0;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRyaXAtdGlrLWNsYWltLWF0dGFjaG1lbnRzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7QUFDRjtBQUNFO0VBQ0UsU0FBQTtBQUNKIiwiZmlsZSI6InRyaXAtdGlrLWNsYWltLWF0dGFjaG1lbnRzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm5vLWNvbnRlbnQge1xuICBwYWRkaW5nOiAxMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIHAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuIl19 */\";","export default \"mat-expansion-panel.mat-expanded {\\n background: #f0f0f0;\\n margin-bottom: 1.2rem;\\n /*padding:1.2rem 0;*/\\n}\\nmat-expansion-panel .mat-form-field-appearance-legacy .mat-form-field-infix {\\n padding: 0.6rem 0;\\n}\\n.mat-select-trigger {\\n height: 1.125em;\\n}\\n.print-counts-cont div:hover {\\n cursor: pointer;\\n font-weight: bold;\\n}\\n.expansion-btn:not(.collapsed) i {\\n color: #038fde;\\n font-weight: bold;\\n}\\ni.open {\\n color: #038fde;\\n font-weight: bold;\\n}\\nbutton.open {\\n background-color: #dae0e5 !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRyaXAtdGlrcy1jbGFpbXMtbG9ncy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDSTtFQUNFLG1CQUFBO0VBQ0EscUJBQUE7RUFDQSxvQkFBQTtBQUFOO0FBTUk7RUFDRSxpQkFBQTtBQUpOO0FBT0U7RUFDRSxlQUFBO0FBSko7QUFPRTtFQUNFLGVBQUE7RUFDQSxpQkFBQTtBQUpKO0FBTUU7RUFDRSxjQUFBO0VBQ0EsaUJBQUE7QUFISjtBQU1FO0VBQ0UsY0FBQTtFQUNBLGlCQUFBO0FBSEo7QUFNRTtFQUNFLG9DQUFBO0FBSEoiLCJmaWxlIjoidHJpcC10aWtzLWNsYWltcy1sb2dzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsibWF0LWV4cGFuc2lvbi1wYW5lbCB7XG4gICAgJi5tYXQtZXhwYW5kZWQge1xuICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbiAgICAgIC8qcGFkZGluZzoxLjJyZW0gMDsqL1xuICAgIH1cbiAgXG4gICAgJjpub3QoW2NsYXNzKj1cIm1hdC1leHBhbmRlZFwiXSkge1xuICAgIH1cbiAgXG4gICAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgICBwYWRkaW5nOiAwLjZyZW0gMDtcbiAgICB9XG4gIH1cbiAgLm1hdC1zZWxlY3QtdHJpZ2dlciB7XG4gICAgaGVpZ2h0OiAxLjEyNWVtO1xuICB9XG4gIFxuICAucHJpbnQtY291bnRzLWNvbnQgZGl2OmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgLmV4cGFuc2lvbi1idG46bm90KC5jb2xsYXBzZWQpIGkge1xuICAgIGNvbG9yOiAjMDM4ZmRlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIFxuICBpLm9wZW4ge1xuICAgIGNvbG9yOiAjMDM4ZmRlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIFxuICBidXR0b24ub3BlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZTBlNSFpbXBvcnRhbnQ7XG4gIH1cbiAgIl19 */\";","export default \"mat-expansion-panel.mat-expanded {\\n background: #f0f0f0;\\n margin-bottom: 1.2rem;\\n /*padding:1.2rem 0;*/\\n}\\nmat-expansion-panel .mat-form-field-appearance-legacy .mat-form-field-infix {\\n padding: 0.6rem 0;\\n}\\n.mat-select-trigger {\\n height: 1.125em;\\n}\\n.print-counts-cont div:hover {\\n cursor: pointer;\\n font-weight: bold;\\n}\\n.expansion-btn:not(.collapsed) i {\\n color: #038fde;\\n font-weight: bold;\\n}\\ni.open {\\n color: #038fde;\\n font-weight: bold;\\n}\\nbutton.open {\\n background-color: #dae0e5 !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRyaXAtdGlrcy1jbGFpbXMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0k7RUFDRSxtQkFBQTtFQUNBLHFCQUFBO0VBQ0Esb0JBQUE7QUFBTjtBQU1JO0VBQ0UsaUJBQUE7QUFKTjtBQU9FO0VBQ0UsZUFBQTtBQUpKO0FBT0U7RUFDRSxlQUFBO0VBQ0EsaUJBQUE7QUFKSjtBQU1FO0VBQ0UsY0FBQTtFQUNBLGlCQUFBO0FBSEo7QUFNRTtFQUNFLGNBQUE7RUFDQSxpQkFBQTtBQUhKO0FBTUU7RUFDRSxvQ0FBQTtBQUhKIiwiZmlsZSI6InRyaXAtdGlrcy1jbGFpbXMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJtYXQtZXhwYW5zaW9uLXBhbmVsIHtcbiAgICAmLm1hdC1leHBhbmRlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICAgICAgLypwYWRkaW5nOjEuMnJlbSAwOyovXG4gICAgfVxuICBcbiAgICAmOm5vdChbY2xhc3MqPVwibWF0LWV4cGFuZGVkXCJdKSB7XG4gICAgfVxuICBcbiAgICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICAgIHBhZGRpbmc6IDAuNnJlbSAwO1xuICAgIH1cbiAgfVxuICAubWF0LXNlbGVjdC10cmlnZ2VyIHtcbiAgICBoZWlnaHQ6IDEuMTI1ZW07XG4gIH1cbiAgXG4gIC5wcmludC1jb3VudHMtY29udCBkaXY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICAuZXhwYW5zaW9uLWJ0bjpub3QoLmNvbGxhcHNlZCkgaSB7XG4gICAgY29sb3I6ICMwMzhmZGU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgXG4gIGkub3BlbiB7XG4gICAgY29sb3I6ICMwMzhmZGU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgXG4gIGJ1dHRvbi5vcGVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFlMGU1IWltcG9ydGFudDtcbiAgfVxuICAiXX0= */\";","export default \".box {\\n font-size: 0.9rem;\\n background-color: #FBFBFB;\\n position: relative;\\n border: 1px dashed #E1E1E1;\\n height: calc(2.25rem + 2px);\\n}\\n\\n.box__button {\\n font-weight: 700;\\n color: #e5edf1;\\n background-color: #39bfd3;\\n display: none;\\n padding: 8px 16px;\\n margin: 40px auto 0;\\n}\\n\\n.box__file {\\n display: none;\\n}\\n\\n.box__dragndrop {\\n width: 60px;\\n height: 26px;\\n border: 1px dashed #038fde;\\n}\\n\\n.box__input label {\\n cursor: pointer;\\n}\\n\\n.box__input label .delete-icon {\\n left: -35px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVwZGF0ZS1zdGF0dXMtdHJpcC10aWstY2xhaW0uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxpQkFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7RUFFQSwwQkFBQTtFQUNBLDJCQUFBO0FBQUo7O0FBRUU7RUFDRSxnQkFBQTtFQUNBLGNBQUE7RUFDQSx5QkFBQTtFQUNBLGFBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0FBQ0o7O0FBQ0U7RUFDRSxhQUFBO0FBRUo7O0FBQUU7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLDBCQUFBO0FBR0o7O0FBREU7RUFDRSxlQUFBO0FBSUo7O0FBSEk7RUFDSSxXQUFBO0FBS1IiLCJmaWxlIjoidXBkYXRlLXN0YXR1cy10cmlwLXRpay1jbGFpbS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5ib3gge1xuICAgIGZvbnQtc2l6ZTogLjlyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZCRkJGQjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gcGFkZGluZzogMzBweCAyMHB4IDIwcHg7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkICNFMUUxRTE7XG4gICAgaGVpZ2h0OiBjYWxjKDIuMjVyZW0gKyAycHgpO1xuICB9XG4gIC5ib3hfX2J1dHRvbiB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogI2U1ZWRmMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzliZmQzO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgbWFyZ2luOiA0MHB4IGF1dG8gMDtcbiAgfVxuICAuYm94X19maWxle1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgfVxuICAuYm94X19kcmFnbmRyb3Age1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgIzAzOGZkZTtcbiAgfVxuICAuYm94X19pbnB1dCBsYWJlbCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC5kZWxldGUtaWNvbntcbiAgICAgICAgbGVmdDotMzVweDtcbiAgICB9XG4gIH0iXX0= */\";","export default \"/* Timeline holder */\\n.timeline-item .timeline-content {\\n list-style-type: none;\\n position: relative;\\n}\\n.timeline-item .timeline-content:after {\\n content: \\\" \\\";\\n background: #bebebe;\\n display: inline-block;\\n position: absolute;\\n top: 0;\\n right: 8px;\\n width: 1px;\\n height: 100%;\\n border-radius: 1rem;\\n}\\n.timeline-item .timeline-content:before {\\n content: \\\" \\\";\\n background: white;\\n display: inline-block;\\n position: absolute;\\n border-radius: 50%;\\n border: 4px solid #bebebe;\\n right: 0;\\n width: 16px;\\n height: 16px;\\n z-index: 400;\\n box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);\\n}\\n.badge {\\n font-size: 100% !important;\\n font-weight: normal !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZpZXctdHJpcC10aWstY2xhaW0uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQUE7QUFtQ0E7RUFDRSxxQkFBQTtFQUNBLGtCQUFBO0FBakNGO0FBa0NFO0VBQ0UsWUFBQTtFQUNBLG1CQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxVQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtBQWhDSjtBQWtDRTtFQUNFLFlBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBO0VBQ0EsUUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLHNDQUFBO0FBaENKO0FBb0NBO0VBQ0UsMEJBQUE7RUFDQSw4QkFBQTtBQWpDRiIsImZpbGUiOiJ2aWV3LXRyaXAtdGlrLWNsYWltLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogVGltZWxpbmUgaG9sZGVyICovXG4vLyAudGltZWxpbmUge1xuLy8gICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbi8vICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4vLyAgICAgLy8gJjpiZWZvcmUge1xuLy8gICAgIC8vICAgICBjb250ZW50OiBcIiBcIjtcbi8vICAgICAvLyAgICAgYmFja2dyb3VuZDogI2JlYmViZTtcbi8vICAgICAvLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8gICAgIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgICAgLy8gICAgIHJpZ2h0OiAxOCU7XG4vLyAgICAgLy8gICAgIHdpZHRoOiAxcHg7XG4vLyAgICAgLy8gICAgIGhlaWdodDogMTAwJTtcbi8vICAgICAvLyAgICAgei1pbmRleDogNDAwO1xuLy8gICAgIC8vICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuLy8gICAgIC8vICAgfVxuLy8gICB9XG5cbi8vICAgLnRpbWVsaW5lLWl0ZW0ge1xuLy8gICAgIC8vIG1hcmdpbjogMjBweCAwO1xuLy8gICAgIC8vICY6YmVmb3JlIHtcbi8vICAgICAvLyAgICAgY29udGVudDogXCIgXCI7XG4vLyAgICAgLy8gICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuLy8gICAgIC8vICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4vLyAgICAgLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgICAvLyAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuLy8gICAgIC8vICAgICBib3JkZXI6IDRweCBzb2xpZCAjYmViZWJlO1xuLy8gICAgIC8vICAgICByaWdodDogMTcuNSU7XG4vLyAgICAgLy8gICAgIHdpZHRoOiAxNnB4O1xuLy8gICAgIC8vICAgICBoZWlnaHQ6IDE2cHg7XG4vLyAgICAgLy8gICAgIHotaW5kZXg6IDQwMDtcbi8vICAgICAvLyAgICAgYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4vLyAgICAgLy8gICB9XG4vLyAgIH1cbi50aW1lbGluZS1pdGVtIHtcbi50aW1lbGluZS1jb250ZW50IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGJhY2tncm91bmQ6ICNiZWJlYmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDhweDtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjYmViZWJlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICB6LWluZGV4OiA0MDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIH1cbn1cbn1cbi5iYWRnZSB7XG4gIGZvbnQtc2l6ZTogMTAwJSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG59XG4iXX0= */\";","export default \".mat-snack-bar-container span {\\n margin-right: 0 !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFsZXJ0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksMEJBQUE7QUFDSiIsImZpbGUiOiJhbGVydC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tYXQtc25hY2stYmFyLWNvbnRhaW5lciBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbn0iXX0= */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJib2R5LWxvYWRlci5jb21wb25lbnQuc2NzcyJ9 */\";","export default \"a {\\n color: #038fde;\\n}\\na:hover {\\n color: #003366;\\n}\\na.active {\\n color: #404040 !important;\\n pointer-events: none;\\n cursor: default;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJyZWFkY3J1bWIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxjQUFBO0FBQ0Y7QUFDRTtFQUNFLGNBQUE7QUFDSjtBQUVFO0VBQ0UseUJBQUE7RUFDQSxvQkFBQTtFQUNBLGVBQUE7QUFBSiIsImZpbGUiOiJicmVhZGNydW1iLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiYSB7XG4gIGNvbG9yOiAjMDM4ZmRlO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAjMDAzMzY2O1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAjNDA0MDQwICFpbXBvcnRhbnQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG59XG4iXX0= */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJkaWFsb2cuY29tcG9uZW50LnNjc3MifQ== */\";","export default \":host {\\n margin: auto;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vdC1mb3VuZC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7QUFDSiIsImZpbGUiOiJub3QtZm91bmQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdHtcbiAgICBtYXJnaW46IGF1dG87XG59Il19 */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJ1bmRlci1jb25zdHJ1Y3Rpb24uY29tcG9uZW50LnNjc3MifQ== */\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJ2YWxpZGF0aW9uLWVycm9yLmNvbXBvbmVudC5zY3NzIn0= */\";","export default \"
    \\n تربتك نويبع\\n
    \\n
    \\n
    \\n \\n search\\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    ايدى الدفتر{{ row.tripTikDocumentId }}سيريال{{ row.serial }}الاسم{{ row.name }}رقم اللوحات{{ row.plateID }}رقم الباسبور{{ row.passportID }}تاريخ الاصدار{{ row.issued }}تاريخ الانتهاء{{ row.expiryDate }}ادوات\\n \\n \\n \\n \\n
    \\n
    \\n \\n
    \\n\";","export default \"
    \\r\\n

    رفع الملفات

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

    Drag and drop files here

    \\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n
    0\\\" class=\\\"file-list\\\">\\r\\n

    Files:

    \\r\\n \\r\\n \\r\\n {{ file.name }}\\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\";","export default \"

    المفات المتاحة

    \\r\\n
    \\r\\n
    \\r\\n \\\"Image\\\"\\r\\n
    \\r\\n \\r\\n cloud_download\\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\";","export default \"\\n\\n\\n\\n\\n\\n\";","export default \"
    \\n
    \\n
    \\n {{'_APP_COPYRIGHTS' | translate}} - {{'_APP_TITLE' | translate}} © {{year}} 09.09.24\\n \\n
    \\n
    \\n
    \";","export default \"\\n\\n\";","export default \"\\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \";","export default \"
    \\n \\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n
    \\n \\n \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \";","export default \"
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \";","export default \"\";","export default \"\\n {{getAccountType() | translate}}\\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n {{'SEC_LINK_USERS' | translate}}\\n \\n people\\n \\n  {{accountUsersCount}}\\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n\\n\\n \\n \\n
  • \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n \\n \\n pageview\\n \\n \\n \\n
    \\n \\n
    \\n \\n \\n edit\\n \\n \\n \\n \\n delete\\n \\n \\n
    \\n\\n
    \\n people {{node.item.usersCount}}\\n
    \\n
    \\n\\n\\n
    \\n
    \\n
  • \\n
    \\n \\n
  • \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n \\n \\n pageview\\n \\n \\n \\n
    \\n \\n
    \\n \\n \\n edit\\n \\n \\n \\n \\n delete\\n \\n \\n
    \\n
    \\n people \\n {{node.item.usersCount}}\\n
    \\n
    \\n
    \\n
    \\n \\n
  • \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'ACC_LINK_TOTAL_USERS_COUNT' | translate}}: {{usersCount}}\\n
    \\n
    \\n
    \";","export default \"\\n \\n {{(!accountId ? '_ACTION_ADD' : '_ACTION_UPDATE') | translate }} {{ getAccountType(accountType.value) }}\\n \\n \\n \\n\\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'LKP_FIELD_ACCOUNT_TYPE' | translate}}\\n \\n {{at.titles}}\\n \\n \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'LKP_FIELD_STOCK_TYPE' | translate}}\\n \\n \\n {{st.titles}}\\n \\n \\n \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n \\n\\n {{'ACC_FIELD_ACCOUNT_TITLE2' |\\n translate:{param: getAccountType(accountType.value)} }}\\n {{'_AR' | translate}}\\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'ACC_FIELD_ACCOUNT_TITLE2' |\\n translate:{param: getAccountType(accountType.value)} }}\\n {{'_EN' | translate}}\\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n \\n \\n \\n\\n\\n\\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n \\n\\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n\\n\\n\\n
    \\n\\n\\n
    \\n {{'ACC_ATTACHMENTS' | translate}}:
    \\n\\n\\n
    0\\\" class=\\\"col-12 mb-3\\\">\\n \\n
    \\n\\n \\n\\n \\n\\n\\n
    \\n
    \\n \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n\\n\\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n \\n
    \\n {{'ACC_TITLE_PRIMARY_USER_ACCOUNT2' | translate:{param: getAccountType(accountType.value)} }}:
    \\n\\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n\\n\\n
    \\n\\n\\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n \\n\\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \";","export default \"{{'ACC_TITLE_USER_PROFILE' | translate}}\\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'SEC_FIELD_USERNAME' | translate}}\\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'_FIELD_EMAIL' | translate}}\\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'_FIELD_PHONE_NO' | translate}}\\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'SEC_FIELD_PASSWORD' | translate}}\\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'SEC_FIELD_NEW_PASSWORD' | translate}}\\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'SEC_FIELD_PASSWORD_CONFIRM' | translate}}\\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\\"\\\"\\n
    \\n
    \\n
    \\n
    \\n {{'_ACTION_UPLOAD' | translate}}\\n \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n\";","export default \"\\n {{'_ACTION_VIEW' | translate}} {{'ACC_LABEL_ACCOUNT' | translate}}\\n \\n\\n
    \\n
    \\n
    \\n file_copy\\n {{'ACC_LABEL_ACCOUNT_DETAILS' | translate}}\\n
    \\n
      \\n
    • \\n {{'ACC_FIELD_ACCOUNT_TITLE' | translate}}:\\n {{dto.titles[lang]}}\\n
    • \\n
    • \\n {{'LKP_FIELD_ACCOUNT_TYPE' | translate}}:\\n {{dto.accountType.titles}}\\n
    • \\n
    \\n \\n
      \\n
    • \\n {{'ACC_FIELD_PARENT_ACCOUNT' | translate}}:\\n {{_parentAccounts && _parentAccounts.length > 0 ? (_parentAccounts | stringJoin:' // ') : 'N/A'}}\\n
    • \\n
    • \\n {{'LKP_FIELD_STOCK_TYPE' | translate}}:\\n \\n \\n\\n
        \\n
      • \\n \\n {{s.titles}}\\n
      • \\n
      \\n
    • \\n
    \\n
      \\n
    • \\n {{'LKP_FIELD_COUNTRY' | translate}}:\\n {{dto.city ? dto.city.countryTitles : 'N/A'}}\\n
    • \\n
    • \\n {{'LKP_FIELD_CITY' | translate}}:\\n {{dto.city ? dto.city.titles : 'N/A'}}\\n
    • \\n
    \\n\\n
      \\n
    • \\n {{'_FIELD_EMAIL' | translate}}:\\n {{dto.email ? dto.email : 'N/A'}}\\n
    • \\n
    • \\n {{'_FIELD_PHONE_NO' | translate}}:\\n {{dto.phoneNumber ? dto.phoneNumber : 'N/A'}}\\n
    • \\n
    \\n
    \\n\\n
    0\\\" class=\\\"col-12 mb-3\\\">\\n
    \\n attach_file\\n {{'ACC_ATTACHMENTS' | translate}}\\n
    \\n \\n \\n
    \\n
    \";","export default \"
    \\n {{'ISS_TITLE_DOCUMENTS_REVOKE_REQUESTS' | translate}}\\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n {{'LKP_FIELD_STOCK_TYPE' | translate}}\\n \\n \\n {{'_LABEL_ALL' | translate}}\\n {{st.titles}}\\n \\n \\n
    \\n \\n
    \\n
    \\n\\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    {{'_LABEL_DATE' | translate}}{{moment(row.created).format('DD/MM/YYYY')}}\\n {{'_LABEL_SERIAL' | translate}} {{row.serial}} {{'LKP_FIELD_STOCK_TYPE' | translate}}{{row.stockType.titles}}\\n {{'ACC_FIELD_ACCOUNT_TITLE' | translate}}\\n \\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n \\n {{row.accountTitles}}\\n \\n
    \\n
    {{'ISS_LABEL_REQUESTED_BY' | translate}} {{row.requestedBy}} {{'_FIELD_REASON' | translate}}\\n {{row.requestReason}}  \\n \\n \\n attach_file\\n \\n \\n {{'STK_LABEL_UNDO_REQUEST_STATUS' | translate}}\\n \\n {{undoRequestStatusLocale(row.undoRequestStatus) | translate}}\\n \\n {{'ISS_LABEL_REQUEST_TYPE' | translate}}\\n \\n {{(row.isDamaged ? '_ACTION_DESTROY' : '_ACTION_RECOVER') | translate}}\\n \\n {{'ISS_LABEL_RESOLVED_BY' | translate}} {{row.resolvedBy ? row.resolvedBy : '-'}} {{'ISS_LABEL_RESOLVE_DATE' | translate}} {{row.resolved ? moment(row.resolved).format('DD/MM/YYYY') : '-'}}{{'ISS_LABEL_RESOLVE_NOTE' | translate}} {{row.resolveNote ? row.resolveNote : '-'}} {{'_ACTION_TOOLS' | translate}}\\n -\\n
    \\n \\n \\n \\n \\n
    \\n
    \\n \\n
    \";","export default \"{{'ISS_TITLE_ISSUED_DOCUMENTS_QUERY' | translate}}\\n
    \\n
    \\n
    \\n
    \\n {{'TRP_FIELD_TRIPTIK_TYPE' | translate}}\\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'TRP_FIELD_TRIPTIK_TYPE' | translate}}\\n \\n \\n {{st.titles}}\\n \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'TRP_FIELD_TRIPTIK_SERIAL' | translate}}\\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'TRP_FIELD_IDENTITY_ID_OR_PASSPORT_ID' | translate}}\\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n\\n نتائج البحث\\n
      \\n
    • \\n اسم المالك:\\n {{dto.name}}\\n
    • \\n
    • \\n تاريخ الإصدار:\\n {{dto.issueDate}}\\n
    • \\n
    • \\n تاريخ الإنتهاء:\\n {{dto.expiryDate}}\\n
    • \\n
    • \\n \\n
    • \\n
    \\n
    \";","export default \"{{'ISS_TITLE_ISSUED_DOCUMENTS_QUERY' | translate}}\\n
    \\n
    \\n
    \\n
    \\n {{'LKP_FIELD_DOCUMENT_TYPE' | translate}}\\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'LKP_FIELD_DOCUMENT_TYPE' | translate}}\\n \\n \\n {{st.titles}}\\n \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'_LABEL_SERIAL_NUMBER' | translate}}\\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n {{'TRP_FIELD_PLATE_ID' | translate}}\\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'TRP_FIELD_CHASSIS_ID' | translate}}\\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n\\n\\n {{'_MESSAGE_SEARCH_RESULTS' | translate}}\\n \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n
    {{'ISS_LABEL_DOCUMENT_OWNER' | translate}}{{row.name}}{{'ISS_LABEL_ISSUE_DATE' | translate}}{{row.issueDate}}\\n {{'ISS_LABEL_EXPIRY_DATE' | translate}}\\n {{row.expiryDate}}\\n {{'ISS_LABEL_DOCUMENT_STATUS' | translate}}\\n \\n check_circle\\n {{'ISS_LABEL_VALID' | translate}}\\n \\n cancel\\n {{'ISS_LABEL_EXPIRED' | translate}}\\n {{'_ACTION_TOOLS' | translate}}\\n \\n \\n file_copy\\n \\n \\n \\n
    \\n
    \\n\\n
    \\n
    \\n {{'_MESSAGE_NO_SEARCH_RESULTS' | translate}}\\n
    \\n
    \\n
    \\n\\n\\n\\n\";","export default \"
    \\n
    \\n
    \\n

    DOCUMENT VERIFICATION

    \\n \\n
    \\n
    \\n
    \\n
      \\n
    • \\n

      \\n \\n \\n warning\\n \\n Invalid Document Code\\n \\n

      \\n
    • \\n \\n
    • \\n
      \\n Document Status:\\n \\n check_circle VALID\\n \\n cancel EXPIRED\\n
      \\n
    • \\n
    • {{dto.stockType.titles[1]}}: {{dto.serial}}
    • \\n
    • Issue Date: {{dto.issueDate}}
    • \\n
    • Expiration Date: {{dto.expiryDate}}
    • \\n
    • Owner Name: {{dto.name}}
    • \\n
      \\n
    \\n
    \\n
    \\n \\n
    \\n
    \";","export default \"
    \\n\\t\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t
    \\n\\t
    \\n\\n\\t\\n\\t
    \\n\\t\\t\\n\\t
    \\n\\n\\t\\n\\t
    \\n\\t\\t\\n\\t
    \\n\\n\\t\\n\\t
    \\n\\t\\t\\n\\t
    \\n
    \";","export default \" \\n\\n\\n\\n\\n \\n
    \\n
    \\n
    \\n
    \\n {{dto.issued | date: 'dd/MM/yyyy'}}\\n
    \\n
    \\n \\n
    \\n
    \\n {{dto.name}}\\n
    \\n
    \\n {{dto.dateOfBirth | date: 'dd/MM/yyyy'}}\\n
    \\n
    \\n {{dto.nationalityTitles[Language.English]}}\\n
    \\n
    \\n {{dto.countryTitles[Language.English]}}\\n
    \\n
    \\n {{dto.passportID}}\\n
    \\n
    \\n {{Gender[dto.gender]}}\\n
    \\n
    \\n {{dto.bloodGroup}}\\n
    \\n
    \\n {{dto.accordingToTitles[Language.English]}} License\\n
    \\n
    \\n {{dto.permitClasses.join(', ')}}\\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{dto.issued | date: 'dd/MM/yyyy'}}\\n
    \\n
    \\n {{dto.expiryDate | date: 'dd/MM/yyyy'}}\\n
    \\n
    \\n \\n
    \\n
    \\n {{dto.name}}\\n
    \\n
    \\n {{dto.dateOfBirth | date: 'dd/MM/yyyy'}}\\n
    \\n
    \\n {{dto.nationalityTitles[Language.English]}}\\n
    \\n
    \\n {{dto.countryTitles[Language.English]}}\\n
    \\n
    \\n {{dto.passportID}}\\n
    \\n
    \\n {{Gender[dto.gender]}}\\n
    \\n
    \\n {{dto.bloodGroup}}\\n
    \\n
    \\n {{dto.accordingToTitles[Language.English]}} License\\n
    \\n
    \\n {{dto.permitClasses.join(', ')}}\\n
    \\n \\n
    \\n
    \\n \\n\\n
    \\n\\n
    \\n
    {{ dto.serial }}
    \\n
    {{ dto.name }}
    \\n
    {{ dto.dateOfBirth | date: 'dd/MM/yyyy' }}
    \\n
    {{ Gender[dto.gender] }}
    \\n
    {{ dto.nationalityTitles[Language.English] }}
    \\n
    {{ dto.passportID }}
    \\n
    {{ dto.countryTitles[Language.English] }}
    \\n
    {{ dto.accordingToTitles[Language.English] }} License
    \\n
    {{ dto.permitClasses.join(', ') }}
    \\n
    {{ dto.bloodGroup }}
    \\n
    {{ dto.issued | date: 'dd/MM/yyyy' }}
    \\n
    {{ dto.expiryDate | date: 'dd/MM/yyyy' }}
    \\n \\n \\n
    \";","export default \"
    \\n {{'LIC_TITLE_LICENSES' | translate}}\\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n \\n \\n \\n \\n \\n
    \\n\\n \\n \\n \\n \\n search\\n \\n \\n
    \\n
    \\n
    \\n\\n\\n
    \\n
    \\n
    \\n \\n {{'_FIELD_NAME' | translate}}\\n \\n \\n
    \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n \\n {{'_LABEL_GENDER' | translate}}\\n \\n {{'_LABEL_ALL' | translate}}\\n \\n {{'_LABEL_MALE' | translate}}\\n \\n \\n {{'_LABEL_FEMALE' | translate}}\\n \\n \\n \\n
    \\n
    \\n \\n {{'_FIELD_PHONE_NO' | translate}}\\n \\n \\n
    \\n
    \\n \\n {{'ISS_FIELD_PASSPORT_NUMBER' | translate}}\\n \\n \\n
    \\n \\n
    \\n \\n \\n \\n \\n {{title}}{{ i != item.titles.length - 1 ? ' // ' : ''}}\\n \\n \\n \\n
    \\n\\n
    \\n \\n {{'LIC_FIELD_PERMIT_CLASS' | translate}}\\n \\n {{'_LABEL_ALL' | translate}}\\n \\n {{IntLicensePermitClass[p]}}\\n \\n \\n
    \\n
    \\n \\n {{'LIC_FIELD_LICENSE_NO' | translate}}\\n \\n \\n
    \\n
    \\n \\n {{'TRP_FIELD_LIC_TYPE' | translate}}\\n \\n {{'_LABEL_ALL' | translate}}\\n \\n {{s.titles}}\\n \\n \\n
    \\n
    \\n \\n {{'_LABEL_FROM' | translate}} {{'_LABEL_DATE2' | translate}}\\n \\n \\n \\n \\n
    \\n
    \\n \\n {{'_LABEL_TO' | translate}} {{'_LABEL_DATE2' | translate}}\\n \\n \\n \\n \\n
    \\n
    \\n \\n {{'ISS_LABEL_ISSUE_STATUS' | translate}}\\n \\n {{'_LABEL_ALL' | translate}}\\n {{'ISS_LABEL_ISSUE_STATUS_ISSUED' | translate}}\\n {{'ISS_LABEL_ISSUE_STATUS_UNISSUED' | translate}}\\n \\n \\n
    \\n
    \\n \\n {{'ISS_LABEL_DOCUMENT_STATUS' | translate}}\\n \\n {{'_LABEL_ALL' | translate}}\\n {{'ISS_LABEL_DOCUMENT_STATUS_VALID' | translate}}\\n {{'ISS_LABEL_DOCUMENT_STATUS_DAMAGED' | translate}}\\n \\n \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    {{'ISS_LABEL_ISSUE_DATE' | translate}} {{row.issued ? moment(row.issued).format('DD/MM/YYYY') : ''}}\\n {{'_LABEL_SERIAL' | translate}}\\n \\n {{Math.abs(row.serial)}}\\n close\\n \\n {{'_FIELD_NAME' | translate}}\\n \\n {{row.name}}\\n \\n {{'_LABEL_GENDER' | translate}}\\n {{(row.gender == Gender.Male ? '_LABEL_MALE' : '_LABEL_FEMALE') | translate}}\\n \\n {{'_FIELD_PHONE_NO' | translate}}\\n {{row.phoneNumber}}\\n {{'ACC_FIELD_ACCOUNT_TITLE' | translate}}\\n \\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n \\n {{row.accountTitles}}\\n \\n
    \\n
    \\n {{'TRP_FIELD_LIC_TYPE' | translate}}\\n {{row.stockType.titles}}{{'ISS_FIELD_PASSPORT_NUMBER' | translate}}{{row.passportID}}{{'ISS_LABEL_PRINTINGS' | translate}}\\n \\n
    \\n {{moment(d.created).format('DD/MM/YYYY HH:mm:ss')}}
    \\n
    \\n \\n
    \\n {{moment(d.created).format('DD/MM/YYYY HH:mm:ss')}}
    \\n
    \\n
    \\n
    0 ? l : ''\\\"\\n placement=\\\"bottom\\\">\\n ({{printObjectsCount(row.printLogs, PrintObject.IntLicenseCard)}})\\n {{'LIC_LABEL_PRINT_OBJECT_LICENSE' | translate}}
    \\n
    0 ? s : ''\\\"\\n placement=\\\"bottom\\\">\\n ({{printObjectsCount(row.printLogs, PrintObject.IntLicenseSticker)}})\\n {{'LIC_LABEL_PRINT_OBJECT_STICKER' | translate}}\\n
    \\n
    \\n
    {{'_ACTION_TOOLS' | translate}}\\n \\n \\n pageview\\n \\n \\n \\n \\n file_copy\\n \\n \\n \\n \\n edit\\n \\n \\n \\n \\n delete\\n \\n \\n 0 && auth.currentUser.accountId == row.accountId && ((!row.revokeRequestId && auth.currentUser.isInRole(Role.INT_LICENSES_REVOKE_REQUESTS_CREATE)) || (row.revokeRequestId && auth.currentUser.isInRole(Role.INT_LICENSES_REVOKE_REQUESTS_DELETE)))\\\"\\n class=\\\"text-primary\\\" (click)=\\\"tryRevoke(row)\\\"\\n title=\\\"{{(!row.revokeRequestId ? '' : '_ACTION_REVOKE_REQUEST_CANCEL') | translate}} {{'_ACTION_REVOKE' | translate}}\\\">\\n \\n {{!row.revokeRequestId ? 'delete_forever' : 'restore_from_trash'}}\\n \\n \\n\\n \\n\\n \\n\\n \\n
    \\n \\n
    \";","export default \"\\n {{ (!updateMode ? '_ACTION_ADD' : '_ACTION_UPDATE') | translate}}\\n {{'LIC_TITLE_LICENSE' | translate}}\\n
    \\n
    \\n
    \\n {{ 'LIC_LABEL_EDITABLE_REMOVABLE' | translate}}\\n
    \\n \\n
    \\n {{ 'LIC_LABEL_UNISSUED' | translate}}\\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n
    0\\\" class=\\\"form-group col-md-12\\\">\\n
    \\n \\n
    \\n \\n {{i + 1}}\\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'TRP_FIELD_LIC_TYPE' | translate}}\\n \\n {{s.titles}}\\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\n
    \\n \\n \\n \\n\\n\\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n {{'_ACTION_ENTER' | translate}} {{'LIC_FIELD_DATE_OF_BIRTH' | translate}}\\n \\n \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n {{'ISS_FIELD_RESIDENCE_COUNTRY' |\\n translate}}\\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'LIC_FIELD_BLOOD_GROUP' | translate}}\\n \\n \\n {{BloodGroup[bg]}}\\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n {{'_LABEL_MALE' | translate}}\\n {{'_LABEL_FEMALE' | translate}}\\n \\n \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n {{'LIC_FIELD_LOCAL_LICENSE_SOURCE'\\n | translate}}\\n
    \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'LIC_FIELD_PERMIT_CLASS' | translate}}\\n \\n \\n {{IntLicensePermitClass[p]}}\\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n portrait\\n \\n \\n \\n
    \\n
    \\n
    \\n \\n \\n
    0 || !isCamStreaming)\\\">\\n \\n \\n \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n {{'LIC_LABEL_DATA_ACCURACY_ACKNOWLEDGMENT' | translate}}\\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n\";","export default \"\\n {{'_ACTION_VIEW' | translate}} {{'LIC_TITLE_LICENSE' | translate}}\\n \\n
    \\n
    \\n \\n {{'LIC_LABEL_UNEDITABLE_IRREMOVABLE' | translate}}\\n {{'LIC_LABEL_EDITABLE_REMOVABLE' | translate}}\\n
    \\n \\n {{(isPrintable() ? 'LIC_LABEL_PRINTABLE' : 'LIC_LABEL_UNPRINTABLE') | translate}}\\n
    \\n \\n {{(dto.issued ? 'LIC_LABEL_ISSUED' : 'LIC_LABEL_UNISSUED') | translate}}\\n \\n
    \\n {{(!isExpired(dto.expiryDate) ? 'LIC_LABEL_VALID_UNTIL' : 'LIC_LABEL_EXPIRED_AT') | translate}}\\n {{moment(dto.expiryDate).format(dateFormat)}}\\n
    \\n \\n
    \\n \\n
    \\n \\n\\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n \\n \\n \\n chevron_{{ lang == Language.Arabic ? 'right' : 'left'}}\\n \\n Previous\\n \\n \\n \\n \\n chevron_{{ lang == Language.Arabic ? 'left' : 'right'}}\\n \\n Next\\n \\n \\n
    \\n
      \\n
    1. \\n \\n \\n
    2. \\n
    3. \\n \\n \\n
    4. \\n
    \\n
    0 && dto.accountId == auth.currentUser.accountId && auth.currentUser.isInRole(Role.INT_LICENSES_UPDATE)\\\"\\n class=\\\"col px-0\\\">\\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n\\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n
      \\n
    • \\n money \\n {{'LIC_FIELD_LICENSE_NO' | translate}}:\\n {{Math.abs(dto.serial)}}\\n
    • \\n
    • \\n print \\n {{'_LABEL_DOCUMENT_PRINT_TEMPLATE' | translate}}:\\n \\n {{dto.stockType.titles[0]}}\\n \\n
    • \\n
    • \\n perm_contact_calendar \\n {{'_FIELD_NAME' | translate}}:\\n {{dto.name}}\\n
    • \\n
    • \\n date_range \\n {{'LIC_FIELD_DATE_OF_BIRTH' | translate}}:\\n {{moment(dto.dateOfBirth).format(dateFormat)}}\\n
    • \\n
    • \\n outlined_flag \\n {{'LKP_FIELD_NATIONALITY' | translate}}:\\n {{dto.nationalityTitles[lang]}}\\n
    • \\n
    • \\n where_to_vote \\n {{'ISS_FIELD_RESIDENCE_COUNTRY' | translate}}:\\n {{dto.countryTitles[lang]}}\\n
    • \\n
    • \\n view_carousel \\n {{'ISS_FIELD_PASSPORT_NUMBER' | translate}}:\\n {{dto.passportID}}\\n
    • \\n
    • \\n exposure \\n {{'LIC_FIELD_BLOOD_GROUP' | translate}}:\\n {{dto.bloodGroup}}\\n
    • \\n
    • \\n wc \\n {{'_LABEL_GENDER' | translate}}:\\n {{(dto.gender == Gender.Male ? '_LABEL_MALE' : '_LABEL_FEMALE') | translate}}\\n
    • \\n
    • \\n emoji_transportation \\n {{'LIC_FIELD_LOCAL_LICENSE_SOURCE' | translate}}:\\n {{dto.accordingToTitles[lang]}}\\n
    • \\n
    • \\n commute \\n {{'LIC_FIELD_PERMIT_CLASS' | translate}}:\\n {{dto.permitClasses.join(', ')}}\\n
    • \\n
    • \\n stay_current_portrait \\n {{'_FIELD_PHONE_NO' | translate}}:\\n {{dto.phoneNumber}}\\n
    • \\n
    • \\n print \\n {{'_LABEL_DOCUMENT_PRINT_TEMPLATE' | translate}}:\\n \\n {{ getTranslatedTemplateVersion(dto.documentTemplateVersion) }}\\n \\n \\n
    • \\n \\n
    \\n
    \\n \\n
    \\n\\n
    \\n
    {{'_TITLE_ATTACHMENTS' | translate}}
    \\n
    \\n \\n
    \\n
    \\n {{(i == 0 ? 'LIC_FIELD_PERSONAL_PHOTO' : (i == 1 ? 'LIC_FIELD_PASSPORT_PHOTO' : 'LIC_FIELD_LICENSE_PHOTO')) | translate}}\\n
    \\n
    \\n \\n \\\"file\\\"\\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n\\n\\n \\n\\n \\n\\n\\n\\n \\n
    \\n
    \\n\\n\\n\\n\\n\";","export default \"
    \\n \\n
    \\n
    {{issueDate | date: 'dd/MM/yyyy'}}
    \\n \\n
    {{dto.customer.owner.name}}
    \\n
    #
    \\n
    #{{dto.serial}}#
    \\n
    # {{dto.vehicle.plateID}} #
    \\n
    {{dto.accountTitles}}
    \\n \\n
    \\n
    \\n
    \\n \\n
    \\n
    {{issueDate | date: 'dd/MM/yyyy'}}
    \\n \\n
    {{dto.customer.owner.name}}
    \\n
    #
    \\n
    #{{dto.serial}}#
    \\n
    # {{dto.vehicle.plateID}} #
    \\n
    {{dto.accountTitles}}
    \\n \\n
    \\n
    \";","export default \"\\n \\n
    \\n
    \\n
    \\n {{cOwnerInfo && cOwnerInfo.length > 0 ? cOwnerInfo[0] : 'N/A'}}
    \\n
    \\n {{drivers && drivers.length > 0 ? ('سائق إضافي: ' + drivers[0]) : ''}}
    \\n
    \\n {{drivers && drivers.length > 1 ? ('سائق إضافي: ' + drivers[1]) : ''}}
    \\n
    12 Months
    \\n
    {{dto.expiryDate | date: 'dd/MM/yyyy'}}
    \\n
    \\n {{dto.vehicle.plateID ? dto.vehicle.plateID : 'N/A'}}
    \\n
    \\n {{dto.vehicle.registrationCountryTitles ? (dto.vehicle.registrationCountryTitles | stringJoin) : 'N/A'}}\\n
    \\n
    {{dto.issued | date: 'dd/MM/yyyy'}}
    \\n
    {{dto.accountTitles}}
    \\n \\n
    \\n
    \\n\\n
    \\n
    \\n
    \\n {{dto.expiryDate | date: 'dd/MM/yyyy'}}
    \\n
    \\n {{dto.expiryDate | date: 'dd/MM/yyyy'}}
    \\n
    \\n {{dto.expiryDate | date: 'dd/MM/yyyy'}}
    \\n\\n
    \\n {{cOwnerInfo && cOwnerInfo.length > 0 ? cOwnerInfo[0] : 'N/A'}}
    \\n
    \\n {{cOwnerInfo && cOwnerInfo.length > 0 ? cOwnerInfo[0] : 'N/A'}}
    \\n
    \\n {{drivers.join(' - ')}}
    \\n
    \\n {{drivers.join(' - ')}}
    \\n\\n
    \\n {{dto.vehicle.registrationCountryTitles ? (dto.vehicle.registrationCountryTitles | stringJoin) : 'N/A'}}\\n
    \\n
    \\n {{_makeModel ? (_makeModel | stringJoin:'/') : 'N/A'}}
    \\n
    \\n {{dto.vehicle.manufactureYear ? dto.vehicle.manufactureYear : 'N/A'}}
    \\n
    \\n {{dto.vehicle.chassisID ? dto.vehicle.chassisID : 'N/A'}}
    \\n
    \\n {{dto.vehicle.engineID ? dto.vehicle.engineID : empty}}
    \\n
    \\n {{dto.vehicle.cylindersCount ? dto.vehicle.cylindersCount : 'N/A'}}
    \\n
    \\n {{_colors ? (_colors | stringJoin:'+') : 'N/A'}}
    \\n
    \\n {{dto.vehicle.type ? (dto.vehicle.type.titles | stringJoin) : empty}}
    \\n
    \\n {{dto.vehicle.horsePower ? dto.vehicle.horsePower : empty}}
    \\n\\n
    \\n {{dto.vehicle.plateID ? dto.vehicle.plateID : 'N/A'}}
    \\n
    \\n {{dto.vehicle.seatsCount ? dto.vehicle.seatsCount : 'N/A'}}
    \\n
    \\n {{dto.vehicle.spareTiresCount}}
    \\n
    \\n {{_options ? (_options | stringJoin:'+') : empty}}
    \\n
    \\n {{(vUpholsteryType | stringJoin)}}
    \\n
    \\n {{dto.vehicle.equipments ? dto.vehicle.equipments : empty}}
    \\n
    \\n {{dto.vehicle.extras ? dto.vehicle.extras : empty}}
    \\n
    \\n {{dto.vehicle.weightInKG ? dto.vehicle.weightInKG : 'N/A'}}
    \\n
    \\n {{(dto.vehicle.currency ? dto.vehicle.currency.abbreviation : '') + ' ' + (dto.vehicle.value ? dto.vehicle.value : 'N/A')}}\\n
    \\n\\n
    \\n {{dto.vehicle.registrationCountryTitles ? (dto.vehicle.registrationCountryTitles | stringJoin) : 'N/A'}}\\n
    \\n
    \\n {{_makeModel ? (_makeModel | stringJoin:'/') : 'N/A'}}
    \\n
    \\n {{dto.vehicle.manufactureYear ? dto.vehicle.manufactureYear : 'N/A'}}
    \\n
    \\n {{dto.vehicle.chassisID ? dto.vehicle.chassisID : 'N/A'}}
    \\n
    \\n {{dto.vehicle.engineID ? dto.vehicle.engineID : empty}}
    \\n
    \\n {{dto.vehicle.cylindersCount ? dto.vehicle.cylindersCount : 'N/A'}}
    \\n
    \\n {{_colors ? (_colors | stringJoin:'+') : 'N/A'}}
    \\n
    \\n {{dto.vehicle.type ? (dto.vehicle.type.titles | stringJoin) : empty}}
    \\n
    \\n {{dto.vehicle.horsePower ? dto.vehicle.horsePower : empty}}
    \\n\\n
    \\n {{dto.vehicle.plateID ? dto.vehicle.plateID : 'N/A'}}
    \\n
    \\n {{dto.vehicle.seatsCount ? dto.vehicle.seatsCount : 'N/A'}}
    \\n
    \\n {{dto.vehicle.spareTiresCount}}
    \\n
    \\n {{_options ? (_options | stringJoin:'+') : empty}}
    \\n
    \\n {{(vUpholsteryType | stringJoin)}}
    \\n
    \\n {{dto.vehicle.equipments ? dto.vehicle.equipments : empty}}
    \\n
    \\n {{dto.vehicle.extras ? dto.vehicle.extras : empty}}
    \\n
    \\n {{dto.vehicle.weightInKG ? dto.vehicle.weightInKG : 'N/A'}}
    \\n
    \\n {{(dto.vehicle.currency ? dto.vehicle.currency.abbreviation : '') + ' ' + (dto.vehicle.value ? dto.vehicle.value : 'N/A')}}\\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n
    \\n {{dto.vehicle.registrationCountryTitles ? (dto.vehicle.registrationCountryTitles | stringJoin) : 'N/A'}}\\n
    \\n
    \\n {{_makeModel ? (_makeModel | stringJoin:'/') : 'N/A'}}
    \\n
    \\n {{dto.vehicle.manufactureYear ? dto.vehicle.manufactureYear : 'N/A'}}
    \\n
    \\n {{dto.vehicle.chassisID ? dto.vehicle.chassisID : 'N/A'}}
    \\n
    \\n {{dto.vehicle.engineID ? dto.vehicle.engineID : empty}}
    \\n
    \\n {{dto.vehicle.cylindersCount ? dto.vehicle.cylindersCount : 'N/A'}}
    \\n
    \\n {{_colors ? (_colors | stringJoin:'+') : 'N/A'}}
    \\n
    \\n {{dto.vehicle.type ? (dto.vehicle.type.titles | stringJoin) : empty}}
    \\n
    \\n {{dto.vehicle.horsePower ? dto.vehicle.horsePower : empty}}
    \\n\\n
    \\n {{dto.vehicle.plateID ? dto.vehicle.plateID : 'N/A'}}
    \\n
    \\n {{dto.vehicle.seatsCount ? dto.vehicle.seatsCount : 'N/A'}}
    \\n
    \\n {{dto.vehicle.spareTiresCount}}
    \\n
    \\n {{_options ? (_options | stringJoin:'+') : empty}}
    \\n
    \\n {{(vUpholsteryType | stringJoin)}}
    \\n
    \\n {{dto.vehicle.equipments ? dto.vehicle.equipments : empty}}
    \\n
    \\n {{dto.vehicle.extras ? dto.vehicle.extras : empty}}
    \\n
    \\n {{dto.vehicle.weightInKG ? dto.vehicle.weightInKG : 'N/A'}}
    \\n
    \\n {{(dto.vehicle.currency ? dto.vehicle.currency.abbreviation : '') + ' ' + (dto.vehicle.value ? dto.vehicle.value : 'N/A')}}\\n
    \\n
    \\n
    \\n
    \\n\\n \\n
    \\n
    \\n
    \\n {{dto.expiryDate | date: 'dd'}}     {{dto.expiryDate | date: 'MM'}}   {{dto.expiryDate | date: 'yyyy'}}\\n
    \\n
    \\n {{dto.issued | date: 'dd'}}   {{dto.issued | date: 'MM'}}   {{dto.issued | date: 'yyyy'}}\\n
    \\n\\n
    \\n {{cOwnerInfo && cOwnerInfo.length > 0 ? cOwnerInfo[0] : 'N/A'}}
    \\n
    \\n {{drivers && drivers.length > 0 ? ('سائق إضافي: ' + drivers[0]) : ''}}
    \\n
    \\n {{drivers && drivers.length > 1 ? ('سائق إضافي: ' + drivers[1]) : ''}}
    \\n\\n
    \\n {{dto.vehicle.plateID ? dto.vehicle.plateID : 'N/A'}}
    \\n
    \\n {{dto.vehicle.registrationCountryTitles ? (dto.vehicle.registrationCountryTitles | stringJoin) : 'N/A'}}\\n
    \\n
    {{dto.issued | date: 'dd/MM/yyyy'}}
    \\n
    {{dto.accountTitles}}
    \\n
    \\n \\n
    \\n\\n
    \\n {{dto.serial}}
    \\n
    \\n
    \\n\\n
    \\n
    \\n \\n
    \\n {{dto.expiryDate | date: 'dd/MM/yyyy'}}
    \\n
    \\n {{dto.expiryDate | date: 'dd/MM/yyyy'}}
    \\n
    \\n {{dto.expiryDate | date: 'dd/MM/yyyy'}}
    \\n \\n \\n \\n \\n
    \\n
    \\n {{cOwnerInfo && cOwnerInfo.length > 0 ? cOwnerInfo[0] : 'N/A'}}
    \\n
    \\n {{cOwnerInfo && cOwnerInfo.length > 0 ? cOwnerInfo[0] : 'N/A'}}
    \\n \\n
    \\n\\n \\n
    \\n
    \\n {{cOwnerInfo && cOwnerInfo.length > 0 ? cOwnerInfo[0] : 'N/A'}}
    \\n
    \\n {{cOwnerInfo && cOwnerInfo.length > 0 ? cOwnerInfo[0] : 'N/A'}}
    \\n
    \\n {{drivers.join(' - ')}}
    \\n
    \\n {{drivers.join(' - ')}}
    \\n
    \\n\\n
    \\n {{dto.vehicle.registrationCountryTitles ? (dto.vehicle.registrationCountryTitles | stringJoin) : 'N/A'}}\\n
    \\n
    \\n {{_makeModel ? (_makeModel | stringJoin:'/') : 'N/A'}}
    \\n
    \\n {{dto.vehicle.manufactureYear ? dto.vehicle.manufactureYear : 'N/A'}}
    \\n
    \\n {{dto.vehicle.chassisID ? dto.vehicle.chassisID : 'N/A'}}
    \\n
    \\n {{dto.vehicle.engineID ? dto.vehicle.engineID : empty}}
    \\n
    \\n {{dto.vehicle.cylindersCount ? dto.vehicle.cylindersCount : 'N/A'}}
    \\n
    \\n {{_colors ? (_colors | stringJoin:'+') : 'N/A'}}
    \\n
    \\n {{dto.vehicle.type ? (dto.vehicle.type.titles | stringJoin) : empty}}
    \\n
    \\n {{dto.vehicle.horsePower ? dto.vehicle.horsePower : empty}}
    \\n \\n
    \\n {{dto.vehicle.plateID ? dto.vehicle.plateID : 'N/A'}}
    \\n
    \\n {{dto.vehicle.seatsCount ? dto.vehicle.seatsCount : 'N/A'}}
    \\n
    \\n {{dto.vehicle.spareTiresCount}}
    \\n
    \\n {{_options ? (_options | stringJoin:'+') : empty}}
    \\n
    \\n {{(vUpholsteryType | stringJoin)}}
    \\n
    \\n {{dto.vehicle.equipments ? dto.vehicle.equipments : empty}}
    \\n
    \\n {{dto.vehicle.extras ? dto.vehicle.extras : empty}}
    \\n
    \\n {{dto.vehicle.weightInKG ? dto.vehicle.weightInKG : 'N/A'}}
    \\n
    \\n {{(dto.vehicle.currency ? dto.vehicle.currency.abbreviation : '') + ' ' + (dto.vehicle.value ? dto.vehicle.value : 'N/A')}}\\n
    \\n \\n
    \\n {{dto.vehicle.registrationCountryTitles ? (dto.vehicle.registrationCountryTitles | stringJoin) : 'N/A'}}\\n
    \\n
    \\n {{_makeModel ? (_makeModel | stringJoin:'/') : 'N/A'}}
    \\n
    \\n {{dto.vehicle.manufactureYear ? dto.vehicle.manufactureYear : 'N/A'}}
    \\n
    \\n {{dto.vehicle.chassisID ? dto.vehicle.chassisID : 'N/A'}}
    \\n
    \\n {{dto.vehicle.engineID ? dto.vehicle.engineID : empty}}
    \\n
    \\n {{dto.vehicle.cylindersCount ? dto.vehicle.cylindersCount : 'N/A'}}
    \\n
    \\n {{_colors ? (_colors | stringJoin:'+') : 'N/A'}}
    \\n
    \\n {{dto.vehicle.type ? (dto.vehicle.type.titles | stringJoin) : empty}}
    \\n
    \\n {{dto.vehicle.horsePower ? dto.vehicle.horsePower : empty}}
    \\n \\n
    \\n {{dto.vehicle.plateID ? dto.vehicle.plateID : 'N/A'}}
    \\n
    \\n {{dto.vehicle.seatsCount ? dto.vehicle.seatsCount : 'N/A'}}
    \\n
    \\n {{dto.vehicle.spareTiresCount}}
    \\n
    \\n {{_options ? (_options | stringJoin:'+') : empty}}
    \\n
    \\n {{(vUpholsteryType | stringJoin)}}
    \\n
    \\n {{dto.vehicle.equipments ? dto.vehicle.equipments : empty}}
    \\n
    \\n {{dto.vehicle.extras ? dto.vehicle.extras : empty}}
    \\n
    \\n {{dto.vehicle.weightInKG ? dto.vehicle.weightInKG : 'N/A'}}
    \\n
    \\n {{(dto.vehicle.currency ? dto.vehicle.currency.abbreviation : '') + ' ' + (dto.vehicle.value ? dto.vehicle.value : 'N/A')}}\\n
    \\n
    \\n
    \\n \\n\\n
    \\n
    \\n
    \\n {{dto.vehicle.registrationCountryTitles ? (dto.vehicle.registrationCountryTitles | stringJoin) : 'N/A'}}\\n
    \\n
    \\n {{_makeModel ? (_makeModel | stringJoin:'/') : 'N/A'}}
    \\n
    \\n {{dto.vehicle.manufactureYear ? dto.vehicle.manufactureYear : 'N/A'}}
    \\n
    \\n {{dto.vehicle.chassisID ? dto.vehicle.chassisID : 'N/A'}}
    \\n
    \\n {{dto.vehicle.engineID ? dto.vehicle.engineID : empty}}
    \\n
    \\n {{dto.vehicle.cylindersCount ? dto.vehicle.cylindersCount : 'N/A'}}
    \\n
    \\n {{_colors ? (_colors | stringJoin:'+') : 'N/A'}}
    \\n
    \\n {{dto.vehicle.type ? (dto.vehicle.type.titles | stringJoin) : empty}}
    \\n
    \\n {{dto.vehicle.horsePower ? dto.vehicle.horsePower : empty}}
    \\n\\n
    \\n {{dto.vehicle.plateID ? dto.vehicle.plateID : 'N/A'}}
    \\n
    \\n {{dto.vehicle.seatsCount ? dto.vehicle.seatsCount : 'N/A'}}
    \\n
    \\n {{dto.vehicle.spareTiresCount}}
    \\n
    \\n {{_options ? (_options | stringJoin:'+') : empty}}
    \\n
    \\n {{(vUpholsteryType | stringJoin)}}
    \\n
    \\n {{dto.vehicle.equipments ? dto.vehicle.equipments : empty}}
    \\n
    \\n {{dto.vehicle.extras ? dto.vehicle.extras : empty}}
    \\n
    \\n {{dto.vehicle.weightInKG ? dto.vehicle.weightInKG : 'N/A'}}
    \\n
    \\n {{(dto.vehicle.currency ? dto.vehicle.currency.abbreviation : '') + ' ' + (dto.vehicle.value ? dto.vehicle.value : 'N/A')}}\\n
    \\n
    \\n
    \\n
    \\n\\n
    \";","export default \"\\n {{ (!updateMode ? '_ACTION_ADD' : '_ACTION_UPDATE') | translate}} {{'TRP_TITLE_TRIPTIK' | translate}}\\n\\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'TRP_FIELD_TRIPTIK_TYPE' | translate}}\\n \\n {{s.titles}}\\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n\\n\\n\\n \\n
    \\n \\n \\n {{'TRP_LABEL_OWNER_DATA' | translate}}\\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'ISS_FIELD_RESIDENCE_COUNTRY'\\n | translate}}\\n
    \\n \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n\\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'ISS_FIELD_PASSPORT_NUMBER' |\\n translate}}\\n
    \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'TRP_FIELD_INT_PHONE_NUMBER'\\n | translate}}\\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    {{'TRP_LABEL_ADDITIONAL_DRIVER' | translate}} ({{i+1}}):\\n
    \\n \\n \\n delete\\n {{'_ACTION_REMOVE' | translate}}\\n \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'TRP_FIELD_IDENTITY_ID_OR_PASSPORT_ID'\\n | translate}}\\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n {{'TRP_LABEL_VEHICLE_DATA' | translate}}\\n
    \\n
    \\n
    \\n {{'TRP_FIELD_REGISTRATION_COUNTRY'\\n | translate}}\\n
    \\n \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'TRP_FIELD_VEHICLE_TYPE' | translate}}\\n \\n {{t.titles}}\\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'TRP_FIELD_SEATS_COUNT' | translate}}\\n \\n \\n {{c}}\\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'TRP_FIELD_MANUFACTURE_YEAR'\\n | translate}}\\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'TRP_FIELD_MANUFACTURE_YEAR' | translate}}\\n \\n {{c}}\\n \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'TRP_FIELD_CYLINDERS_COUNT' |\\n translate}}\\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'TRP_FIELD_CYLINDERS_COUNT' | translate}}\\n \\n \\n {{c}}\\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'TRP_FIELD_COLOR' | translate}}\\n \\n {{c.titles}}\\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n {{c.value}}\\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n {{c.value}}\\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n {{'_LABEL_NONE' | translate}}\\n {{c}}\\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n {{c.abbreviation}}\\n \\n \\n
    \\n
    \\n \\n   \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n {{'_TITLE_ATTACHMENTS' | translate}}\\n
    \\n
    \\n \\n
    \\n
    \\n \\n portrait\\n \\n\\n \\n \\n \\n \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \";","export default \"
    \\n {{'TRP_TITLE_TRIPTIKS' | translate}}\\n
    \\n
    \\n \\n \\n
    \\n \\n
    \\n
    \\n \\n \\n \\n \\n \\n
    \\n \\n \\n \\n \\n search\\n \\n \\n
    \\n
    \\n
    \\n\\n\\n
    \\n
    \\n
    \\n \\n {{'_FIELD_NAME' | translate}}\\n \\n \\n
    \\n
    \\n \\n {{'_FIELD_PHONE_NO' | translate}}\\n \\n \\n
    \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n \\n {{'TRP_FIELD_IDENTITY_ID_OR_PASSPORT_ID' | translate}}\\n \\n \\n
    \\n
    \\n \\n {{'_LABEL_FROM' | translate}} {{'_LABEL_DATE2' | translate}}\\n \\n \\n \\n \\n
    \\n
    \\n \\n {{'_LABEL_TO' | translate}} {{'_LABEL_DATE2' | translate}}\\n \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n \\n {{'TRP_FIELD_VEHICLE_TYPE' | translate}}\\n \\n {{'_LABEL_ALL' | translate}}\\n {{t.titles}}\\n \\n \\n
    \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n {{'TRP_FIELD_MANUFACTURE_YEAR' | translate}}\\n \\n {{'_LABEL_ALL' | translate}}\\n {{c}}\\n \\n \\n \\n
    \\n
    \\n \\n {{'TRP_FIELD_PLATE_ID' | translate}}\\n \\n \\n
    \\n
    \\n \\n {{'TRP_FIELD_CHASSIS_ID' | translate}}\\n \\n \\n
    \\n
    \\n \\n \\n \\n \\n \\n {{title}}{{ i != item.titles.length - 1 ?\\n ' // ' : ''}}\\n \\n \\n \\n
    \\n
    \\n \\n {{'TRP_FIELD_TRIPTIK_TYPE' | translate}}\\n \\n {{'_LABEL_ALL' | translate}}\\n \\n {{s.titles}}\\n \\n \\n
    \\n
    \\n \\n {{'TRP_FIELD_TRIPTIK_SERIAL' | translate}}\\n \\n \\n
    \\n
    \\n \\n {{'ISS_LABEL_ISSUE_STATUS' | translate}}\\n \\n {{'_LABEL_ALL' | translate}}\\n {{'ISS_LABEL_ISSUE_STATUS_ISSUED' | translate}}\\n {{'ISS_LABEL_ISSUE_STATUS_UNISSUED' | translate}}\\n \\n \\n
    \\n
    \\n \\n {{'ISS_LABEL_DOCUMENT_STATUS' | translate}}\\n \\n {{'_LABEL_ALL' | translate}}\\n {{'ISS_LABEL_DOCUMENT_STATUS_VALID' | translate}}\\n {{'ISS_LABEL_DOCUMENT_STATUS_DAMAGED' | translate}}\\n \\n \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    {{'ISS_LABEL_ISSUE_DATE' | translate}} {{row.issued ? moment(row.issued).format('DD/MM/YYYY') : ''}}\\n {{'_LABEL_SERIAL' | translate}}\\n \\n {{Math.abs(row.serial)}}\\n close\\n \\n {{'_FIELD_NAME' | translate}}\\n \\n {{row.cName}}\\n \\n {{'TRP_FIELD_PLATE_ID' | translate}}\\n {{row.vPlateID}}\\n \\n {{'_FIELD_PHONE_NO' | translate}}\\n {{row.cPhoneNumber}}\\n {{'ACC_FIELD_ACCOUNT_TITLE' | translate}}\\n \\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n \\n {{row.accountTitles}}\\n \\n
    \\n
    {{'TRP_FIELD_TRIPTIK_TYPE' | translate}}{{row.stockType.titles}}{{'_ACTION_TOOLS' | translate}}\\n \\n \\n pageview\\n \\n \\n \\n \\n file_copy\\n \\n \\n \\n \\n edit\\n \\n \\n \\n \\n delete\\n \\n \\n 0 && auth.currentUser.accountId == row.accountId && ((!row.revokeRequestId && auth.currentUser.isInRole(Role.TRIPTIKS_REVOKE_REQUESTS_CREATE)) || (row.revokeRequestId && auth.currentUser.isInRole(Role.TRIPTIKS_REVOKE_REQUESTS_DELETE)))\\\"\\n class=\\\"text-primary\\\" (click)=\\\"tryRevoke(row)\\\"\\n title=\\\"{{(!row.revokeRequestId ? '' : '_ACTION_REVOKE_REQUEST_CANCEL') | translate}} {{'_ACTION_REVOKE' | translate}}\\\">\\n \\n {{!row.revokeRequestId ? 'delete_forever' : 'restore_from_trash'}}\\n \\n \\n \\n lock\\n \\n
    \\n \\n
    \";","export default \"\\n {{'_ACTION_VIEW' | translate}} {{'TRP_TITLE_TRIPTIK' | translate}}\\n \\n lock\\n \\n \\n
    \\n
    \\n \\n {{'TRP_LABEL_UNEDITABLE_IRREMOVABLE' | translate}}\\n {{'TRP_LABEL_EDITABLE_REMOVABLE' | translate}}\\n
    \\n \\n {{(isPrintable() ? 'TRP_LABEL_PRINTABLE' : 'TRP_LABEL_UNPRINTABLE') | translate}}\\n
    \\n \\n {{(dto.issued ? 'TRP_LABEL_ISSUED' : 'TRP_LABEL_UNISSUED') | translate}}\\n \\n
    \\n {{(!isExpired(dto.expiryDate) ? 'TRP_LABEL_VALID_UNTIL' : 'TRP_LABEL_EXPIRED_AT') | translate}}\\n {{moment(dto.expiryDate).format(dateFormat)}}\\n
    \\n \\n
    \\n \\n
    \\n \\n\\n
    \\n
    \\n
    \\n file_copy\\n {{'TRP_LABEL_DOCUMENT_DATA' | translate}}\\n
    \\n
      \\n
    • \\n {{'TRP_FIELD_TRIPTIK_TYPE' | translate}}:\\n {{dto.stockType ? dto.stockType.titles : ''}}\\n
    • \\n
    • \\n {{'TRP_FIELD_TRIPTIK_SERIAL' | translate}}:\\n {{Math.abs(dto.serial)}}\\n
    • \\n \\n\\n
    \\n
    \\n
    \\n
    \\n assignment_ind\\n {{'TRP_LABEL_OWNER_DATA' | translate}}\\n
    \\n
      \\n
    • \\n {{'_FIELD_NAME' | translate}}:\\n {{dto.customer.owner.name ? dto.customer.owner.name : 'N/A'}}\\n
    • \\n
    • \\n {{'ISS_FIELD_RESIDENCE_COUNTRY' | translate}}:\\n {{dto.customer.owner.residenceCountryTitles ? dto.customer.owner.residenceCountryTitles[lang] : 'N/A'}}\\n
    • \\n
    • \\n {{'LKP_FIELD_NATIONALITY' | translate}}:\\n {{dto.customer.owner.nationalityId ? dto.customer.owner.nationalityTitles[lang] : 'N/A'}}\\n
    • \\n
    • \\n {{'_FIELD_ADDRESS' | translate}}:\\n {{dto.customer.owner.address.item1 ? dto.customer.owner.address.item1 : 'N/A'}}\\n
    • \\n
    • \\n {{'TRP_FIELD_IDENTITY_ID' | translate}}:\\n {{dto.customer.owner.identityID ? dto.customer.owner.identityID : 'N/A'}}\\n
    • \\n
    • \\n {{'ISS_FIELD_PASSPORT_NUMBER' | translate}}:\\n {{dto.customer.owner.passportID ? dto.customer.owner.passportID : 'N/A'}}\\n
    • \\n
    • \\n {{'_FIELD_PHONE_NO' | translate}}:\\n {{dto.customer.owner.phoneNumber.item1 ? dto.customer.owner.phoneNumber.item1 : 'N/A'}}\\n
    • \\n
    • \\n {{'TRP_FIELD_INT_ADDRESS' | translate}}:\\n {{dto.customer.owner.address.item2 ? dto.customer.owner.address.item2 : 'N/A'}}\\n
    • \\n
    • \\n {{'TRP_FIELD_INT_PHONE_NUMBER' | translate}}:\\n {{dto.customer.owner.phoneNumber.item2 ? dto.customer.owner.phoneNumber.item2 : 'N/A'}}\\n
    • \\n
    \\n
    \\n
    \\n
    \\n account_circle\\n {{'TRP_LABEL_DRIVER_DATA' | translate: {param: i+1} }}\\n
    \\n
      \\n
    • \\n {{'_FIELD_NAME' | translate}}:\\n {{driver.name ? driver.name : 'N/A'}}\\n
    • \\n
    • \\n {{'TRP_FIELD_IDENTITY_ID_OR_PASSPORT_ID' | translate}}:\\n {{driver.passportIDorIdentityID ? driver.passportIDorIdentityID : 'N/A'}}\\n
    • \\n
    • \\n {{'_FIELD_ADDRESS' | translate}}:\\n {{driver.address ? driver.address : 'N/A'}}\\n
    • \\n
    • \\n {{'_FIELD_PHONE_NO' | translate}}:\\n {{driver.phoneNumber ? driver.phoneNumber : 'N/A'}}\\n
    • \\n
    \\n
    \\n
    \\n
    \\n directions_car\\n {{'TRP_LABEL_VEHICLE_DATA' | translate}}\\n
    \\n
      \\n
    • \\n {{'TRP_FIELD_PLATE_ID' | translate}}:\\n {{dto.vehicle.plateID ? dto.vehicle.plateID : 'N/A'}}\\n
    • \\n
    • \\n {{'TRP_FIELD_REGISTRATION_COUNTRY' | translate}}:\\n {{dto.vehicle.registrationCountryTitles[lang]}}\\n
    • \\n
    • \\n {{'TRP_FIELD_VEHICLE_TYPE' | translate}}:\\n {{dto.vehicle.type ? dto.vehicle.type.titles[lang] : 'N/A'}}\\n
    • \\n
    • \\n {{'TRP_FIELD_MAKE' | translate}}:\\n {{dto.vehicle.make ? dto.vehicle.make.titles[lang] : 'N/A'}}\\n
    • \\n
    • \\n {{'TRP_FIELD_MODEL' | translate}}:\\n {{dto.vehicle.model ? dto.vehicle.model.titles[lang] : 'N/A'}}\\n
    • \\n
    • \\n {{'TRP_FIELD_MANUFACTURE_YEAR' | translate}}:\\n {{dto.vehicle.manufactureYear ? dto.vehicle.manufactureYear : 'N/A'}}\\n
    • \\n
    • \\n {{'TRP_FIELD_CYLINDERS_COUNT' | translate}}:\\n {{dto.vehicle.cylindersCount ? dto.vehicle.cylindersCount : 'N/A'}}\\n
    • \\n
    • \\n {{'TRP_FIELD_SEATS_COUNT' | translate}}:\\n {{dto.vehicle.seatsCount ? dto.vehicle.seatsCount : 'N/A'}}\\n
    • \\n
    • \\n {{'TRP_FIELD_WEIGHT_IN_KG' | translate}}:\\n {{dto.vehicle.weightInKG ? dto.vehicle.weightInKG : 'N/A'}}\\n
    • \\n
    • \\n {{'TRP_FIELD_HORSE_POWER' | translate}}:\\n {{dto.vehicle.horsePower ? dto.vehicle.horsePower : 'N/A'}}\\n
    • \\n
    • \\n {{'TRP_FIELD_ENGINE_ID' | translate}}:\\n {{dto.vehicle.engineID ? dto.vehicle.engineID : 'N/A'}}\\n
    • \\n
    • \\n {{'TRP_FIELD_CHASSIS_ID' | translate}}:\\n {{dto.vehicle.chassisID ? dto.vehicle.chassisID : 'N/A'}}\\n
    • \\n
    • \\n {{'TRP_FIELD_COLOR' | translate}}:\\n {{dto.vehicle.colors ? (dto.vehicle.colors | arrayMap:'titles':lang | stringJoin:'+') : 'N/A'}}\\n
    • \\n
    • \\n {{'TRP_FIELD_UPHOLSTERY_TYPE' | translate}}:\\n {{vUpholsteryType ? vUpholsteryType[lang] : 'N/A'}}\\n
    • \\n
    • \\n {{'TRP_FIELD_SPARE_TIRES_COUNT' | translate}}:\\n {{dto.vehicle.spareTiresCount}}\\n
    • \\n
    • \\n {{'_FIELD_NAME' | translate}}:\\n {{dto.customer.owner.name ? dto.customer.owner.name : 'N/A'}}\\n
    • \\n
    • \\n {{'TRP_FIELD_OPTIONS' | translate}}:\\n {{vOptions ? (vOptions | arrayMap:'titles':lang | stringJoin:'+') : 'N/A'}}\\n
    • \\n
    • \\n {{'TRP_FIELD_EQUIPMENTS' | translate}}:\\n {{dto.vehicle.equipments ? dto.vehicle.equipments : 'N/A'}}\\n
    • \\n
    • \\n {{'TRP_FIELD_EXTRAS' | translate}}:\\n {{dto.vehicle.extras ? dto.vehicle.extras : 'N/A'}}\\n
    • \\n
    • \\n {{'TRP_FIELD_VALUE' | translate}}:\\n {{dto.vehicle.value ? dto.vehicle.value : 'N/A'}}\\n {{dto.vehicle.value && dto.vehicle.currency ? dto.vehicle.currency.titles : ''}}\\n
    • \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n \\n\\n
    \\n
    \\n \\n
    \\n \\n \\n {{'_ACTION_ENTER' | translate}} {{'ISS_LABEL_ISSUE_DATE' | translate}}\\n \\n \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n \\n
    \\n \\n \\n {{'_ACTION_ENTER' | translate}} {{'ISS_LABEL_EXPIRY_DATE' | translate}}\\n \\n \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n \\n\\n\\n
    \\n attach_file\\n {{'_TITLE_ATTACHMENTS' | translate}}\\n
    \\n
    \\n
    \\n
    \\n {{att.parent | translate}}\\n {{att.title | translate}}\\n
    \\n
    \\n \\n \\\"license-photo\\\"\\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n print\\n {{'_ACTION_PRINT' | translate}} -\\n  {{('_LABEL_TEMPLATE_' + dto.documentTemplateVersion) | translate }}\\n \\n keyboard_arrow_down\\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n \\n \\n chevron_{{ lang == Language.Arabic ? 'right' : 'left'}}\\n \\n Previous\\n \\n \\n \\n chevron_{{ lang == Language.Arabic ? 'left' : 'right'}}\\n \\n Next\\n \\n
    \\n \\n
  • \\n \\n
  • \\n
  • \\n \\n
  • \\n
  • \\n \\n
  • \\n \\n \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n\\n\";","export default \"
    \\n {{'LKP_TITLE_ACCOUNT_STATUSES' | translate}}\\n \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    \\n {{'LKP_FIELD_ACCOUNT_STATUS' | translate}}\\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n {{row.titles[langIndex]}}\\n
    \\n
    {{'_ACTION_TOOLS' | translate}}\\n
    \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n \\n
    \";","export default \"
    \\n {{'LKP_TITLE_ACCOUNT_TYPES' | translate}}\\n \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    \\n {{'ACC_FIELD_PARENT_ACCOUNT' | translate}}\\n
    \\n
    \\n
    \\n \\n \\n {{at.titles[langIndex]}}\\n \\n \\n \\n \\n
    \\n
    \\n {{row.parentTitles.length > 0 ? row.parentTitles[langIndex] : 'N/A' }}\\n
    \\n
    \\n {{'LKP_FIELD_ACCOUNT_TYPE' | translate}}\\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n {{row.titles[langIndex]}}\\n
    \\n
    {{'_ACTION_TOOLS' | translate}}\\n
    \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n \\n
    \";","export default \"
    \\n {{'LKP_TITLE_CITIES' | translate}}\\n \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    {{'LKP_FIELD_COUNTRY' | translate}}\\n
    \\n
    \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n {{row.countryTitles[lang]}}\\n
    \\n
    {{'LKP_FIELD_CITY' | translate}}\\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n {{row.titles[lang]}}\\n
    \\n
    {{'_ACTION_TOOLS' | translate}}\\n
    \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n \\n
    \";","export default \"
    \\n {{'LKP_TITLE_COUNTRIES' | translate}}\\n \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    \\n {{'LKP_FIELD_ABBREVIATION' | translate}}\\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n
    \\n
    \\n {{row.abbreviation}}\\n
    \\n
    \\n {{'LKP_FIELD_DIALING_CODE' | translate}}\\n
    \\n
    \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n {{row.dialingCode}}\\n
    \\n
    \\n {{'LKP_FIELD_COUNTRY' | translate}}\\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n {{row.countryTitles[langIndex]}}\\n
    \\n
    \\n {{'LKP_FIELD_NATIONALITY' | translate}}\\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n {{row.nationalityTitles[langIndex]}}\\n
    \\n
    {{'_ACTION_TOOLS' | translate}}\\n
    \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n \\n
    \";","export default \"
    \\n {{'LKP_TITLE_CURRENCIES' | translate}}\\n \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    \\n {{'LKP_FIELD_ABBREVIATION' | translate}}\\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n
    \\n
    \\n {{row.abbreviation}}\\n
    \\n
    \\n {{'LKP_FIELD_CURRENCY' | translate}}\\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n {{row.titles[lang]}}\\n
    \\n
    {{'_ACTION_TOOLS' | translate}}\\n
    \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n \\n
    \";","export default \"
    \\n {{'LKP_TITLE_CUSTOMS_PORTS' | translate}}\\n \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    {{'LKP_FIELD_COUNTRY' | translate}}\\n
    \\n
    \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n {{row.countryTitles[lang]}}\\n
    \\n
    {{'LKP_FIELD_CUSTOMS_PORT' | translate}}\\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n {{row.titles[lang]}}\\n
    \\n
    {{'_ACTION_TOOLS' | translate}}\\n
    \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \";","export default \"
    \\n {{'LKP_TITLE_PURSUING_ZONES' | translate}}\\n \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    {{'LKP_FIELD_PURSUING_ZONE' | translate}}\\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n {{row.titles[langIndex]}}\\n
    \\n
    {{'_ACTION_TOOLS' | translate}}\\n
    \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n \\n
    \\n \";","export default \"
    \\n {{'LKP_TITLE_STOCK_TYPES' | translate}}\\n \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n\\n \\n \\n \\n \\n\\n\\n\\n \\n \\n \\n \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n
    \\n {{'LKP_FIELD_STOCK_TYPE' | translate}}\\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n {{row.titles[langIndex]}}\\n
    \\n
    \\n {{'LKP_FIELD_DOCUMENT_TYPE' | translate}}\\n
    \\n
    \\n
    \\n \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'LKP_FIELD_DOCUMENT_TYPE' | translate}}\\n \\n {{'LIC_TITLE_LICENSE2' | translate}}\\n {{'TRP_TITLE_TRIPTIK' | translate}}\\n \\n \\n \\n \\n \\n
    \\n
    \\n {{(row.documentType == 1 ? 'LIC_TITLE_LICENSE2' : 'TRP_TITLE_TRIPTIK') | translate}}\\n
    \\n
    \\n {{'LKP_FIELD_RANGE_MIN' | translate}}\\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n {{row.rangeMin}}\\n
    \\n
    \\n {{'LKP_FIELD_RANGE_MAX' | translate}}\\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n {{row.rangeMax}}\\n
    \\n
    \\n {{'LKP_FIELD_IS_URO' | translate}}\\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n {{(row.isUnifiedRelease ? '_ACTION_YES' : '_ACTION_NO') | translate}}\\n
    \\n
    \\n {{'LKP_FIELD_HEX_COLOR' | translate}}\\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n
    \\n
    {{'_ACTION_TOOLS' | translate}}\\n
    \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n \\n
    \";","export default \"
    \\n {{'LKP_TITLE_VEHICLE_COLORS' | translate}}\\n \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    {{'LKP_FIELD_VEHICLE_COLOR' | translate}}\\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n {{row.titles[langIndex]}}\\n
    \\n
    {{'_ACTION_TOOLS' | translate}}\\n
    \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n \\n
    \";","export default \"
    \\n {{'LKP_TITLE_VEHICLE_MAKES' | translate}}\\n \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    {{'LKP_FIELD_VEHICLE_MAKE' | translate}}\\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n {{row.titles[langIndex]}}\\n
    \\n
    {{'_ACTION_TOOLS' | translate}}\\n
    \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n \\n
    \";","export default \"
    \\n {{'LKP_TITLE_VEHICLE_MODELS' | translate}}\\n \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n\\n\\n \\n \\n \\n \\n \\n \\n \\n
    {{'LKP_FIELD_VEHICLE_MAKE' |\\n translate}}\\n
    \\n
    \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n {{row.makeTitles[lang]}}\\n
    \\n
    {{'LKP_FIELD_VEHICLE_MODEL' |\\n translate}}\\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n {{row.titles[lang]}}\\n
    \\n
    {{'TRP_FIELD_TRIPTIK_TYPE' |\\n translate}}\\n
    \\n
    \\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'TRP_FIELD_TRIPTIK_TYPE' | translate}}\\n \\n {{st.titles[lang]}}\\n \\n \\n
    \\n
    \\n
    \\n
    {{'_ACTION_TOOLS' | translate}}\\n
    \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n\\n \\n
    \";","export default \"
    \\n {{'LKP_TITLE_VEHICLE_TYPES' | translate}}\\n \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    {{'LKP_FIELD_VEHICLE_TYPE' | translate}}\\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n {{row.titles[lang]}}\\n
    \\n
    {{'_ACTION_TOOLS' | translate}}\\n
    \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n \\n
    \";","export default \"\\n {{'SEC_TITLE_USERS_ACCOUNTS' | translate}}\\n
    \\n
    \\n \\n \\n control_point\\n \\n {{'_ACTION_ADD' | translate}}\\n \\n \\n \\n \\n \\n \\n \\n \\n {{title}}{{ i != item.titles.length - 1 ? ' // ' : ''}}\\n \\n \\n \\n
    \\n \\n
    \\n \\n\\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    {{'_FIELD_NAME' | translate}}\\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n \\n
    {{'SEC_FIELD_USERNAME' | translate}} {{row.username}} {{'_FIELD_EMAIL' | translate}} {{row.email}} {{'_FIELD_PHONE_NO' | translate}} {{row.phoneNumber}} {{'_LABEL_CREATION_DATE' | translate}} {{row.created | date: 'dd/MM/yyyy'}} {{'SEC_FIELD_PERMISSIONS' | translate}}\\n \\n
    \\n
    \\n \\n security\\n \\n \\n {{group}}\\n \\n
    \\n
    \\n
    \\n \\n
    {{'SEC_FIELD_ACTIVE' | translate}}\\n
    \\n \\n \\n
    \\n
    {{'_ACTION_TOOLS' | translate}} \\n \\n
    \\n \\n
    \";","export default \"{{(!userId ? '_ACTION_ADD' : '_ACTION_UPDATE') | translate }}\\n {{'SEC_LINK_USER_ACCOUNT' | translate}}\\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'_FIELD_NAME' | translate}}\\n {{'_AR' | translate}}\\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'_FIELD_NAME' | translate}}\\n {{'_EN' | translate}}\\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'_FIELD_PHONE_NO' | translate}}\\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'SEC_FIELD_USERNAME' | translate}}\\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'SEC_FIELD_PERMISSIONS' | translate}}\\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'SEC_FIELD_PERMISSIONS' | translate}}\\n \\n {{group.titles[lang]}}\\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'SEC_FIELD_PASSWORD' | translate}}\\n \\n
    \\n
    \\n
    \\n
    \\n {{'SEC_FIELD_PASSWORD_CONFIRM' | translate}}\\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n {{'TRP_CLM_TITLE_TRIPTIK_CLAIMS_COUNTRIES' | translate}}\\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'TRP_CLM_TITLE_TRIPTIK_CLAIMS_COUNTRIES' | translate}}\\n \\n {{c.titles[lang]}}\\n \\n \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \";","export default \"\\n {{'SEC_TITLE_SECURITY_GROUPS' | translate}}\\n \\n\\n
    \\n
    \\n
    \\n
    \\n {{'SEC_FIELD_AVAILABLE_GROUPS' | translate}}\\n
    \\n \\n \\n lock\\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n
    \\n 0\\\" (change)=\\\"$event ? colToggle(action.id) : null\\\"\\n [checked]=\\\"selections[i-1].hasValue() && isColSelected(action.id)\\\" [disabled]=\\\"!formEnabled\\\"\\n [indeterminate]=\\\"selections[i-1].hasValue() && !isColSelected(action.id)\\\">\\n \\n {{action.titles[lang]}}\\n \\n {{row.securityObject.titles[lang]}}\\n \\n \\n 0 && row.actions[getActionIndex(action.id)] != 0\\\"\\n (click)=\\\"$event.stopPropagation()\\\"\\n \\n (change)=\\\"$event ? cellToggle(row, action.id, (displayedColumns.length - 1) * _i + i - 1) : null\\\"\\n [formControlName]=\\\"(displayedColumns.length - 1) * _i + i - 1\\\" [value]=\\\"row.securityObject.id\\\"\\n [checked]=\\\"isRowSelected(row, action.id)\\\">\\n \\n 0 && row.actions[getActionIndex(action.id)] == 0\\\">N/A\\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \";","export default \"{{'SEC_TITLE_USERS_GROUPS' | translate}}\\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n
    \\n 0\\\" (change)=\\\"$event ? colToggle(group.id) : null\\\"\\n [disabled]=\\\"!auth.currentUser.isInRole(Role.USERS_SECURITY_GROUPS_UPDATE)\\\"\\n [checked]=\\\"selections[i-1].hasValue() && isColSelected(group.id)\\\"\\n [indeterminate]=\\\"selections[i-1].hasValue() && !isColSelected(group.id)\\\">\\n \\n {{group.titles}}\\n \\n 0\\\"\\n (click)=\\\"$event.stopPropagation()\\\"\\n (change)=\\\"$event ? cellToggle(row, group.id, (displayedColumns.length - 1) * _i + i - 1) : null\\\"\\n [formControlName]=\\\"(displayedColumns.length - 1) * _i + i - 1\\\" [value]=\\\"row.user.id\\\"\\n [checked]=\\\"isRowSelected(row, group.id)\\\">\\n \\n {{row.user.names}}\\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n\";","export default \"\\n\\n\";","export default \"\\n
    \\n \\n
    \\n \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n \\n
    \\n \\n \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \";","export default \"
    \\n
    \\n
    \\n
    \\n {{'STK_FIELD_RANGE_START' | translate}}\\n \\n \\n \\n \\n {{ (transactionDetails.operation == 'STK_TITLE_UNDO' ? 'STK_FIELD_UNDONE_QUANTITY' : 'STK_FIELD_ADDED_QUANTITY') | translate}}\\n \\n \\n \\n \\n {{'STK_FIELD_RANGE_END' | translate}}\\n \\n \\n \\n \\n
    \\n\\n\\n\\n\\n\\n\\n\";","export default \"
    \\n
    \\n {{'STK_LABEL_OPERATION' | translate}} {{details.operation | translate}}\\n \\n {{'_LABEL_FROM' | translate}} {{'ACC_LABEL_ACCOUNT' | translate}} {{details.fromAccount}}\\n {{'_LABEL_TO' | translate}} {{'ACC_LABEL_ACCOUNT' | translate}} {{details.toAccount}}\\n \\n \\n {{'STK_LABEL_QUANTITY' | translate}} ({{details.count}}) {{details.stockType}}\\n {{'STK_LABEL_FROM_SERIAL' | translate}} {{details.fromRange}}\\n {{'STK_LABEL_TO_SERIAL' | translate}} {{details.toRange}} \\n
    \\n
    \";","export default \"
    \\n \\n
    {{transaction.created | date: 'dd/MM/yyyy'}}\\n
    \\n
    {{transaction.toAccountTitles}}
    \\n
    1
    \\n
    #{{transaction.toRange - transaction.fromRange + 1 }}#\\n
    \\n\\n
    #1#
    \\n
    {{transaction.created | date: 'dd/MM/yyyy'}}
    \\n
    {{transaction.stockType.titles}}
    \\n
    #{{transaction.fromRange}}#
    \\n
    #{{transaction.toRange}}#
    \\n
    #{{transaction.toRange - transaction.fromRange + 1 }}#
    \\n\\n
    //////
    \\n
    //////
    \\n
    //////
    \\n
    //////
    \\n
    //////
    \\n
    //////
    \\n\\n
    //////
    \\n
    //////
    \\n
    //////
    \\n
    //////
    \\n
    //////
    \\n
    //////
    \\n
    \";","export default \"\\n {{(populate ? 'STK_TITLE_POPULATE' : 'STK_TITLE_DEPOPULATE') | translate}} info\\n \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'LKP_FIELD_STOCK_TYPE' | translate}}\\n \\n {{st.titles}}\\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'_LABEL_DOCUMENT_PRINT_TEMPLATE' | translate}}\\n \\n {{'_LABEL_TEMPLATE_1' | translate}}\\n {{'_LABEL_TEMPLATE_2' | translate}}\\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'STK_FIELD_ADDED_QUANTITY' |\\n translate}}\\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'STK_FIELD_DEPOPULATE_REASON' | translate}}\\n \\n {{r.titles[lang]}}\\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \";","export default \"
    \\n \\n {{(!systemView ? 'STK_TITLE_AVAILABLE_STOCKS' : 'STK_TITLE_AVAILABLE_SYSTEM_STOCKS') | translate}}\\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n
    \\n\\n
    \\n \\n \\n \\n {{title}}{{ i !=\\n item.titles.length - 1 ? ' // ' : ''}}\\n \\n \\n \\n
    \\n\\n\\n
    \\n\\n \\n {{'STK_LABEL_STOCK_STATUS' | translate}}\\n \\n \\n {{'_LABEL_ALL' | translate}}\\n {{'_FIELD_AVAILABLE' | translate}}\\n {{'_FIELD_UNAVAILABLE' | translate}}\\n \\n \\n\\n \\n
    \\n\\n\\n
    \\n
    \\n\\n
    \\n\\n \\n
    \\n 0\\\">\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n 0)\\\">\\n \\n \\n
    {{'_LABEL_FROM' | translate}} {{'_LABEL_SERIAL' | translate}} {{Math.abs(stock[0])}} {{'_LABEL_TOTAL' | translate}}{{'_LABEL_TO' | translate}} {{'_LABEL_SERIAL' | translate}} {{Math.abs(stock.length > 1 ? stock[1] : stock[0])}} \\n {{'_FIELD_AVAILABLE' | translate}}\\n \\n {{stock[0] > 0 ? 'radio_button_checked' :\\n 'radio_button_unchecked'}}\\n {{sumAvailableStocksFilter(stockTypeStocks.availableStock, 1)}}\\n {{'_FIELD_UNAVAILABLE' | translate}}\\n \\n 0\\\">{{stock[0] < 0 ? 'radio_button_checked'\\n : 'radio_button_unchecked' }}\\n {{sumAvailableStocksFilter(stockTypeStocks.availableStock, -1)}}\\n {{ (systemView ? 'STK_LABEL_QUANTITY': 'STK_LABEL_AVAILABLE_QUANTITY') | translate}} {{stock.length > 1 ? Math.abs(stock[1]) - Math.abs(stock[0]) + 1 : 1}}\\n {{sumAvailableStocks(stockTypeStocks.availableStock)}}
    \\n \\n

    {{'STK_MESSAGE_NO_STOCK_AVAILABLE' | translate}}

    \\n
    \\n
    \\n
    \\n
    \";","export default \"
    \\n {{'STK_TITLE_STOCKS_TOTALS' | translate}}\\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n
    \\n\\n \\n \\n \\n \\n {{title}}{{ i != item.titles.length - 1 ? ' // ' : ''}}\\n \\n \\n \\n
    \\n\\n \\n\\n
    \\n
    \\n \\n\\n
    \\n
    \\n {{stockType.titles}}\\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    {{'ACC_FIELD_ACCOUNT_TITLE' | translate}}\\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n \\n {{row.accountTitles}}\\n \\n
    \\n
    {{'STK_LABEL_RECEIVED' | translate}}\\n
      \\n
    • \\n \\n {{stockTypeData.received}}\\n
    • \\n
    \\n
    {{'STK_LABEL_TRANSFERED' | translate}}\\n
      \\n
    • \\n \\n {{stockTypeData.transfered}}\\n
    • \\n
    \\n
    {{'STK_LABEL_ISSUED' | translate}}\\n
      \\n
    • \\n \\n {{stockTypeData.issued}}\\n
    • \\n
    \\n
    {{'STK_LABEL_RETURNED' | translate}}\\n
      \\n
    • \\n \\n {{stockTypeData.returned}}\\n
    • \\n
    \\n
    {{'STK_LABEL_TRANSFERED_UNDONE' | translate}}\\n
      \\n
    • \\n \\n {{stockTypeData.transferedUndone}}\\n
    • \\n
    \\n
    {{'STK_LABEL_REMAINING' | translate}}\\n
      \\n
    • \\n \\n {{stockTypeData.remainingStocks}}\\n
    • \\n
    \\n
    \\n \\n
    \\n \\n
    \";","export default \"{{'STK_TITLE_TRANSACT' | translate}}\\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n \\n {{a.titles}}\\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'LKP_FIELD_STOCK_TYPE' | translate}}\\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'LKP_FIELD_STOCK_TYPE' | translate}}\\n \\n \\n {{st.titles}}\\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'STK_FIELD_RANGE' | translate}}\\n
    \\n \\n \\n \\n 0 || availableStock.singles.length > 0)\\\">\\n {{'_ACTION_CHOOSE' | translate}}{{'STK_FIELD_RANGE' | translate}}\\n \\n \\n {{'STK_MESSAGE_NO_STOCK_AVAILABLE' | translate}}\\n \\n \\n\\n \\n 0\\\"\\n label=\\\"{{'STK_LABEL_RANGES' | translate}}\\\">\\n \\n {{range[0]}} - {{range[1]}}\\n \\n \\n 0\\\"\\n label=\\\"{{'STK_LABEL_SINGLES' | translate}}\\\">\\n \\n {{serial[0]}}\\n \\n \\n \\n \\n 1\\\">\\n {{'STK_LABEL_AVAILABLE_QUANTITY' | translate}}: {{selectedStock[1] - selectedStock[0] + 1}}\\n {{stockType.titles}}\\n \\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \";","export default \"
    \\n {{'STK_TITLE_TRANSACTIONS' | translate}}\\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n \\n \\n \\n \\n
    \\n \\n \\n \\n \\n search\\n \\n \\n
    \\n
    \\n
    \\n \\n\\n\\n
    \\n
    \\n
    \\n \\n {{'STK_LABEL_FROM_SERIAL' | translate}}\\n \\n \\n
    \\n
    \\n \\n {{'STK_LABEL_TO_SERIAL' | translate}}\\n \\n \\n
    \\n
    \\n \\n {{'LKP_FIELD_STOCK_TYPE' | translate}}\\n \\n {{'_LABEL_ALL' | translate}}\\n \\n {{t.titles}}\\n \\n \\n
    \\n\\n
    \\n \\n {{'STK_LABEL_TRANSACTION_TYPE' | translate}}\\n \\n {{'_LABEL_ALL' | translate}}\\n \\n {{t.titles}}\\n \\n \\n
    \\n\\n\\n\\n
    \\n \\n {{'_LABEL_FROM' | translate}} {{'_LABEL_DATE2' | translate}}\\n \\n \\n \\n \\n
    \\n
    \\n \\n {{'_LABEL_TO' | translate}} {{'_LABEL_DATE2' | translate}}\\n \\n \\n \\n \\n
    \\n\\n
    \\n \\n \\n \\n {{title}}{{ i != item.titles.length - 1 ? ' // ' : ''}}\\n \\n \\n \\n
    \\n\\n\\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    {{'_LABEL_DATE' | translate}} {{moment(row.created).format('DD/MM/YYYY')}}{{'_LABEL_FROM' | translate}}\\n {{'ACC_LABEL_ACCOUNT' | translate}}\\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n \\n {{row.fromAccountTitles ? row.fromAccountTitles \\n : (row.transactionType == TransactionType.Populate ? 'STK_LABEL_PRINTING_PRESS'\\n : 'STK_LABEL_PRIMARY_STOCK') | translate}}\\n \\n
    \\n
    {{'_LABEL_TO' | translate}}\\n {{'ACC_LABEL_ACCOUNT' | translate}}\\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n \\n {{row.toAccountTitles ? row.toAccountTitles \\n : (row.transactionType == TransactionType.Depopulate ? 'STK_LABEL_PRINTING_PRESS'\\n : 'STK_LABEL_PRIMARY_STOCK') | translate}}\\n \\n
    \\n
    {{'_LABEL_FROM' | translate}}\\n {{'_LABEL_SERIAL' | translate}}{{row.fromRange}}{{'_LABEL_TO' | translate}}\\n {{'_LABEL_SERIAL' | translate}}{{row.toRange}}\\n {{'STK_LABEL_QUANTITY' | translate}}\\n {{row.toRange - row.fromRange + 1}}{{'STK_LABEL_TRANSACTION_TYPE' | translate}}{{transactionTypeLocale(row.transactionType) | translate}}{{'LKP_FIELD_STOCK_TYPE' | translate}}{{row.stockType.titles}}{{'_ACTION_PRINT' | translate}}\\n \\n
    \\n \\n
    \\n\\n\\n\";","export default \"
    \\n {{'STK_TITLE_UNDO_REQUESTS' | translate}}\\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n {{'LKP_FIELD_STOCK_TYPE' | translate}}\\n \\n \\n {{'_LABEL_ALL' | translate}}\\n {{st.titles}}\\n \\n \\n
    \\n
    \\n \\n \\n search\\n \\n
    \\n
    \\n\\n\\n\\n\\n
    \\n\\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    {{'_LABEL_DATE' | translate}}{{moment(row.created).format('DD/MM/YYYY')}}{{'_LABEL_FROM' | translate}} {{'ACC_LABEL_ACCOUNT' |\\n translate}} {{row.fromAccountTitles}} {{'_LABEL_TO' | translate}} {{'ACC_LABEL_ACCOUNT' |\\n translate}}\\n {{row.toAccountTitles ? row.toAccountTitles : ('STK_LABEL_PRIMARY_STOCK' | translate) }}\\n {{'SEC_FIELD_USERNAME' | translate}} {{row.username ? row.username : '-'}} {{'_FIELD_REASON' | translate}} {{row.reason ? row.reason : '-'}} {{'LKP_FIELD_STOCK_TYPE' | translate}}{{row.stockType.titles}}{{'STK_FIELD_RANGE' | translate}}{{row.fromRange}} - {{row.toRange}} ({{row.toRange - row.fromRange + 1}}){{'STK_LABEL_UNDO_REQUEST_STATUS' | translate}}\\n \\n {{undoRequestStatusLocale(row.undoRequestStatus) | translate}}\\n \\n {{'_ACTION_TOOLS' | translate}}\\n -\\n
    \\n \\n \\n \\n \\n
    \\n
    \\n \\n
    \";","export default \"\\n {{(!auth.currentUser.isSystemAccount ? 'STK_TITLE_UNDO_REQUEST' : 'STK_TITLE_UNDO') | translate}}\\n
    \\n
    \\n
    \\n
    \\n {{'LKP_FIELD_STOCK_TYPE' | translate}}\\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'LKP_FIELD_STOCK_TYPE' | translate}}\\n \\n \\n \\n {{st.titles}}\\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'STK_FIELD_RANGE' | translate}}\\n
    \\n \\n \\n 0 || availableStock.singles.length > 0)\\\">\\n {{'_ACTION_CHOOSE' | translate }}{{'STK_FIELD_RANGE' | translate}}\\n \\n \\n {{'STK_MESSAGE_NO_STOCK_AVAILABLE' | translate}}\\n \\n \\n \\n \\n \\n 0\\\"\\n label=\\\"{{'STK_LABEL_RANGES' | translate}}\\\">\\n \\n {{range[0]}} - {{range[1]}}\\n \\n \\n 0\\\"\\n label=\\\"{{'STK_LABEL_SINGLES' | translate}}\\\">\\n \\n {{serial[0]}}\\n \\n \\n \\n \\n 1\\\">\\n {{'STK_LABEL_AVAILABLE_QUANTITY' | translate}} {{selectedStock[1] - selectedStock[0] + 1}}\\n {{stockType.titles}}\\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'STK_FIELD_UNDO_REQUEST_REASON' | translate}}\\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'STK_FIELD_UNDO_REQUEST_REASON' | translate}}\\n \\n \\n {{r.titles[lang]}}\\n \\n \\n \\n
    \\n
    \\n
    \\n
    0\\\">\\n
    \\n \\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \";","export default \"\\n {{ (!updateMode ? '_ACTION_ADD' : '_ACTION_UPDATE') | translate}}\\n {{'TRP_CLM_TITLE_TRIPTIK_CLAIM' | translate}}\\n\\n
    \\n
    \\n
    \\n
    \\n {{'TRP_CLM_FIELD_ENTRANCE_ID' | translate}}\\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'TRP_CLM_FIELD_ENTRANCE_DATE' | translate}}\\n
    \\n \\n \\n {{'_ACTION_ENTER' | translate}} {{'TRP_CLM_FIELD_ENTRANCE_DATE' | translate}}\\n \\n \\n \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'TRP_FIELD_TRIPTIK_SERIAL' | translate}}\\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'TRP_FIELD_TRIPTIK_TYPE' | translate}}\\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'TRP_FIELD_TRIPTIK_TYPE' | translate}}\\n \\n \\n {{s.titles}}\\n \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'LKP_FIELD_COUNTRY' | translate}}\\n
    \\n \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'LKP_FIELD_CUSTOMS_PORT' | translate}}\\n
    \\n \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'LKP_FIELD_PURSUING_ZONE' | translate}}\\n
    \\n \\n {{'_ACTION_CHOOSE' | translate}} {{'LKP_FIELD_PURSUING_ZONE' | translate}}\\n \\n \\n {{p.titles}}\\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'TRP_CLM_FIELD_VALUE' | translate}}\\n
    \\n
    \\n \\n {{c.abbreviation}}\\n \\n \\n
    \\n
    \\n \\n   \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'TRP_CLM_FIELD_NAME' | translate}}\\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'_FIELD_PHONE_NO' | translate}}\\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'_FIELD_ADDRESS' | translate}}\\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \";","export default \"
    \\n {{'_TITLE_ATTACHMENTS' | translate}} -\\n {{'TRP_CLM_TITLE_TRIPTIK_CLAIM' | translate}}: {{tripTikClaimEntranceID}}\\n
    \\n
    \\n 0\\\" mat-table [dataSource]=\\\"dataSource\\\">\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n
    {{'_LABEL_CREATION_DATE' | translate}} {{row.created | date: 'dd/MM/yyyy HH:mm'}} {{'SEC_FIELD_USERNAME' | translate}} {{row.createdBy}} {{'_LABEL_ATTACHMENT_NAME' | translate}} {{row.name}} {{'_ACTION_TOOLS' | translate}}\\n \\n \\n save_alt\\n \\n
    \\n
    \\n

    {{'_MESSAGE_NO_CONTENT' | translate}}

    \\n
    \\n
    \\n
    \";","export default \"
    \\n {{'TRP_CLM_TITLE_LOGS' | translate}}\\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n \\n \\n search\\n \\n \\n
    \\n
    \\n
    \\n\\n\\n
    \\n
    \\n
    \\n \\n {{'TRP_CLM_FIELD_ENTRANCE_ID' | translate}}\\n \\n \\n
    \\n
    \\n \\n {{'TRP_CLM_FIELD_REGISTRATION_DATE' | translate}}\\n \\n \\n \\n \\n
    \\n
    \\n \\n {{'TRP_CLM_FIELD_ENTRANCE_DATE' | translate}}\\n \\n \\n \\n \\n
    \\n
    \\n \\n {{'TRP_CLM_FIELD_NAME' | translate}}\\n \\n \\n
    \\n
    \\n \\n \\n \\n \\n \\n {{title}}{{ i != item.titles.length - 1 ? ' // ' : ''}}\\n \\n \\n \\n
    \\n
    \\n \\n {{'TRP_FIELD_TRIPTIK_SERIAL' | translate}}\\n \\n \\n
    \\n
    \\n \\n {{'TRP_FIELD_TRIPTIK_TYPE' | translate}}\\n \\n {{'_LABEL_ALL' | translate}}\\n \\n {{s.titles}}\\n \\n \\n \\n
    \\n
    \\n \\n {{'TRP_FIELD_PLATE_ID' | translate}}\\n \\n \\n
    \\n
    \\n \\n {{'LKP_FIELD_CUSTOMS_PORT' | translate}}\\n \\n {{'_LABEL_ALL' | translate}}\\n \\n {{p.titles + ' / ' + p.countryTitles}}\\n \\n \\n \\n
    \\n
    \\n \\n {{'LKP_FIELD_PURSUING_ZONE' | translate}}\\n \\n {{'_LABEL_ALL' | translate}}\\n {{p.titles}}\\n \\n \\n
    \\n
    \\n \\n {{'TRP_CLM_FIELD_LATEST_STATUS' | translate}}\\n \\n {{'_LABEL_ALL' | translate}}\\n {{s.titles}}\\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    \\n {{'_LABEL_DATE' | translate}}\\n {{moment(row.created).format('DD/MM/YYYY')}} {{'SEC_FIELD_USERNAME' | translate}} {{row.createdBy}}\\n {{'TRP_CLM_FIELD_NAME' | translate}}\\n {{row.holderName}}\\n {{'TRP_FIELD_TRIPTIK_SERIAL' | translate}}\\n {{row.serial}}\\n {{'TRP_FIELD_TRIPTIK_TYPE' | translate}}\\n {{row.stockType.titles}}\\n {{'ISS_LABEL_ISSUE_DATE' | translate}}\\n {{row.issued | date: 'dd/MM/yyyy'}}{{'LKP_FIELD_CUSTOMS_PORT' | translate}}\\n {{row.customsPort ? row.customsPort.titles + ' / ' + row.customsPort.countryTitles : 'N/A'}}{{'TRP_CLM_FIELD_LATEST_STATUS' | translate}}{{row.status ? row.status.parentTitles + ' / ' + row.status.titles : 'N/A'}}{{'_LABEL_DETAILS' | translate}}{{row.note}}
    \\n \\n
    \";","export default \"
    \\n {{'TRP_CLM_TITLE_TRIPTIK_CLAIMS' | translate}}\\n
    \\n
    \\n \\n\\n
    \\n \\n
    \\n
    \\n \\n \\n \\n \\n \\n
    \\n \\n \\n \\n \\n \\n search\\n \\n \\n
    \\n
    \\n
    \\n\\n\\n
    \\n
    \\n
    \\n \\n {{'TRP_CLM_FIELD_ENTRANCE_ID' | translate}}\\n \\n \\n
    \\n
    \\n \\n {{'_LABEL_FROM' | translate}} {{'_LABEL_DATE2' | translate}}\\n \\n \\n \\n \\n
    \\n
    \\n \\n {{'_LABEL_TO' | translate}} {{'_LABEL_DATE2' | translate}}\\n \\n \\n \\n \\n
    \\n
    \\n \\n {{'TRP_CLM_FIELD_NAME' | translate}}\\n \\n \\n
    \\n
    \\n \\n \\n \\n \\n \\n {{title}}{{ i != item.titles.length - 1 ? ' // ' : ''}}\\n \\n \\n \\n
    \\n
    \\n \\n {{'TRP_FIELD_TRIPTIK_SERIAL' | translate}}\\n \\n \\n
    \\n
    \\n \\n {{'TRP_FIELD_TRIPTIK_TYPE' | translate}}\\n \\n \\n \\n {{s.titles}}\\n \\n \\n \\n
    \\n
    \\n \\n {{'TRP_FIELD_PLATE_ID' | translate}}\\n \\n \\n
    \\n
    \\n \\n {{'TRP_CLM_LABEL_CLAIM_COUNTRY' | translate}}\\n \\n \\n \\n {{c.titles}}\\n \\n \\n \\n
    \\n
    \\n \\n {{'LKP_FIELD_CUSTOMS_PORT' | translate}}\\n \\n \\n \\n {{searchForm.get('countryId').value && searchForm.get('countryId').value.length > 1 ? (p.titles + ' / ' + p.countryTitles) : p.titles}}\\n \\n \\n \\n
    \\n
    \\n \\n {{'TRP_CLM_LABEL_CLAIM_STATUS' | translate}}\\n \\n {{'_LABEL_ALL' | translate}}\\n {{s.titles}}\\n \\n \\n \\n
    \\n
    \\n \\n {{'TRP_CLM_LABEL_CLAIM_STATUS_DESC' | translate}}\\n \\n {{'_LABEL_ALL' | translate}}\\n {{s.titles}}\\n \\n \\n \\n
    \\n
    \\n \\n {{'LKP_FIELD_PURSUING_ZONE' | translate}}\\n \\n {{'_LABEL_ALL' | translate}}\\n {{p.titles}}\\n \\n \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    {{'TRP_CLM_FIELD_ENTRANCE_ID' | translate}} {{row.entranceID}}\\n {{'TRP_CLM_FIELD_ENTRANCE_DATE' | translate}}\\n {{row.entranceDate | date:'dd/MM/yyyy'}}\\n {{'TRP_CLM_FIELD_NAME' | translate}}\\n {{row.holderName}}\\n {{'ACC_FIELD_ACCOUNT_TITLE' | translate}}\\n {{row.accountTitles ? row.accountTitles : 'N/A' }}\\n {{'TRP_FIELD_TRIPTIK_SERIAL' | translate}}\\n {{row.serial}}\\n {{'TRP_FIELD_TRIPTIK_TYPE' | translate}}\\n {{row.stockType.titles}}{{'TRP_FIELD_PLATE_ID' | translate}}{{row.vehiclePlateID ? row.vehiclePlateID : 'N/A' }}{{'TRP_CLM_LABEL_CLAIM_COUNTRY' | translate}}\\n {{row.country.countryTitles}}\\n {{'LKP_FIELD_CUSTOMS_PORT' | translate}}\\n {{row.customsPort ? row.customsPort.titles : 'N/A' }}\\n {{'LKP_FIELD_PURSUING_ZONE' | translate}}\\n {{row.pursuingZone ? row.pursuingZone.titles : 'N/A'}}\\n {{'TRP_CLM_FIELD_LATEST_STATUS' | translate}}\\n {{row.latestStatus ? row.latestStatus.titles : 'N/A'}}\\n {{'_ACTION_TOOLS' | translate}}\\n \\n \\n pageview\\n \\n \\n 0\\\" class=\\\"text-primary\\\" routerLink=\\\"../view/attachments/{{row.id}}\\\"\\n title=\\\"{{'_TITLE_ATTACHMENTS' | translate}}\\\">\\n \\n attach_file\\n \\n \\n \\n \\n attach_file\\n \\n \\n\\n \\n \\n playlist_add\\n \\n \\n \\n
    \\n \\n
    \";","export default \"{{'_ACTION_UPDATE_STATUS' | translate}}\\n {{'TRP_CLM_TITLE_TRIPTIK_CLAIM' | translate}}\\n
    \\n
    \\n
    \\n
    \\n
    \\n description\\n {{'TRP_FIELD_TRIPTIK_SERIAL' | translate}}: {{dto.serial}}\\n
    \\n
    \\n account_circle\\n {{'TRP_CLM_FIELD_NAME' | translate}}: {{dto.holderName}}\\n
    \\n
    \\n money\\n {{'TRP_CLM_FIELD_ENTRANCE_ID' | translate}}: {{dto.entranceID}}\\n
    \\n
    \\n emoji_transportation\\n {{'LKP_FIELD_CUSTOMS_PORT' | translate}}:\\n {{dto.customsPort ? dto.customsPort.titles + ' / ' + dto.customsPort.countryTitles : 'N/A'}}\\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'TRP_CLM_LABEL_CLAIM_STATUS' | translate}}\\n \\n
    \\n \\n {{'TRP_CLM_LABEL_CLAIM_STATUS' | translate}}\\n \\n {{status.titles}}\\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'TRP_CLM_LABEL_CLAIM_STATUS_DESC' | translate}}\\n \\n
    \\n \\n {{'TRP_CLM_LABEL_CLAIM_STATUS_DESC' | translate}}\\n \\n {{status.titles}}\\n \\n \\n \\n \\n
    \\n
    \\n
    \\n 0\\\">\\n \\n
    \\n
    \\n \\n
    \\n \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'_LABEL_RECEIPT_VALUE' | translate}}\\n
    \\n
    \\n \\n {{c.abbreviation}}\\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n\\n \\n
    \\n
    \\n {{'_LABEL_DETAILS' | translate}}\\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{'_TITLE_ATTACHMENTS' | translate}}\\n
    \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n
    \";","export default \"
    \\n
    \\n {{'_ACTION_VIEW' | translate}}\\n {{'TRP_CLM_TITLE_TRIPTIK_CLAIM' | translate}}\\n \\n
    \\n
    \\n
    \\n
    \\n description\\n {{'TRP_FIELD_TRIPTIK_SERIAL' | translate}}: {{dto.serial}}\\n
    \\n
    \\n description\\n {{'TRP_FIELD_TRIPTIK_TYPE' | translate}}: {{dto.stockType ? dto.stockType.titles : 'N/A'}}\\n
    \\n
    \\n money\\n {{'TRP_CLM_FIELD_ENTRANCE_ID' | translate}}: {{dto.entranceID}}\\n
    \\n \\n
    \\n account_circle\\n {{'TRP_CLM_FIELD_ENTRANCE_DATE' | translate}}: {{dto.entranceDate | date:'dd/MM/yyyy'}}\\n
    \\n
    \\n emoji_transportation\\n {{'LKP_FIELD_CUSTOMS_PORT' | translate}}:\\n {{dto.customsPort ? dto.customsPort.titles + ' / ' + dto.customsPort.countryTitles : 'N/A'}}\\n
    \\n
    \\n
    \\n
    \\n account_circle\\n {{'TRP_CLM_FIELD_NAME' | translate}}: {{dto.holderName}}\\n
    \\n
    \\n money\\n {{'_FIELD_ADDRESS' | translate}}: {{dto.holderAddress ? dto.holderAddress : 'N/A' }}\\n
    \\n
    \\n emoji_transportation\\n {{'_FIELD_PHONE_NO' | translate}} : {{dto.holderPhone ? dto.holderPhone : 'N/A'}}\\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n {{log.created | date:'dd/MM/yyyy HH:mm'}}\\n
    \\n {{log.status.titles}}\\n
    \\n
    \\n
    \\n
    \\n
    {{'SEC_FIELD_USERNAME' | translate}}: {{log.createdBy}}
    \\n

    {{log.note}}

    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \";","export default \"
    \\n \\n \\n error\\n \\n  {{item}}\\n
    \\n
    \\n
    \";","export default \"
    \\n \\n
    \";","export default \"\\n\";","export default \"\";","export default \"
    \\n
    \\n
    {{options.action | translate}} {{options.type | translate}}
    \\n \\n
    \\n
    \\n

    {{options.confirmQuestion | translate}} \\\"{{options.title | translate}}\\\" {{translate.currentLang == 'ar' ?\\n '؟' : '?'}}\\n

    \\n

    \\n

    {{options.note | translate}}
    \\n {{options.dangerNote | translate}}\\n

    \\n \\n
    \\n \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n
    \\n \\n \\n \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n \\n \\n \\n {{ (fileName ? fileName : '_ACTION_DRAG_AND_DROP') | translate}}\\n {{'_ACTION_BROWSE'\\n | translate}}\\n \\n \\n
    \\n \\n
    \\n \\n
    \\n delete \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \";","export default \"
    \\n
    \\n
    \\n
    \\n \\n

    الصفحة غير موجودة

    \\n
    \\n
    \\n
    \\n
    \\n\";","export default \"
    \\n
    \\n
    \\n
    \\n \\n

    {{'_PAGE_UNDER_CONSTRUCTION' | translate}}

    \\n
    \\n
    \\n
    \\n
    \\n\";","export default \"\\n {{ errorMessage[0] | translate:({param: errorMessage[1]})}}\\n {{errorMessage | translate:({param: fieldLocale} | ParamsTranslate)}}\\n\";","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":"webpack:///"}